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

https://services.otima.digital

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.

EMAIL

Single html message

Send a single email message using a custom HTML

header Parameters
authorizationrequiredstringAuthentication Token
Request Body schema: application/json
attachmentobjectFile attachment
broker_coderequiredstringYou can find your broker list here https://360.otima.digital/geral/list-fornecedor.php
customer_coderequiredstringYou can find your customer list here https://360.otima.digital/geral/list-centro-custo.php
emailrequiredstringThe destination address
htmlrequiredstringThe email body content
subjectrequiredstringThe 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
authorizationrequiredstringAuthentication Token
Request Body schema: application/json
attachmentobjectFile attachment
broker_coderequiredstringYou can find your broker list here https://360.otima.digital/geral/list-fornecedor.php
customer_coderequiredstringYou can find your customer list here https://360.otima.digital/geral/list-centro-custo.php
emailrequiredstringThe destination address
template_coderequiredstringThe body message. You can find your template list here https://360.otima.digital/geral/list-template.php
variablesArray 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"

}

WHATSAPP

Send file/document messages

Send messages with a limit 1000 per request, you can schedule every message with his own date

header Parameters
authorizationrequiredstringAuthentication Token
Request Body schema: application/json
broker_coderequiredstring
customer_coderequiredstring
messagesrequiredArray 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
authorizationrequiredstringAuthentication Token
Request Body schema: application/json
broker_coderequiredstring
customer_coderequiredstring
messagesrequiredArray of objects (HsmMessage) [ 1 .. 1000 ] items
template_coderequiredstring

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
authorizationrequiredstringAuthentication Token
Request Body schema: application/json
broker_coderequiredstring
customer_coderequiredstring
messagesrequiredArray 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
authorizationrequiredstringAuthentication 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
authorizationrequiredstringAuthentication 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
authorizationrequiredstringAuthentication Token
Request Body schema: application/json
broker_coderequiredstring
customer_coderequiredstring
datestring (Date)
documentstring (Document)can be anything: cpf, social secure number.
extra_fieldsobjectextra fields for several usages (gocheck, receptivo)
filerequiredobject (FileBase64)
textstring
whatsapprequiredstring (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
authorizationrequiredstringAuthentication Token
Request Body schema: application/json
broker_coderequiredstring
customer_coderequiredstring
datestring (Date)
documentrequiredstring (Document)can be anything: cpf, social secure number.
extra_fieldsobjectextra fields for several usages (gocheck, receptivo)
filerequiredobject (FileBase64)
template_coderequiredstring
variablesobject
whatsapprequiredstring (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
authorizationrequiredstringAuthentication Token
Request Body schema: application/json
broker_coderequiredstring
customer_coderequiredstring
datestring (Date)
documentrequiredstring (Document)can be anything: cpf, social secure number.
failed_messagestring
filerequiredobject (FileBase64)
linha_digitavelstring
template_coderequiredstring
variablesobject
whatsapprequiredstring (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
coderequiredstringCustomer Code, you can get this information at MTExpert Panel
header Parameters
authorizationrequiredstringAuthentication 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
coderequiredstringCustomer Code, you can get this information at MTExpert Panel
statusrequiredstringThe 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
authorizationrequiredstringAuthentication 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
authorizationrequiredstringAuthentication Token
Request Body schema: application/json
campaign_coderequiredstring
dataobject
destinationsrequiredArray 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
authorizationrequiredstringAuthentication Token
Request Body schema: application/json
broker_coderequiredstring
customer_coderequiredstring
messagesrequiredArray 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
authorizationrequiredstringAuthentication Token
Request Body schema: application/json
broker_coderequiredstring
customer_coderequiredstring
messagesrequiredArray 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
authorizationrequiredstringAuthentication Token
Request Body schema: application/json
broker_coderequiredstring
customer_coderequiredstring
messagesrequiredArray of objects (RCSTemplateMessage) [ 1 .. 1000 ] items
template_coderequiredstring

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
authorizationrequiredstringAuthentication Token
Request Body schema: application/json
broker_coderequiredstring
customer_coderequiredstring
messagesrequiredArray 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
authorizationrequiredstringAuthentication 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
authorizationrequiredstringAuthentication 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
authorizationrequiredstringAuthentication Token
Request Body schema: application/json
broker_coderequiredstring
customer_coderequiredstring
messagerequiredobject (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_coderequiredstringCustomer Code, you can get this information at 360.otima.digital panel
header Parameters
authorizationrequiredstringAuthentication 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_coderequiredstringThe status code of the desired Finish status. To get the status code list access: https://360.otima.digital/receptivo/list-status.php
protocol_idrequiredstringThe chat protocol id.
header Parameters
authorizationrequiredstringAuthentication 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