V1 - Send Message
Send and receive messages, to single contacts per request, on channels connected to CosmoBots
This document is intended to be used for developers using CosmoBots API to send and receive messages, to single contacts per request, on channels connected to CosmoBots.
To send messages to registered channels we are considering you already have connected the channel to your Bot on CosmoBots.
Endpoint
Authentication
Every request needs to have these two parameters on the header. You may retrieve both on the Integration section of the platform. Follow these steps:
Login into the platform
Choose the Bot
On the left sidebar menu, choose Integrations, then API
Choose the Send Message API
Click on Enable API
Now you can copy both token and channelId to use on the requests
Header
Type
Description
token
String
Required. Token exclusive to the Bot, to be used on this API.
channel_id
String
Required. ID of the Channel that will receive the messages
Sending Message
Here are the body fields used during this request. The format is JSON.
Field
Type
Description
destination
String
Required.
Destination that the message will go.
bot
contact
desk
If bot: it will send to the bot and reply through the webhook if sync or on the same request through a response if async).
If contact: it will send to the contact. And any reply back from the contact will be handled through the webhook.
Contact Object
Object
Field
Type
Description
id
String
Required. ID of the Contact on CosmoBots. If it is a new contact then just inform "new_contact"
external_id
String
ID of the Contact on any external Database
first_name
String
First Name of the Contact
last_name
String
Last Name of the Contact
mobile_phone
String
Mobile Phone of the Contact. It is required when using these channels: WhatsApp, rcs, apple. It needs to provide the number with complete format, including country code.
Ex.: 5511999999999
custom
Object (Key/Value)
Custom fields about the contact profile
Session Object
Field
Type
Description
id
String
Required. ID of the Session
control
String
It shows who controls the conversation.
The options are:
Bot
Human
desk
Object
Provide the desk platform that is being used by the human agent
context
Object
Information about the context of the conversation
Desk Object
Object
Field
Type
Description
broker
String
Required. Provider of the Desk platform
agent
Object < String >
Information about the person handling the conversation
id
name
email
group
Message Array [Object]
Array [Object]
Field
Type
Description
data
Object
Required. Data related to the message
type
String
Types of Message.
Options are:
text
buttons
cards
media
payload
Message > Data (If Type is Text)
Field
Type
Description
text
String
Text of the message
Message > Data (If Type is Buttons)
Field
Type
Description
title
String
Required. Text of the Button (Caption)
type
String
Required. Type of Button, having the value related to the field payload.
Options are:
text
url
payload
value
String
Required. Data related to the payload when the button is clicked
Message > Data (If Type is Cards)
Field
Type
Description
title
String
Required. Title of the Card
subtitle
String
Subtitle of the Card
image_url
String
Image Url of the Card
buttons
Array [ Object ]
List of Buttons
Message > Data (If Type is Media)
Field
Type
Description
type
String
Required. Type of media.
Options are:
image
audio
video
document
url
String
Required. Url of the Media
name
String
Name of the Media (Caption)
mime_type
String
The media type standard
Response Sync
Field
Type
Description
status
String
Status of the Message
sent
error
contact_id
String
ID of the Contact
session_id
String
ID of the Session of the ongoing conversation
message_ids
Array [String]
Array with the ID's of the messages sent
Response Async
Field
Type
Description
id
String
ID confirmation of message queued
Examples Of Request
Sending Text Destination: Contact
Destination: Contact
Sending Text With Buttons Destination: Contact
Destination: Contact
Sending Media Destination: Contact
Destination: Contact
Receiving Message
To receive messages coming from CosmoBots, you have to register your endpoint on our webhook. You may find the webhook setup on the Channels section of the platform. Follow these steps:
Login into the CosmoBots platform
Choose the Bot
On the left sidebar menu, choose Channel, then the specific channel you are using
On the Webhook Url field, include the endpoint that will receive the requests
The Body fields are the same as the fields from the Body of the Sending Message request above.
Last updated