Skip to content

Send contract to the order’s customer via WhatsApp

POST
/api/v1/contracts/{id}/send
curl --request POST \
--url https://api.dokanmazad.com/api/v1/contracts/cmcont00000001ny11aabbcc0/send \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <X-API-Key>' \
--data '{ "phone": "+971501234567", "signingLink": "https://sign.dokanmazad.com/contract-201" }'
id
required
string

Contract ID (CUID)

Example
cmcont00000001ny11aabbcc0
Media typeapplication/json
object
phone

Recipient phone number (E.164 format). Also accepted as phoneNumber.

string
phoneNumber

Alias for phone — one of phone or phoneNumber is required.

string
signingLink

Optional signing link URL to include in the WhatsApp message.

string
sendVia

Delivery channel (reserved for future use — only WhatsApp supported)

string
Examples
Exampledefault
{
"phone": "+971501234567",
"signingLink": "https://sign.dokanmazad.com/contract-201"
}

Success

Media typeapplication/json
object
success
required
boolean
data
required
meta
object
page
integer
limit
integer
total
integer
totalPages
integer
data
required
object
id
required

Contract CUID

string
status
required

New status — Sent after a successful dispatch

string
sentAt

Timestamp when the contract was sent

string format: date-time
updatedAt
required

Last updated timestamp

string format: date-time
Examples
Examplesuccess
{
"success": true,
"data": {
"id": "cmcont00000001ny11aabbcc0",
"orderId": "cmosor2zy000313ny24hgtfy0",
"contractNumber": 201,
"customerName": "Ahmed Ali",
"customerNameAr": "أحمد علي",
"customerIdNumber": "A12345678",
"customerPhone": "+971501234567",
"customerEmail": "ahmed@example.com",
"customerAddress": "123 Main St, Dubai, UAE",
"customerCountry": "UAE",
"carDetails": {
"makeEn": "BMW",
"modelEn": "3 Series",
"year": 2023,
"price": 25000
},
"totalAmount": 25000,
"currency": "USD",
"vin": "WBAXH1C50DD123456",
"mileage": "12,500 km",
"status": "Sent",
"pdfUrl": null,
"createdAt": "2026-05-01T10:00:00.000Z"
}
}

Unauthorized — missing or invalid API key

Media typeapplication/json
object
success
required
boolean
error
required
string
statusCode
required
integer
Example
{
"success": false
}

Forbidden — route not in this key’s allowedRoutes

Media typeapplication/json
object
success
required
boolean
error
required
string
statusCode
required
integer
Example
{
"success": false
}

Rate limit exceeded

Media typeapplication/json
object
success
required
boolean
error
required
string
statusCode
required
integer
Example
{
"success": false
}
Retry-After
integer

Seconds to wait before retrying