Pular para o conteúdo principal
POST
/
api
/
v1
/
accounts
/
{account_id}
/
conversations
/
{conversation_id}
/
messages
Criar novo mensagem
curl --request POST \
  --url https://airys.chat/api/v1/accounts/{account_id}/conversations/{conversation_id}/messages \
  --header 'Content-Type: application/json' \
  --header 'api_access_token: <api-key>' \
  --data '
{
  "content": "Hello, how can I help you?",
  "message_type": "outgoing",
  "private": false,
  "content_type": "text",
  "content_attributes": {},
  "campaign_id": 1
}
'
import requests

url = "https://airys.chat/api/v1/accounts/{account_id}/conversations/{conversation_id}/messages"

payload = {
"content": "Hello, how can I help you?",
"message_type": "outgoing",
"private": False,
"content_type": "text",
"content_attributes": {},
"campaign_id": 1
}
headers = {
"api_access_token": "<api-key>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {api_access_token: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
content: 'Hello, how can I help you?',
message_type: 'outgoing',
private: false,
content_type: 'text',
content_attributes: {},
campaign_id: 1
})
};

fetch('https://airys.chat/api/v1/accounts/{account_id}/conversations/{conversation_id}/messages', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://airys.chat/api/v1/accounts/{account_id}/conversations/{conversation_id}/messages",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'content' => 'Hello, how can I help you?',
'message_type' => 'outgoing',
'private' => false,
'content_type' => 'text',
'content_attributes' => [

],
'campaign_id' => 1
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"api_access_token: <api-key>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://airys.chat/api/v1/accounts/{account_id}/conversations/{conversation_id}/messages"

payload := strings.NewReader("{\n \"content\": \"Hello, how can I help you?\",\n \"message_type\": \"outgoing\",\n \"private\": false,\n \"content_type\": \"text\",\n \"content_attributes\": {},\n \"campaign_id\": 1\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("api_access_token", "<api-key>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://airys.chat/api/v1/accounts/{account_id}/conversations/{conversation_id}/messages")
.header("api_access_token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"content\": \"Hello, how can I help you?\",\n \"message_type\": \"outgoing\",\n \"private\": false,\n \"content_type\": \"text\",\n \"content_attributes\": {},\n \"campaign_id\": 1\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://airys.chat/api/v1/accounts/{account_id}/conversations/{conversation_id}/messages")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["api_access_token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"content\": \"Hello, how can I help you?\",\n \"message_type\": \"outgoing\",\n \"private\": false,\n \"content_type\": \"text\",\n \"content_attributes\": {},\n \"campaign_id\": 1\n}"

response = http.request(request)
puts response.read_body
{
  "id": 123,
  "content": "<string>",
  "account_id": 123,
  "inbox_id": 123,
  "conversation_id": 123,
  "created_at": 123,
  "updated_at": 123,
  "private": true,
  "source_id": "<string>",
  "content_attributes": {},
  "sender_id": 123,
  "external_source_ids": {},
  "additional_attributes": {},
  "processed_message_content": "<string>",
  "sentiment": {},
  "conversation": {},
  "attachment": {},
  "sender": {}
}
{
"description": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>",
"code": "<string>"
}
]
}
{
"description": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>",
"code": "<string>"
}
]
}

Autorizações

api_access_token
string
header
obrigatório

Este token pode ser obtido visitando a página de perfil ou por meio do console rails. Fornece acesso a endpoints com base nos níveis de permissões do usuário. Este token pode ser salvo por um sistema externo quando o usuário é criado via API, para realizar atividades em nome do usuário.

Parâmetros de caminho

account_id
integer
obrigatório

O ID numérico da conta

conversation_id
integer
obrigatório

O ID numérico da conversa

Corpo

application/json
content
string
obrigatório

O conteúdo da mensagem

Exemplo:

"Hello, how can I help you?"

message_type
enum<string>

O tipo da mensagem

Opções disponíveis:
outgoing,
incoming
Exemplo:

"outgoing"

private
boolean

Sinalizador (flag) para identificar se é uma nota privada

Exemplo:

false

content_type
enum<string>

Tipo de conteúdo da mensagem

Opções disponíveis:
text,
input_email,
cards,
input_select,
form,
article
Exemplo:

"text"

content_attributes
object

Atributos com base no tipo de conteúdo

Exemplo:
{}
campaign_id
integer

O id da campanha à qual a mensagem pertence

Exemplo:

1

template_params
object

Parâmetros de modelo do WhatsApp para envio de mensagens estruturadas

Resposta

Sucesso

id
number

O ID da mensagem

content
string

O conteúdo de texto da mensagem

account_id
number

O ID da conta

inbox_id
number

O ID da caixa de entrada

conversation_id
number

O ID da conversa

message_type
enum<integer>

O tipo da mensagem

Opções disponíveis:
0,
1,
2,
3
created_at
integer

O horário em que a mensagem foi criada

updated_at

O horário em que a mensagem foi atualizada

private
boolean

As sinalizações (flags) que mostram se a mensagem é privada ou não

status
enum<string> | null

O status da mensagem

Opções disponíveis:
sent,
delivered,
read,
failed,
null
source_id
string | null

O ID de origem da mensagem

content_type
enum<string> | null

O tipo de mensagem de modelo

Opções disponíveis:
text,
input_text,
input_textarea,
input_email,
input_select,
cards,
form,
article,
incoming_email,
input_csat,
integrations,
sticker,
voice_call,
null
content_attributes
object

Os atributos de conteúdo para cada content_type

sender_type
enum<string> | null

O tipo de remetente

Opções disponíveis:
Contact,
User,
AgentBot,
Captain::Assistant,
null
sender_id
number | null

O ID do remetente

external_source_ids
object

Os IDs de origem externa da mensagem

additional_attributes
object

Os atributos adicionais da mensagem

processed_message_content
string | null

O conteúdo da mensagem processada

sentiment
object | null

O sentimento da mensagem

conversation
object | null

O objeto da conversa

attachment
object | null

O objeto de arquivo anexado à imagem

sender
object

Objeto Usuário/Agente/AgentBot