Overview
Verifies the 6-digit OTP provided by the customer when collecting their order. Upon successful verification, the order is automatically marked aspicked_up and the customer receives a confirmation notification.
This endpoint can verify OTP in two ways:
- Automatic verification: Store enters the OTP provided by customer
- Manual confirmation: Store confirms customer showed valid OTP on their device
Authentication
Requires authentication with JWT token. Only available tostore_employee role.
Endpoint
Path parameters
The unique order ID (MongoDB ObjectId)
Request body
The 6-digit OTP provided by the customer
Set to
true to manually confirm the OTP was verified visually on customer’s deviceYou must provide either
otp or set manualConfirm to true.Response
Indicates if the OTP was verified successfully
Human-readable status message
OTP verification flow
- Store marks order as
ready→ OTP is generated - Customer receives OTP via email and push notification
- Customer arrives at store and shows OTP
- Store verifies OTP using this endpoint
- Order is marked as
picked_up - Customer receives pickup confirmation
readyExpiresAtis cleared (no-show timer cancelled)
Example request
Example response
Error responses
OTP format and expiry
- Format: 6-digit numeric code (e.g.,
573842) - Expiry: 10 minutes from generation
- Generation: Automatically created when order status changes to
ready - Delivery: Sent via email and push notification to customer
Verification methods
Automatic verification
Recommended for stores with POS systems or dedicated order management apps:- Ask customer for their OTP
- Enter the 6-digit code in your system
- Call API with
otpparameter - System validates and marks order as picked up
Manual confirmation
Recommended for busy environments or when customer shows OTP on their device:- Ask customer to show OTP on their phone
- Visually verify the OTP matches your records
- Call API with
manualConfirm: true - System trusts your verification and marks order as picked up
Manual confirmation still validates that the OTP hasn’t expired, but it doesn’t check if the OTP value matches. Use this method when you’ve visually verified the OTP on the customer’s device.
No-show prevention
When OTP is verified:readyExpiresAttimestamp is cleared- No-show timer is cancelled
- Customer’s trust tier is preserved
- Order is automatically cancelled
- No-show penalty is applied
- Customer’s trust tier may decrease