Tradotta dall'inglese. In caso di differenze fa fede la pagina in inglese. Leggi in inglese
Modificare un prodotto: cosa arriva davvero ai canali
La tua PATCH aggiorna sempre Nembol; cosa si propaga a ogni canale dipende dalle impostazioni di sincronizzazione del venditore.
PATCH /products/{id} (e gli endpoint di varianti/inventario) aggiornano sempre
Nembol, in modo sincrono, e la risposta lo riflette. Se poi la modifica
arrivi a ogni canale è un'altra questione, regolata dalle
impostazioni di sincronizzazione per canale del venditore nella dashboard di Nembol.
I nuovi account partono con tutti gli interruttori spenti
Su ogni canale, un account appena collegato ha tutti gli interruttori di sincronizzazione spenti
(false), tramite l'API come nella dashboard. Accendi quelli che il
venditore vuole con PATCH /channel_accounts/{id} (vedi sotto).
L'interruttore "Invia aggiornamenti a (canale)" (per canale)
Ogni connessione a un canale ha un'impostazione Invia aggiornamenti a (canale). Quando il canale di un'inserzione la ha:
- ON: la modifica si propaga per intero: contenuti, prezzo e quantità vengono inviati al canale.
- OFF: Nembol invia solo la quantità (il canale mantiene i propri contenuti e prezzi; piccole differenze per canale: OnBuy invia comunque prezzo+stock, Google Merchant Center solo la disponibilità).
È una scelta del venditore, non un errore: molti venditori curano i contenuti direttamente su un canale e usano Nembol solo per lo stock.
Perché conta per la tua integrazione
Puoi fare una PATCH su un titolo, ricevere un 200, vedere l'operazione riuscire e
continuare a vedere il vecchio titolo sul canale, perché il job ha legittimamente inviato
solo la quantità. Se una modifica ai contenuti "non ha preso" su un canale:
- Non ritentare. L'API ha fatto esattamente ciò che il venditore ha configurato.
- Chiedi al venditore di controllare Canali → (canale) → Invia aggiornamenti a (canale) nella sua dashboard.
- Una volta attivato, forza un nuovo invio con
PATCH /listings/{id}e un corpo vuoto (una semplice risincronizzazione).
Le modifiche possono andare anche nell'altra direzione
I venditori possono scegliere un canale (Shopify o WooCommerce) come canale capo per i contenuti: le modifiche fatte su quel canale arrivano in Nembol, e da lì agli altri canali. Se è attivo, i contenuti scritti dalla tua integrazione possono essere legittimamente sovrascritti dalle modifiche del venditore sul canale. Per lo stock, le modifiche di quantità sul canale e le vendite arrivano in Nembol secondo i rispettivi interruttori per canale.
Regola pratica: Nembol è il centro, ma è il venditore a decidere la direzione di ogni flusso. Se la tua integrazione presume di essere l'unica a scrivere, concorda con il venditore quali interruttori restano spenti.
Testi per canale
Un'inserzione può avere un titolo e una descrizione propri (overrides sull'inserzione;
ogni inserzione importata parte con i testi del canale). Il
canale riceve il testo dell'inserzione dove è impostato, altrimenti quello del prodotto
(vedi Listing.content).
PATCH /products/{id}cambia i testi del prodotto. Su un prodotto con una sola inserzione, quell'inserzione si adegua; con più inserzioni, quelle con un testo proprio lo mantengono.PATCH /listings/{id}conoverrides.title/overrides.descriptionimposta i testi di un canale;nullgli fa usare di nuovo quelli del prodotto.- Un canale capo sostituisce i testi del prodotto e i testi propri di ogni inserzione. Per lasciare intatti i contenuti di un canale, spegni Invia aggiornamenti a (canale) su quel canale (prezzo e stock continuano a sincronizzarsi).
Da sapere
- I prezzi possono essere trasformati in uscita. Le regole di prezzo per canale (variazioni percentuali/fisse) si applicano all'invio, quindi è normale che il prezzo sul canale sia diverso dalla tua PATCH quando ci sono regole impostate.
- La quantità si sincronizza sempre (è l'unica cosa che ogni modalità invia). Se
nemmeno la quantità cambia, è un errore reale: controlla gli
issues[]dell'inserzione e l'operazione. - Queste impostazioni sono per account del canale. Un account eBay può essere in sincronizzazione completa mentre un secondo sincronizza solo la quantità.
Leggi gli interruttori dall'API
Non devi chiedere al venditore: ogni voce di
GET /channel_accounts riporta gli
interruttori:
{
"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", "…"]
}Modificali dall'API
Con una chiave che ha lo scope channels:write,
PATCH /channel_accounts/{id}
cambia gli stessi interruttori che il venditore vede nella dashboard, con gli
stessi effetti. Invia solo ciò che cambi:
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}}'- Tutto ciò che non è nel
writabledell'account fallisce con422 setting_not_supported. content_from_channel_editsetransfer_orderssono esclusivi per store: accenderne uno lo spegne su tutti gli altri account.- I valori predefiniti del canale (business policies di eBay, profili di spedizione e
regole di reso di Etsy, collezione di Shopify) vanno in
defaults, con gli id presi daGET .../policieseGET .../collections. Su eBay,policy_validationti dice se eBay accetta le regole scelte.
Annulla qualsiasi modifica
Ogni modifica, dall'API o dalla dashboard, emette un evento
channel_account.updated. Il suo previous_attributes contiene il vecchio
valore di ogni campo modificato; rinvialo così com'è per annullare:
// 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}}Questi interruttori decidono a chi appartengono i contenuti di un canale: se li cambi per conto di un venditore, diglielo. Dettagli campo per campo nel modello Channel account.
Ultimo aggiornamento il 20 ottobre 2026