CODFamilia
Features How it works Pricing Blog FAQ Academy Sign up Sign in

Integrations: getting orders in without retyping them

Four ways to get an order into a COD platform: a connected store, a spreadsheet, a webhook or the API. Which one fits, and what to check once it is connected.

The essentials

What is it?
An integration links the source of your orders to your management workspace: the order arrives on its own, with the customer's name, phone number, city and items. On CODFamilia there are four routes — a connected store, a spreadsheet, a webhook, or the API — and all of them end in the same place: a lead ready to be called.
Who is it for?
Any seller taking more than a handful of orders a day, however they collect them: a YouCan store, a landing page with a form, direct messages copied into a spreadsheet, or a custom application. The route depends less on volume than on the tool already in use.
How does it work?
The source hands over the order, the platform reads its fields, checks them against what it expects — a known SKU, a valid Moroccan phone number, a recognised city, a coherent total — then creates a lead. If something does not add up, the order becomes a damaged lead to be corrected, never a lost order.
What is it for?
For two measurable reasons: time and accuracy. Every minute spent retyping an order is a minute not spent calling a customer, and an address or a figure copied by hand is an address or a figure that is sometimes wrong — which means a parcel that comes back.
How do you use it?
Pick the route closest to what you already have: a YouCan store connects in a few clicks, a form that writes into a spreadsheet is read from that spreadsheet, a custom site sends its orders through a webhook or the API. The pages below cover each route, procedure included.

An integration is the route an order takes from wherever it was placed — an online store, a form, a spreadsheet — to the platform's confirmation queue, without anyone retyping it.

What retyping orders actually costs

Copying one order takes a minute or two: open the store notification, read the name, the phone number, the city and the item, then write them somewhere else. At thirty orders a day that is an hour of work producing nothing — an hour not spent calling a customer, settling a return or chasing a stuck parcel.

The second cost is sneakier. A phone number copied by hand is occasionally wrong: a transposed digit, a missing zero, a row misaligned in the spreadsheet. The lead looks perfect, the agent calls, nobody answers, and the order is marked unreachable while the customer was waiting for the parcel. The same thing happens with the address and the total: a mistyped total becomes an argument with the courier, then a refusal.

That is the point of an integration. It does not make the work faster as a matter of principle; it removes a source of errors that leaves no trace. A number handed over by the store is the number the customer typed himself. If it is wrong, it is wrong at source — and that, at least, can be fixed on the confirmation call.

The four ways an order can come in

The four routes are not ranked from worst to best: they answer different situations. The useful test is simple — where do your orders actually come from today, and is there anyone on your side who writes code.

Route Suits What it requires
Connected store A seller who already runs an online shop A few clicks to authorise, then matching SKUs on both sides
Spreadsheet A form, a landing page, orders noted by hand A shared sheet and columns linked once
Incoming webhook A site or tool able to call a URL on every order A URL pasted into the source tool, and a shared secret
API A bespoke shop, a mobile app, an internal tool Someone who writes code, and an API key

Field mapping, the step that cannot be skipped

An order arriving from somewhere else has no reason to use the same field names as the platform. One store calls "full_name" what another calls "nom_client" and a spreadsheet calls "Client". Before it can become a lead, the order has to be read: each incoming field is matched once to the corresponding platform field, and that setting is then reused for every order after it.

The platform proposes the mapping by itself, comparing the incoming names against a list of known words in both French and English, and rejecting false friends — "Product name" must not become the customer's name, "Total quantity" must not become the total price. The proposal can be corrected with one click. Five fields have to be linked; the rest are optional.

  • Customer name — Required. Without a name the agent does not know who is being called.
  • Phone number — Required, and checked: anything that is not a valid Moroccan mobile number holds the lead back.
  • Product SKU — Required. It is the only link between the item in your store and the product in the catalogue.
  • Total charged to the customer — Required: it is the amount the courier has to collect.
  • City and address — Optional at import, but a missing or unrecognised city will be settled during the confirmation call.

Duplicates, damaged leads and orders that arrive nowhere

Three incidents turn up for every seller who connects an order source. Knowing them in advance saves you from blaming the integration for losing a sale it has in fact set aside.

  • The same order received twice — A store retrying a delivery, a safety re-read passing over an order already seen: the original order identifier is remembered, and a second pass creates nothing. A spreadsheet row is recognised by the content of its linked columns, with the same effect.
  • Two orders from the same customer — Same phone number and same product a few hours apart: this is not one delivery received twice, it may be a genuine second order, or a customer who clicked twice. The lead is flagged as a probable duplicate and waits for a human decision rather than being deleted.
  • The damaged lead — Unknown SKU, unrecognised city, incoherent total, invalid phone number: the order still comes in, into a separate list, with the exact reason. It is corrected and becomes an ordinary lead. This is the mechanism that guarantees an integration never makes an order vanish.
  • The order left waiting — It exists, but the field mapping had not been saved yet. The connection screen says how many orders are waiting, and simply linking the columns releases them.

The verification order, to place on connection day

An integration that seems to work proves nothing until an order has travelled through it end to end. The check takes five minutes and is done once, on the day you connect.

  1. Place a real order — From the store, the form or the sheet, using your own phone number and an address you know.
  2. Look at the connection screen — It should show the last order received, with the time. If it shows nothing, the problem is upstream: the webhook address, the key, or the sharing settings of the sheet.
  3. Open the lead — Check the four fields that cost money when they are wrong: the phone number, the city, the total to collect, and the right item.
  4. Check the SKU — If the lead landed in damaged leads with an unknown SKU, your store reference is not the catalogue reference. A SKU is fixed in the store, not in the order.
  5. Cancel the test lead — Then let the first real order through and repeat the same check on it: that is the one that counts.

Frequently asked questions about integrations

Do you need to be able to code to connect your orders?
No, for three of the four routes. Connecting a YouCan store, linking a spreadsheet or pasting a webhook address into an existing tool requires no code. Only the API is aimed at someone who writes code.
Which route should a beginner choose?
The one matching where your orders already arrive. If you run a YouCan store, connect the store. If your orders come from a form or a landing page, use the spreadsheet. Switching later is possible and loses nothing.
Will all my old orders flood in at once?
No. A cut-off date stops a source carrying months of history from dumping hundreds of leads into the confirmation queue. Only recent orders come in, counted from the day you connected.
What happens if my store sends the same order twice?
Nothing visible: the original order identifier is remembered per connection, and a second delivery does not create a second lead. This is separate from the duplicate warning, which concerns two different orders from the same customer.
Can several sources be used at the same time?
Yes. A connected store, a spreadsheet and a webhook can coexist: every lead keeps a record of its source and its original reference, so the order can be found again in the tool it came from.
Can an order be lost on the way?
An order that has been received is never thrown away. If it is incomplete or incoherent it becomes a damaged lead with the reason attached; if the field mapping is missing it is held and replayed afterwards. The only order that does not arrive is one that was never sent — and that shows up in the source tool's own log.
Do statuses go back to my store?
Not to the store itself, but to any address you choose: the platform can call an outgoing webhook at each stage — lead confirmed, parcel shipped, parcel delivered, parcel returned, order paid. That is what keeps your own dashboard current without polling the API in a loop.
What about couriers?
Carriage and parcel statuses are handled by the carrier integrated into the platform, not by store integrations: a seller has nothing to connect on that side. The end customer follows the parcel on a public tracking page, with no account.

Also worth reading

Connect your order source, then stop thinking about it

Store, spreadsheet, webhook or API: orders land in the confirmation queue on their own, with a catalogue of 1 products and delivery to 65 cities.

Sign up