Zoho Writer Sign’s API doesn’t accept recipient_phonenumber
and recipient_countrycode
as top-level keys.
To enable Email + SMS delivery, the recipient details must be passed inside the verification_type
object of each recipient.
signer_data = [ JSON Array of recipients ]
[
{
"recipient_1": "[email protected]",
"recipient_name": "John",
"action_type": "sign", // approve | sign | view | in_person_sign
"language": "en",
"delivery_type": [
{
"type": "sms", // sms | whatsapp | email
"countrycode": "+91",
"phonenumber": "9876543210"
}
],
"private_notes": "Hey! Please sign this document"
},
{
"recipient_2": "[email protected]",
"recipient_name": "Jack",
"action_type": "in_person_sign",
"in_person_signer_info": {
"email": "[email protected]", // Optional, required only when verification_info.type = "email"
"name": "Tommy"
},
"language": "en",
"verification_info": {
"type": "email" // email | sms | offline | whatsapp
}
}
]
Key Points
The top-level parameter name is always signer_data.
It must be a JSON Array ([ ... ]) of recipient objects.
recipient_1, recipient_2, … are the unique keys used to identify each signer.
action_type defines what the recipient does (sign, approve, view, in_person_sign).
delivery_type is an array of objects:
type: email, sms, or whatsapp
For SMS/WhatsApp → include countrycode and phonenumber.
verification_info controls how the signer is verified (email, sms, offline, whatsapp).
in_person_signer_info is required for in_person_sign action types.