Skip to main content

Single Channels

This API is used to send messages from the client system to the end user through various supported channels ( SMS, Email, Line, Telegram, Facebook Messenger and WhatsApp )

Endpoint

URL : {Base URL Send}/json/send/cgw
Method : POST

This section describes the request parameters and provides JSON request examples for sending messages through a single channel on Sandeza.


Channel SMS

This section describes the request parameters and provides JSON request examples for sending messages via the SMS channel

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
created_byStringNOusername or the name of the person who created the message.
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
budget_codeANS (Alpha Numeric Space)NOAdditional information, maximum 180 character
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
smsJSON ObjectYESDescribes the message content and delivery configuration for the SMS channel
messageTextYESMessage to be sent
Sample:
YTH. Bapak/Ibu……
msisdnN (Numeric), Plus (+)YESMobile phone number, with 0, 62 or +
backup_onAN (Alpha Numeric)NOFormat: status1;status2
Mapping:
1 – Unsent
2 – Undelivered
3 – Pending
4 – Failed
Sample:
1;3
backup_expAN (Alpha Numeric)NOExpire in minutes.
Except pending, set 0.
Format: expire1;expire2
Sample:
0;10
use_backup_senderBooleanNOUsed to back up messages via SMS with credit deduction
default “false” → Message backup is not enabled
true → Message backup is active
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"created_by": "<sending user>",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": "example subject",
"sender_id": "<value from sprint>",
"budget_code": "<generated by client>",
"channel": {
"sms": {
"message": "test sms",
"msisdn": "62858xxxxxxxx",
"backup_on": "",
"backup_exp": ""
"use_backup_sender": "false"
}
}
}

Channel Email

To send messages using the email channel, users can use two methods:

Email Plain Text

This section describes the request parameters and provides JSON request examples for sending messages in plain text email format.

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
created_byStringNOusername or the name of the person who created the message.
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
budget_codeANS (Alpha Numeric Space)NOAdditional information, maximum 180 character
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
EmailJSON ObjectYESDescribes the message content and delivery configuration for the Email channel
messageTextNOIf not using a template, you can write free text.
Static with template: This value can empty
Dynamic with template: Dynamic Values
Separator: “:” dan “;"
Sample:
nama:Sprint;alamat:Jl. Fatmawati
emailValid Email FormatYESMust be a valid email format
attachmentTextNOPath Format: https://Path/filename
Note: https protocol is a must
File Extension:
Email: jpg, png, xls, xlsx, pdf, ppt, pptx, doc, docx, wav, mp4, txt
Max Size: 5MB/file
Separator: “;”
Sample:
https://www.domain.com/test.pdf; https://www.domain.com/test2.pdf
template_idAN (Alpha Numeric)NOId template generated from sandeza web
Template_id mandatory, If the email is sent using a template
Then param message follows dynamic parameters
backup_onAN (Alpha Numeric)NOFormat: status1; status2
Mapping:
1 – Unsent
2 – Undelivered
3 – Pending
5 – Spam
6 – Bounced
7 – Blacklist
Sample:
1;3
backup_expAN (Alpha Numeric)NOExpire in minutes.
Except pending, set 0.
Format: expire1; expire2
Sample:
0;5
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"created_by": "<sending user>",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": "example subject",
"sender_id": "<value from sprint>",
"budget_code": "<generated by client>",
"channel": {
"email": {
"message": "test email",
"email": "admin@sprintasia.co.id",
"attachment": "",
"template_id": "",
"backup_on": "",
"backup_exp": ""
}
}
}

Email Template

This section describes the request parameters and provides JSON request examples for sending messages in a template email format.

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
created_byStringNOusername or the name of the person who created the message.
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
budget_codeANS (Alpha Numeric Space)NOAdditional information, maximum 180 character
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
EmailJSON ObjectYESDescribes the message content and delivery configuration for the Email channel
messageTextNOIf not using a template, you can write free text.
Static with template: This value can empty
Dynamic with template: Dynamic Values
Separator: “:” dan “;"
Sample:
nama:Sprint;alamat:Jl. Fatmawati
emailValid Email FormatYESMust be a valid email format
attachmentTextNOPath Format: https://Path/filename
Note: https protocol is a must
File Extension:
Email: jpg, png, xls, xlsx, pdf, ppt, pptx, doc, docx, wav, mp4, txt
Max Size: 5MB/file
Separator: “;”
Sample:
https://www.domain.com/test.pdf; https://www.domain.com/test2.pdf
template_idAN (Alpha Numeric)NOId template generated from sandeza web
Template_id mandatory, If the email is sent using a template
Then param message follows dynamic parameters
backup_onAN (Alpha Numeric)NOFormat: status1; status2
Mapping:
1 – Unsent
2 – Undelivered
3 – Pending
5 – Spam
6 – Bounced
7 – Blacklist
Sample:
1;3
backup_expAN (Alpha Numeric)NOExpire in minutes.
Except pending, set 0.
Format: expire1; expire2
Sample:
0;5
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"created_by": "<sending user>",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": "example subject",
"sender_id": "<value from sprint>",
"budget_code": "<generated by client>",
"channel": {
"email": {
"message": "nama:sprint;alamat:Jl. Fatmawati",
"email": "admin@sprintasia.co.id",
"attachment": "",
"template_id": "template-email-001",
"backup_on": "",
"backup_exp": ""
}
}
}

Channel Line

This section describes the request parameters and provides JSON request examples for sending messages via the Line channel

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
created_byStringNOusername or the name of the person who created the message.
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
budget_codeANS (Alpha Numeric Space)NOAdditional information, maximum 180 character
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
lineJSON ObjectYESDescribes the message content and delivery configuration for the Line channel
messageTextYESBody (non-HTML format)
chat_idAN (Alpha Numeric)YESSocial id / metadata id
attachmentTextNOPath Format: https://Path/filename
Note: https protocol is a must
File Extension:
Line: jpg, png
Telegram: jpg, png, pdf, mp4
Facebook: jpg, png, xls, xlsx, pdf, ppt, pptx,
doc, docx, wav, mp4, txt
Max File Size: 5MB/file
Separator: “;”
Sample:
https://www.domain.com/test.pdf; https://www.domain.com/test2.pdf
backup_onAN (Alpha Numeric)NOFormat: status1; status2
Mapping:
1 – Unsent
3 – Pending
4 – Failed
Sample:
1;4
backup_expAN (Alpha Numeric)NOExpire in minutes.
Except pending, set 0.
Format: expire1; expire2
Sample:
0;0
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"created_by": "<sending user>",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": "example subject",
"sender_id": "<value from sprint>",
"budget_code": "<generated by client>",
"channel": {
"line": {
"message": "test sprint",
"chat_id": "U4a5d496a17259bde978850xxxxxxxxxx",
"attachment": "",
"backup_on": "",
"backup_exp": ""
}
}
}

Channel Telegram

This section describes the request parameters and provides JSON request examples for sending messages via the Telegram channel

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
created_byStringNOusername or the name of the person who created the message.
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
budget_codeANS (Alpha Numeric Space)NOAdditional information, maximum 180 character
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
telegramJSON ObjectYESDescribes the message content and delivery configuration for the Telegram channel
messageTextYESBody (non-HTML format)
chat_idAN (Alpha Numeric)YESSocial id / metadata id
attachmentTextNOPath Format: https://Path/filename
Note: https protocol is a must
File Extension:
Line: jpg, png
Telegram: jpg, png, pdf, mp4
Facebook: jpg, png, xls, xlsx, pdf, ppt, pptx,
doc, docx, wav, mp4, txt
Max File Size: 5MB/file
Separator: “;”
Sample:
https://www.domain.com/test.pdf; https://www.domain.com/test2.pdf
backup_onAN (Alpha Numeric)NOFormat: status1; status2
Mapping:
1 – Unsent
3 – Pending
4 – Failed
Sample:
1;4
backup_expAN (Alpha Numeric)NOExpire in minutes.
Except pending, set 0.
Format: expire1; expire2
Sample:
0;0
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"created_by": "<sending user>",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": "example subject",
"sender_id": "<value from sprint>",
"budget_code": "<generated by client>",
"channel": {
"telegram": {
"message": "test sprint",
"chat_id": "39xxxxxxx",
"attachment": "",
"backup_on": "",
"backup_exp": ""
}
}
}

Channel Facebook

This section describes the request parameters and provides JSON request examples for sending messages via the Facebook channel

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
created_byStringNOusername or the name of the person who created the message.
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
budget_codeANS (Alpha Numeric Space)NOAdditional information, maximum 180 character
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
facebookJSON ObjectYESDescribes the message content and delivery configuration for the Facebook channel
messageTextYESBody (non-HTML format)
chat_idAN (Alpha Numeric)YESSocial id / metadata id
attachmentTextNOPath Format: https://Path/filename
Note: https protocol is a must
File Extension:
Line: jpg, png
Telegram: jpg, png, pdf, mp4
Facebook: jpg, png, xls, xlsx, pdf, ppt, pptx,
doc, docx, wav, mp4, txt
Max File Size: 5MB/file
Separator: “;”
Sample:
https://www.domain.com/test.pdf; https://www.domain.com/test2.pdf
backup_onAN (Alpha Numeric)NOFormat: status1; status2
Mapping:
1 – Unsent
3 – Pending
4 – Failed
Sample:
1;4
backup_expAN (Alpha Numeric)NOExpire in minutes.
Except pending, set 0.
Format: expire1; expire2
Sample:
0;0
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"created_by": "<sending user>",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": "example subject",
"sender_id": "<value from sprint>",
"budget_code": "<generated by client>",
"channel": {
"facebook": {
"message": "test sprint",
"chat_id": "3444386822xxxxxx",
"attachment": "",
"backup_on": "",
"backup_exp": ""
}
}
}

Channel WhatsApp

Information

To send a message using the WhatsApp channel, you must first have a template. If you are sending a WhatsApp message using a dynamic template, you will need to include dynamic parameters. However, to send a WhatsApp message using a static template, you only need the templateID.

To send messages using the WhatsApp channel, users can use two methods:

Use JSON Format

To send a message using a WhatsApp channel template in JSON format, there are several supported methods for sending messages with templates via the WhatsApp channel.

Template Static

This section describes the request parameters and provides JSON request examples for sending messages via the WhatsApp channel using a static template.

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
budget_codeANS (Alpha Numeric Space)NOAdditional information, maximum 180 character
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
whatsappJSON ObjectYESDescribes the message content and delivery configuration for the WhatsApp channel
messageTextNOStatic with template: This value can empty
msisdnN (Numeric), Plus (+)YESMobile phone number, with 0, 62 or +
attachmentTextNOPath Format:
https://Path/filename
Note: https protocol is a must
File Extension:
WhatsApp: jpg, png, xls, xlsx, pdf, ppt, pptx,
doc, docx, wav, mp4, txt
Max Size: 5MB/file
Separator: “;”
Sample:
https://www.domain.com/test.pdf;
https://www.domain.com/test2.pdf
template_idAN (Alpha Numeric)YESTemplate Id registered
backup_onAN (Alpha Numeric)NOFormat: status1; status2
Mapping:
1 – Unsent
2 – Undelivered
3 – Pending
4 – Failed
9 – Delivered
Sample:
2;3
backup_expAN (Alpha Numeric)NOExpire in minutes.
Except pending, set 0.
Format: expire1; expire2
Sample:
0;10
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": "example subject",
"sender_id": "<value from sprint>",
"budget_code": "<generated by client>",
"channel": {
"whatsapp": {
"message": "",
"msisdn": "62858xxxxxxxx",
"attachment": "",
"template_id": "thankyou",
"backup_on": "",
"backup_exp": ""
}
}
}

Template Dynamic

This section describes the request parameters and provides JSON request examples for sending messages via the WhatsApp channel use Template Dynamic.

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
budget_codeANS (Alpha Numeric Space)NOAdditional information, maximum 180 character
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
whatsappJSON ObjectYESDescribes the message content and delivery configuration for the WhatsApp channel
msisdnN (Numeric), Plus (+)YESMobile phone number, with 0, 62 or +
template_idAN (Alpha Numeric)YESTemplate Id registered
messageJSON ObjectNOMessage on body
This field for dynamic parameter message (Mandatory)
Type dynamic parameter: text
See “Description Field Message” for details
NOTE: if the template type is authentication, then the text value of the message must match the value of 'value_otp' on the button."
typeStringYESType of message
This value always “Body” for component template type message
parameterArrayYESDetail information for parameter body dynamic
typeStringYESType for body dynamic
Example: text
textStringYESSample text dynamic from body
Mandatory if body type text
attachmentTextNOPath Format:
https://Path/filename
Note: https protocol is a must
File Extension:
WhatsApp: jpg, png, xls, xlsx, pdf, ppt, pptx,
doc, docx, wav, mp4, txt
Max Size: 5MB/file
Separator: “;”
Sample:
https://www.domain.com/test.pdf;
https://www.domain.com/test2.pdf
backup_onAN (Alpha Numeric)NOFormat: status1; status2
Mapping:
1 – Unsent
2 – Undelivered
3 – Pending
4 – Failed
9 – Delivered
Sample:
2;3
backup_expAN (Alpha Numeric)NOExpire in minutes.
Except pending, set 0.
Format: expire1; expire2
Sample:
0;10
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)",
"type": "2",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": "example subject",
"sender_id": "<value from sprint>",
"budget_code": "<generated by client>",
"channel": {
"whatsapp": {
"msisdn": "62858xxxxxxxx",
"template_id": "template_dynamic_body",
"message": {
"type": "body",
"parameters": [
{
"type": "text",
"text": "Aziz"
}
]
},
"attachment": "",
"backup_on": "",
"backup_exp": ""
}
}
}

Template Body (Dynamic) + Header (Dynamic Text)

This section describes the request parameters and provides JSON request examples for sending messages via the WhatsApp channel use Template with Body (Dynamic) + Header (Dynamic Text)

FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
budget_codeANS (Alpha Numeric Space)NOAdditional information, maximum 180 character
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
whatsappJSON ObjectYESDescribes the message content and delivery configuration for the WhatsApp channel
msisdnN (Numeric), Plus (+)YESMobile phone number, with 0, 62 or +
template_idAN (Alpha Numeric)YESTemplate Id registered
headerJSON ObjectNOMessage on header
This field for dynamic parameter header (Mandatory)
Type dynamic parameter: text, Image, video, document, location
See “Description Field Header” for details
typeStringYESType of header
This value always “Header” for component template type header
parameterArrayYESDetail information for parameter header dynamic
typeStringYESType for header dynamic
Example: text, Image, video, document, location
textStringNOSample text dynamic from header
Mandatory if header type text
messageJSON ObjectNOMessage on body
This field for dynamic parameter message (Mandatory)
Type dynamic parameter: text
See “Description Field Message” for details
NOTE: if the template type is authentication, then the text value of the message must match the value of 'value_otp' on the button."
typeStringYESType of message
This value always “Body” for component template type message
parameterArrayYESDetail information for parameter body dynamic
typeStringYESType for body dynamic
Example: text
textStringYESSample text dynamic from body
Mandatory if body type text
attachmentTextNOPath Format:
https://Path/filename
Note: https protocol is a must
File Extension:
WhatsApp: jpg, png, xls, xlsx, pdf, ppt, pptx,
doc, docx, wav, mp4, txt
Max Size: 5MB/file
Separator: “;”
Sample:
https://www.domain.com/test.pdf;
https://www.domain.com/test2.pdf
backup_onAN (Alpha Numeric)NOFormat: status1; status2
Mapping:
1 – Unsent
2 – Undelivered
3 – Pending
4 – Failed
9 – Delivered
Sample:
2;3
backup_expAN (Alpha Numeric)NOExpire in minutes.
Except pending, set 0.
Format: expire1; expire2
Sample:
0;10
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": "example subject",
"sender_id": "<value from sprint>",
"budget_code": "<generated by client>",
"channel": {
"whatsapp": {
"msisdn": "62858xxxxxxxx",
"template_id": "thankyou_text",
"header": {
"type": "header",
"parameters": [
{
"type": "text",
"text": "Sandeza"
}
]
},
"message": {
"type": "body",
"parameters": [
{
"type": "text",
"text": "Sprint"
},
{
"type": "text",
"text": "Sandeza"
}
]
},
"attachment": "",
"backup_on": "",
"backup_exp": ""
}
}
}

Template Body (Dynamic) + Header (Dynamic Image)

This section describes the request parameters and provides JSON request examples for sending messages via the WhatsApp channel use Template with Body (Dynamic) + Header (Dynamic Image)

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
budget_codeANS (Alpha Numeric Space)NOAdditional information, maximum 180 character
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
whatsappJSON ObjectYESDescribes the message content and delivery configuration for the WhatsApp channel
msisdnN (Numeric), Plus (+)YESMobile phone number, with 0, 62 or +
template_idAN (Alpha Numeric)YESTemplate Id registered
headerJSON ObjectNOMessage on header
This field for dynamic parameter header (Mandatory)
Type dynamic parameter: text, Image, video, document, location
See “Description Field Header” for details
typeStringYESType of header
This value always “Header” for component template type header
parameterArrayYESDetail information for parameter header dynamic
typeStringYESType for header dynamic
Example: text, Image, video, document, location
imageJSON ObjectNOPlaceholder for image
Allowed sample extension: .jpeg, .png
Size limit: 2MB
Mandatory if header type image
linkStringNOStorage location for media (image/video/document) file
This field for header type: image, video, document
messageJSON ObjectNOMessage on body
This field for dynamic parameter message (Mandatory)
Type dynamic parameter: text
See “Description Field Message” for details
NOTE: if the template type is authentication, then the text value of the message must match the value of 'value_otp' on the button."
typeStringYESType of message
This value always “Body” for component template type message
parameterArrayYESDetail information for parameter body dynamic
typeStringYESType for body dynamic
Example: text
textStringYESSample text dynamic from body
Mandatory if body type text
attachmentTextNOPath Format:
https://Path/filename
Note: https protocol is a must
File Extension:
WhatsApp: jpg, png, xls, xlsx, pdf, ppt, pptx,
doc, docx, wav, mp4, txt
Max Size: 5MB/file
Separator: “;”
Sample:
https://www.domain.com/test.pdf;
https://www.domain.com/test2.pdf
backup_onAN (Alpha Numeric)NOFormat: status1; status2
Mapping:
1 – Unsent
2 – Undelivered
3 – Pending
4 – Failed
9 – Delivered
Sample:
2;3
backup_expAN (Alpha Numeric)NOExpire in minutes.
Except pending, set 0.
Format: expire1; expire2
Sample:
0;10
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": "example subject",
"sender_id": "<value from sprint>",
"budget_code": "<generated by client>",
"channel": {
"whatsapp": {
"msisdn": "62858xxxxxxxx",
"template_id": "thankyou_image",
"header": {
"type": "header",
"parameters": [
{
"type": "image",
"image": {
"link": "https://media.sandeza.id/sandeza.png"
}
}
]
},
"message": {
"type": "body",
"parameters": [
{
"type": "text",
"text": "Pagi"
},
{
"type": "text",
"text": "Sprint"
}
]
},
"attachment": "",
"backup_on": "",
"backup_exp": ""
}
}
}

Template Body (Dynamic) + Header (Dynamic Video)

This section describes the request parameters and provides JSON request examples for sending messages via the WhatsApp channel use Template with Body (Dynamic) + Header (Dynamic Video)

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
budget_codeANS (Alpha Numeric Space)NOAdditional information, maximum 180 character
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
whatsappJSON ObjectYESDescribes the message content and delivery configuration for the WhatsApp channel
msisdnN (Numeric), Plus (+)YESMobile phone number, with 0, 62 or +
template_idAN (Alpha Numeric)YESTemplate Id registered
headerJSON ObjectNOMessage on header
This field for dynamic parameter header (Mandatory)
Type dynamic parameter: text, Image, video, document, location
See “Description Field Header” for details
typeStringYESType of header
This value always “Header” for component template type header
parameterArrayYESDetail information for parameter header dynamic
typeStringYESType for header dynamic
Example: text, Image, video, document, location
videoJSON ObjectNOPlaceholder for video
Allowed sample extension: .3gp, .mp4
Size limit: 10MB
Mandatory if header type video
linkStringNOStorage location for media (image/video/document) file
This field for header type: image, video, document
messageJSON ObjectNOMessage on body
This field for dynamic parameter message (Mandatory)
Type dynamic parameter: text
See “Description Field Message” for details
NOTE: if the template type is authentication, then the text value of the message must match the value of 'value_otp' on the button."
typeStringYESType of message
This value always “Body” for component template type message
parameterArrayYESDetail information for parameter body dynamic
typeStringYESType for body dynamic
Example: text
textStringYESSample text dynamic from body
Mandatory if body type text
attachmentTextNOPath Format:
https://Path/filename
Note: https protocol is a must
File Extension:
WhatsApp: jpg, png, xls, xlsx, pdf, ppt, pptx,
doc, docx, wav, mp4, txt
Max Size: 5MB/file
Separator: “;”
Sample:
https://www.domain.com/test.pdf;
https://www.domain.com/test2.pdf
backup_onAN (Alpha Numeric)NOFormat: status1; status2
Mapping:
1 – Unsent
2 – Undelivered
3 – Pending
4 – Failed
9 – Delivered
Sample:
2;3
backup_expAN (Alpha Numeric)NOExpire in minutes.
Except pending, set 0.
Format: expire1; expire2
Sample:
0;10
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": "example subject",
"sender_id": "<value from sprint>",
"budget_code": "<generated by client>",
"channel": {
"whatsapp": {
"msisdn": "62858xxxxxxxx",
"template_id": " thankyou_video",
"header": {
"type": "header",
"parameters": [
{
"type": "video",
"video": {
"link": "https://media.sandeza.id/sandeza.mp4"
}
}
]
},
"message": {
"type": "body",
"parameters": [
{
"type": "text",
"text": "Pagi"
},
{
"type": "text",
"text": "Sprint"
}
]
},
"attachment": "",
"backup_on": "",
"backup_exp": ""
}
}
}

Template Body (Dynamic) + Header (Dynamic Document)

This section describes the request parameters and provides JSON request examples for sending messages via the WhatsApp channel use Template with Body (Dynamic) + Header (Dynamic Document)

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
budget_codeANS (Alpha Numeric Space)NOAdditional information, maximum 180 character
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
whatsappJSON ObjectYESDescribes the message content and delivery configuration for the WhatsApp channel
msisdnN (Numeric), Plus (+)YESMobile phone number, with 0, 62 or +
template_idAN (Alpha Numeric)YESTemplate Id registered
headerJSON ObjectNOMessage on header
This field for dynamic parameter header (Mandatory)
Type dynamic parameter: text, Image, video, document, location
See “Description Field Header” for details
typeStringYESType of header
This value always “Header” for component template type header
parameterArrayYESDetail information for parameter header dynamic
typeStringYESType for header dynamic
Example: text, Image, video, document, location
documentJSON ObjectNOPlaceholder for document
Allowed sample extension: .txt, .xls, .xlsx, .doc, .ppt, .pdf
Size limit: 15MB
Mandatory if header type document
linkStringNOStorage location for media (image/video/document) file
This field for header type: image, video, document
filenameStringNODisplayed Document Filename
messageJSON ObjectNOMessage on body
This field for dynamic parameter message (Mandatory)
Type dynamic parameter: text
See “Description Field Message” for details
NOTE: if the template type is authentication, then the text value of the message must match the value of 'value_otp' on the button."
typeStringYESType of message
This value always “Body” for component template type message
parameterArrayYESDetail information for parameter body dynamic
typeStringYESType for body dynamic
Example: text
textStringYESSample text dynamic from body
Mandatory if body type text
attachmentTextNOPath Format:
https://Path/filename
Note: https protocol is a must
File Extension:
WhatsApp: jpg, png, xls, xlsx, pdf, ppt, pptx,
doc, docx, wav, mp4, txt
Max Size: 5MB/file
Separator: “;”
Sample:
https://www.domain.com/test.pdf;
https://www.domain.com/test2.pdf
backup_onAN (Alpha Numeric)NOFormat: status1; status2
Mapping:
1 – Unsent
2 – Undelivered
3 – Pending
4 – Failed
9 – Delivered
Sample:
2;3
backup_expAN (Alpha Numeric)NOExpire in minutes.
Except pending, set 0.
Format: expire1; expire2
Sample:
0;10
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": "example subject",
"sender_id": "<value from sprint>",
"budget_code": "<generated by client>",
"channel": {
"whatsapp": {
"msisdn": "62858xxxxxxxx",
"template_id": "thankyou_document",
"header": {
"type": "header",
"parameters": [
{
"type": "document",
"document": {
"link": "https://media.sandeza.id/sandeza.pdf",
"filename" : "Sandeza.pdf"
}
}
]
},
"message": {
"type": "body",
"parameters": [
{
"type": "text",
"text": "Sprint"
}
]
},
"attachment": "",
"backup_on": "",
"backup_exp": ""
}
}
}

Template Body (Dynamic) + Header (Dynamic Location)

This section describes the request parameters and provides JSON request examples for sending messages via the WhatsApp channel use Template with Body (Dynamic) + Header (Dynamic Location)

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
budget_codeANS (Alpha Numeric Space)NOAdditional information, maximum 180 character
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
whatsappJSON ObjectYESDescribes the message content and delivery configuration for the WhatsApp channel
msisdnN (Numeric), Plus (+)YESMobile phone number, with 0, 62 or +
template_idAN (Alpha Numeric)YESTemplate Id registered
headerJSON ObjectNOMessage on header
This field for dynamic parameter header (Mandatory)
Type dynamic parameter: text, Image, video, document, location
See “Description Field Header” for details
typeStringYESType of header
This value always “Header” for component template type header
parameterArrayYESDetail information for parameter header dynamic
typeStringYESType for header dynamic
Example: text, Image, video, document, location
locationJSON ObjectNOPlaceholder for location
Mandatory if header type location
latitudeFloatNOType Location (coordinates point)
This field for header type: location
longitudeFloatNOType Location (coordinates point)
This field for header type: location
nameStringNODetail name of the location
This field for header type: location
addressStringNODetail address of the location
This field for header type: location
messageJSON ObjectNOMessage on body
This field for dynamic parameter message (Mandatory)
Type dynamic parameter: text
See “Description Field Message” for details
NOTE: if the template type is authentication, then the text value of the message must match the value of 'value_otp' on the button."
typeStringYESType of message
This value always “Body” for component template type message
parameterArrayYESDetail information for parameter body dynamic
typeStringYESType for body dynamic
Example: text
textStringYESSample text dynamic from body
Mandatory if body type text
attachmentTextNOPath Format:
https://Path/filename
Note: https protocol is a must
File Extension:
WhatsApp: jpg, png, xls, xlsx, pdf, ppt, pptx,
doc, docx, wav, mp4, txt
Max Size: 5MB/file
Separator: “;”
Sample:
https://www.domain.com/test.pdf;
https://www.domain.com/test2.pdf
backup_onAN (Alpha Numeric)NOFormat: status1; status2
Mapping:
1 – Unsent
2 – Undelivered
3 – Pending
4 – Failed
9 – Delivered
Sample:
2;3
backup_expAN (Alpha Numeric)NOExpire in minutes.
Except pending, set 0.
Format: expire1; expire2
Sample:
0;10
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": "example subject",
"sender_id": "<value from sprint>",
"budget_code": "<generated by client>",
"channel": {
"whatsapp": {
"msisdn": "62858xxxxxxxx",
"template_id": "thankyou_location",
"header": {
"type": "header",
"parameters": [
{
"type": "location",
"location": {
"latitude": "-6.1697604162596775",
"longitude": "106.82749612129722",
"name": "National Monument",
"address": "Gambir Central Jakarta City, Jakarta"
}
}
]
},
"message": {
"type": "body",
"parameters": [
{
"type": "text",
"text": "Sprint"
}
]
},
"attachment": "",
"backup_on": "",
"backup_exp": ""
}
}
}

Template Body (Dynamic) + Header (Dynamic Text) + Button (Dynamic URL)

This section describes the request parameters and provides JSON request examples for sending messages via the WhatsApp channel use Template with Body (Dynamic) + Header (Dynamic Text) + Button (Dynamic URL)

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
budget_codeANS (Alpha Numeric Space)NOAdditional information, maximum 180 character
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
whatsappJSON ObjectYESDescribes the message content and delivery configuration for the WhatsApp channel
msisdnN (Numeric), Plus (+)YESMobile phone number, with 0, 62 or +
template_idAN (Alpha Numeric)YESTemplate Id registered
headerJSON ObjectNOMessage on header
This field for dynamic parameter header (Mandatory)
Type dynamic parameter: text, Image, video, document, location
See “Description Field Header” for details
typeStringYESType of header
This value always “Header” for component template type header
parameterArrayYESDetail information for parameter header dynamic
typeStringYESType for header dynamic
Example: text, Image, video, document, location
textStringNOSample text dynamic from header
Mandatory if header type text
messageJSON ObjectNOMessage on body
This field for dynamic parameter message (Mandatory)
Type dynamic parameter: text
See “Description Field Message” for details
NOTE: if the template type is authentication, then the text value of the message must match the value of 'value_otp' on the button."
typeStringYESType of message
This value always “Body” for component template type message
parameterArrayYESDetail information for parameter body dynamic
typeStringYESType for body dynamic
Example: text
textStringYESSample text dynamic from body
Mandatory if body type text
buttonJSON ObjectNOMessage on button
This field for a dynamic card carousel component (Mandatory)
Type dynamic parameter: button URL, button catalog, button MPM
See “Description Field Button” for details
NOTE: if the template type is authentication, then the text value of the message must match the value of 'value_otp' on the button."
typeStringYESType of button
This value always “Button” for component template type button
sub_typeStringYESSub type for button dynamic
Example: URL, catalog, MPM
indexIntegerYESindex is the order of the button, starting from 0 to 9
parameterArrayYESDetail information for parameter button dynamic
TypeStringYESType for sub_type button dynamic:
Text for Type URL
Action for Type catalog & MPM
textStringNOSample text dynamic from button
Mandatory if button type text
attachmentTextNOPath Format:
https://Path/filename
Note: https protocol is a must
File Extension:
WhatsApp: jpg, png, xls, xlsx, pdf, ppt, pptx,
doc, docx, wav, mp4, txt
Max Size: 5MB/file
Separator: “;”
Sample:
https://www.domain.com/test.pdf;
https://www.domain.com/test2.pdf
backup_onAN (Alpha Numeric)NOFormat: status1; status2
Mapping:
1 – Unsent
2 – Undelivered
3 – Pending
4 – Failed
9 – Delivered
Sample:
2;3
backup_expAN (Alpha Numeric)NOExpire in minutes.
Except pending, set 0.
Format: expire1; expire2
Sample:
0;10
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": "example subject",
"sender_id": "<value from sprint>",
"budget_code": "<generated by client>",
"channel": {
"whatsapp": {
"msisdn": "62858xxxxxxxx",
"template_id": "thankyou_URL",
"header": {
"type": "header",
"parameters": [
{
"type": "text",
"text": "Selamat Pagi"
}
]
},
"message": {
"type": "body",
"parameters": [
{
"type": "text",
"text": "Aziz"
}
]
},
"button": [
{
"type": "BUTTON",
"sub_type": "URL",
"index": "3",
"parameters": [
{
"type": "text",
"text": "login.html"
}
]
}
],
"attachment": "",
"backup_on": "",
"backup_exp": ""
}
}
}

Template With Button OTP

This section describes the request parameters and provides JSON request examples for sending messages via the WhatsApp channel use Template With Button OTP

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
budget_codeANS (Alpha Numeric Space)NOAdditional information, maximum 180 character
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
whatsappJSON ObjectYESDescribes the message content and delivery configuration for the WhatsApp channel
msisdnN (Numeric), Plus (+)YESMobile phone number, with 0, 62 or +
template_idAN (Alpha Numeric)YESTemplate Id registered
headerJSON ObjectNOMessage on header
This field for dynamic parameter header (Mandatory)
Type dynamic parameter: text, Image, video, document, location
See “Description Field Header” for details
messageJSON ObjectNOMessage on body
This field for dynamic parameter message (Mandatory)
Type dynamic parameter: text
See “Description Field Message” for details
NOTE: if the template type is authentication, then the text value of the message must match the value of 'value_otp' on the button."
typeStringYESType of message
This value always “Body” for component template type message
parameterArrayYESDetail information for parameter body dynamic
typeStringYESType for body dynamic
Example: text
textStringYESSample text dynamic from body
Mandatory if body type text
buttonJSON ObjectNOMessage on button
This field for a dynamic card carousel component (Mandatory)
Type dynamic parameter: button URL, button catalog, button MPM
See “Description Field Button” for details
NOTE: if the template type is authentication, then the text value of the message must match the value of 'value_otp' on the button."
typeStringYESType of button
This value always “Button” for component template type button
sub_typeStringYESSub type for button dynamic
Example: URL, catalog, MPM
indexIntegerYESindex is the order of the button, starting from 0 to 9
parameterArrayYESDetail information for parameter button dynamic
TypeStringYESType for sub_type button dynamic:
Text for Type URL
Action for Type catalog & MPM
textStringNOSample text dynamic from button
Mandatory if button type text
attachmentTextNOPath Format:
https://Path/filename
Note: https protocol is a must
File Extension:
WhatsApp: jpg, png, xls, xlsx, pdf, ppt, pptx,
doc, docx, wav, mp4, txt
Max Size: 5MB/file
Separator: “;”
Sample:
https://www.domain.com/test.pdf;
https://www.domain.com/test2.pdf
backup_onAN (Alpha Numeric)NOFormat: status1; status2
Mapping:
1 – Unsent
2 – Undelivered
3 – Pending
4 – Failed
9 – Delivered
Sample:
2;3
backup_expAN (Alpha Numeric)NOExpire in minutes.
Except pending, set 0.
Format: expire1; expire2
Sample:
0;10
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": "example subject",
"sender_id": "<value from sprint>",
"budget_code": "<generated by client>",
"channel": {
"whatsapp": {
"msisdn": "62858xxxxxxxx",
"template_id": "sample_template_otp",
"header": "",
"message": {
"type": "body",
"parameters": [
{
"type": "text",
"text": "123456"
}
]
},
"button": [
{
"type": "BUTTON",
"sub_type": "URL",
"index": "0",
"parameters": [
{
"type": "text",
"text": "123456"
}
]
}
],
"attachment": "",
"backup_on": "",
"backup_exp": ""
}
}
}

Template Catalog

This section describes the request parameters and provides JSON request examples for sending messages via the WhatsApp channel use Template Catalog

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
budget_codeANS (Alpha Numeric Space)NOAdditional information, maximum 180 character
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
whatsappJSON ObjectYESDescribes the message content and delivery configuration for the WhatsApp channel
msisdnN (Numeric), Plus (+)YESMobile phone number, with 0, 62 or +
template_idAN (Alpha Numeric)YESTemplate Id registered
headerJSON ObjectNOMessage on header
This field for dynamic parameter header (Mandatory)
Type dynamic parameter: text, Image, video, document, location
See “Description Field Header” for details
messageJSON ObjectNOMessage on body
This field for dynamic parameter message (Mandatory)
Type dynamic parameter: text
See “Description Field Message” for details
NOTE: if the template type is authentication, then the text value of the message must match the value of 'value_otp' on the button."
typeStringYESType of message
This value always “Body” for component template type message
parameterArrayYESDetail information for parameter body dynamic
typeStringYESType for body dynamic
Example: text
textStringYESSample text dynamic from body
Mandatory if body type text
buttonJSON ObjectNOMessage on button
This field for a dynamic card carousel component (Mandatory)
Type dynamic parameter: button URL, button catalog, button MPM
See “Description Field Button” for details
NOTE: if the template type is authentication, then the text value of the message must match the value of 'value_otp' on the button."
typeStringYESType of button
This value always “Button” for component template type button
sub_typeStringYESSub type for button dynamic
Example: URL, catalog, MPM
indexIntegerYESindex is the order of the button, starting from 0 to 9
parameterArrayYESDetail information for parameter button dynamic
TypeStringYESType for sub_type button dynamic:
Text for Type URL
Action for Type catalog & MPM
actionJSON ObjectNODetail of the action information
thumbnail_product_retailer_idStringYESItem SKU number. Labelled as Content ID in the Commerce Manager.
The thumbnail of this item will be used as the message's header image
attachmentTextNOPath Format:
https://Path/filename
Note: https protocol is a must
File Extension:
WhatsApp: jpg, png, xls, xlsx, pdf, ppt, pptx,
doc, docx, wav, mp4, txt
Max Size: 5MB/file
Separator: “;”
Sample:
https://www.domain.com/test.pdf;
https://www.domain.com/test2.pdf
backup_onAN (Alpha Numeric)NOFormat: status1; status2
Mapping:
1 – Unsent
2 – Undelivered
3 – Pending
4 – Failed
9 – Delivered
Sample:
2;3
backup_expAN (Alpha Numeric)NOExpire in minutes.
Except pending, set 0.
Format: expire1; expire2
Sample:
0;10
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": "example subject",
"sender_id": "<value from sprint>",
"budget_code": "<generated by client>",
"channel": {
"whatsapp": {
"msisdn": "62858xxxxxxxx ",
"template_id": "sample_catalog_template",
"header": "",
"message": {
"type": "body",
"parameters": [
{
"type": "text",
"text": "Aziz"
}
]
},
"button": [
{
"type": "button",
"sub_type": "catalog",
"index": 0,
"parameters": [
{
"type": "action",
"action": {
"thumbnail_product_retailer_id": "mln-002"
}
}
]
}
],
"attachment": "",
"backup_on": "",
"backup_exp": ""
}
}
}

Template Catalog Multi Product Message (MPM)

This section describes the request parameters and provides JSON request examples for sending messages via the WhatsApp channel use Template Catalog Multi Product Message (MPM)

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
budget_codeANS (Alpha Numeric Space)NOAdditional information, maximum 180 character
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
whatsappJSON ObjectYESDescribes the message content and delivery configuration for the WhatsApp channel
msisdnN (Numeric), Plus (+)YESMobile phone number, with 0, 62 or +
template_idAN (Alpha Numeric)YESTemplate Id registered
headerJSON ObjectNOMessage on header
This field for dynamic parameter header (Mandatory)
Type dynamic parameter: text, Image, video, document, location
See “Description Field Header” for details
typeStringYESType of header
This value always “Header” for component template type header
parameterArrayYESDetail information for parameter header dynamic
typeStringYESType for header dynamic
Example: text, Image, video, document, location
textStringNOSample text dynamic from header
Mandatory if header type text
messageJSON ObjectNOMessage on body
This field for dynamic parameter message (Mandatory)
Type dynamic parameter: text
See “Description Field Message” for details
NOTE: if the template type is authentication, then the text value of the message must match the value of 'value_otp' on the button."
typeStringYESType of message
This value always “Body” for component template type message
parameterArrayYESDetail information for parameter body dynamic
typeStringYESType for body dynamic
Example: text
textStringYESSample text dynamic from body
Mandatory if body type text
buttonJSON ObjectNOMessage on button
This field for a dynamic card carousel component (Mandatory)
Type dynamic parameter: button URL, button catalog, button MPM
See “Description Field Button” for details
NOTE: if the template type is authentication, then the text value of the message must match the value of 'value_otp' on the button."
typeStringYESType of button
This value always “Button” for component template type button
sub_typeStringYESSub type for button dynamic
Example: URL, catalog, MPM
indexIntegerYESindex is the order of the button, starting from 0 to 9
parameterArrayYESDetail information for parameter button dynamic
TypeStringYESType for sub_type button dynamic:
Text for Type URL
Action for Type catalog & MPM
actionJSON ObjectNODetail of the action information
thumbnail_product_retailer_idStringYESItem SKU number. Labelled as Content ID in the Commerce Manager.
The thumbnail of this item will be used as the message's header image
sectionsJSON ObjectNODetail of the sections information
titleStringYESSection title text.
You can specify up to 10 sections.
Maximum 24 characters. Markdown is not supported
product_itemsArrayYESDetail of the product_item information
product_retailer_idStringYESSKU number of the items you want to display in the section.
The SKU number is labeled as Content ID in Commerce Manager.
Supports a total of up to 30 products across all sections.
attachmentTextNOPath Format:
https://Path/filename
Note: https protocol is a must
File Extension:
WhatsApp: jpg, png, xls, xlsx, pdf, ppt, pptx,
doc, docx, wav, mp4, txt
Max Size: 5MB/file
Separator: “;”
Sample:
https://www.domain.com/test.pdf;
https://www.domain.com/test2.pdf
backup_onAN (Alpha Numeric)NOFormat: status1; status2
Mapping:
1 – Unsent
2 – Undelivered
3 – Pending
4 – Failed
9 – Delivered
Sample:
2;3
backup_expAN (Alpha Numeric)NOExpire in minutes.
Except pending, set 0.
Format: expire1; expire2
Sample:
0;10
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": "example subject",
"sender_id": "<value from sprint>",
"budget_code": "<generated by client>",
"channel": {
"whatsapp": {
"msisdn": "62858xxxxxxxx ",
"template_id": "sample_catalog_template_mpm",
"header": {
"type": "header",
"parameters": [
{
"type": "text",
"text": "Ini adalah product unggulan kami."
}
]
},
"message": {
"type": "body",
"parameters": [
{
"type": "text",
"text": "Aziz"
}
]
},
"button": [
{
"type": "button",
"sub_type": "mpm",
"index": 0,
"parameters": [
{
"type": "action",
"action": {
"thumbnail_product_retailer_id": "strw-002",
"sections": [
{
"title": "Dari Petani Langsung",
"product_items": [
{
"product_retailer_id": "8tziy9lloe"
},
{
"product_retailer_id": "mln-002"
}
]
},
{
"title": "Dari Pengepul",
"product_items": [
{
"product_retailer_id": "strw-001"
},
{
"product_retailer_id": "strw-002"
}
]
},
{
"title": "Dari Toko Buah",
"product_items": [
{
"product_retailer_id": "p235ynzaf6"
}
]
}
]
}
}
]
}
],
"attachment": "",
"backup_on": "",
"backup_exp": ""
}
}
}

This section describes the request parameters and provides JSON request examples for sending messages via the WhatsApp channel use Template Carousel

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
budget_codeANS (Alpha Numeric Space)NOAdditional information, maximum 180 character
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
whatsappJSON ObjectYESDescribes the message content and delivery configuration for the WhatsApp channel
msisdnN (Numeric), Plus (+)YESMobile phone number, with 0, 62 or +
template_idAN (Alpha Numeric)YESTemplate Id registered
headerJSON ObjectNOMessage on header
This field for dynamic parameter header (Mandatory)
Type dynamic parameter: text, Image, video, document, location
See “Description Field Header” for details
messageJSON ObjectNOMessage on body
This field for dynamic parameter message (Mandatory)
Type dynamic parameter: text
See “Description Field Message” for details
NOTE: if the template type is authentication, then the text value of the message must match the value of 'value_otp' on the button."
typeStringYESType of message
This value always “Body” for component template type message
parameterArrayYESDetail information for parameter body dynamic
typeStringYESType for body dynamic
Example: text
textStringYESSample text dynamic from body
Mandatory if body type text
buttonJSON ObjectNOMessage on button
This field for a dynamic card carousel component (Mandatory)
Type dynamic parameter: button URL, button catalog, button MPM
See “Description Field Button” for details
NOTE: if the template type is authentication, then the text value of the message must match the value of 'value_otp' on the button."
ypeStringYESType of Carousel
This value always “Carousel” for component template type Carousel
cardsArrayYESDetail of the cards information
card_indexIntegerYESZero-indexed order in which card should appear within the card carousel.
0 indicates first card, 1 indicates second card, etc.
componentsStringYESDetail of the components cards information
typeStringYESType from component carousel card
Example: header, body, button
parametersArrayYESDetail information for parameter component dynamic
for detail see:
“Additional fields required If field type is “header" , “body” , “button”
typeStringYESType message in header
Example: Image or Video
imageJSON ObjectNOThe field is used when the header type is an image.
linkStringYESStorage location for media files: image or video
typeStringYESType from component carousel card
Example: header, body, button
parametersArrayYESDetail information for parameter component dynamic
for detail see:
“Additional fields required If field type is “header" , “body” , “button”
typeStringYESType message in body
textJSON ObjectYESSample message for param dynamic body
typeStringYESType from component carousel card
Example: header, body, button
sub_typeStringNOThis field is used if components type is button
Example: Quick_reply, URL
indexIntegerNOThis field is used if components type is button
index is the order of the button
starting from 0 to 9
parametersArrayYESDetail information for parameter component dynamic
for detail see:
“Additional fields required If field type is “header" , “body” , “button”
typeStringYESType from sub type button
This value is always payload for the sub-type button Quick_Reply
payloadStringNOThe payload defined by the developer that is displayed when the button is clicked, in addition to the display text on the button
backup_onAN (Alpha Numeric)NOFormat: status1; status2
Mapping:
1 – Unsent
2 – Undelivered
3 – Pending
4 – Failed
9 – Delivered
Sample:
2;3
backup_expAN (Alpha Numeric)NOExpire in minutes.
Except pending, set 0.
Format: expire1; expire2
Sample:
0;10
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"created_by": "<value from sprint>",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": "example subject",
"sender_id": "<value from sprint>",
"budget_code": "<generated by client>",
"channel": {
"whatsapp": {
"msisdn": "62858xxxxxxxx ",
"template_id": "carousel_boby_test",
"header": "",
"message": {
"type": "BODY",
"parameters": [
{
"type": "TEXT",
"text": "20OFF"
},
{
"type": "TEXT",
"text": "20%"
}
]
},
"button": "",
"carousel": {
"type": "CAROUSEL",
"cards": [
{
"card_index": 0,
"components": [
{
"type": "HEADER",
"parameters": [
{
"type": "IMAGE",
"image": {
"link": "https://media.sandeza.id/tes.jpg"
}
}
]
},
{
"type": "BODY",
"parameters": [
{
"type": "TEXT",
"text": "10OFF"
},
{
"type": "TEXT",
"text": "10%"
}
]
},
{
"type": "BUTTON",
"sub_type": "QUICK_REPLY",
"index": "0",
"parameters": [
{
"type": "PAYLOAD",
"payload": "59NqSd"
}
]
},
{
"type": "BUTTON",
"sub_type": "URL",
"index": "1",
"parameters": [
{
"type": "payload",
"payload": "last_chance_2023"
}
]
}
]
},
{
"card_index": 1,
"components": [
{
"type": "HEADER",
"parameters": [
{
"type": "IMAGE",
"image": {
"link": "https://media.sandeza.id/Tes.jpg"
}
}
]
},
{
"type": "BODY",
"parameters": [
{
"type": "TEXT",
"text": "30OFF"
},
{
"type": "TEXT",
"text": "30%"
}
]
},
{
"type": "BUTTON",
"sub_type": "QUICK_REPLY",
"index": "0",
"parameters": [
{
"type": "PAYLOAD",
"payload": "7C4xhY"
}
]
},
{
"type": "BUTTON",
"sub_type": "URL",
"index": "1",
"parameters": [
{
"type": "payload",
"payload": "carousel_boby_20240814"
}
]
}
]
}
]
},
"backup_on": "",
"backup_exp": ""
}
}
}

Use Delimeter Format

To send a message using a WhatsApp channel template in Delimeter format, there are several supported methods for sending messages with templates via the WhatsApp channel.

Template Static

This section describes the request parameters and provides JSON request examples for sending messages via the WhatsApp channel using a static template.

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
budget_codeANS (Alpha Numeric Space)NOAdditional information, maximum 180 character
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
whatsappJSON ObjectYESDescribes the message content and delivery configuration for the WhatsApp channel
messageTextNOStatic with template: This value can empty
msisdnN (Numeric), Plus (+)YESMobile phone number, with 0, 62 or +
attachmentTextNOPath Format:
https://Path/filename
Note: https protocol is a must
File Extension:
WhatsApp: jpg, png, xls, xlsx, pdf, ppt, pptx,
doc, docx, wav, mp4, txt
Max Size: 5MB/file
Separator: “;”
Sample:
https://www.domain.com/test.pdf;
https://www.domain.com/test2.pdf
template_idAN (Alpha Numeric)YESTemplate Code registered in Saneza
backup_onAN (Alpha Numeric)NOFormat: status1; status2
Mapping:
1 – Unsent
2 – Undelivered
3 – Pending
4 – Failed
9 – Delivered
Sample:
2;3
backup_expAN (Alpha Numeric)NOExpire in minutes.
Except pending, set 0.
Format: expire1; expire2
Sample:
0;10
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": "example subject",
"sender_id": "<value from sprint>",
"budget_code": "<generated by client>",
"channel": {
"whatsapp": {
"message": "",
"msisdn": "62858xxxxxxxx",
"attachment": "",
"template_id": "thankyou",
"backup_on": "",
"backup_exp": ""
}
}
}

Template Dynamic

This section describes the request parameters and provides JSON request examples for sending messages via the WhatsApp channel use Template Dynamic.

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
budget_codeANS (Alpha Numeric Space)NOAdditional information, maximum 180 character
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
whatsappJSON ObjectYESDescribes the message content and delivery configuration for the WhatsApp channel
msisdnN (Numeric), Plus (+)YESMobile phone number, with 0, 62 or +
template_idAN (Alpha Numeric)YESTemplate Code registered in Saneza
messageTextNOMessage on body
Note: This field for dynamic parameter
Format: type:=:value1
attachmentTextNOPath Format:
https://Path/filename
Note: https protocol is a must
File Extension:
WhatsApp: jpg, png, xls, xlsx, pdf, ppt, pptx,
doc, docx, wav, mp4, txt
Max Size: 5MB/file
Separator: “;”
Sample:
https://www.domain.com/test.pdf;
https://www.domain.com/test2.pdf
backup_onAN (Alpha Numeric)NOFormat: status1; status2
Mapping:
1 – Unsent
2 – Undelivered
3 – Pending
4 – Failed
9 – Delivered
Sample:
2;3
backup_expAN (Alpha Numeric)NOExpire in minutes.
Except pending, set 0.
Format: expire1; expire2
Sample:
0;10
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": "example subject",
"sender_id": "<value from sprint>",
"budget_code": "<generated by client>",
"channel": {
"whatsapp": {
"msisdn": "62858xxxxxxxx",
"template_id": "otp_layanan",
"message": "text:=:12345",
"attachment": "",
"backup_on": "",
"backup_exp": ""
}
}
}

Template Body (Dynamic) + Header (Dynamic Text)

This section describes the request parameters and provides JSON request examples for sending messages via the WhatsApp channel use Template with Body (Dynamic) + Header (Dynamic Text)

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
budget_codeANS (Alpha Numeric Space)NOAdditional information, maximum 180 character
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
whatsappJSON ObjectYESDescribes the message content and delivery configuration for the WhatsApp channel
msisdnN (Numeric), Plus (+)YESMobile phone number, with 0, 62 or +
template_idAN (Alpha Numeric)YESTemplate Code registered in Saneza
headerTextNOMessage on header
Note: This field for dynamic parameter
Format: type:=:value
Type: text, Image, video, document, location
Allowed sample extension: .jpeg, .png, 3gp, .mp4, .txt, .xls, .xlsx, .doc, .ppt
Size limit image: 2MB
Size limit video: 10MB
Size limit document: 15MB
Sample:
Text: text:=:Sprint
Doc: document:=:https://www.domain.com/test.pdf
Image : image:=:https://www.domain.com/test.jpg
messageTextNOMessage on body
Note: This field for dynamic parameter
Format: type:=:value1
attachmentTextNOPath Format:
https://Path/filename
Note: https protocol is a must
File Extension:
WhatsApp: jpg, png, xls, xlsx, pdf, ppt, pptx,
doc, docx, wav, mp4, txt
Max Size: 5MB/file
Separator: “;”
Sample:
https://www.domain.com/test.pdf;
https://www.domain.com/test2.pdf
backup_onAN (Alpha Numeric)NOFormat: status1; status2
Mapping:
1 – Unsent
2 – Undelivered
3 – Pending
4 – Failed
9 – Delivered
Sample:
2;3
backup_expAN (Alpha Numeric)NOExpire in minutes.
Except pending, set 0.
Format: expire1; expire2
Sample:
0;10
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": "example subject",
"sender_id": "<value from sprint>",
"budget_code": "<generated by client>",
"channel": {
"whatsapp": {
"msisdn": "62858xxxxxxxx",
"template_id": "thankyou_text",
"header": "text:=:Sandeza",
"message": "text:=:Sprint||text:=:Sandeza",
"attachment": "",
"backup_on": "",
"backup_exp": ""
}
}
}

Template Body (Dynamic) + Header (Dynamic Image)

This section describes the request parameters and provides JSON request examples for sending messages via the WhatsApp channel use Template with Body (Dynamic) + Header (Dynamic Image)

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
budget_codeANS (Alpha Numeric Space)NOAdditional information, maximum 180 character
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
whatsappJSON ObjectYESDescribes the message content and delivery configuration for the WhatsApp channel
msisdnN (Numeric), Plus (+)YESMobile phone number, with 0, 62 or +
template_idAN (Alpha Numeric)YESTemplate Code registered in Saneza
headerTextNOMessage on header
Note: This field for dynamic parameter
Format: type:=:value
Type: text, Image, video, document, location
Allowed sample extension: .jpeg, .png, 3gp, .mp4, .txt, .xls, .xlsx, .doc, .ppt
Size limit image: 2MB
Size limit video: 10MB
Size limit document: 15MB
Sample:
Text: text:=:Sprint
Doc: document:=:https://www.domain.com/test.pdf
Image : image:=:https://www.domain.com/test.jpg
messageTextNOMessage on body
Note: This field for dynamic parameter
Format: type:=:value1
attachmentTextNOPath Format:
https://Path/filename
Note: https protocol is a must
File Extension:
WhatsApp: jpg, png, xls, xlsx, pdf, ppt, pptx,
doc, docx, wav, mp4, txt
Max Size: 5MB/file
Separator: “;”
Sample:
https://www.domain.com/test.pdf;
https://www.domain.com/test2.pdf
backup_onAN (Alpha Numeric)NOFormat: status1; status2
Mapping:
1 – Unsent
2 – Undelivered
3 – Pending
4 – Failed
9 – Delivered
Sample:
2;3
backup_expAN (Alpha Numeric)NOExpire in minutes.
Except pending, set 0.
Format: expire1; expire2
Sample:
0;10
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": "example subject",
"sender_id": "<value from sprint>",
"budget_code": "<generated by client>",
"channel": {
"whatsapp": {
"msisdn": "62858xxxxxxxx",
"template_id": "thankyou_image",
"header": "image:=:https://media.sandeza.id/sandeza.png",
"message": "text:=:pagi||text:=:Sprint",
"attachment": "",
"backup_on": "",
"backup_exp": ""
}
}
}

Template Body (Dynamic) + Header (Dynamic Video)

This section describes the request parameters and provides JSON request examples for sending messages via the WhatsApp channel use Template with Body (Dynamic) + Header (Dynamic Video)

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
budget_codeANS (Alpha Numeric Space)NOAdditional information, maximum 180 character
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
whatsappJSON ObjectYESDescribes the message content and delivery configuration for the WhatsApp channel
msisdnN (Numeric), Plus (+)YESMobile phone number, with 0, 62 or +
template_idAN (Alpha Numeric)YESTemplate Code registered in Saneza
headerTextNOMessage on header
Note: This field for dynamic parameter
Format: type:=:value
Type: text, Image, video, document, location
Allowed sample extension: .jpeg, .png, 3gp, .mp4, .txt, .xls, .xlsx, .doc, .ppt
Size limit image: 2MB
Size limit video: 10MB
Size limit document: 15MB
Sample:
Text: text:=:Sprint
Doc: document:=:https://www.domain.com/test.pdf
Image : image:=:https://www.domain.com/test.jpg
messageTextNOMessage on body
Note: This field for dynamic parameter
Format: type:=:value1
attachmentTextNOPath Format:
https://Path/filename
Note: https protocol is a must
File Extension:
WhatsApp: jpg, png, xls, xlsx, pdf, ppt, pptx,
doc, docx, wav, mp4, txt
Max Size: 5MB/file
Separator: “;”
Sample:
https://www.domain.com/test.pdf;
https://www.domain.com/test2.pdf
backup_onAN (Alpha Numeric)NOFormat: status1; status2
Mapping:
1 – Unsent
2 – Undelivered
3 – Pending
4 – Failed
9 – Delivered
Sample:
2;3
backup_expAN (Alpha Numeric)NOExpire in minutes.
Except pending, set 0.
Format: expire1; expire2
Sample:
0;10
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": "example subject",
"sender_id": "<value from sprint>",
"budget_code": "<generated by client>",
"channel": {
"whatsapp": {
"msisdn": "62858xxxxxxxx",
"template_id": "thankyou_video",
"header": "video:=:https://media.sandeza.id/sandeza.mp4",
"message": "text:=:pagi||text:=:Sprint",
"attachment": "",
"backup_on": "",
"backup_exp": ""
}
}
}

Template Body (Dynamic) + Header (Dynamic Document)

This section describes the request parameters and provides JSON request examples for sending messages via the WhatsApp channel use Template with Body (Dynamic) + Header (Dynamic Document)

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
budget_codeANS (Alpha Numeric Space)NOAdditional information, maximum 180 character
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
whatsappJSON ObjectYESDescribes the message content and delivery configuration for the WhatsApp channel
msisdnN (Numeric), Plus (+)YESMobile phone number, with 0, 62 or +
template_idAN (Alpha Numeric)YESTemplate Code registered in Saneza
headerTextNOMessage on header
Note: This field for dynamic parameter
Format: type:=:value
Type: text, Image, video, document, location
Allowed sample extension: .jpeg, .png, 3gp, .mp4, .txt, .xls, .xlsx, .doc, .ppt
Size limit image: 2MB
Size limit video: 10MB
Size limit document: 15MB
Sample:
Text: text:=:Sprint
Doc: document:=:https://www.domain.com/test.pdf
Image : image:=:https://www.domain.com/test.jpg
messageTextNOMessage on body
Note: This field for dynamic parameter
Format: type:=:value1
attachmentTextNOPath Format:
https://Path/filename
Note: https protocol is a must
File Extension:
WhatsApp: jpg, png, xls, xlsx, pdf, ppt, pptx,
doc, docx, wav, mp4, txt
Max Size: 5MB/file
Separator: “;”
Sample:
https://www.domain.com/test.pdf;
https://www.domain.com/test2.pdf
backup_onAN (Alpha Numeric)NOFormat: status1; status2
Mapping:
1 – Unsent
2 – Undelivered
3 – Pending
4 – Failed
9 – Delivered
Sample:
2;3
backup_expAN (Alpha Numeric)NOExpire in minutes.
Except pending, set 0.
Format: expire1; expire2
Sample:
0;10
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": "example subject",
"sender_id": "<value from sprint>",
"budget_code": "<generated by client>",
"channel": {
"whatsapp": {
"msisdn": "62858xxxxxxxx ",
"template_id": "thankyou_document",
"header": "document:=:https://mdia.sandeza.id/Sandeza.pdf",
"message": "text:=:Sprint",
"attachment": "",
"backup_on": "",
"backup_exp": ""
}
}
}

Template Body (Dynamic) + Header (Dynamic Location)

This section describes the request parameters and provides JSON request examples for sending messages via the WhatsApp channel use Template with Body (Dynamic) + Header (Dynamic Location)

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
budget_codeANS (Alpha Numeric Space)NOAdditional information, maximum 180 character
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
whatsappJSON ObjectYESDescribes the message content and delivery configuration for the WhatsApp channel
msisdnN (Numeric), Plus (+)YESMobile phone number, with 0, 62 or +
template_idAN (Alpha Numeric)YESTemplate Code registered in Saneza
headerTextNOMessage on header
Note: This field for dynamic parameter
Format: type:=:value
Type: text, Image, video, document, location
Allowed sample extension: .jpeg, .png, 3gp, .mp4, .txt, .xls, .xlsx, .doc, .ppt
Size limit image: 2MB
Size limit video: 10MB
Size limit document: 15MB
Sample:
Text: text:=:Sprint
Doc: document:=:https://www.domain.com/test.pdf
Image : image:=:https://www.domain.com/test.jpg
messageTextNOMessage on body
Note: This field for dynamic parameter
Format: type:=:value1
attachmentTextNOPath Format:
https://Path/filename
Note: https protocol is a must
File Extension:
WhatsApp: jpg, png, xls, xlsx, pdf, ppt, pptx,
doc, docx, wav, mp4, txt
Max Size: 5MB/file
Separator: “;”
Sample:
https://www.domain.com/test.pdf;
https://www.domain.com/test2.pdf
backup_onAN (Alpha Numeric)NOFormat: status1; status2
Mapping:
1 – Unsent
2 – Undelivered
3 – Pending
4 – Failed
9 – Delivered
Sample:
2;3
backup_expAN (Alpha Numeric)NOExpire in minutes.
Except pending, set 0.
Format: expire1; expire2
Sample:
0;10
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": "example subject",
"sender_id": "<value from sprint>",
"budget_code": "<generated by client>",
"channel": {
"whatsapp": {
"msisdn": "62858xxxxxxxx ",
"template_id": "thankyou_location",
"header": "location:=:-6.169760416259:=:106.8274961212:=:National Monument:=:Gambir Central Jakarta City, Jakarta",
"message": "text:=:Sprint",
"attachment": "",
"backup_on": "",
"backup_exp": ""
}
}
}

Template Body (Dynamic) + Header (Dynamic Text) + Button (Dynamic URL)

This section describes the request parameters and provides JSON request examples for sending messages via the WhatsApp channel use Template with Body (Dynamic) + Header (Dynamic Document) + Button (Dynamic URL)

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
budget_codeANS (Alpha Numeric Space)NOAdditional information, maximum 180 character
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
whatsappJSON ObjectYESDescribes the message content and delivery configuration for the WhatsApp channel
msisdnN (Numeric), Plus (+)YESMobile phone number, with 0, 62 or +
template_idAN (Alpha Numeric)YESTemplate Code registered in Saneza
headerTextNOMessage on header
Note: This field for dynamic parameter
Format: type:=:value
Type: text, Image, video, document, location
Allowed sample extension: .jpeg, .png, 3gp, .mp4, .txt, .xls, .xlsx, .doc, .ppt
Size limit image: 2MB
Size limit video: 10MB
Size limit document: 15MB
Sample:
Text: text:=:Sprint
Doc: document:=:https://www.domain.com/test.pdf
Image : image:=:https://www.domain.com/test.jpg
messageTextNOMessage on body
Note: This field for dynamic parameter
Format: type:=:value1
buttonTextNOMessage on button
Note: This field for dynamic parameter
Format :
Template button otp :
button:=:url:=:value_otp
Template button visit website:
button:=:url:=:value_path_url
Type: button URL
Sample:
button:=:url:=:123456
button:=:url:=:login.html
NOTE: if the template type is authentication, then the text value of the message must match the value of 'value_otp' on the button."
attachmentTextNOPath Format:
https://Path/filename
Note: https protocol is a must
File Extension:
WhatsApp: jpg, png, xls, xlsx, pdf, ppt, pptx,
doc, docx, wav, mp4, txt
Max Size: 5MB/file
Separator: “;”
Sample:
https://www.domain.com/test.pdf;
https://www.domain.com/test2.pdf
backup_onAN (Alpha Numeric)NOFormat: status1; status2
Mapping:
1 – Unsent
2 – Undelivered
3 – Pending
4 – Failed
9 – Delivered
Sample:
2;3
backup_expAN (Alpha Numeric)NOExpire in minutes.
Except pending, set 0.
Format: expire1; expire2
Sample:
0;10
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": "example subject",
"sender_id": "<value from sprint>",
"budget_code": "<generated by client>",
"channel": {
"whatsapp": {
"msisdn": "62858xxxxxxxx ",
"template_id": "sample_document_button",
"header": "document:=:https://mdia.sandeza.id/Sandeza.pdf",
"message": "text:=:Sprint",
"button": "button:=:url:=:login.html",
"attachment": "",
"backup_on": "",
"backup_exp": ""
}
}
}

Template With Button OTP

This section describes the request parameters and provides JSON request examples for sending messages via the WhatsApp channel use Template

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
budget_codeANS (Alpha Numeric Space)NOAdditional information, maximum 180 character
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
whatsappJSON ObjectYESDescribes the message content and delivery configuration for the WhatsApp channel
msisdnN (Numeric), Plus (+)YESMobile phone number, with 0, 62 or +
template_idAN (Alpha Numeric)YESTemplate Code registered in Saneza
headerTextNOMessage on header
Note: This field for dynamic parameter
Format: type:=:value
Type: text, Image, video, document, location
Allowed sample extension: .jpeg, .png, 3gp, .mp4, .txt, .xls, .xlsx, .doc, .ppt
Size limit image: 2MB
Size limit video: 10MB
Size limit document: 15MB
Sample:
Text: text:=:Sprint
Doc: document:=:https://www.domain.com/test.pdf
Image : image:=:https://www.domain.com/test.jpg
messageTextNOMessage on body
Note: This field for dynamic parameter
Format: type:=:value1
buttonTextNOMessage on button
Note: This field for dynamic parameter
Format :
Template button otp :
button:=:url:=:value_otp
Template button visit website:
button:=:url:=:value_path_url
Type: button URL
Sample:
button:=:url:=:123456
button:=:url:=:login.html
NOTE: if the template type is authentication, then the text value of the message must match the value of 'value_otp' on the button."
attachmentTextNOPath Format:
https://Path/filename
Note: https protocol is a must
File Extension:
WhatsApp: jpg, png, xls, xlsx, pdf, ppt, pptx,
doc, docx, wav, mp4, txt
Max Size: 5MB/file
Separator: “;”
Sample:
https://www.domain.com/test.pdf;
https://www.domain.com/test2.pdf
backup_onAN (Alpha Numeric)NOFormat: status1; status2
Mapping:
1 – Unsent
2 – Undelivered
3 – Pending
4 – Failed
9 – Delivered
Sample:
2;3
backup_expAN (Alpha Numeric)NOExpire in minutes.
Except pending, set 0.
Format: expire1; expire2
Sample:
0;10
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": "example subject",
"sender_id": "<value from sprint>",
"budget_code": "<generated by client>",
"channel": {
"whatsapp": {
"msisdn": "62858xxxxxxxx ",
"template_id": "sample_template_otp",
"header": "",
"message": "text:=:123456",
"button": "button:=:url:=:123456",
"attachment": "",
"backup_on": "",
"backup_exp": ""
}
}
}

Channel WhatsApp Use Non-Template

Information

In addition to using templates, the WhatsApp channel also allows you to send messages without templates. Here are a few ways to send using the Non-Template WhatsApp channel.

WhatsApp Type Text

This section describes the request parameters and provides JSON request examples for send a text-type message via the WhatsApp channel without using a template

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
whatsappJSON ObjectYESDescribes the message content and delivery configuration for the WhatsApp channel
msisdnN (Numeric), Plus (+)YESMobile phone number, with 0, 62 or +
messageJSON ObjectYESMessage on WhatsApp
See “Description Field Message” for details
typeStringYESType of message
Example: Text, Media (Audio, Image, Video, Document), Button, List, Location
bodyJSON ObjectYESThis field is used for all message types
See “Description Field in body” for details
textStringYESText message content in body
This field used if type message is text
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": " example subject ",
"sender_id": "<value from sprint>",
"channel": {
"whatsapp": {
"msisdn": "62858xxxxxxxx ",
"message": {
"type": "text",
"body": {
"text": "testing non template"
}
}
}
}
}

WhatsApp Type Audio

This section describes the request parameters and provides JSON request examples for send an audio-type message via the WhatsApp channel without using a template

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
whatsappJSON ObjectYESDescribes the message content and delivery configuration for the WhatsApp channel
msisdnN (Numeric), Plus (+)YESMobile phone number, with 0, 62 or +
messageJSON ObjectYESMessage on WhatsApp
See “Description Field Message” for details
typeStringYESType of message
Example: Text, Media (Audio, Image, Video, Document), Button, List, Location
bodyJSON ObjectYESThis field is used for all message types
See “Description Field in body” for details
mediaJSON ObjectNOThis field used if type message is media (audio, image, video, document)
urlStringYESStorage location for media files: audio, image, video, document
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": " example subject ",
"sender_id": "<value from sprint>",
"channel": {
"whatsapp": {
"msisdn": "62858xxxxxxxx ",
"message": {
"type": "audio",
"body": {
"media": {
"url": "https://media.wekonnek.id/konnek/file_example.mp3"
}
}
}
}
}
}

WhatsApp Type Image

This section describes the request parameters and provides JSON request examples for send an image-type message via the WhatsApp channel without using a template

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
whatsappJSON ObjectYESDescribes the message content and delivery configuration for the WhatsApp channel
msisdnN (Numeric), Plus (+)YESMobile phone number, with 0, 62 or +
messageJSON ObjectYESMessage on WhatsApp
See “Description Field Message” for details
typeStringYESType of message
Example: Text, Media (Audio, Image, Video, Document), Button, List, Location
bodyJSON ObjectYESThis field is used for all message types
See “Description Field in body” for details
mediaJSON ObjectNOThis field used if type message is media (audio, image, video, document)
urlStringYESStorage location for media files: audio, image, video, document
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": " example subject ",
"sender_id": "<value from sprint>",
"channel": {
"whatsapp": {
"msisdn": "62858xxxxxxxx ",
"message": {
"type": "image",
"body": {
"media": {
"url": "https://media.sandeza.id/burung.png"
}
}
}
}
}
}

WhatsApp Type Video

This section describes the request parameters and provides JSON request examples for send a video-type message via the WhatsApp channel without using a template

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
whatsappJSON ObjectYESDescribes the message content and delivery configuration for the WhatsApp channel
msisdnN (Numeric), Plus (+)YESMobile phone number, with 0, 62 or +
messageJSON ObjectYESMessage on WhatsApp
See “Description Field Message” for details
typeStringYESType of message
Example: Text, Media (Audio, Image, Video, Document), Button, List, Location
bodyJSON ObjectYESThis field is used for all message types
See “Description Field in body” for details
mediaJSON ObjectNOThis field used if type message is media (audio, image, video, document)
urlStringYESStorage location for media files: audio, image, video, document
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": " example subject ",
"sender_id": "<value from sprint>",
"channel": {
"whatsapp": {
"msisdn": "62858xxxxxxxx ",
"message": {
"type": "video",
"body": {
"media": {
"url": "https://media.sandeza.id/TEST VIDEO.mp4"
}
}
}
}
}
}

WhatsApp Type Document

This section describes the request parameters and provides JSON request examples for send a document-type message via the WhatsApp channel without using a template

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
whatsappJSON ObjectYESDescribes the message content and delivery configuration for the WhatsApp channel
msisdnN (Numeric), Plus (+)YESMobile phone number, with 0, 62 or +
messageJSON ObjectYESMessage on WhatsApp
See “Description Field Message” for details
typeStringYESType of message
Example: Text, Media (Audio, Image, Video, Document), Button, List, Location
bodyJSON ObjectYESThis field is used for all message types
See “Description Field in body” for details
mediaJSON ObjectNOThis field used if type message is media (audio, image, video, document)
urlStringYESStorage location for media files: audio, image, video, document
nameStringNODisplay name of the media file
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": " example subject ",
"sender_id": "<value from sprint>",
"channel": {
"whatsapp": {
"msisdn": "62858xxxxxxxx ",
"message": {
"type": "document",
"body": {
"media": {
"url": "https://media.sandeza.id/testing.doc",
"name": "sandeza.doc"
}
}
}
}
}
}

This section describes the request parameters and provides JSON request examples for send a button-type with header (text), body (text) and footer (text) message via the WhatsApp channel without using a template

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
whatsappJSON ObjectYESDescribes the message content and delivery configuration for the WhatsApp channel
msisdnN (Numeric), Plus (+)YESMobile phone number, with 0, 62 or +
messageJSON ObjectYESMessage on WhatsApp
See “Description Field Message” for details
typeStringYESType of message
Example: Text, Media (Audio, Image, Video, Document), Button, List, Location
headerJSON ObjectNOThis field is used for the message type Button & List
See “Description Field in header” for details
typeStringYESType message from header
example:
· If type message is button: text, image, video, document
· If type message is list: text
textStringYESText message content in header
bodyJSON ObjectYESThis field is used for all message types
See “Description Field in body” for details
textStringYESText message content in body
This field used if type message is text
buttonArrayNOThis field used if type message is button
TypeStringYESType from button in body
keyStringYESButton ID received from the client and returned if there is a post back from the client.
titleStringYESAs a button label (name of the button to be selected).
footerJSON ObjectNOThis field is used for the message type Button & List
See “Description Field in footer” for details
textStringNOText message content in footer
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": " example subject ",
"sender_id": "<value from sprint>",
"channel": {
"whatsapp": {
"msisdn": "62858xxxxxxxx ",
"message": {
"type": "button",
"header": {
"type": "text",
"text": "HEADER"
},
"body": {
"text": "message button",
"button": [
{
"type": "postback",
"key": "button1",
"title": "Button 1"
},
{
"type": "postback",
"key": "button2",
"title": "Button 2"
},
{
"type": "postback",
"key": "button3",
"title": "Button 3"
}
]
},
"footer": {
"text": "FOOTER"
}
}
}
}
}

This section describes the request parameters and provides JSON request examples for send a button-type with header (image), body (text) and footer (text) message via the WhatsApp channel without using a template

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
whatsappJSON ObjectYESDescribes the message content and delivery configuration for the WhatsApp channel
msisdnN (Numeric), Plus (+)YESMobile phone number, with 0, 62 or +
messageJSON ObjectYESMessage on WhatsApp
See “Description Field Message” for details
typeStringYESType of message
Example: Text, Media (Audio, Image, Video, Document), Button, List, Location
headerJSON ObjectNOThis field is used for the message type Button & List
See “Description Field in header” for details
typeStringYESType message from header
example:
· If type message is button: text, image, video, document
· If type message is list: text
media_urlStringNOStorage location for media files: image or video
bodyJSON ObjectYESThis field is used for all message types
See “Description Field in body” for details
textStringYESText message content in body
This field used if type message is text
buttonArrayNOThis field used if type message is button
TypeStringYESType from button in body
keyStringYESButton ID received from the client and returned if there is a post back from the client.
titleStringYESAs a button label (name of the button to be selected).
footerJSON ObjectNOThis field is used for the message type Button & List
See “Description Field in footer” for details
textStringNOText message content in footer
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": " example subject ",
"sender_id": "<value from sprint>",
"channel": {
"whatsapp": {
"msisdn": "62858xxxxxxxx ",
"message": {
"type": "button",
"header": {
"type": "image",
"media_url": "https://media.sandeza.id/burung.png"
},
"body": {
"text": "message button",
"button": [
{
"type": "postback",
"key": "button1",
"title": "Button 1"
},
{
"type": "postback",
"key": "button2",
"title": "Button 2"
},
{
"type": "postback",
"key": "button3",
"title": "Button 3"
}
]
},
"footer": {
"text": "FOOTER"
}
}
}
}
}

This section describes the request parameters and provides JSON request examples for send a button-type with header (video), body (text) and footer (text) message via the WhatsApp channel without using a template

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
whatsappJSON ObjectYESDescribes the message content and delivery configuration for the WhatsApp channel
msisdnN (Numeric), Plus (+)YESMobile phone number, with 0, 62 or +
messageJSON ObjectYESMessage on WhatsApp
See “Description Field Message” for details
typeStringYESType of message
Example: Text, Media (Audio, Image, Video, Document), Button, List, Location
headerJSON ObjectNOThis field is used for the message type Button & List
See “Description Field in header” for details
typeStringYESType message from header
example:
· If type message is button: text, image, video, document
· If type message is list: text
media_urlStringNOStorage location for media files: image or video
bodyJSON ObjectYESThis field is used for all message types
See “Description Field in body” for details
textStringYESText message content in body
This field used if type message is text
buttonArrayNOThis field used if type message is button
TypeStringYESType from button in body
keyStringYESButton ID received from the client and returned if there is a post back from the client.
titleStringYESAs a button label (name of the button to be selected).
footerJSON ObjectNOThis field is used for the message type Button & List
See “Description Field in footer” for details
textStringNOText message content in footer
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": " example subject ",
"sender_id": "<value from sprint>",
"channel": {
"whatsapp": {
"msisdn": "62858xxxxxxxx ",
"message": {
"type": "button",
"header": {
"type": "video",
"media_url": "https://media.sandeza.id/20VIDEO.mp4"
},
"body": {
"text": "message button",
"button": [
{
"type": "postback",
"key": "button1",
"title": "Button 1"
},
{
"type": "postback",
"key": "button2",
"title": "Button 2"
},
{
"type": "postback",
"key": "button3",
"title": "Button 3"
}
]
},
"footer": {
"text": "FOOTER"
}
}
}
}
}

This section describes the request parameters and provides JSON request examples for send a button-type with header (document), body (text) and footer (text) message via the WhatsApp channel without using a template

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
whatsappJSON ObjectYESDescribes the message content and delivery configuration for the WhatsApp channel
msisdnN (Numeric), Plus (+)YESMobile phone number, with 0, 62 or +
messageJSON ObjectYESMessage on WhatsApp
See “Description Field Message” for details
typeStringYESType of message
Example: Text, Media (Audio, Image, Video, Document), Button, List, Location
headerJSON ObjectNOThis field is used for the message type Button & List
See “Description Field in header” for details
typeStringYESType message from header
example:
· If type message is button: text, image, video, document
· If type message is list: text
media_urlStringNOStorage location for media files: image or video
nameStringNODisplay name of the media file
bodyJSON ObjectYESThis field is used for all message types
See “Description Field in body” for details
textStringYESText message content in body
This field used if type message is text
buttonArrayNOThis field used if type message is button
TypeStringYESType from button in body
keyStringYESButton ID received from the client and returned if there is a post back from the client.
titleStringYESAs a button label (name of the button to be selected).
footerJSON ObjectNOThis field is used for the message type Button & List
See “Description Field in footer” for details
textStringNOText message content in footer
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": " example subject ",
"sender_id": "<value from sprint>",
"channel": {
"whatsapp": {
"msisdn": "62858xxxxxxxx ",
"message": {
"type": "button",
"header": {
"type": "document",
"media_url": "https://media.sandeza.id/Sample.pdf",
"name": "sandeza.pdf"
},
"body": {
"text": "message button",
"button": [
{
"type": "postback",
"key": "button1",
"title": "Button 1"
},
{
"type": "postback",
"key": "button2",
"title": "Button 2"
},
{
"type": "postback",
"key": "button3",
"title": "Button 3"
}
]
},
"footer": {
"text": "FOOTER"
}
}
}
}
}

This section describes the request parameters and provides JSON request examples for send a list-type with header (text), body (text) and footer (text) message via the WhatsApp channel without using a template

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
whatsappJSON ObjectYESDescribes the message content and delivery configuration for the WhatsApp channel
msisdnN (Numeric), Plus (+)YESMobile phone number, with 0, 62 or +
messageJSON ObjectYESMessage on WhatsApp
See “Description Field Message” for details
typeStringYESType of message
Example: Text, Media (Audio, Image, Video, Document), Button, List, Location
headerJSON ObjectNOThis field is used for the message type Button & List
See “Description Field in header” for details
typeStringYESType message from header
example:
· If type message is button: text, image, video, document
· If type message is list: text
textStringYESText message content in header
bodyJSON ObjectYESThis field is used for all message types
See “Description Field in body” for details
textStringYESText message content in body
This field used if type message is text
listJSON ObjectNOThis field used if type message is list
titleStringYESAs a button label (name of the button to be selected).
sectionArrayYESDetails of the section information
titleStringYESName of the section
descriptionJSON ObjectYESDescription of the section.
actionsArrayYESDetails of the action information
typeStringYESType from section list
keyStringYESlist ID received from the client and returned if there is a post back from the client.
titleStringYESName of the selected list
footerJSON ObjectNOThis field is used for the message type Button & List
See “Description Field in footer” for details
textStringNOText message content in footer
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": " example subject ",
"sender_id": "<value from sprint>",
"channel": {
"whatsapp": {
"msisdn": "62858xxxxxxxx ",
"message": {
"type": "list",
"header": {
"type": "text",
"text": "HEADER"
},
"body": {
"text": "message list",
"list": {
"title": "Title",
"sections": [
{
"title": "Section 1",
"description": "section satu desc",
"actions": [
{
"type": "postback",
"key": "action_1_1",
"title": "Action.1.1"
},
{
"type": "postback",
"key": "button_1_2",
"title": "Button.1.2"
},
{
"type": "postback",
"key": "button_1_3",
"title": "Button.1.3"
}
]
},
{
"title": "Section 2",
"description": "section dua desc",
"actions": [
{
"type": "postback",
"key": "action_2_1",
"title": "Action.2.1"
},
{
"type": "postback",
"key": "button_2_2",
"title": "Button.2.2"
},
{
"type": "postback",
"key": "button_2_3",
"title": "Button.2.3"
}
]
}
]
}
},
"footer": {
"text": "FOOTER"
}
}
}
}
}

WhatsApp Type Location

This section describes the request parameters and provides JSON request examples for send a text-type message via the WhatsApp channel without using a template

Description Parameter Request
FIELDTYPE ALLOWEDMANDATORYDESCRIPTION
signatureSHA 256 HashYESEncrypted (Username+Password+Time), time refers to time field
timeString
(Unix timestamp)
YESCurrent Request Time (Unix Timestamp)
Example: Friday, November 1, 2024, 5:47:43 PM GMT+07:00 becomes “1730458063”
typeN (Numeric)YES1 (Send Primary Backup), 2 (Single channel / Send All)
usernameAN (Alpha Numeric)YESUsername Division
ref_idAN (Alpha Numeric) (≤50)YESUnique Id generated by client (lowercase)
subjectANS (Alpha Numeric Space) (< 100)YESSending Message Subject
sender_idANS (Alpha Numeric Space)YESSender Name (provided by sprint)
channelJSON ObjectYESDescribe the channels used for sending messages
Channel: SMS, Email, Line, Telegram, Facebook, WhatsApp
whatsappJSON ObjectYESDescribes the message content and delivery configuration for the WhatsApp channel
msisdnN (Numeric), Plus (+)YESMobile phone number, with 0, 62 or +
messageJSON ObjectYESMessage on WhatsApp
See “Description Field Message” for details
typeStringYESType of message
Example: Text, Media (Audio, Image, Video, Document), Button, List, Location
bodyJSON ObjectYESThis field is used for all message types
See “Description Field in body” for details
locationJSON ObjectYESThis field used if type message is location
latitudeFloatYESType Location (coordinates point).
longitudeFloatYESType Location (coordinates point).
Sample JSON Request
{
"signature": "<encrypted SHA 256: username+password+time>",
"time": "<current timestamp (Unix Timestamp)>",
"type": "2",
"username": "<value from sprint>",
"ref_id": "<generated by client>",
"subject": " example subject ",
"sender_id": "<value from sprint>",
"channel": {
"whatsapp": {
"msisdn": "62858xxxxxxxx ",
"message": {
"type": "location",
"body": {
"location": {
"latitude": -6.34282,
"longitude": 106.75267
}
}
}
}
}
}