View as Markdown

Catalogs and orders

The largest module: 61 routes covering WhatsApp native commerce, where customers browse a catalog and order without leaving the conversation.

Catalogs

GET    /whatsapp/catalogs
POST   /whatsapp/catalogs
GET    /whatsapp/catalogs/{id}
PATCH  /whatsapp/catalogs/{id}
DELETE /whatsapp/catalogs/{id}
POST   /whatsapp/catalogs/connect
POST   /whatsapp/catalogs/{id}/sync

sync pushes the whole Fiitsa catalog to Meta. It returns as soon as the queue is built: Meta then processes on its side, and /diagnostics then /errors tell you what was rejected.

Products

GET  /whatsapp/catalogs/{id}/products
POST /whatsapp/catalogs/{id}/products/batch
GET  /whatsapp/catalogs/{id}/products/batch/{handle}
GET  /whatsapp/products/{id}
GET  /whatsapp/products/{id}/errors

Use batch as soon as you go past a handful of products: one call per item exhausts the Meta quota and takes minutes where a batch takes seconds. The returned handle then lets you track processing.

Orders

GET   /whatsapp/orders
GET   /whatsapp/orders/{id}
GET   /whatsapp/orders/{id}/items
PATCH /whatsapp/orders/{id}/items
GET   /whatsapp/orders/{id}/payments
POST  /whatsapp/orders/{id}/acknowledge
POST  /whatsapp/orders/acknowledge-batch

Acknowledging is not optional. An unacknowledged order stays shown as "pending" to the customer, and Meta penalises merchants who let them linger. Do it on receipt, before you even start preparing.

Pass an idempotency_key on writes: a replayed acknowledgement will not create a duplicate.

Returns, refunds, cancellations

GET  /whatsapp/returns
POST /whatsapp/orders/{id}/returns
GET  /whatsapp/returns/{id}
PATCH /whatsapp/returns/{id}
GET  /whatsapp/orders/{id}/refunds
POST /whatsapp/orders/{id}/refunds
GET  /whatsapp/orders/{id}/refundable-amount
GET  /whatsapp/orders/{id}/cancellations
POST /whatsapp/orders/{id}/cancellations

Query refundable-amount before refunding: the refundable figure accounts for refunds already issued, and going over is rejected by Meta.

Shipments

GET   /whatsapp/orders/{id}/shipments
POST  /whatsapp/orders/{id}/shipments
PATCH /whatsapp/orders/{id}/shipments/{shipmentId}

Product feeds and shipping profiles

GET/POST   /whatsapp/catalogs/{id}/feeds
GET/PATCH/DELETE /whatsapp/feeds/{id}
GET/POST   /whatsapp/feeds/{id}/uploads
GET/POST   /whatsapp/shipping-profiles
PATCH/DELETE /whatsapp/shipping-profiles/{id}

Settings

GET   /whatsapp/commerce/settings
PATCH /whatsapp/commerce/settings
GET   /whatsapp/commerce/eligibility

eligibility tells you whether the account meets WhatsApp commerce requirements. Check it before building a selling integration: requirements vary by country.