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:

  1. Non ritentare. L'API ha fatto esattamente ciò che il venditore ha configurato.
  2. Chiedi al venditore di controllare Canali → (canale) → Invia aggiornamenti a (canale) nella sua dashboard.
  3. 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} con overrides.title / overrides.description imposta i testi di un canale; null gli 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 writable dell'account fallisce con 422 setting_not_supported.
  • content_from_channel_edits e transfer_orders sono 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 da GET .../policies e GET .../collections. Su eBay, policy_validation ti 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

Serve aiuto?

Scrivici e ti risponde una persona, di solito entro un giorno lavorativo.

In questa pagina