Skip to main content
A Camada de API Evolution GO do Pilot Status oferece um substituto direto para o seu servidor Evolution GO. Você mantém cada corpo de requisição, cabeçalho e caminho exatamente como estão hoje — a única mudança que você faz é trocar a sua base URL. O Pilot Status traduz suas requisições compatíveis com o Evolution GO para sua API nativa e retorna as respostas no formato que seu código já manipula.

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:
Todos os caminhos que você usa atualmente com seu servidor Evolution GO são anexados diretamente a esta URL. Nenhuma outra alteração é necessária.

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çalho apikey, continue usando-o:
Se o seu código usa um cabeçalho com token Bearer, esse formato também é aceito:
Use o formato que corresponder à sua implementação existente — você não precisa alterar seu código de autenticaçã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.
Qualquer caminho não listado abaixo retorna 404. Caminhos globais ou exclusivos de administrador retornam 403 — eles nunca são expostos pela camada (veja Caminhos bloqueados).

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 o number no corpo é o destinatário.
Envia uma mensagem de texto simples; quando linkPreview é true, o servidor enriquece a primeira URL de text com um cartão de pré-visualização OpenGraph.
Envia uma mensagem de texto com um cartão de link rico; o servidor busca automaticamente 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.
Envia uma imagem, vídeo, áudio ou documento por URL (corpo JSON) — ou como um upload multipart/form-data com um campo file; type seleciona o tipo de mídia.
Envia uma enquete com uma pergunta e uma lista de opções; requer no mínimo duas opções.
Envia uma figurinha a partir de uma URL de imagem; o servidor a baixa e converte para WebP antes de enviar.
Envia um marcador de localização geográfica com um nome e uma etiqueta de endereço.
Envia um cartão de contato vCard; fullName e phone são obrigatórios dentro de vcard.
Envia uma mensagem interativa com botões clicáveis; o comportamento de cada botão é definido por item via type (reply, url, call, copy, etc.).
Envia uma mensagem de menu em que o destinatário toca em buttonText para abrir seções de linhas selecionáveis.
Envia um carrossel de rolagem horizontal; cada cartão tem a própria imagem, texto e botões.

Usuário / Contatos

A apikey seleciona o número, portanto nenhum segmento de instância aparece no caminho ou no corpo.
Busca os detalhes da conta do WhatsApp (JID, nome, nome comercial) de um ou mais números de telefone.
Verifica se os números de telefone informados estão registrados no WhatsApp.
Retorna a URL da foto de perfil de um número de telefone.
Retorna todos os contatos armazenados para o número conectado.Sem corpo de requisição.
Retorna as configurações de privacidade atuais do número conectado.Sem corpo de requisição.
Atualiza as configurações de privacidade do número conectado. Cada campo recebe um escopo de privacidade, como all, contacts, contact_blacklist, known, match_last_seen ou none.
Bloqueia o contato informado para o número conectado.
Remove o contato informado da lista de bloqueio.
Retorna a lista de bloqueio do número conectado.Sem corpo de requisição.
Define a foto de perfil do número conectado.
Atualiza o nome de exibição do número conectado.
Atualiza o texto de status (recado) do número conectado.

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.
Envia uma reação com emoji a uma mensagem existente; suporta fromMe e (para mensagens de grupo) o autor em participant.
Transmite um indicador de presença de digitação ou gravação para uma conversa.
Marca uma ou mais mensagens de uma conversa como lidas.
Baixa e descriptografa a mídia anexada a uma mensagem recebida, retornando-a como uma data URL em base64.
Consulta o status de entrega armazenado de uma mensagem pelo seu ID.
Revoga uma mensagem para todos na conversa.
Substitui o conteúdo de texto de uma mensagem enviada anteriormente.

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.
Fixa uma conversa no topo da lista.
Remove uma conversa da lista de fixadas.
Arquiva uma conversa, ocultando-a da lista principal.
Restaura uma conversa arquivada de volta para a lista principal.
Silencia as notificações de uma conversa.
Reativa as notificações de uma conversa silenciada.
Solicita o histórico de mensagens mais antigas anteriores a uma mensagem de referência. O objeto 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.
Retorna todos os grupos dos quais o número conectado participa.Sem corpo de requisição.
Busca os metadados (nome, participantes, dono) de um único grupo.
Retorna o link de convite do grupo, opcionalmente revogando o anterior primeiro.
Define a foto de perfil do grupo a partir de uma URL pública ou de um data URI base64.
Atualiza o assunto (nome) do grupo.
Atualiza a descrição (tópico) do grupo.
Cria um novo grupo com o nome informado e os participantes iniciais.
Adiciona, remove, promove ou rebaixa participantes de um grupo.
Retorna apenas os grupos dos quais o número conectado é dono (é admin/dono).Sem corpo de requisição.
Entra em um grupo usando um código de convite (o token de um link de convite).
Sai do grupo especificado.

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.
Faz uma chamada de voz de saída no WhatsApp para o número informado e retorna a sessão de chamada criada.
Retorna todas as sessões de chamada atualmente monitoradas para o número.Sem corpo de requisição.
Retorna o estado atual de uma única sessão de chamada monitorada.
Atende uma chamada recebida que está tocando; omita callId para atender a última chamada recebida.
Rejeita uma chamada; se a chamada não estiver mais sendo monitorada, recorre à rejeição via callCreator.
Rejeita uma chamada atualmente monitorada pelo seu identificador.
Rejeita a chamada recebida oferecida mais recentemente para o número.Sem corpo de requisição.
Encerra uma chamada ativa pelo seu identificador.
Transmite um arquivo de áudio para uma chamada ativa. Aceita este corpo JSON (filePath no servidor) ou um upload multipart/form-data com os campos callId, audio (ou file) e hangupAfterPlay.
Cria um token de curta duração e uma URL de WebSocket para transmitir áudio PCM em tempo real de/para uma chamada ativa.

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.
Cria uma nova comunidade com o nome informado.
Vincula um ou mais grupos existentes a uma comunidade.
Desvincula um ou mais grupos de uma comunidade.

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.
Anexa uma etiqueta existente a uma conversa.
Anexa uma etiqueta existente a uma mensagem específica em uma conversa.
Cria ou atualiza o nome, a cor ou o estado de exclusão de uma etiqueta.
Retorna todas as etiquetas definidas no número conectado.Sem corpo de requisição.
Remove uma etiqueta de uma conversa.
Remove uma etiqueta de uma mensagem específica em uma conversa.

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.
Cria uma nova newsletter (canal) com um nome e uma descrição opcional.
Retorna todas as newsletters às quais o número conectado está inscrito.Sem corpo de requisição.
Busca os metadados de uma única newsletter pelo seu JID.
Resolve os metadados da newsletter a partir de uma chave de convite (a parte do código de um link de convite de canal).
Inscreve o número conectado nas atualizações ao vivo da newsletter informada pelo JID.
Busca mensagens de uma newsletter, com paginação opcional por contagem e por before-id.

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 — um POST /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.
Os campos do corpo são os mesmos que seu código Evolution GO já envia para POST /send/textnumber 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.
Se alguma operação do Evolution GO não for suportada pela camada, use a API nativa do Pilot Status. Para dúvidas específicas de compatibilidade, fale com o suporte no WhatsApp: +55 11 96743-5133.