GETTING STARTED - MENU
Créditos e Limites
Personalização
Componentes Status Page
Inbox

Atlas API

API de Grupos WhatsApp

Esta documentação prove as informações necessárias para a integração com a plataforma do Wavy Messaging para realizar o gerenciamento de grupos através da integração Wavy WhatsApp Integration. A API possui integração REST, utilizando o protocolo HTTP com TLS, suportando o método POST com os parâmetros enviados em formato JSON.

Autenticação

Para utilizar com sucesso a nossa API, é preciso apresentar um username válido, ou email, associado com um token de autenticação. É necessário adicionar os seguintes headers a requisição:

Campo

Detalhes

Data Type

userName

Nome ou email válido para autenticação no Wavy Messaging.

String

authenticationToken

Token de autenticação gerado por nossa plataforma. Encontre aqui ou consulte nosso suporte. here

String

Detalhes de conexão

Hostname

api-messaging.wavy.global

Porta

443 (https)

Protocolo

HTTPS (TLS encryption)

Autenticação

username + token

Encoding

UTF-8

Envio de Mensagens para Grupos

Ao enviar mensagens para grupos, a requisição é similar a de mensagens diretas. Apenas o objeto Destino precisa ser adaptado.

POST https://api-messaging.wavy.global/v1/whatsapp/send

O corpo da requisição deve conter os mesmos campos de Envio de Mensagens De Texto.

Exemplo de envio a grupo

{
"destinations": [{
"destination": "5519900000000-1513616971",
"recipientType": "group"
}],
"message": {
"messageText": "Mensagem de teste"
}
}

MO de Grupos

MOs de grupos contém os mesmos campos de MOs regulares com a adição de waGroupId indicando a qual grupo a mensagem foi enviada, como mostrado no exemplo.

Tenha cuidado caso esteja respondendo automaticamente a mensagens diretas enviadas a sua conta WhatsApp. Caso o campo waGroupIdseja ignorado, o MO pode ser confundido com uma mensagem direta em vez de uma mensagem em grupo, e você responderá com uma mensagem direta. Dessa forma, você corre o risco de ser cobrado por um HSM toda vez que o usuário lhe enviar uma mensagem em grupo caso o campo waGroupId não seja tratado corretamente.

Exemplo de mensagem e grupo:

{
"total": 1,
"data": [
{
"source": "5419900000000",
"origin": "5419900000000",
"...",
"message": {
"type": "TEXT",
"messageText": "Olá",
"waGroupId": "5519900000000-1553784379"
},
"..."
}
]
}

Criação de Grupos

Crie um grupo provendo um assunto ou título para o grupo, o qual é o nome que aparecerá na lista de chats. Em resposta, você receberá um ID de grupo que usará para enviar mensagens para o grupo, gerenciar o grupo, etc.

Grupos Não Utilizados: Se você tem vários grupos não utilizados associados a sua conta, você pode encontrar um erro (devido a muitos grupos criados). Você pode simplesmente limpar os grupos que você não está mais usando saindo deles.

Requisição

Exemplo

{
"subject": "assunto-do-grupo"
}

POST https://api-messaging.wavy.global/v1/whatsapp/groups

O corpo da requisição deve conter um objeto JSON com os seguintes campos:

Campo

Obrigatório

Detalhes

Tipo

subject

Sim

Assunto ou título do grupo, limitado a 25 caracteres

String

Resposta

Exemplo de resposta

{
"groups": [{
"creation_time": 1513616971,
"id": "5519900000000-1513616971"
}]
}

A resposta à requisição para criar um grupo retorna um ID de grupo que voce usará para enviar mensagens para o grupo, gerenciar o grupo, etc. Se você precisa obter o ID de grupo em outro momento, veja a seção Consulta de Todos os Grupos.

Os seguintes campos são retornados em uma resposta bem-sucedida:

Campo

Detalhes

Tipo

creation_time

Hora de criação

Integer

id

Identificador de grupo para o grupo recém-criado. Deve ser usado para identificar unicamente grupos em requisições subsequentes, onde group_id é usado.

String

Consulta de Todos os Grupos

Recupere todos os grupos em que o cliente é um participante.

Requisição

GET https://api-messaging.wavy.global/v1/whatsapp/groups

Resposta

Exemplo de resposta

{
"groups": [{
"id": "5519900000000-1513616971"
}]
}

A resposta retorna os IDs de grupo de todos os grupos em que o cliente é um participante. Você pode obter mais informações sobre o grupo, como a lista de participantes e o assunto do grupo, usando a chamada descrita na seção Consulta a Informaçôes de Grupo.

Os seguintes campos são retornados em uma resposta bem-sucedida. Se nenhum grupo existir, um array JSON de grupos vazio é retornado.

Campo

Detalhes

Tipo

id

Lista dos grupos que o cliente participa

String

Consulta a Informações de Grupo

Use esta chamada para obter informações sobre o grupo, incluindo o ID dos participantes, e o assunto do grupo. Esta chamada não retornará o ícone do grupo. Para obter o ícone do grupo, veja a seção Consulta a Ícone de Grupo.

Requisição

GET https://api-messaging.wavy.global/v1/whatsapp/groups/your-group-id

Resposta

Exemplo de resposta

{
"groups": [{
"admins": [
"5519900000000"
],
"creation_time": 1513616971,
"creator": "5519900000000",
"id": "5519900000000-1513616971",
"participants": [
"5519900000000"
],
"subject": "assunto-do-grupo"
}]
}

Os seguintes campos são retornados em uma resposta bem-sucedida:

Campo

Detalhes

Tipo

admins

Administradores do grupo. Lista os IDs do criador do grupo e de quaisquer administradores adicionados como descrito na seção Adição de Administradores.

String[]

creation_time

Hora de criação do grupo

Int

creator

ID do criador do grupo

String

id

ID do grupo

String

participants

Participantes do grupo. É um array com todos os IDs dos participantes no grupo. Inicialmente, será apenas o criador do grupo. Convide usuários para o grupo criando um link de convite, como descrito na seção Criação de Link de Convite de Grupo.

String[]

subject

Assunto do grupo

String

Atualização de Informações de Grupo

Atualizar a informação é definir um novo assunto do grupo.

Requisição

Exemplo

{
"subject": "novo-assunto-do-grupo"
}

PUT https://api-messaging.wavy.global/v1/whatsapp/groups/your-group-id

O corpo da requisição deve conter um objeto JSON com os seguintes campos:

Campo

Obrigatório

Detalhes

Tipo

subject

Sim

Atualize o assunto do grupo para este valor, limitado a 25 caracteres

String

Resposta

Uma resposta bem-sucedida retornará status 200 OK e null ou {}. Caso o grupo não seja encontrado, a resposta será 404 Not Found.

Você não pode adicionar participantes diretamente ao grupo. Participantes podem apenas serem convidados para o grupo. Crie um link que participantes possam usar para se unir ao grupo.

Requisição

GET https://api-messaging.wavy.global/v1/whatsapp/groups/your-group-id/invite

Resposta

Exemplo de resposta

{
"groups": [{
"link": "link-de-convite-de-grupo"
}]
}

Os seguintes campos são retornados em uma resposta bem-sucedida:

Campo

Detalhes

Tipo

link

O link para o convite do grupo

String

Quando você tiver o link para convidar participantes para o grupo, envie o link em uma mensagem de texto. Quando o usuário clicar na mensagem, ele será convidado para o grupo.

Requisição

DELETE https://api-messaging.wavy.global/v1/whatsapp/groups/your-group-id/invite

Resposta

Uma resposta bem-sucedida retornará status 200 OK e null ou {}.

Remoção de Membros de Grupo

Requisição

Exemplo

{
"waIds": [
"5519900000000",
"5519900000000"
]
}

DELETE https://api-messaging.wavy.global/v1/whatsapp/groups/your-group-id/participants

O body da requisição deve conter um objeto JSON com os seguintes campos:

Campo

Obrigatório

Detalhes

Tipo

waIds

Sim

Números dos participantes a serem removidos do grupo

String[]

Resposta

Uma resposta bem-sucedida retornará status 200 OK e null ou {}. Caso o número de telefone não seja encontrado, a resposta será 400 Bad Request.

Sair de Grupo

Sair de um grupo significa que você se removerá da lista de participantes do grupo. O Grupo continuará a existir com os participantes restantes.

Requisição

POST https://api-messaging.wavy.global/v1/whatsapp/groups/your-group-id/leave

Resposta

Uma resposta bem-sucedida retornará status 200 OK e null ou {}. Caso o número de telefone não seja encontrado, a resposta será 400 Bad Request.

Definir Ícone de Grupo

Requisição

Exemplo

curl -X POST \
https://api-messaging.wavy.global/v1/whatsapp/groups/your-group-id/icon \
-H 'authenticationToken: <authenticationtoken>'
-H 'username: <username>' \
-H 'Content-Type: image/jpeg' \
--data-binary @your-file-path

POST https://api-messaging.wavy.global/v1/whatsapp/groups/your-group-id/icon Content-Type: image/jpeg or other appropriate type

binary-image-content

Para definir o ícone de um grupo, é necessário fazer upload de uma imagem a partir de seu conteúdo binário. O header Content-Type deve corresponder ao tipo MIME da imagem.

Resposta

Uma resposta bem-sucedida retornará status 200 OK e null ou {}.

Consulta a Ícone de Grupo

Requisição

GET https://api-messaging.wavy.global/v1/whatsapp/groups/your-group-id/icon

Resposta

Response example

{
"type": "URL",
"mimeType": "image/jpeg",
"fileName": "groupIcon.jpeg",
"extraData": {
"public": true,
"Content-Type": "image/jpeg",
"Content-Length": "2500"
},
"data": "https://chatclub-cdn.wavy.global/2019/03/25/ce425ffe-bc62-421f-9261-e6819a5eab43/groupIcon.jpeg"
}

Uma resposta bem sucedida retornará status 200 OK e um objeto JSON com os seguintes campos. Caso o grupo não tenha um ícone associado, a resposta será status 404 Not Found.

Campo

Detalhes

Tipo

type

Tipo do campo data

String

mimeType

Tipo MIME do arquivo

String

fileName

Nome do arquivo

String

extraData

Informações sobre o arquivo

String

data

Arquivo

String

Remoção de Ícone de Grupo

Requisição

DELETE https://api-messaging.wavy.global/v1/whatsapp/groups/your-group-id/icon

Resposta

Uma resposta bem-sucedida retornará status 200 OK e null ou {}. Caso o grupo não tenha um ícone associado, a resposta será 404 Not Found.

Adição de Administradores

Por padrão, o único administrador de um grupo é seu criador. Mais administradores podem ser adicionados desde que já sejam participantes do grupo. Para consultar participantes de um grupo, siga as instruções em Consulta a Informações de Grupo

Requisição

Example

{
"waIds": [
"5519900000000",
"5519900000000"
]
}

PATCH https://api-messaging.wavy.global/v1/whatsapp/groups/your-group-id/admins

O body da requisição deve conter um objeto JSON com os seguintes campos:

Campo

Obrigatório

Detalhes

Tipo

waIds

Sim

Números dos participantes que se tornarão administradores

String[]

Resposta

Uma resposta bem-sucedida retornará status 200 OK e null ou {}. Caso o número de telefone não seja encontrado, a resposta será 400 Bad Request.

Remoção de Administradores

Administradores podem ser removidos de forma que se tornem participantes regulares do grupo. Para consultar administradores de um grupo, siga as instruções em Consulta a Informações de Grupo.

Requisição

Example

{
"waIds": [
"5519900000000"
]
}

DELETE https://api-messaging.wavy.global/v1/whatsapp/groups/your-group-id/admins

O body da requisição deve conter um objeto JSON com os seguintes campos:

Campo

Obrigatório

Detalhes

Tipo

waIds

Sim

Os números de telefone dos participantes que se tornarão administradores

String[]

Resposta

Uma resposta de sucesso retornará status 200 OK e null ou {}. Caso o número de telefone não seja encontrado, a resposta será 400 Bad Request.