Cloud Code Functions
Integrations
클라우드 코드로 Twilio API를 통한 WhatsApp 메시지 전송 가이드
10 분
클라우드 기능을 사용하여 twilio api를 통해 whatsapp 메시지 전송하기 소개 이 가이드에서는 twilio의 간소화된 rest api를 사용하여 whatsapp 메시지를 쉽게 전송하는 방법을 설명합니다 이 튜토리얼을 완료한 후에는 클라우드 코드 기능을 사용하여 고객에게 whatsapp 메시지를 전송할 수 있습니다 그럼 본론으로 들어가 보겠습니다 전제 조건 이 튜토리얼을 완료하려면 다음이 필요합니다 back4app에서 생성된 앱 https //www back4app com/docs/get started/new parse app 을 따라 back4app에서 앱을 만드는 방법을 배우세요 프로젝트에 구성된 back4app 명령줄 https //www back4app com/docs/local development/parse cli 을 따라 프로젝트에 대한 클라우드 코드를 설정하는 방법을 배우세요 https //login twilio com/u/signup?state=hkfo2sbsthoyuxz1nnuztjzamhk2q3etaxv5lutnulhamzdtn6fur3vuaxzlcnnhbc1sb2dpbqn0awtzie9jtzfksu9lavmztv9fyvo0vdm0a2pnsepzm09syuo4o2npznkgtw05m1lttdvsclpmnzdobulkzfi3qktzyjzpoxv1cks 에 계정을 생성하세요 시작해봅시다! 여러분이 아시다시피, 페이스북 소속의 whatsapp은 최근 기업이 고객과 원활하게 통합하고 소통할 수 있도록 비즈니스 api의 첫 번째 버전을 출시했습니다 이 whatsapp 서비스를 비즈니스 api에 사용함으로써, 기업은 예약 확인, 약속 알림, 배송 알림과 같은 관련성 있는 비홍보 메시지를 선택한 고객에게 맞춤형 알림을 보낼 수 있습니다 twilio는 whatsapp 비즈니스 api와 즉시 소통하고 프로토타입을 만들 수 있는 강력한 기능을 제공하는 클라우드 통신 플랫폼입니다 현재 twilio의 whatsapp api는 베타 버전이며, whatsapp 사용자에게 텍스트 메시지만 보낼 수 있습니다 즉, 이 서비스로는 아직 사용자에게 이미지, 오디오, 비디오 및 pdf 파일을 보낼 수 없습니다 사용자에게 whatsapp 메시지를 보내거나 받는 데 사용되는 기능은 “twilio 샌드박스”입니다 사용자의 whatsapp 번호로 메시지를 보내려면 먼저 샌드박스를 활성화해야 하며, 샌드박스에 참여할 번호를 활성화해야 합니다 1단계에서는 whatsapp을 위한 twilio 샌드박스를 활성화하는 방법을 설명합니다 참고 twilio 샌드박스에는 https //www twilio com/docs/whatsapp/api#sandbox limitations , 주요 제한 사항은 특정 샌드박스에 가입한 사용자와만 메시지를 주고받을 수 있다는 것입니다 그러나 자신의 twilio 번호를 사용하여 whatsapp을 활성화하면 이 제한을 극복할 수 있습니다 자신의 번호에서 whatsapp을 활성화하려면 https //www twilio com/docs/whatsapp/api#enabling whatsapp with a twilio number 에 직접 승인 요청을 제출해야 합니다 이 가이드에서는 간단한 rest api를 사용하여 whatsapp에서 직접 메시지를 보내고 받을 수 있는 방법을 설명합니다 우리는 메시지를 보내기 위해 twilio api와 상호작용하는 클라우드 기능을 작성하고 구현할 것입니다 이 기능은 저장 이벤트에 의해 트리거되며, 우리는 이 기능을 aftersave라고 부릅니다 twilio에서 계정을 생성하거나 액세스하려면 아래 링크를 확인하세요 https //www twilio com/try twilio https //www twilio com/login 1 whatsapp 베타 활성화 기존 계정에 로그인하면 프로젝트로 리디렉션됩니다 그러나 새로운 사용자라면 먼저 프로젝트를 생성하고 프로그래머블 sms 프로그래머블 sms 를 제품에서 선택해야 합니다 이제 콘솔에서 최근에 생성된 프로젝트를 볼 수 있어야 합니다 다음으로, 프로그래머블 sms 프로그래머블 sms 를 클릭하고 4번째 옵션 whatsapp 베타 whatsapp 베타 를 선택한 다음 해당 섹션에 제공된 단계를 따라 whatsapp용 twilio 샌드박스를 활성화해야 합니다 아래와 같이 2 계정 sid 및 인증 토큰 가져오기 당신의 계정 sid 계정 sid 와 인증 토큰 인증 토큰 , twilio 계정에 로그인하고 대시보드로 이동하여 설정을 클릭하세요 프로젝트에 대한 모든 중요한 정보는 해당 섹션에서 확인할 수 있습니다 아래 이미지에 표시된 대로 모든 지침을 따르도록 하세요 이제 cloud code를 위한 sid와 인증 토큰을 복사할 수 있습니다 3 twilio에서 모듈 설치하기 컴퓨터에서 명령줄 인터페이스를 위한 환경을 구성한 후, package json이라는 파일을 만들고, 이 파일 안에 twilio 모듈을 설치해야 합니다 예를 들어 1 { 2 "dependencies" { 3 "twilio" " " 4 } 5 } 4 cloud code 구현하기 이 섹션에서는 https //docs parseplatform org/cloudcode/guide/#cloud functions 를 사용하는 방법을 보여드리겠습니다 우리는 객체가 저장되었다는 확인 메시지를 활성화하고 전송하기 위해 aftersave 트리거 함수를 구축할 것입니다 1 parse cloud aftersave("contact", (request) => { 2 3 // requiring the values to send 4 var 5 getphoneto = request object get("phone"), 6 getfirstname = request object get("firstname"), 7 getphonefrom = "+your phone number", //remember to replace your number enable on twilio sandbox 8 accountsid = 'accountsid', 9 authtoken = 'authtoken', 10 getmessage = "welcome " + getfirstname +", to twilio app! thank you for your interest, our team will contact you asap! ;)"; 11 12 //require the twilio module and create a rest client 13 var client = require('twilio')(accountsid, authtoken); 14 15 client messages 16 create( 17 { 18 from "whatsapp " + getphonefrom, 19 body getmessage, 20 to "whatsapp " + getphoneto 21 }) 22 then(message => console log(message sid)) 23 done(); 24 }); 5 aftersave 트리거 테스트 이제 aftersave 트리거를 생성하고 활성화했으므로, 기능이 제대로 작동하는지 테스트할 시간입니다 클라이언트 sdk에서도 기능을 테스트할 수 있지만, 지금은 rest api 명령을 사용하여 새 사용자를 저장하겠습니다 curl x post \\ h "x parse application id ${application id}" \\ h "x parse rest api key ${rest api key}" \\ h "content type application/json" \\ d '{"firstname" "natália", "phone" "+0000000000000"}' \\ https //parseapi back4app com/classes/contact 결과는 아래 스크린샷과 유사할 것입니다 6 완료되었습니다! 위에서 설명한 가이드를 통해, back4app에서 cloud code function을 사용하여 twilio와 함께 whatsapp 메시지를 선택한 고객에게 보낼 수 있습니다! 도움이 필요하시거나 기능/링크가 작동하지 않는 경우, 채팅을 통해 저희 팀에 문의해 주세요!