Um servidor TypeScript independente da estrutura de API oficial do Whatsapp.
whatsapp-api-js v4
Lista de conteúdos
Configurar
Exemplos e tutoriais
Tipos
Registro de alterações
Documentação
Colaboradores
Contribuições
Quebrando mudanças
Versões beta
Antes de tudo, você precisará de um aplicativo Meta Bussiness com API do WhatsApp ativada. Você pode criar seu primeiro aplicativo seguindo estas etapas.
Obtenha o token da API, seja temporal ou permanente.
Obtenha o segredo do seu aplicativo no painel em Configurações do aplicativo > Básico > Segredo do aplicativo.
Informações mais detalhadas sobre como definir e recuperar esses valores estão disponíveis na documentação do módulo
Agora você pode instalar o módulo usando npm:
npm instalar whatsapp-api-js
O que permitirá que você escreva um código como este:
import { WhatsAppAPI } from "whatsapp-api-js";import { Document, Image, Text } from "whatsapp-api-js/messages";// Lembrete gentil para não codificar seu token e secretconst TOKEN = "YOUR_TOKEN";const APP_SECRET = "YOUR_SECRET";/** @type WhatsAppAPI<número> */const Whatsapp = new WhatsAppAPI({ token: TOKEN, appSecret: APP_SECRET });// Supondo que post seja chamado em uma solicitação POST para sua função serverasync post(e) {// Muito tempo? Leia https://whatsappapijs.web.app/modules/middleware.htmlreturn await Whatsapp.post(JSON.parse(e.data),e.data,e.headers["x-hub-signature-256"]); }Whatsapp.on.message = async ({ phoneID, from, mensagem, nome, resposta }) => {console.log(`User ${name} (${from}) enviado ao bot ${phoneID} ${JSON.stringify( mensagem )}`);deixar resposta;if (message.type === "texto") {response = aguardar resposta(new Text(`*${nome}* disse:nn ${message.text.body}`),true);}if (message.type === "image") {response = aguardar resposta(new Image(message.image.id, true, `Bela foto, ${nome}`));}if (message.type === "documento") {response = aguardar resposta(new Document(message.document.id, true, indefinido, "Nosso documento"));}console. log(response ??"Existem mais tipos de mensagens, como contatos, " +"locais, templates, interativos, reações e " +"todos os outros tipos de mídia.");Whatsapp.markAsRead(phoneID, message.id) ;retornar 200;};Whatsapp.on.sent = ({ phoneID, to, message }) => {console.log(`Bot ${phoneID} enviado ao usuário ${to} ${message}`);};
Para receber as atualizações das mensagens, você deve configurar o webhook em seu aplicativo Meta. De volta ao painel, clique em WhatsApp > Configurações, anote o URL do seu webhook e certifique-se de assinar o evento de mensagens. Também será solicitado um token de verificação. Pode ser qualquer string que você desejar.
O pacote também inclui um manipulador GET para autenticação de webhook:
importar { WhatsAppAPI } de "whatsapp-api-js";const TOKEN = "SEU_TOKEN";const APP_SECRET = "SEU_SECRET";const VERIFY_TOKEN = "SEU_VERIFY_TOKEN";const Whatsapp = novo WhatsAppAPI({token: TOKEN,appSecret: APP_SECRET,webhookVerifyToken : VERIFY_TOKEN});// Supondo que get seja chamado em uma solicitação GET para sua função de servidor get(e) {// Muito tempo!? Leia https://whatsappapijs.web.app/modules/middleware.htmlreturn Whatsapp.get(e.query);}
E é isso! Agora você tem um Whatsapp Bot funcional conectado ao seu servidor. Para obter mais informações sobre o processo de configuração para ambientes de execução e estruturas específicas, verifique o arquivo Environments.md.
Existem alguns exemplos que abordam como criar cada tipo de mensagem e como usar os métodos básicos da biblioteca.
Confira-os na pasta de exemplos.
A biblioteca está totalmente digitada. A maioria dos tipos está disponível importando arquivos /types
ou /emitters
:
importar { GetParams, PostData } de "whatsapp-api-js/types"; importar { OnMessage, OnSent, OnStatus } de "whatsapp-api-js/emitters";
Para saber o que mudou entre as atualizações, confira os lançamentos no Github.
A documentação de lançamento mais recente está disponível em whatsappapijs.web.app, e as versões anteriores estão arquivadas em secreto31126.github.io/whatsapp-api-js.
Chave de emoji
Diego Carrillo | Omar | Rahul Lanjewar | Félix Arjuna |
Se você tiver algum tempo livre e realmente quiser melhorar a biblioteca ou consertar bugs idiotas, fique à vontade para ler o arquivo CONTRIBUTING.md.
Você pode obter uma lista completa das alterações mais recentes no arquivo BREAKING.md.
Instale a versão beta mais recente com npm install whatsapp-api-js@beta
. Como qualquer beta, tem 110% de probabilidade de quebrar. Eu também uso essa tag para testar versões do npm. Use-o por sua conta e risco.