Track an abandoned checkout
Called silently by the storefront as the customer types contact details. Upserts the abandoned-checkout record keyed by sessionId and captures Meta attribution (_fbc/_fbp) plus client IP/User-Agent for CAPI recovery events.
Track an abandoned checkout › Request Body
sessionIdcustomerNamephone^[0-9+\s-]+$ · requiredwilayaIdcommuneIdwilayaNamecommuneNameproductIdproductNamevariantIdvariantLabelpricedeliveryTypefbcfbpTrack an abandoned checkout › Responses
Record stored (new or updated)
successidAbandoned order record ID
Mark abandoned checkout as converted
Links a completed order back to the original abandoned session (recovery attribution). Intentionally returns 200 even if the session is unknown — conversion tracking is fire-and-forget and must never break checkout.
path Parameters
sessionIdStorefront session ID from the upsert call
Storefront session ID from the upsert call
Mark abandoned checkout as converted › Request Body
orderIdorderNumberMark abandoned checkout as converted › Responses
Conversion recorded (fire-and-forget)
successSend a WhatsApp OTP to the customer's phone
Sends a 6-digit code over WhatsApp via dzverify. Requires the store's OTP verification to be enabled. When dzverify cannot serve the send (balance exhausted, provider down), returns status 'unavailable' with a server-signed bypassToken — checkout proceeds unverified (fail-open; orders are never blocked by quota). Rate limits return 429 with the wait window.
Send a WhatsApp OTP to the customer's phone › Request Body
phoneAlgerian mobile; normalized server-side to E.164
Send a WhatsApp OTP to the customer's phone › Responses
OTP sent (or unavailable with a bypass token)
successVerify the WhatsApp OTP code
Verifies the code the customer typed. On success returns a signed otpToken (15-min TTL, bound to the phone) that the storefront submits with the order. Wrong-but-retryable codes return 422 with attemptsRemaining. Terminal states (expired, attempts exhausted, already verified) return 409 — send a new OTP.
Verify the WhatsApp OTP code › Request Body
phonerequestIdcode^\d{6}$ · requiredVerify the WhatsApp OTP code › Responses
Verified — otpToken returned
success