TypeScript 서버에 구애받지 않는 Whatsapp의 공식 API 프레임워크입니다.
whatsapp-api-js v4
내용 목록
설정
예제 및 튜토리얼
유형
변경 내역
선적 서류 비치
기여자
기여
주요 변경 사항
베타 릴리스
우선 WhatsApp API가 활성화된 Meta Business 앱이 필요합니다. 이 단계에 따라 첫 번째 앱을 만들 수 있습니다.
임시 또는 영구 API 토큰을 가져옵니다.
앱 설정 > 기본 > 앱 비밀의 대시보드에서 앱 비밀을 얻으세요.
이 값을 설정하고 검색하는 방법에 대한 자세한 내용은 모듈 설명서에서 확인할 수 있습니다.
이제 npm을 사용하여 모듈을 설치할 수 있습니다.
npm은 whatsapp-api-js를 설치합니다.
그러면 다음과 같은 코드를 작성할 수 있습니다.
import { WhatsAppAPI } from "whatsapp-api-js";import { Document, Image, Text } from "whatsapp-api-js/messages";// 토큰 및 비밀을 하드코딩하지 않도록 주의하세요.const TOKEN = "YOUR_TOKEN";const APP_SECRET = "YOUR_SECRET";/** @type WhatsAppAPI<번호> */const Whatsapp = 새로운 WhatsAppAPI({ 토큰: TOKEN, appSecret: APP_SECRET });// 서버async 함수에 대한 POST 요청에서 post가 호출된다고 가정합니다. post(e) {// 너무 길까요? 읽기 https://whatsappapijs.web.app/modules/middleware.htmlreturn wait Whatsapp.post(JSON.parse(e.data),e.data,e.headers["x-hub-signature-256"]); }Whatsapp.on.message = async ({ 전화 ID, 보낸 사람, 메시지, 이름, 회신 }) => {console.log(`사용자 ${name} (${from})이 다음으로 전송되었습니다. bot ${phoneID} ${JSON.stringify( message )}`);let response;if (message.type === "text") {response = wait reply(new Text(`*${name}* 말함: nn${message.text.body}`),true);}if (message.type === "image") {response = 응답 대기(new Image(message.image.id, true, `멋진 사진, ${name}`));}if (message.type === "document") {response = 응답 대기(new Document(message.document.id, true, 정의되지 않음, "우리 문서"));}콘솔. log(response ??"연락처, " +"위치, 템플릿, 대화형, 반응 및 " +"기타 모든 미디어 유형과 같은 더 많은 유형의 메시지가 있습니다.");Whatsapp.markAsRead(phoneID, message.id);return 200;};Whatsapp.on.sent = ({phoneID, to, message }) => {console.log(`Bot ${phoneID}가 ${to} ${message} 사용자에게 전송되었습니다` );};
메시지 업데이트를 받으려면 Meta 앱에서 웹훅을 설정해야 합니다. 대시보드로 돌아가서 WhatsApp > 설정을 클릭하고 웹훅 URL을 적어두고 메시지 이벤트를 구독하세요. 또한 확인 토큰을 요청받게 됩니다. 원하는 문자열이 될 수 있습니다.
패키지에는 웹훅 인증을 위한 GET 핸들러도 포함되어 있습니다.
import { WhatsAppAPI } from "whatsapp-api-js";const TOKEN = "YOUR_TOKEN";const APP_SECRET = "YOUR_SECRET";const VERIFY_TOKEN = "YOUR_VERIFY_TOKEN";const Whatsapp = new WhatsAppAPI({token: TOKEN,appSecret: APP_SECRET,webhookVerifyToken : VERIFY_TOKEN});// 서버 함수 get(e)에 대한 GET 요청에서 get이 호출된다고 가정합니다. {// 너무 길어요!? https://whatsappapijs.web.app/modules/middleware.htmlreturn Whatsapp.get(e.query);}을 읽어보세요.
그리고 그게 다야! 이제 작동하는 Whatsapp Bot이 서버에 연결되었습니다. 특정 런타임 및 프레임워크의 설정 프로세스에 대한 자세한 내용은 Environments.md 파일을 확인하세요.
각 유형의 메시지를 생성하는 방법과 라이브러리의 기본 방법을 사용하는 방법을 다루는 몇 가지 예가 있습니다.
예제 폴더에서 확인해 보세요.
라이브러리가 완전히 유형화되었습니다. 대부분의 유형은 /types
또는 /emitters
파일을 가져와 사용할 수 있습니다.
"whatsapp-api-js/types"에서 { GetParams, PostData } 가져오기; "whatsapp-api-js/emitters"에서 { OnMessage, OnSent, OnStatus } 가져오기;
업데이트 간에 변경된 사항을 알아보려면 Github의 릴리스를 확인하세요.
최신 릴리스 문서는 whatsappapijs.web.app에서 확인할 수 있으며, 이전 버전은 secreto31126.github.io/whatsapp-api-js에 보관되어 있습니다.
이모티콘 키
디에고 카리요 | 오마르 | 라훌 란예와르 | 펠릭스 아르주나 |
여유 시간이 있고 라이브러리를 개선하거나 멍청한 버그를 수정하고 싶다면 자유롭게 CONTRIBUTING.md 파일을 읽어보세요.
BREAKING.md 파일에서 주요 변경 사항의 전체 목록을 얻을 수 있습니다.
npm install whatsapp-api-js@beta
사용하여 최신 베타 릴리스를 설치하세요. 어떤 베타와 마찬가지로 깨질 확률은 110%입니다. 또한 이 태그를 사용하여 npm 릴리스를 테스트합니다. 자신의 책임하에 사용하십시오.