WhatsApp API

API para gerenciamento de instâncias do WhatsApp. Esta API permite a criação, atualização, remoção e gerenciamento de instâncias do WhatsApp. Utiliza o padrão RESTful e JSON para comunicação. Todas as requisições devem ser autenticadas com um token de usuário. Para obter um token de usuário, é necessário se registrar na API e obter um token de acesso junto aos desenvolvedores. Para mais informações, consulte a documentação da API ou entre em contato.

Desenvolvido por edgvi10 (edgvi10@gmail.com)

Parâmetros
URL
Headers
  • Content-Type: application/json
  • Authorization: Bearer <userToken>
Status

Retorna o status da API

GET

Headers
  • Content-Type application/json
Query

No query

Body

No body

{
  "status": "OK"
}
Documentação

Retorna a documentação da API

GET

Headers

No headers

Query

No query

Body

No body

Listar Instâncias

Retorna a lista de instâncias

GET

Headers
  • Content-Type application/json
  • Authorization Bearer <userToken>
Query
  • search Filtro de busca por nome da instância (string)
  • limit Limite de instâncias por página (number)
  • page Número da página (number)
Body

No body

{
  "instances": [
    {
      "instanceKey": "string",
      "name": "string",
      "useWebhook": "true|false",
      "webhookUrl": "string",
      "ignoreGroups": "true|false",
      "blockCalls": "true|false",
      "blockMedia": "true|false",
      "createdAt": "string",
      "updatedAt": "string"
    }
  ]
}
Criar Instância

Cria uma nova instância

POST

Headers
  • Content-Type application/json
  • Authorization Bearer <userToken>
Query

No query

Body
  • instanceKey Chave da instância string
  • name Nome da instância string
  • useWebhook Usar webhook boolean
  • webhookUrl URL do webhook string
  • ignoreGroups Ignorar grupos boolean
  • blockCalls Bloquear chamadas boolean
  • blockCallsMessage Mensagem de bloqueio de chamadas string
  • blockMedia Bloquear mídia geral boolean
  • blockAudio Bloquear áudio boolean
  • blockImages Bloquear imagens boolean
  • blockVideos Bloquear vídeos boolean
  • blockDocuments Bloquear documentos boolean
{ instanceKey: (string) Chave da instância name: (string) Nome da instância useWebhook: (boolean) Usar webhook webhookUrl: (string) URL do webhook ignoreGroups: (boolean) Ignorar grupos blockCalls: (boolean) Bloquear chamadas blockCallsMessage: (string) Mensagem de bloqueio de chamadas blockMedia: (boolean) Bloquear mídia geral blockAudio: (boolean) Bloquear áudio blockImages: (boolean) Bloquear imagens blockVideos: (boolean) Bloquear vídeos blockDocuments: (boolean) Bloquear documentos }

{
  "error": false,
  "message": "Instância iniciada",
  "instance": {
    "key": "string",
    "userToken": "string",
    "name": "string",
    "qrcode": "string",
    "qrcode_url": "string",
    "useWebhook": "true|false",
    "webhookUrl": "true|false",
    "ignoreGroups": "true|false",
    "blockAudio": "true|false",
    "blockImages": "true|false",
    "blockVideos": "true|false",
    "blockDocuments": "true|false",
    "blockCalls": "true|false",
    "blockCallsMessage": "",
    "createdAt": "2024-04-26T19:51:01.073Z"
  }
}

{
  "error": true,
  "message": "Instância já existe"
}
Detalhes da Instância

Retorna os detalhes de uma instância

GET

Headers
  • Content-Type application/json
  • Authorization Bearer <userToken>
Query

No query

Body

No body

{
  "instance": {
    "instanceKey": "string",
    "name": "string",
    "useWebhook": "true|false",
    "webhookUrl": "string",
    "ignoreGroups": "true|false",
    "blockCalls": "true|false",
    "blockMedia": "true|false",
    "createdAt": "string",
    "updatedAt": "string"
  }
}
Atualizar Instância

Atualiza os detalhes de uma instância

PUT

Headers
  • Content-Type application/json
  • Authorization Bearer <userToken>
Query

No query

Body
  • instanceKey Chave da instância string
  • name Nome da instância string
  • useWebhook Usar webhook boolean
  • webhookUrl URL do webhook string
  • ignoreGroups Ignorar grupos boolean
  • blockCalls Bloquear chamadas boolean
  • blockCallsMessage Mensagem de bloqueio de chamadas string
  • blockMedia Bloquear mídia geral boolean
  • blockAudio Bloquear áudio boolean
  • blockImages Bloquear imagens boolean
  • blockVideos Bloquear vídeos boolean
  • blockDocuments Bloquear documentos boolean
{ instanceKey: (string) Chave da instância name: (string) Nome da instância useWebhook: (boolean) Usar webhook webhookUrl: (string) URL do webhook ignoreGroups: (boolean) Ignorar grupos blockCalls: (boolean) Bloquear chamadas blockCallsMessage: (string) Mensagem de bloqueio de chamadas blockMedia: (boolean) Bloquear mídia geral blockAudio: (boolean) Bloquear áudio blockImages: (boolean) Bloquear imagens blockVideos: (boolean) Bloquear vídeos blockDocuments: (boolean) Bloquear documentos }

{
  "error": false,
  "message": "Instância atualizada"
}

{
  "error": true,
  "message": "Instância não encontrada"
}

{
  "error": true,
  "message": "Erro ao atualizar instância"
}

{
  "error": true,
  "message": "Acesso não autorizado"
}
QRCode para Autenticação

Retorna o QRCode de uma instância para autenticação no WhatsApp

GET

Headers
  • Content-Type application/json
  • Authorization Bearer <userToken>
Query

No query

Body

No body

{
  "qrcode": "base64string"
}
Desconectar Instância

Desconecta uma instância do WhatsApp

DELETE

Headers
  • Content-Type application/json
  • Authorization Bearer <userToken>
Query

No query

Body

No body

{
  "error": false,
  "message": "Instância desconectada"
}

{
  "error": true,
  "message": "Instância não encontrada"
}
Remover Instância

Remove uma instância permanentemente

DELETE

Headers
  • Content-Type application/json
  • Authorization Bearer <userToken>
Query

No query

Body

No body

{
  "error": false,
  "message": "Instância removida"
}

{
  "error": true,
  "message": "Instância não encontrada"
}
Enviar Mensagem de Texto

Envia uma mensagem para um contato ou grupo

POST

Headers
  • Content-Type application/json
  • Authorization Bearer <userToken>
Query

No query

Body
  • chatId Número do contato ou ID do grupo string
  • message Mensagem de texto a ser enviada string
  • replyId ID da mensagem a ser respondida string
{ chatId: (string) Número do contato ou ID do grupo message: (string) Mensagem de texto a ser enviada replyId: (string) ID da mensagem a ser respondida }

{
  "error": false,
  "message": "Mensagem enviada",
  "messageId": "string",
  "messageData": "object"
}

{
  "error": true,
  "message": "Erro ao enviar mensagem"
}
Enviar Mídia

Envia imagem, vídeo, áudio ou documento para um contato ou grupo

POST

Headers
  • Content-Type application/json
  • Authorization Bearer <userToken>
Query

No query

Body
  • chatId Número do contato ou ID do grupo string
  • fileType Tipo de mídia (image, video, audio, document) string
  • base64 Base64 da mídia com mime-type (data:image/png;base64, ...) string
  • fileName Nome do arquivo caso seja documento string
  • fileUrl URL obrigatório se base64 não for informado string
  • caption Legenda da mídia string
  • replyId ID da mensagem a ser respondida string
{ chatId: (string) Número do contato ou ID do grupo fileType: (string) Tipo de mídia (image, video, audio, document) base64: (string) Base64 da mídia com mime-type (data:image/png;base64, ...) fileName: (string) Nome do arquivo caso seja documento fileUrl: (string) URL obrigatório se base64 não for informado caption: (string) Legenda da mídia replyId: (string) ID da mensagem a ser respondida }

{
  "error": false,
  "message": "Mídia enviada",
  "messageId": "string",
  "messageData": "object"
}

{
  "error": true,
  "message": "Erro ao enviar mídia"
}
Enviar Mensagem com Botões/Opções

Envia uma mensagem com botões de opções para um contato ou grupo

POST

Headers
  • Content-Type application/json
  • Authorization Bearer <userToken>
Query

No query

Body
  • instanceKey Chave da instância string
  • chatId Número do contato ou ID do grupo string
  • message Mensagem de texto a ser enviada string
  • buttons Array de botões array
  • replyId ID da mensagem a ser respondida string
  • buttons Array de botões array
  • buttons[].label Texto do botão string
  • buttons[].url URL do botão string
{ instanceKey: (string) Chave da instância chatId: (string) Número do contato ou ID do grupo message: (string) Mensagem de texto a ser enviada buttons: (array) Array de botões replyId: (string) ID da mensagem a ser respondida buttons: (array) Array de botões buttons[].label: (string) Texto do botão buttons[].url: (string) URL do botão }

{
  "error": false,
  "message": "Mensagem enviada",
  "messageId": "string",
  "messageData": "object"
}

{
  "error": true,
  "message": "Erro ao enviar mensagem"
}