Introduction
This is the Baldussi public Api.
Here you will find methods to send messages from all of our available channels (Whatsapp, Email, RCS, Weblink)
Base Url
All requests use this url as prefix
e.g: curl -X POST https://services.otima.digital/v1/weblink/link
Authentication
All requests use the Authorization value in the header
Header e.g: Authorization: your-token-value-here
Postman
We created a Postman Collection to help you get started. Please export or fork the collection to your own Postman workspace so you can execute the api call.
Single html message
Send a single email message using a custom HTML
header Parameters
authorizationrequired | stringAuthentication Token |
Request Body schema: application/json
attachment | objectFile attachment |
broker_coderequired | stringYou can find your broker list here https://360.otima.digital/geral/list-fornecedor.php |
customer_coderequired | stringYou can find your customer list here https://360.otima.digital/geral/list-centro-custo.php |
emailrequired | stringThe destination address |
htmlrequired | stringThe email body content |
subjectrequired | stringThe email subject |
Responses
200
Success Request400
Missing values from body, invalid email address or invalid base64 attachment401
Authorization failed.404
Not found values, like customer code or broker code500
Internal server error, please report the error message to us.post/v1/email/message/html
Request samples
- Payload
Content type
application/json
CopyExpand allCollapse all
{
"attachment":
{"data": "string","mime": "string","name": "string"},
"broker_code": "string",
"customer_code": "string",
"email": "string",
"html": "string",
"subject": "string"
}
Response samples
- 200
- 400
- 401
- 404
Content type
application/json
CopyExpand allCollapse all
{
"message_id": "string"
}
Single template message
Send a single email message using Template
header Parameters
authorizationrequired | stringAuthentication Token |
Request Body schema: application/json
attachment | objectFile attachment |
broker_coderequired | stringYou can find your broker list here https://360.otima.digital/geral/list-fornecedor.php |
customer_coderequired | stringYou can find your customer list here https://360.otima.digital/geral/list-centro-custo.php |
emailrequired | stringThe destination address |
template_coderequired | stringThe body message. You can find your template list here https://360.otima.digital/geral/list-template.php |
variables | Array of objectsused to replace the template variables |
Responses
200
Success Request400
Missing values from body, invalid email address or invalid base64 attachment401
Authorization failed.404
Not found values, like customer code or broker code500
Internal server error, please report the error message to us.post/v1/email/message/template
Request samples
- Payload
Content type
application/json
CopyExpand allCollapse all
{
"attachment":
{"data": "string","mime": "string","name": "string"},
"broker_code": "string",
"customer_code": "string",
"email": "string",
"template_code": "string",
"variables":
[{}]
}
Response samples
- 200
- 400
- 401
- 404
Content type
application/json
CopyExpand allCollapse all
{
"message_id": "string"
}
Send file/document messages
Send messages with a limit 1000 per request, you can schedule every message with his own date
header Parameters
authorizationrequired | stringAuthentication Token |
Request Body schema: application/json
broker_coderequired | string |
customer_coderequired | string |
messagesrequired | Array of objects (DocumentMessage) [ 1 .. 1000 ] items |
Responses
200
Success Request401
Authorization failed.post/v1/whatsapp/bulk/message/document
Request samples
- Payload
Content type
application/json
CopyExpand allCollapse all
{
"broker_code": "string",
"customer_code": "string",
"messages":
[{}]
}
Response samples
- 200
Content type
application/json
CopyExpand allCollapse all
[
{"document": "ABC12345","message_id": "ff61f428-e1d0-41de-9038-9b425bb93f3d","phone": "5541999999999","status": "V","status_description": "Valid"}
]
Send hsm messages
Send messages with a limit 1000 per request, you can schedule every message with his own date and also send the callback url to receive messages and status.
header Parameters
authorizationrequired | stringAuthentication Token |
Request Body schema: application/json
broker_coderequired | string |
customer_coderequired | string |
messagesrequired | Array of objects (HsmMessage) [ 1 .. 1000 ] items |
template_coderequired | string |
Responses
200
Success Request401
Authorization failed.post/v1/whatsapp/bulk/message/hsm
Request samples
- Payload
Content type
application/json
CopyExpand allCollapse all
{
"broker_code": "string",
"customer_code": "string",
"messages":
[{}],
"template_code": "string"
}
Response samples
- 200
Content type
application/json
CopyExpand allCollapse all
[
{"document": "ABC12345","message_id": "ff61f428-e1d0-41de-9038-9b425bb93f3d","phone": "5541999999999","status": "V","status_description": "Valid"}
]
Send text messages
Send messages with a limit 1000 per request, you can schedule every message with his own date
header Parameters
authorizationrequired | stringAuthentication Token |
Request Body schema: application/json
broker_coderequired | string |
customer_coderequired | string |
messagesrequired | Array of objects (TextMessage) [ 1 .. 1000 ] items |
Responses
200
Success Request401
Authorization failed.post/v1/whatsapp/bulk/message/text
Request samples
- Payload
Content type
application/json
CopyExpand allCollapse all
{
"broker_code": "string",
"customer_code": "string",
"messages":
[{}]
}
Response samples
- 200
Content type
application/json
CopyExpand allCollapse all
[
{"document": "ABC12345","message_id": "ff61f428-e1d0-41de-9038-9b425bb93f3d","phone": "5541999999999","status": "V","status_description": "Valid"}
]
List Whatsapp credentials
Retrieve a list of all Whatsapp credentials.
header Parameters
authorizationrequired | stringAuthentication Token |
Responses
200
Success Request401
Authorization failed.get/v1/whatsapp/credential
Response samples
- 200
Content type
application/json
CopyExpand allCollapse all
[
{"code": "string","credential": "string","customer": "string","daily_message_limit": "string","direction": "string","monthly_message_limit": "string","name": "string","sender": "string","technology": "string"}
]
List Whatsapp customers
Retrieve a list of all allowed Whatsapp customers.
header Parameters
authorizationrequired | stringAuthentication Token |
Responses
200
Success Request401
Authorization failed.get/v1/whatsapp/customer
Response samples
- 200
Content type
application/json
CopyExpand allCollapse all
[
{"callbacks": { },"code": "string","name": "string"}
]
Send a single Document message with base64 file
this method allows to send a Document template message using a file in base64 format
header Parameters
authorizationrequired | stringAuthentication Token |
Request Body schema: application/json
broker_coderequired | string |
customer_coderequired | string |
date | string (Date) |
document | string (Document)can be anything: cpf, social secure number. |
extra_fields | objectextra fields for several usages (gocheck, receptivo) |
filerequired | object (FileBase64) |
text | string |
whatsapprequired | string (Whatsapp) |
Responses
200
Success Request401
Authorization failed.post/v1/whatsapp/message/document/file/base64
Request samples
- Payload
Content type
application/json
CopyExpand allCollapse all
{
"broker_code": "string",
"customer_code": "string",
"date": "2025-06-12 08:30:15",
"document": "ABC12345",
"extra_fields":
{"cpf_cnpj": "12345678901"},
"file":
{"base64_data": "string","mime_type": "application/pdf","name": "file.pdf"},
"text": "string",
"whatsapp": "5541999999999"
}
Response samples
- 200
Content type
application/json
CopyExpand allCollapse all
[
{"document": "ABC12345","message_id": "ff61f428-e1d0-41de-9038-9b425bb93f3d","phone": "5541999999999","status": "V","status_description": "Valid"}
]
Send a single HSM message
this method allows to send a HSM template message using a file in base64 format
header Parameters
authorizationrequired | stringAuthentication Token |
Request Body schema: application/json
broker_coderequired | string |
customer_coderequired | string |
date | string (Date) |
documentrequired | string (Document)can be anything: cpf, social secure number. |
extra_fields | objectextra fields for several usages (gocheck, receptivo) |
filerequired | object (FileBase64) |
template_coderequired | string |
variables | object |
whatsapprequired | string (Whatsapp) |
Responses
200
Success Request401
Authorization failed.post/v1/whatsapp/message/hsm/file/base64
Request samples
- Payload
Content type
application/json
CopyExpand allCollapse all
{
"broker_code": "string",
"customer_code": "string",
"date": "2025-06-12 08:30:15",
"document": "ABC12345",
"extra_fields":
{"cpf_cnpj": "12345678901"},
"file":
{"base64_data": "string","mime_type": "application/pdf","name": "file.pdf"},
"template_code": "string",
"variables":
{"-var1-": "name","-var2-": "document","-varN-": "N"},
"whatsapp": "5541999999999"
}
Response samples
- 200
Content type
application/json
CopyExpand allCollapse all
[
{"document": "ABC12345","message_id": "ff61f428-e1d0-41de-9038-9b425bb93f3d","phone": "5541999999999","status": "V","status_description": "Valid"}
]
Send mailman hsm message
Send a HSM message with some content to be validate after the receiver interact with the first message.
header Parameters
authorizationrequired | stringAuthentication Token |
Request Body schema: application/json
broker_coderequired | string |
customer_coderequired | string |
date | string (Date) |
documentrequired | string (Document)can be anything: cpf, social secure number. |
failed_message | string |
filerequired | object (FileBase64) |
linha_digitavel | string |
template_coderequired | string |
variables | object |
whatsapprequired | string (Whatsapp) |
Responses
200
Success Request401
Authorization failed.post/v1/whatsapp/message/mailman/hsm
Request samples
- Payload
Content type
application/json
CopyExpand allCollapse all
{
"broker_code": "string",
"customer_code": "string",
"date": "2025-06-12 08:30:15",
"document": "ABC12345",
"failed_message": "string",
"file":
{"base64_data": "string","mime_type": "application/pdf","name": "file.pdf"},
"linha_digitavel": "string",
"template_code": "string",
"variables":
{"-var1-": "name","-var2-": "document","-varN-": "N"},
"whatsapp": "5541999999999"
}
Response samples
- 200
Content type
application/json
CopyExpand allCollapse all
[
{"document": "ABC12345","message_id": "ff61f428-e1d0-41de-9038-9b425bb93f3d","phone": "5541999999999","status": "V","status_description": "Valid"}
]
List HSM templates
The possible values for the status are:
'X' = Aguardando aprovação,
'A' = Ativo,
'R' = Reprovado,
'I' = Inativo,
'P' = Pendente aprovação fornecedor,
'E' = Erro cadastro template
path Parameters
coderequired | stringCustomer Code, you can get this information at MTExpert Panel |
header Parameters
authorizationrequired | stringAuthentication Token |
Responses
200
Success Request401
Authorization failed.get/v1/whatsapp/template/hsm/{customer_code}
Response samples
- 200
Content type
application/json
CopyExpand allCollapse all
[
{"accounts": [ ],"button_sample": [ ],"category": "string","content": "string","created_date": "2025-06-12 08:30:15","status": "X","status_description": "string","template_code": "string","updated_date": "2025-06-12 08:30:15","variable_sample": { }}
]
List HSM templates by status
path Parameters
coderequired | stringCustomer Code, you can get this information at MTExpert Panel |
statusrequired | stringThe possible values for the status are: 'X' = Aguardando aprovação, 'A' = Ativo, 'R' = Reprovado, 'I' = Inativo, 'P' = Pendente aprovação fornecedor, 'E' = Erro cadastro template |
header Parameters
authorizationrequired | stringAuthentication Token |
Responses
200
Success Request401
Authorization failed.get/v1/whatsapp/template/hsm/{customer_code}/{status}
Response samples
- 200
Content type
application/json
CopyExpand allCollapse all
[
{"accounts": [ ],"button_sample": [ ],"category": "string","content": "string","created_date": "2025-06-12 08:30:15","status": "X","status_description": "string","template_code": "string","updated_date": "2025-06-12 08:30:15","variable_sample": { }}
]
WEBLINK
Create messages with Links
After creating a campaign at Weblink Campaign Page, you can send messages using this method
header Parameters
authorizationrequired | stringAuthentication Token |
Request Body schema: application/json
campaign_coderequired | string |
data | object |
destinationsrequired | Array of objects (Destination) [ 1 .. 10 ] items |
Responses
200
Success Request401
Authorization failed.403
Missing values (campaign code, destinations, data, variable) or invalid recipient404
Campaign not found.post/v1/weblink/link
Request samples
- Payload
Content type
application/json
CopyExpand allCollapse all
{
"campaign_code": "string",
"data": { },
"destinations":
[{}]
}
RCS
Send custom message
Send messages with a limit 1000 per request using a pre-build agent with a flow, you can schedule every message with his own date
header Parameters
authorizationrequired | stringAuthentication Token |
Request Body schema: application/json
broker_coderequired | string |
customer_coderequired | string |
messagesrequired | Array of objects (RCSCustomMessage) [ 1 .. 100 ] items |
Responses
200
Success Request401
Authorization failed.404
Customer not found.post/v1/rcs/bulk/message/custom
Request samples
- Payload
Content type
application/json
CopyExpand allCollapse all
{
"broker_code": "string",
"customer_code": "string",
"messages":
[{},{},{},{}]
}
Response samples
- 200
Content type
application/json
CopyExpand allCollapse all
[
{"document": "ABC12345","message_id": "ff61f428-e1d0-41de-9038-9b425bb93f3d","phone": "5541999999999","status": "V","status_description": "Valid"}
]
Send file/document messages
Send messages with a limit 1000 per request, you can schedule every message with his own date
header Parameters
authorizationrequired | stringAuthentication Token |
Request Body schema: application/json
broker_coderequired | string |
customer_coderequired | string |
messagesrequired | Array of objects (RCSDocumentMessage) [ 1 .. 1000 ] items |
Responses
200
Success Request401
Authorization failed.post/v1/rcs/bulk/message/document
Request samples
- Payload
Content type
application/json
CopyExpand allCollapse all
{
"broker_code": "string",
"customer_code": "string",
"messages":
[{}]
}
Response samples
- 200
Content type
application/json
CopyExpand allCollapse all
[
{"document": "ABC12345","message_id": "ff61f428-e1d0-41de-9038-9b425bb93f3d","phone": "5541999999999","status": "V","status_description": "Valid"}
]
Send messages with a template
Send messages with a limit 1000 per request using a pre-build template, you can schedule every message with his own date and also send the callback url to receive messages and status.
header Parameters
authorizationrequired | stringAuthentication Token |
Request Body schema: application/json
broker_coderequired | string |
customer_coderequired | string |
messagesrequired | Array of objects (RCSTemplateMessage) [ 1 .. 1000 ] items |
template_coderequired | string |
Responses
200
Success Request401
Authorization failed.404
Template or customer not found.post/v1/rcs/bulk/message/template
Request samples
- Payload
Content type
application/json
CopyExpand allCollapse all
{
"broker_code": "string",
"customer_code": "string",
"messages":
[{}],
"template_code": "string"
}
Response samples
- 200
Content type
application/json
CopyExpand allCollapse all
[
{"document": "ABC12345","message_id": "ff61f428-e1d0-41de-9038-9b425bb93f3d","phone": "5541999999999","status": "V","status_description": "Valid"}
]
Send text messages
Send messages with a limit 1000 per request, you can schedule every message with his own date
header Parameters
authorizationrequired | stringAuthentication Token |
Request Body schema: application/json
broker_coderequired | string |
customer_coderequired | string |
messagesrequired | Array of objects (RCSTextMessage) [ 1 .. 1000 ] items |
Responses
200
Success Request401
Authorization failed.post/v1/rcs/bulk/message/text
Request samples
- Payload
Content type
application/json
CopyExpand allCollapse all
{
"broker_code": "string",
"customer_code": "string",
"messages":
[{}]
}
Response samples
- 200
Content type
application/json
CopyExpand allCollapse all
[
{"document": "ABC12345","message_id": "ff61f428-e1d0-41de-9038-9b425bb93f3d","phone": "5541999999999","status": "V","status_description": "Valid"}
]
List RCS credentials
Retrieve a list of all RCS credentials.
header Parameters
authorizationrequired | stringAuthentication Token |
Responses
200
Success Request401
Authorization failed.get/v1/rcs/credential
Response samples
- 200
Content type
application/json
CopyExpand allCollapse all
[
{"code": "string","credential": "string","customer": "string","daily_message_limit": "string","direction": "string","monthly_message_limit": "string","name": "string","sender": "string","technology": "string"}
]
List RCS customers
Retrieve a list of all allowed RCS customers.
header Parameters
authorizationrequired | stringAuthentication Token |
Responses
200
Success Request401
Authorization failed.get/v1/rcs/customer
Response samples
- 200
Content type
application/json
CopyExpand allCollapse all
[
{"callbacks": { },"code": "string","name": "string"}
]
Send single document message with base64 file
header Parameters
authorizationrequired | stringAuthentication Token |
Request Body schema: application/json
broker_coderequired | string |
customer_coderequired | string |
messagerequired | object (RCSDocumentMessageBase64File) |
Responses
200
Success Request401
Authorization failed.post/v1/rcs/message/document/file/base64
Request samples
- Payload
Content type
application/json
CopyExpand allCollapse all
{
"broker_code": "string",
"customer_code": "string",
"message":
{"date": "2025-06-12 08:30:15","document": "ABC12345","extra_fields": { },"fallback": {},"file": {},"phone": "5541999999999","url_callback_mo": "string","url_callback_status": "string"}
}
Response samples
- 200
Content type
application/json
CopyExpand allCollapse all
[
{"document": "ABC12345","message_id": "ff61f428-e1d0-41de-9038-9b425bb93f3d","phone": "5541999999999","status": "V","status_description": "Valid"}
]
List RCS templates
Retrieve a list of all RCS templates for the given customer.
path Parameters
customer_coderequired | stringCustomer Code, you can get this information at 360.otima.digital panel |
header Parameters
authorizationrequired | stringAuthentication Token |
Responses
200
Success Request401
Authorization failed.get/v1/rcs/template/{customer_code}
Response samples
- 200
Content type
application/json
CopyExpand allCollapse all
[
{"code": "string","media_content": {},"media_type": "RICHCARD","suggestions": {},"text": "string"}
]
RECEPTIVO
Finish a open chat
Finish a chat using a custom status.
path Parameters
status_coderequired | stringThe status code of the desired Finish status. To get the status code list access: https://360.otima.digital/receptivo/list-status.php |
protocol_idrequired | stringThe chat protocol id. |
header Parameters
authorizationrequired | stringAuthentication Token |
Responses
200
Success Request401
Authorization failed.404
Invalid status_code406
Closed chat or invalid protocol idput/v1/receptive/chat/{protocol_id}/{status_code}
Response samples
- 200
Content type
application/json
CopyExpand allCollapse all
{
"message": "protocol_id: 00000000000000000 conclude."
}
CALLBACK
RCS File callback example
payload examples of how you will receive callbacks at the url provided when sending messages. this endpoint is not valid, this section just exemplifies the callback format
Responses
200
Success Requestpost/rcs/file/example
Response samples
- 200
Content type
application/json
CopyExpand allCollapse all
[
{"broker_code": "CODE123","custumer_code": "CUSTOMER_CODE","date": "2023-06-16 09:43:04","document": "12345678901","message_id": "30c376cb-8c34-4f56-92bf-fbdfa9a45ad8","payload": {},"phone": "5541999999999","type": "message","username": "Contact name"}
]
RCS Status callback example
payload examples of how you will receive callbacks at the url provided when sending messages. this endpoint is not valid, this section just exemplifies the callback format
Responses
200
Success Requestpost/rcs/status/example
Response samples
- 200
Content type
application/json
CopyExpand allCollapse all
[
{"broker_code": "CODE123","custumer_code": "CUSTOMER_CODE","date": "2023-06-16 09:43:04","description": "string","document": "12345678901","message_id": "30c376cb-8c34-4f56-92bf-fbdfa9a45ad8","phone": "5541999999999","status": "não entregue","type": "status"}
]
RCS Text callback example
payload examples of how you will receive callbacks at the url provided when sending messages. this endpoint is not valid, this section just exemplifies the callback format
Responses
200
Success Requestpost/rcs/text/example
Response samples
- 200
Content type
application/json
CopyExpand allCollapse all
[
{"broker_code": "CODE123","custumer_code": "CUSTOMER_CODE","date": "2023-06-16 09:43:04","document": "12345678901","message_id": "30c376cb-8c34-4f56-92bf-fbdfa9a45ad8","payload": {},"phone": "5541999999999","type": "message"}
]
Whatsapp File callback example
payload examples of how you will receive callbacks at the url provided when sending messages. this endpoint is not valid, this section just exemplifies the callback format
Responses
200
Success Requestpost/whatsapp/file/example
Response samples
- 200
Content type
application/json
CopyExpand allCollapse all
[
{"broker_code": "CODE123","custumer_code": "CUSTOMER_CODE","date": "2023-06-16 09:43:04","document": "12345678901","message_id": "30c376cb-8c34-4f56-92bf-fbdfa9a45ad8","payload": {},"phone": "5541999999999","type": "message","username": "Contact name"}
]
Whatsapp Status callback example
payload examples of how you will receive callbacks at the url provided when sending messages. this endpoint is not valid, this section just exemplifies the callback format
Responses
200
Success Requestpost/whatsapp/status/example
Response samples
- 200
Content type
application/json
CopyExpand allCollapse all
[
{"broker_code": "CODE123","custumer_code": "CUSTOMER_CODE","date": "2023-06-16 09:43:04","description": "string","document": "12345678901","message_id": "30c376cb-8c34-4f56-92bf-fbdfa9a45ad8","phone": "5541999999999","status": "não entregue","type": "status"}
]
Whatsapp Text callback example
payload examples of how you will receive callbacks at the url provided when sending messages. this endpoint is not valid, this section just exemplifies the callback format
Responses
200
Success Request