Logo DevConnectAi

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'