Traduite de l'anglais. En cas de différence, la page en anglais fait foi. Lire en anglais
Modifier un produit : ce qui atteint vraiment les canaux
Votre PATCH met toujours à jour Nembol ; ce qui se propage vers chaque canal dépend des paramètres de synchronisation du vendeur.
PATCH /products/{id} (et les endpoints de variantes/d'inventaire) mettent
toujours à jour Nembol, de façon synchrone, et la réponse le reflète. Que
la modification atteigne ensuite chaque canal est une autre question, régie
par les paramètres de synchronisation par canal du vendeur dans le tableau
de bord Nembol.
Les nouveaux comptes démarrent avec toutes les options désactivées
Sur chaque canal, un compte nouvellement connecté a toutes ses options de
synchronisation désactivées (false), via l'API comme dans le tableau de
bord. Activez celles que le marchand souhaite avec
PATCH /channel_accounts/{id} (voir ci-dessous).
L'option « Envoyer les mises à jour vers (canal) » (par canal)
Chaque connexion de canal possède un réglage Envoyer les mises à jour vers (canal). Quand le canal d'une annonce l'a :
- ACTIVÉ : la modification se propage entièrement : contenu, prix et quantité sont envoyés au canal.
- DÉSACTIVÉ : Nembol envoie uniquement la quantité (le canal garde son propre contenu et son propre prix ; petites nuances selon le canal : OnBuy envoie quand même prix+stock, Google Merchant Center uniquement la disponibilité).
C'est un choix du vendeur, pas une erreur : beaucoup de marchands soignent leur contenu directement sur un canal et utilisent Nembol uniquement pour le stock.
Pourquoi c'est important pour votre intégration
Vous pouvez modifier un titre par PATCH, obtenir un 200, voir l'opération
réussir, et voir encore l'ancien titre sur le canal, parce que la tâche a
légitimement envoyé la quantité seule. Si une modification de contenu « n'a
pas pris » sur un canal :
- Ne relancez pas. L'API a fait exactement ce que le vendeur a configuré.
- Demandez au marchand de vérifier Canaux → (canal) → Envoyer les mises à jour vers (canal) dans son tableau de bord.
- Une fois l'option activée, forcez un nouvel envoi avec
PATCH /listings/{id}et un corps vide (une simple resynchronisation).
Les modifications peuvent aussi aller dans l'autre sens
Les vendeurs peuvent désigner un canal (Shopify ou WooCommerce) comme canal leader du contenu : les modifications faites sur ce canal remontent dans Nembol, puis de là vers les autres canaux. Si c'est activé, le contenu écrit par votre intégration peut être légitimement écrasé par les modifications du vendeur côté canal. Pour le stock, les modifications de quantité côté canal et les ventes remontent dans Nembol selon leurs propres options par canal.
Règle générale : Nembol est le hub, mais le vendeur décide du sens de chaque flux. Si votre intégration suppose qu'elle est la seule à écrire, convenez avec le marchand des options qui restent désactivées.
Textes par canal
Une annonce peut avoir son propre titre et sa propre description
(overrides sur l'annonce ; chaque annonce importée démarre avec les textes
du canal). Le canal reçoit le texte de l'annonce quand il est défini, celui du
produit sinon (voir Listing.content).
PATCH /products/{id}modifie les textes du produit. Sur un produit avec une seule annonce, cette annonce suit ; avec plusieurs, les annonces qui ont leur propre texte le gardent.PATCH /listings/{id}avecoverrides.title/overrides.descriptiondéfinit les textes d'un canal ;nulllui fait reprendre ceux du produit.- Un canal leader du contenu remplace les textes du produit et les textes propres de chaque annonce. Pour ne pas toucher au contenu d'un canal, désactivez Envoyer les mises à jour vers (canal) sur ce canal (le prix et le stock restent synchronisés).
Pièges à éviter
- Les prix peuvent être transformés à l'envoi. Les règles de prix par canal (ajustements en pourcentage/fixes) s'appliquent à l'envoi : un prix sur le canal différent de votre PATCH est donc normal quand des règles sont définies.
- La quantité se synchronise toujours (c'est la seule chose que chaque
mode envoie). Si même la quantité ne bouge pas, c'est une vraie erreur :
vérifiez les
issues[]de l'annonce et l'opération. - Ces réglages sont propres à chaque compte de canal. Un compte eBay peut être en synchronisation complète et un second en quantité seule.
Lire les options depuis l'API
Inutile de demander au marchand : chaque entrée de
GET /channel_accounts contient les
options :
{
"id": "chac_66a1f09b2",
"channel": "ebay",
"sync": {
// Nembol pushes content + price + quantity to this channel.
// false = quantity only; the channel keeps its own content and
// price (two exceptions: OnBuy still gets price+stock, Google
// Merchant Center only availability).
"product_edits": true,
// Sales on this channel adjust stock everywhere.
"quantity_from_orders": true,
// Quantity edited directly ON the channel flows back into Nembol.
// null = the switch isn't there (channel doesn't have it, or an older
// account never stored it): it behaves as off. New accounts start false.
"quantity_from_channel_edits": null,
// true would make this channel the CONTENT LEADER: its edits
// overwrite Nembol content (at most one channel per store).
"content_from_channel_edits": null,
// Orders received here are transferred to the store's fulfillment
// channel (at most one channel per store).
"transfer_orders": null
},
// Price rule applied when Nembol pushes prices to this channel:
// here every price goes out +10%, rounded to .99. This is why the
// channel price can legitimately differ from what you PATCH.
"pricing": {"mode": "percentage", "value": 10, "rounding": true},
// Quantity cap: the channel shows at most 5 units even with 40 on
// hand. (On Google Merchant Center, which only gets availability, the
// threshold is a MINIMUM: in stock only while quantity >= threshold.)
"inventory": {"control": true, "threshold": 5},
// What can be changed on THIS account with PATCH (varies by channel).
"writable": ["sync.product_edits", "sync.quantity_from_orders", "pricing.mode", "…"]
}Les modifier depuis l'API
Avec une clé qui a le scope channels:write,
PATCH /channel_accounts/{id}
modifie les mêmes options que le marchand voit dans le tableau de bord, avec
les mêmes effets. N'envoyez que ce que vous modifiez :
curl -X PATCH https://api.nembol.com/rest/v1/channel_accounts/chac_66a1f09b2 \
-H "Authorization: Bearer $NEMBOL_KEY" \
-H "Content-Type: application/json" \
-d '{"pricing": {"mode": "percentage", "value": 10, "rounding": true},
"inventory": {"control": true, "threshold": 5}}'- Tout ce qui ne figure pas dans le
writabledu compte échoue avec422 setting_not_supported. content_from_channel_editsettransfer_orderssont exclusifs par boutique : en activer un sur un compte le désactive sur tous les autres.- Les valeurs par défaut du canal (Business Policies eBay, profils
d'expédition et politiques de retour Etsy, collection Shopify) vont dans
defaults, avec des id issus deGET .../policiesetGET .../collections. Sur eBay,policy_validationvous indique si eBay accepte les politiques choisies.
Annuler n'importe quelle modification
Chaque modification, depuis l'API ou depuis le tableau de bord, émet un
événement channel_account.updated. Son previous_attributes contient
l'ancienne valeur de chaque champ modifié ; renvoyez-le tel quel pour annuler :
// event data
{
"object": { "id": "chac_66a1f09b2", "…": "…" },
"source": "api",
"previous_attributes": {"pricing": {"mode": "off", "value": null}}
}
// undo
PATCH /channel_accounts/chac_66a1f09b2
{"pricing": {"mode": "off", "value": null}}Ces options décident à qui appartient le contenu d'un canal : si vous les modifiez pour le compte d'un marchand, prévenez-le. Détails champ par champ dans le modèle Channel account.
Dernière mise à jour le 20 octobre 2026
Besoin d'aide ?
Écrivez-nous et une personne vous répond, généralement sous un jour ouvré.