Integrate Reconfirm in a few steps.
Your Reconfirm team configures your integration. Send orders, receive decisions, and ship on facts.
Overview
- Ask Reconfirm to connect your store or shipping system.
- Send each order through the API or CSV import.
- View customer decisions in your dashboard or receive a signed webhook.
Base path: /api/v1
Authentication
Your Reconfirm team provisions an organization-specific key. Keep it on your server.
Authorization: Bearer YOUR_API_KEY
Send a delivery
POST /api/v1/orders accepts an order and durably queues its initial confirmation.
{
"external_order_id": "4821",
"customer_name": "Sara Ahmed",
"customer_phone": "+201001234567",
"shipping": {
"address": "12 Nile Street",
"city": "Cairo",
"country": "EG"
},
"items": [
{
"name": "Cotton T-shirt",
"quantity": 1,
"unit_price": "250.00"
}
],
"total": "250.00",
"currency": "EGP"
}An identical external order ID returns the existing order. Conflicting customer details return 409.
Upload UTF-8 CSV files up to 20 MiB to POST /api/v1/imports. Required columns: external_order_id,customer_name,customer_phone.
Customer responses
Your team can configure a signed webhook for order.decision_recorded. Deliveries include a stable event ID and an X-Reconfirm-Signature HMAC-SHA256 signature. Acknowledge with a 2xx response and deduplicate by event ID.
Inspect an order using GET /api/v1/orders/{id}. The first valid template-button decision is permanent.
Statuses
| Decision | Meaning |
|---|---|
| PENDING_CONFIRMATION | Waiting for a customer decision. |
| CONFIRMED | The customer confirmed. |
| CANCELLED | The customer cancelled. |
| RESCHEDULE_REQUESTED | The customer requested another date. |
Workflow progress and message delivery are tracked separately from the decision.
Errors
401 invalid credentials · 409 conflicting order · 422 invalid input · 503 temporarily unavailable.