Naar de inhoud
SyncMyShop

Systemen

Channable koppeling: je webshop en ERP koppelen aan Channable

Een Channable koppeling zet marktplaatsorders uit Channable in je ERP of magazijn, meldt de zending met track-and-trace terug en stuurt voorraad naar alle marktplaatsen tegelijk. Channable heeft een order-API met een token per bedrijf en een limiet van 4 aanroepen per seconde.

Wat is Channable en wie gebruikt het?

Channable is een platform voor productfeeds en marktplaatsen. Je leest je productdata in, bewerkt die met regels en zet hem op prijsvergelijkers, advertentiekanalen en marktplaatsen. Met de add-on Order sync haalt Channable ook orders van die marktplaatsen op. De order-API kent 75 kanaalnamen, waaronder bol, Amazon, Kaufland, Zalando, Otto en tientallen marktplaatsen die op Mirakl draaien, zoals die van Decathlon, MediaMarkt en Leen Bakker.

Voor een koppeling staat Channable tussen je eigen systemen en de marktplaatsen. Channable praat met elke marktplaats in diens eigen API; de koppeling praat met Channable. Voor onder meer Shopify, Magento, WooCommerce en Lightspeed heeft Channable eigen orderkoppelingen. De Channable API is er voor de rest: een ERP of magazijnsysteem dat de orders zelf moet ontvangen, of een webshop waarvoor Channable geen orderkoppeling heeft. Per project kan Channable orders aan één systeem leveren. Loopt de webshop al via een eigen orderkoppeling, dan haalt het ERP de orders uit de webshop, of komt er een tweede project.

Wat je met Channable koppelt

Stroom Richting Hoe
Productdata, prijs en voorraad als feed ERP of PIM naar Channable CSV, XML, TXT of JSON op een URL, of een webshop-import
Orders Channable naar ERP of WMS GET /v2/companies/{company_id}/projects/{project_id}/orders
Zending met vervoerder en track-and-trace ERP naar Channable POST .../orders/{order_id}/shipment
Annulering door jou ERP naar Channable POST .../orders/{order_id}/cancel
Voorraad tussen twee feedruns ERP naar Channable POST .../stock_updates
Retouren Channable naar ERP GET .../returns, POST .../returns/{return_id}/status

De productdata gaat niet via de order-API maar via een import. Channable leest een feed van een URL, tot 10 miljoen artikelen en 10 GB per bestand, met platte XML of JSON: waarden uit XML-attributen neemt Channable niet over. Standaard leest Channable één keer per dag in; op Core Plus en Core Pro kan dat tot 24 keer per dag, met een kwartier tussen twee runs. Welke velden een marktplaats per artikel vraagt, staat op productdata koppelen.

Hoe Channable data vrijgeeft

Token per bedrijf, paden per project

Alleen de eigenaar van een Channable-bedrijf maakt een API-token aan, onder Company settings, Channable API. Channable bewaart het token zelf niet: wie het kwijtraakt, maakt een nieuw. Een token verloopt na een jaar en er kunnen twee tegelijk geldig zijn, zodat je zonder onderbreking wisselt. Elk pad begint met /v1/companies/{company_id}/projects/{project_id} of de v2-variant.

De orderlijst van v1 is als deprecated gemarkeerd; v2 vervangt hem. Datums in filters leest Channable als UTC en tijdstempels in orders hebben offset +00:00. Een order die om 00:30 Nederlandse tijd binnenkomt, staat in Channable op 22:30 de dag ervoor. Een koppeling die met lokale tijd filtert, mist orders rond middernacht. Zie datums en tijdzones.

Limiet en rekensom

Limiet Waarde
Aanroepen 4 per seconde, burst van 200, per bedrijf
Orders per pagina maximaal 100
Artikelen per stock_updates maximaal 50
Orders ophalen bij de marktplaats elke 5 minuten, Mirakl elke 15 minuten

Channable gebruikt een leaky bucket per bedrijf. Een extra token levert geen extra ruimte op. Boven de limiet volgt een 429. Voorraad gaat in blokken van 50 artikelen, met de volledige nieuwe stand en geen verschil. De rekensom voor een volledige ronde van 15.000 artikelen: 15.000 / 50 = 300 aanroepen, bij 4 per seconde 300 / 4 = 75 seconden. Dat past ruim, maar dezelfde 4 per seconde delen orders ophalen, zendingen melden en elk ander project van het bedrijf. De koppeling stuurt daarom alleen artikelen waarvan de voorraad veranderd is en houdt een eigen teller per seconde bij. Zie wat is een rate limit.

Order, zending en voorraad tussen marktplaats, Channable en ERP Channable haalt elke 5 minuten orders op bij de marktplaats. De koppeling leest ze uit de Channable API v2 en zet ze in het ERP. Na verzending meldt de koppeling de zending met track-and-trace, en voorraad gaat in blokken van 50 artikelen naar Channable, dat hem naar alle marktplaatsen van het project stuurt. Marktplaats bol, Kaufland Channable order-API Koppeling wachtrij ERP of WMS verkooporder orders ophalen, elke 5 minuten GET /v2/.../orders order 58213, not_shipped verkooporder order verzonden in het magazijn vervoerder, T&T-code POST .../shipment shipped met T&T nieuwe voorraad POST stock_updates naar alle kanalen stock_updates neemt maximaal 50 artikelen per aanroep, met de volledige nieuwe stand en geen verschil. 15.000 artikelen is 300 aanroepen, bij 4 per seconde 75 seconden.
Orders, zendingen en voorraad lopen via de order-API van Channable. Channable praat met de marktplaatsen, de koppeling met Channable en je ERP.

Waar het bij Channable op vastloopt

Het product-ID moet gelijk zijn aan je webshop

In een order staat per artikel het id uit je Channable-import, plus ean en article_number als die er zijn. Channable zegt zelf dat het product-ID gelijk moet zijn aan het unieke ID van het artikel in je webshop. Leest Channable een feed met 012608-BLUE-XXL als id en kent je ERP het artikel als 10482, dan kan de koppeling de orderregel niet plaatsen. Dan is er een vertaaltabel nodig, of een feed die het ERP-nummer als id gebruikt. Dezelfde sleutel geldt voor stock_updates. Zie SKU of EAN.

Drie wegen voor voorraad, drie snelheden

Voorraad kan via het feedveld stock, via een orderkoppeling of via stock_updates. Het feedveld gaat mee met de geplande runs, dus één keer per dag op het standaardabonnement. Een artikel dat om 10:00 uitverkocht raakt, staat dan tot de volgende run op de marktplaats. Een actieve orderkoppeling werkt de voorraad elke 5 minuten bij, Mirakl elke 15 minuten. De koppeling stuurt een wijziging direct via stock_updates, en de dagelijkse feed blijft de volledige controle.

Adres en orderfouten

{
  "shipping": {
    "street": "Dorpsstraat",
    "house_number": 12,
    "house_number_ext": "A",
    "address1": "Dorpsstraat 12 A",
    "zip_code": "1234 AB",
    "country_code": "NL"
  }
}

house_number is in Channable een geheel getal en de toevoeging staat apart in house_number_ext. Daarnaast staat het hele adres in address1. Een ERP met één adresregel neemt address1, een ERP met drie velden neemt de losse velden. Lukt het Channable niet het adres te splitsen, dan krijgt de order error true met error_reason address_parsing. Andere redenen zijn onder meer orphan, missing_reference en pricing. De koppeling leest die orders apart uit met errors=true en zet ze op de controlelijst. Zie adresvelden mappen.

Status zonder track-and-trace

Channable zet een order die in je systeem afgerond is, op Waiting zolang er geen track-and-trace is. Na 3 uur zonder code zet Channable hem toch op Shipped, zonder vervoerder en code. Channable schrijft zelf dat marktplaatsen tracking vaak vragen voor een goede verkopersbeoordeling. De koppeling stuurt daarom vervoerder en code in dezelfde shipment-aanroep. Deelzendingen gaan met order_item_ids; bij Spartoo en Veepee kan dat niet, en annuleren per regel kan niet bij Amazon, Cdiscount en Spartoo.

Systemen die we aan Channable koppelen

Aan de ERP-kant: Exact Online koppeling, AFAS webshop koppeling en Business Central koppeling. Voor het magazijn: Picqer koppeling en GoedGepickt koppeling. Verkoop je op bol zonder Channable ertussen, dan staat het op bol koppeling. Hoe orders in je ERP landen staat op orders, klanten en verzending, en alle stromen op koppelingen.

We bouwen de koppeling voor een vaste prijs en hosten, draaien en bewaken hem daarna voor een vast bedrag per maand. Orders met een error_reason en zendingen die Channable weigert, komen op de controlelijst met de reden erbij. Vertel welk ERP of magazijn je naast Channable gebruikt, dan hoor je welke stromen erbij horen.

Veelgestelde vragen

Heb ik een bepaald Channable-abonnement nodig voor een koppeling?

Voor orders wel: een orderkoppeling via de Channable API vraagt de add-on Order sync en een marktplaats die Channable voor orders ondersteunt. Alleen de eigenaar van het Channable-bedrijf kan een API-token aanmaken. Voor productdata bepaalt je abonnement hoe vaak Channable je feed inleest: standaard één keer per dag, op Core Plus en Core Pro tot 24 keer per dag.

Heeft Channable webhooks voor nieuwe orders?

De order-API beschrijft geen webhooks. De koppeling vraagt orders op met een filter op last_modified_after, in UTC. Channable haalt zelf elke 5 minuten orders op bij de meeste marktplaatsen en elke 15 minuten bij Mirakl-marktplaatsen, dus vaker opvragen dan dat levert geen snellere orders op.

Hoe gaat Channable om met orders van bol Logistiek of Amazon FBA?

Orders die de marktplaats zelf verzendt, haalt Channable standaard niet op. Daar is een aparte orderkoppeling voor Fulfilled by Marketplace voor nodig. Bij een koppeling via de API komen ze dan binnen als open order met een achtervoegsel op het ordernummer, zodat je magazijn ze niet nog een keer verzendt. Voor die artikelen stuurt Channable geen voorraad naar de marktplaats.

Wat als een klant de order annuleert op de marktplaats?

Bij bol, TikTok Shop en Wayfair ziet Channable het verzoek en zet de order op Cancellation request; het verzoek komt niet in je webshop of ERP. Annuleer je daarna in je eigen systeem, dan accepteert Channable het verzoek. Bij andere marktplaatsen krijgt Channable een annulering door de klant niet door en annuleer je zelf, waarna de koppeling POST .../cancel stuurt.

Kan ik meerdere Channable-projecten koppelen?

Ja. Elk API-pad bevat een company-id en een project-id, en het token geldt voor het hele bedrijf. De koppeling werkt dus per project, met één token. De limiet van 4 aanroepen per seconde geldt voor het bedrijf, dus alle projecten delen dat budget.

Vertel wat je nodig hebt

Vertel welke systemen je gebruikt en wat je wilt verbeteren. Je krijgt binnen één werkdag een persoonlijk antwoord. We helpen je de werkzaamheden helder te krijgen en spreken de prijs en planning af voordat je iets toezegt.

  • Je weet de prijs en de doorlooptijd voordat je iets toezegt
  • Wij zoeken uit welke koppeling het werk uit handen neemt
  • Wij verzorgen de bouw, hosting, bewaking en het onderhoud
  • Je team krijgt minder overtypwerk en minder uitzoekwerk

Leveranciers, producten, orders per dag, een ruwe schatting is prima.

Of mail direct: carsten@syncmyshop.com