Base URL
Aponte seu cliente HTTP ou variável de ambiente para a seguinte base URL para começar a usar a camada Evolution GO:Autenticação
Passe sua chave de API do Pilot Status usando o mesmo cabeçalho que seu código Evolution GO existente já envia. Se o seu código usa o cabeçalhoapikey, continue usando-o:
Operações suportadas
Cada requisição é uma chamada para<MÉTODO> https://pilotstatus.com.br/api/layer/evolution-go<CAMINHO>. A instância é resolvida a partir da sua chave de API, então os caminhos do Evolution GO que normalmente carregam um segmento de instância não precisam dele aqui. As operações de envio são automaticamente balanceadas entre as instâncias conectadas do seu número.
Instância (sessão)
Envio (balanceado)
Esses endpoints enviam mensagens pela camada do Evolution GO; o número é selecionado pela chave de API, portanto o caminho não tem segmento de instância e onumber no corpo é o destinatário.
POST /send/text — Enviar mensagem de texto
POST /send/text — Enviar mensagem de texto
linkPreview é true, o servidor enriquece a primeira URL de text com um cartão de pré-visualização OpenGraph.POST /send/link — Enviar pré-visualização de link
POST /send/link — Enviar pré-visualização de link
title, description e imgUrl a partir da URL encontrada em text, então esses campos são opcionais e qualquer valor informado pode ser sobrescrito.POST /send/media — Enviar mensagem de mídia
POST /send/media — Enviar mensagem de mídia
multipart/form-data com um campo file; type seleciona o tipo de mídia.POST /send/poll — Enviar enquete
POST /send/poll — Enviar enquete
POST /send/sticker — Enviar figurinha
POST /send/sticker — Enviar figurinha
POST /send/location — Enviar localização
POST /send/location — Enviar localização
POST /send/contact — Enviar cartão de contato
POST /send/contact — Enviar cartão de contato
fullName e phone são obrigatórios dentro de vcard.POST /send/carousel — Enviar cartões de carrossel
POST /send/carousel — Enviar cartões de carrossel
Usuário / Contatos
A apikey seleciona o número, portanto nenhum segmento de instância aparece no caminho ou no corpo.POST /user/info — Obter informações do usuário
POST /user/info — Obter informações do usuário
POST /user/check — Verificar no WhatsApp
POST /user/check — Verificar no WhatsApp
POST /user/avatar — Obter avatar do usuário
POST /user/avatar — Obter avatar do usuário
GET /user/contacts — Listar contatos
GET /user/contacts — Listar contatos
GET /user/privacy — Obter configurações de privacidade
GET /user/privacy — Obter configurações de privacidade
POST /user/privacy — Definir configurações de privacidade
POST /user/privacy — Definir configurações de privacidade
all, contacts, contact_blacklist, known, match_last_seen ou none.POST /user/block — Bloquear um contato
POST /user/block — Bloquear um contato
POST /user/unblock — Desbloquear um contato
POST /user/unblock — Desbloquear um contato
GET /user/blocklist — Listar contatos bloqueados
GET /user/blocklist — Listar contatos bloqueados
POST /user/profilePicture — Definir foto de perfil
POST /user/profilePicture — Definir foto de perfil
POST /user/profileName — Definir nome de perfil
POST /user/profileName — Definir nome de perfil
POST /user/profileStatus — Definir status de perfil
POST /user/profileStatus — Definir status de perfil
Mensagem
Ações no nível da mensagem no número conectado — a apikey seleciona o número, então nunca inclua uma instância no caminho ou no corpo.POST /message/react — Reagir a uma mensagem
POST /message/react — Reagir a uma mensagem
fromMe e (para mensagens de grupo) o autor em participant.POST /message/presence — Enviar presença na conversa
POST /message/presence — Enviar presença na conversa
POST /message/markread — Marcar mensagens como lidas
POST /message/markread — Marcar mensagens como lidas
POST /message/downloadmedia — Baixar mídia
POST /message/downloadmedia — Baixar mídia
POST /message/status — Obter status da mensagem
POST /message/status — Obter status da mensagem
POST /message/delete — Apagar para todos
POST /message/delete — Apagar para todos
POST /message/edit — Editar uma mensagem
POST /message/edit — Editar uma mensagem
Chat
Gerencie o estado das conversas (fixar, arquivar, silenciar) e solicite o histórico de mensagens do número selecionado pela sua chave de API.POST /chat/pin — Fixar uma conversa
POST /chat/pin — Fixar uma conversa
POST /chat/unpin — Desafixar uma conversa
POST /chat/unpin — Desafixar uma conversa
POST /chat/archive — Arquivar uma conversa
POST /chat/archive — Arquivar uma conversa
POST /chat/unarchive — Desarquivar uma conversa
POST /chat/unarchive — Desarquivar uma conversa
POST /chat/mute — Silenciar uma conversa
POST /chat/mute — Silenciar uma conversa
POST /chat/unmute — Reativar notificações de uma conversa
POST /chat/unmute — Reativar notificações de uma conversa
POST /chat/history-sync — Solicitar sincronização de histórico
POST /chat/history-sync — Solicitar sincronização de histórico
messageInfo identifica a mensagem âncora (seu JID Chat, o ID da mensagem, as flags de direção e o Timestamp); os campos são desserializados a partir do tipo MessageInfo do whatsmeow, portanto as chaves são PascalCase e Chat é uma string JID.Grupo
Gerencie grupos do WhatsApp para o número conectado: liste, inspecione, crie, atualize e entre ou saia. A apikey seleciona o número, portanto nenhum segmento de instância é usado.GET /group/list — Listar grupos dos quais participa
GET /group/list — Listar grupos dos quais participa
POST /group/info — Obter informações do grupo
POST /group/info — Obter informações do grupo
POST /group/invitelink — Obter link de convite
POST /group/invitelink — Obter link de convite
POST /group/photo — Definir foto do grupo
POST /group/photo — Definir foto do grupo
POST /group/name — Definir nome do grupo
POST /group/name — Definir nome do grupo
POST /group/description — Definir descrição do grupo
POST /group/description — Definir descrição do grupo
POST /group/create — Criar grupo
POST /group/create — Criar grupo
POST /group/participant — Atualizar participantes
POST /group/participant — Atualizar participantes
GET /group/myall — Listar grupos próprios
GET /group/myall — Listar grupos próprios
POST /group/join — Entrar via convite
POST /group/join — Entrar via convite
POST /group/leave — Sair do grupo
POST /group/leave — Sair do grupo
Chamada (voz)
Faça, atenda, rejeite, encerre e transmita áudio em chamadas de voz do WhatsApp. A apikey seleciona o número, então nenhuma instância vai no caminho ou no corpo.POST /call/start — Iniciar chamada de saída
POST /call/start — Iniciar chamada de saída
GET /call/list — Listar chamadas ativas
GET /call/list — Listar chamadas ativas
POST /call/get — Obter chamada por id
POST /call/get — Obter chamada por id
POST /call/answer — Atender chamada recebida
POST /call/answer — Atender chamada recebida
callId para atender a última chamada recebida.POST /call/reject — Rejeitar chamada
POST /call/reject — Rejeitar chamada
callCreator.POST /call/reject/by-id — Rejeitar chamada monitorada
POST /call/reject/by-id — Rejeitar chamada monitorada
POST /call/reject/latest — Rejeitar última oferta
POST /call/reject/latest — Rejeitar última oferta
POST /call/hangup — Encerrar chamada
POST /call/hangup — Encerrar chamada
POST /call/media/play — Reproduzir áudio na chamada
POST /call/media/play — Reproduzir áudio na chamada
filePath no servidor) ou um upload multipart/form-data com os campos callId, audio (ou file) e hangupAfterPlay.POST /call/media/realtime/session — Criar sessão em tempo real
POST /call/media/realtime/session — Criar sessão em tempo real
Comunidade
Gerencie comunidades do WhatsApp e seus grupos vinculados. A chave de API seleciona o número, portanto nenhuma instância é incluída no caminho ou no corpo.POST /community/create — Criar comunidade
POST /community/create — Criar comunidade
POST /community/add — Adicionar grupos
POST /community/add — Adicionar grupos
POST /community/remove — Remover grupos
POST /community/remove — Remover grupos
Etiqueta (label)
Gerencie etiquetas do WhatsApp: adicione-as ou remova-as de conversas e mensagens, edite uma etiqueta e liste todas as etiquetas. A apikey seleciona o número, portanto nenhuma instância é incluída no caminho ou no corpo.POST /label/chat — Adicionar etiqueta à conversa
POST /label/chat — Adicionar etiqueta à conversa
POST /label/message — Adicionar etiqueta à mensagem
POST /label/message — Adicionar etiqueta à mensagem
POST /label/edit — Editar etiqueta
POST /label/edit — Editar etiqueta
GET /label/list — Listar todas as etiquetas
GET /label/list — Listar todas as etiquetas
POST /unlabel/chat — Remover etiqueta da conversa
POST /unlabel/chat — Remover etiqueta da conversa
POST /unlabel/message — Remover etiqueta da mensagem
POST /unlabel/message — Remover etiqueta da mensagem
Newsletter / Canais
Gerencie newsletters (canais) do WhatsApp — crie, liste, inspecione, resolva convites, inscreva-se e busque mensagens. A apikey seleciona o número, então nenhum segmento de instância aparece no caminho.Bloqueados (admin/global)
Estes caminhos globais e exclusivos de administrador do Evolution GO não são expostos pela camada e retornam 403:GET /server/ok · /swagger/* · POST /instance/create · GET /instance/all · GET /instance/info/{id} · DELETE /instance/delete/{id} · POST /instance/proxy/{id} · DELETE /instance/proxy/{id} · POST /instance/forcereconnect/{id} · GET /instance/logs/{id}
Eventos
A camada encaminha eventos para o seu webhook configurado no formato nativo (PascalCase) do próprio Evolution GO, para que seus manipuladores de eventos existentes continuem funcionando sem alterações:Message · SendMessage · Receipt · Presence · ChatPresence · Archive · CallOffer · CallAccept · CallTerminate · Connected · PairSuccess · TemporaryBan · LoggedOut · ConnectFailure · Disconnected · LabelEdit · LabelAssociationChat · LabelAssociationMessage · Contact · PushName · GroupInfo · JoinedGroup · NewsletterJoin · NewsletterLeave · QRCode · QRSuccess
Os aliases modernos em UPPER_SNAKE também são aceitos:
MESSAGES_UPSERT · SEND_MESSAGE · CONNECTION_UPDATE · QRCODE_UPDATED · PRESENCE_UPDATE · CHATS_UPSERT · CHATS_UPDATE · CHATS_DELETE · GROUPS_UPSERT · GROUPS_UPDATE · GROUP_PARTICIPANTS_UPDATE · CALL · CONTACTS_UPSERT · CONTACTS_UPDATE · NEWSLETTER_UPDATE · LABEL_EDIT · LABEL_ASSOCIATION
Além disso, o Pilot Status pode entregar seus próprios eventos normalizados junto com os nativos:
- Ciclo de vida da chamada:
call.ringing,call.connected,call.ended,call.missed - Ciclo de vida do número:
number.created,number.connected,number.disconnected,number.removed
Exemplo: enviar texto via camada Evolution GO
A requisição abaixo é uma chamada real da camada Evolution GO — umPOST /send/text padrão, com apenas a base URL alterada para rotear através do Pilot Status. Não há segmento de instância no caminho: o cabeçalho apikey seleciona a instância.
POST /send/text — number e text, além de campos opcionais como delay, quoted e mentionedJid. O formato da resposta é idêntico ao que seu código existente consome.