Message a contact
const url = 'https://digize.com/api/v1/conversations';const options = { method: 'POST', headers: { 'Idempotency-Key': '5f1c2a8e-3b7d-4c55-9a0e-1f2d3c4b5a69', 'x-api-key': '<x-api-key>', 'Content-Type': 'application/json' }, body: '{"contactId":"example","channel":"sms","subject":"example","body":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://digize.com/api/v1/conversations \ --header 'Content-Type: application/json' \ --header 'Idempotency-Key: 5f1c2a8e-3b7d-4c55-9a0e-1f2d3c4b5a69' \ --header 'x-api-key: <x-api-key>' \ --data '{ "contactId": "example", "channel": "sms", "subject": "example", "body": "example" }'Texts or emails a contact, in their conversation on that channel or a new one. Texts go from the workspace’s Twilio number; email needs a sending domain and is refused until there is one. Refused for a contact who replied STOP.
Needs the crm:write permission. It can’t be undone.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Header Parameters
Section titled “Header Parameters”Makes the request safe to send again: for 24 hours the same key and request answer the first response without repeating the change.
Example
5f1c2a8e-3b7d-4c55-9a0e-1f2d3c4b5a69Request Bodyrequired
Section titled “Request Bodyrequired”object
Responses
Section titled “Responses”Done
object
object
object
The workspace’s number or address the contact writes to.
Emails only.
The member answering it, by user id.
A text conversation whose contact replied STOP: nothing can be texted to them until they reply START.
object
A text or email, or a call to one of the workspace’s numbers.
Pending until Twilio takes it, then queued, sent and delivered, or failed or undelivered; received for one that came in.
Why it didn’t go.
object
A signed link that works for an hour.
The whole email, when it was too long to show here.
Example
{ "conversation": { "channel": "sms", "status": "open", "lastMessage": { "kind": "message", "direction": "in", "authorKind": "contact", "status": "pending" } }, "message": { "kind": "message", "direction": "in", "author": { "kind": "contact" }, "status": "pending", "call": { "status": "ringing", "recording": { "kind": "voicemail", "status": "pending" } } }}What was sent isn’t valid (invalid).
object
object
object
Example
{ "error": { "code": "invalid" }}No key, or one that’s unknown, off or expired.
object
object
object
Example
{ "error": { "code": "invalid" }}The key doesn’t have the permission this needs.
object
object
object
Example
{ "error": { "code": "invalid" }}Nothing has that id (not_found).
object
object
object
Example
{ "error": { "code": "invalid" }}A request with the same Idempotency-Key is still running (conflict).
object
object
object
Example
{ "error": { "code": "invalid" }}The Idempotency-Key was used with a different request.
object
object
object
Example
{ "error": { "code": "invalid" }}Over the rate limit; see retry-after.
object
object
object
Example
{ "error": { "code": "invalid" }}