Documentação da API - DevConnectAi
Enviar Lista de Mensagens
Método: POST
URL: /api/send/list/message
Headers:
Content-Type: application/json
Authorization: Bearer seu_token_de_conexão
Corpo da Requisição:
id: string - ID do destinatário ou grupo. Exemplo: "555180163928"
type: string - Tipo do destinatário. Valores possíveis: "user" (usuário) ou "group" (grupo).
options: object - Configurações adicionais como delay (tempo para exibir "digitando") e replyFrom (ID da mensagem a responder).
groupOptions: object - Configurações para grupos como markUser (marcações ocultas ou usuários específicos).
msgdata: object - Dados da mensagem contendo título, descrição, botões, e seções.
Exemplo de Requisição:
curl -X POST https://suaapi.backend/api/send/list/message \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer seu_token_de_conexão' \
-d '{
"id": "555180163928",
"type": "user",
"options": {
"delay": 0,
"replyFrom": ""
},
"groupOptions": {
"markUser": "ghostMention"
},
"msgdata": {
"title": "Título da Lista",
"description": "Descrição do teste",
"buttonText": "Ver Opções",
"footerText": "Rodapé da lista\nhttps://examplelink.com.br",
"sections": [
{
"title": "Seção 1",
"rows": [
{
"title": "Item 1",
"description": "Exemplo de descrição para o item 1.",
"rowId": "item1"
},
{
"title": "Item 2",
"description": "Exemplo de descrição para o item 2.",
"rowId": "item2"
}
]
},
{
"title": "Seção 2",
"rows": [
{
"title": "Item 3",
"description": "Exemplo de descrição para o item 3.",
"rowId": "item3"
},
{
"title": "Item 4",
"description": "Exemplo de descrição para o item 4.",
"rowId": "item4"
}
]
}
]
}
}'
Exemplo de Resposta:
{
"erro": false,
"dados": {
"chave": {
"destinatárioRemoto": "[email protected]",
"enviadoPorMim": true,
"id": "3EB000F1F2551AC0A26F81F39F4E010778B0259D"
},
"mensagem": {
"mensagemDeLista": {
"título": "Título da Lista",
"descrição": "Descrição do teste",
"textoDoBotão": "Ver Opções",
"tipoDeLista": "LISTA_DE_PRODUTOS",
"seções": [
{
"título": "Seção 1",
"itens": [
{
"título": "Item 1",
"descrição": "Exemplo de descrição para o item 1.",
"idDoItem": "item1"
}
]
}
]
}
},
"statusMensagem": "PENDENTE"
}
}
Enviar Mensagem
Método: POST
URL: /api/messages/send
Headers:
Content-Type: application/json
Authorization: Bearer seu_token_de_conexão
Corpo da Requisição:
number: string - Número do destinatário. Exemplo: "555199579150"
body: string - Conteúdo da mensagem. Exemplo: "Olá, este é um exemplo de mensagem."
contact: object - Informações do contato.
name: string - Nome do contato. Exemplo:"Teste Nome"email: string - Email do contato. Exemplo:"[email protected]"
queueId: integer - ID da fila. Exemplo: 1
status: string - Status do ticket. Opções: "open", "pending", "closed"
userId: integer - ID do usuário. Exemplo: 3
tagId: string - ID da tag. Exemplo: ""
Exemplo de Requisição:
curl -X POST https://suaapi.backend/api/messages/send \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer seu_token_de_conexão' \
-d '{
"number": "555199579150",
"body": "Olá, este é um exemplo de mensagem.",
"contact": {
"name": "Teste Nome",
"email": "[email protected]"
},
"queueId": 1,
"status": "open",
"userId": 3,
"tagId": ""
}'
Exemplo de Resposta:
{
"success": true
}
Criar Contato
Método: POST
URL: /api/contactCreate
Headers:
Content-Type: application/json
Authorization: Bearer token_da_empresa
Corpo da Requisição:
name: string - Nome do contato. Exemplo: "Nome do Contato"
email: string - Email do contato. Exemplo: "[email protected]"
phone: string - Telefone do contato. Exemplo: "1234567890"
Exemplo de Requisição:
curl -X POST https://suaapi.backend/api/contactCreate \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer token_da_empresa' \
-d '{"name": "Nome do Contato", "email": "[email protected]", "phone": "1234567890"}'
Exemplo de Resposta:
{
"success": true,
"contact": {
"isGroup": false,
"disableBot": false,
"active": true,
"channel": "whatsapp",
"id": 5,
"name": "John Doe",
"number": "123456789",
"email": "[email protected]",
"profilePicUrl": "https://pps.whatsapp.net/v/t61.24694-24/358499425_851644859448332_5694939329629322645_n.jpg",
"acceptAudioMessage": true,
"extraInfo": [],
"companyId": 1,
"updatedAt": "2024-03-27T21:10:13.762Z",
"createdAt": "2024-03-27T21:10:13.762Z",
"whatsappId": null
}
}
Atualizar Contato
Método: PUT
URL: /api/contactUpdate
Headers:
Content-Type: application/json
Authorization: Bearer token_da_empresa
Corpo da Requisição:
contactId: integer - ID do contato a ser atualizado. Exemplo: 5
contactData: object - Dados de atualização do contato:
name: string - Novo nome do contato. Exemplo: "Novo Nome"
email: string - Novo email do contato. Exemplo: "[email protected]"
phone: string - Novo telefone do contato. Exemplo: "999999999"
Exemplo de Requisição:
curl -X PUT https://suaapi.backend/api/contactUpdate \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer token_da_empresa' \
-d '{"contactId": 5, "contactData": {"name": "Novo Nome", "email": "[email protected]", "phone": "999999999"}}'
Exemplo de Resposta:
{
"success": true,
"contact": {
"id": 5,
"name": "Novo Nome",
"number": "99999999",
"email": "[email protected]",
"companyId": 1,
"acceptAudioMessage": true,
"active": true,
"profilePicUrl": "https://pps.whatsapp.net/v/t61.24694-24/358499425_851644859448332_5694939329629322645_n.jpg",
"extraInfo": [],
"updatedAt": "2024-03-28T17:37:22.470Z"
}
}
Listar Contatos
Método: GET
URL: /api/contactList
Headers:
Content-Type: application/json
Authorization: Bearer token_da_empresa
Exemplo de Requisição:
curl -X GET https://suaapi.backend/api/contactList \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer token_da_empresa'
Exemplo de Resposta:
{
"success": true,
"contacts": [
{
"id": 1,
"name": "John Doe",
"number": "999999999999",
"email": "[email protected]",
"profilePicUrl": "http://localhost:3000/nopicture.png",
"isGroup": false,
"disableBot": false,
"acceptAudioMessage": true,
"active": true,
"channel": "whatsapp",
"companyId": 1,
"createdAt": "2024-03-27T21:01:53.354Z",
"updatedAt": "2024-03-27T21:01:53.354Z"
}
]
}
Excluir Contato
Método: DELETE
URL: /api/contactRemove
Headers:
Content-Type: application/json
Authorization: Bearer token_da_empresa
Corpo da Requisição:
contactId: integer - ID do contato a ser excluído. Exemplo: 5
Exemplo:
curl -X DELETE https://suaapi.backend/api/contactRemove \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer token_da_empresa' \
-d '{"contactId": 5}'
Atualizar Ticket
Método: PUT
URL: /api/updateTicket
Headers:
Content-Type: application/json
Authorization: Bearer token_da_empresa
Corpo da Requisição:
ticketId: integer - ID do ticket a ser atualizado. Exemplo: 91
updateData: object - Dados da atualização do ticket:
status: string - Novo status do ticket. Exemplo: "closed"
userId: integer - ID do usuário responsável. Exemplo: 1
queueId: integer ou null - ID da fila ou null se não houver fila específica. Exemplo: null
Exemplo:
curl -X PUT https://suaapi.backend/api/updateTicket \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer token_da_empresa' \
-d '{"ticketId": 91, "updateData": {"status": "closed", "userId": 1, "queueId": null}}'
Criar Empresa
Método: POST
URL: /api/companyCreate
Headers:
Content-Type: application/json
Corpo da Requisição:
name: string - Nome da empresa. Exemplo: "Nome da Empresa"
email: string - Email da empresa. Exemplo: "[email protected]"
phone: string - Telefone da empresa. Exemplo: "123456789"
password: string - Senha para a conta da empresa.
status: string - Status da empresa. Exemplo: "true"
planId: integer - ID do plano. Exemplo: 1
dueDate: string - Data de vencimento do plano. Formato: "AAAA-MM-DD". Exemplo: "2024-04-10"
recurrence: string - Tipo de recorrência. Exemplo: "mensal"
document: string - Documento de identificação da empresa. Exemplo: "123456789"
paymentMethod: string - Método de pagamento. Exemplo: "cartão de crédito"
companyUserName: string - Nome do usuário responsável. Exemplo: "Nome do Usuário"
Exemplo:
curl -X POST https://suaapi.backend/api/companyCreate \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer token_da_empresa' \
-d '{"name": "Nome da Empresa", "email": "[email protected]", "phone": "123456789", "password": "senha", "status": "true", "planId": 1, "dueDate": "2024-04-10", "recurrence": "mensal", "document": "123456789", "paymentMethod": "cartão de crédito", "companyUserName": "Nome do Usuário"}'
Criar Tag
Método: POST
URL: /api/TagCreate
Headers:
Content-Type: application/json
Corpo da Requisição:
name: string - Nome da tag. Exemplo: "Nome da Tag"
color: string - Cor em formato hexadecimal. Exemplo: "#FF5733"
kanban: integer - ID do kanban relacionado. Exemplo: 1
Exemplo:
curl -X POST https://suaapi.backend/api/TagCreate \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer token_da_empresa' \
-d '{"name": "Nome da Tag", "color": "#FF5733", "kanban": 1}'
Criar Tag
Método: POST
URL: /api/TagCreate
Headers:
Content-Type: application/json
Corpo da Requisição:
name: string - Nome da tag. Exemplo: "Nome da Tag"
color: string - Cor em formato hexadecimal. Exemplo: "#FF5733"
kanban: integer - ID do kanban relacionado. Exemplo: 1
Exemplo:
curl -X POST https://suaapi.backend/api/TagCreate \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer token_da_empresa' \
-d '{"name": "Nome da Tag", "color": "#FF5733", "kanban": 1}'
Excluir Tag
Método: DELETE
URL: /api/TagDelete/:id
Headers:
Content-Type: application/json
Authorization: Bearer token_da_empresa
Parâmetros:
:id: integer - ID da tag a ser excluída. Exemplo: 123
Exemplo:
curl -X DELETE https://suaapi.backend/api/TagDelete/123 \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer token_da_empresa'
Criar Agendamento
Método: POST
URL: /api/ScheduleCreate
Headers:
Content-Type: application/json
Corpo da Requisição:
body: string - Corpo da mensagem a ser enviada. Exemplo: "Corpo da mensagem"
sendAt: string - Data e hora do envio em formato ISO. Exemplo: "2024-04-10T12:00:00Z"
number: integer - Número do destinatário. Exemplo: 555197058551
userId: integer - ID do usuário. Exemplo: 1
recurrence: boolean - Indica se o agendamento é recorrente. Exemplo: true
openTicket: boolean - Indica se o ticket deve ser aberto. Exemplo: true
connection: string - ID da conexão. Exemplo: "1"
queueId: integer - ID da fila. Exemplo: 1
Exemplo:
curl -X POST https://suaapi.backend/api/ScheduleCreate \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer token_da_empresa'
-d '{"body": "Corpo da mensagem", "sendAt": "2024-04-10T12:00:00Z", "number": 555197058551, "userId": 1, "recurrence": true, "openTicket": true, "connection": "1", "queueId": 1}'
Listar Agendamentos
Método: GET
URL: /api/scheduleList
Headers:
Content-Type: application/json
Exemplo:
curl -X GET https://suaapi.backend/api/scheduleList \
-H 'Content-Type: application/json'
-H 'Authorization: Bearer token_da_empresa'
Excluir Agendamento
Método: DELETE
URL: /api/ScheduleDelete/:id
Headers:
Content-Type: application/json
Authorization: Bearer token_da_empresa
Parâmetros:
:id: integer - ID do agendamento a ser excluído. Exemplo: 1
Exemplo:
curl -X DELETE https://suaapi.backend/api/ScheduleDelete/1 \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer token_da_empresa'