Business Management API를 사용하면 WhatsApp과 관련된 비즈니스 자산(예: WhatsApp Business 계정, 메시지 템플릿)을 만들고 관리할 수 있습니다. 이 API는 마케팅 API를 기반으로 하고 그 엔드포인트의 일부를 사용합니다. 그러므로 이 문서에는 경우에 따라 마케팅 API 문서에 대한 링크가 포함될 수 있습니다.
이 플랫폼은 다음의 액세스 토큰 유형을 지원합니다. 사용하는 유형은 누가 앱을 사용하는지와, 귀하가 솔루션 제공업체인지 여부에 따라 달라집니다.
시스템 사용자 액세스 토큰은 개발자, 비즈니스나 조직, 또는 비즈니스나 조직 내의 사람들을 대표합니다. 이 토큰의 가장 큰 장점은 만료 기간이 없다는 것이며, 비즈니스 내에서 사용자 입력이 필요하지 않은 자동화된 서비스를 대표할 수 있습니다.
시스템 사용자 액세스 토큰은 솔루션 파트너가 온보딩된 고객에게 크레딧 라인을 공유하는 데 사용할 수 있는 유일한 토큰 유형입니다.
시스템 사용자 액세스 토큰을 생성하기 전에 시스템 사용자를 만들어야 합니다. 대부분의 엔드포인트는 토큰에서 식별된 사용자가 쿼리된 리소스에 대한 액세스 권한이 있는지 확인합니다. 사용자가 리소스에 대한 액세스 권한이 없을 경우, 요청이 오류 코드 200
와 함께 거부됩니다.
직원 시스템 사용자는 Meta 비즈니스에서 소유하거나 Meta 비즈니스에서 공유한 개별 WhatsApp Business 계정에 대한 액세스 권한을 부여받아야 합니다. 앱이 비즈니스가 소유한 몇 개의 WhatsApp Business 계정에만 액세스해야 하는 경우, 직원 시스템 사용자로 충분합니다.
직원 시스템 사용자를 생성하고 나면 시스템 사용자가 액세스해야 하는 각각의 WhatsApp Business 계정에 대해 부분적 또는 전체적 비즈니스 자산 액세스 권한을 부여해야 합니다.
기본적으로 관리자 시스템 사용자는 개발자나 개발자의 비즈니스가 소유하거나 공유받은 모든 WhatsApp Business 계정과 자신의 자산에 대한 완전한 액세스 권한이 있습니다.
관리자 시스템 사용자는 앱이 비즈니스에 새로 공유된 WhatsApp Business 계정에 액세스해야 할 경우에 유용합니다. 직원 시스템 사용자를 사용할 경우, 공유된 각각의 WhatsApp Business 계정에 대한 비즈니스 자산 액세스 권한을 수동으로 부여해야 합니다.
WhatsApp Business 계정별로 부분적 액세스 권한을 부여하면 관리자 시스템 사용자의 기본 비즈니스 자산 액세스 권한을 재정의할 수 있습니다. 액세스 권한을 설정하고 재정의하는 방법은 비즈니스 자산 액세스를 참조하세요.
시스템 사용자를 만드는 방법은 다음과 같습니다.
시스템 사용자를 만들고 나서 시스템 사용자 액세스 토큰을 생성하는 방법은 다음과 같습니다.
비즈니스 통합 시스템 사용자 액세스 토큰은 온보딩된 개인 고객으로 범위가 설정되며, 기술 제공업체와 솔루션 파트너가 온보딩된 고객 데이터에 액세스할 때 사용해야 합니다.
이러한 토큰은 고객 WhatsApp Business 계정에서 앱 사용자의 입력 없이, 또는 향후 재인증을 요구하지 않고 프로그래밍 방식의 자동화된 작업을 수행하는 앱에 유용합니다.
비즈니스 통합 시스템 사용자 액세스 토큰을 생성하려면 임베디드 가입(비즈니스용 Facebook 로그인으로 구성)을 구현하고 고객이 플로를 완료하면 반환되는 코드를 교환해야 합니다.
이러한 토큰과 생성 방법에 대한 자세한 내용은 임베디드 가입 문서와 비즈니스 통합 시스템 사용자 액세스 토큰 문서를 참조하세요.
사용자 액세스 토큰은 모든 앱 개발자가 지원하고 사용할 수 있기는 하지만, 처음으로 앱 대시보드를 사용해서 첫 테스트 메시지를 보낼 경우에만 사용할 가능성이 큽니다. 그러나 앱을 개발하면서 시스템 사용자 액세스 토큰으로 전환할 가능성이 큽니다(기술 제공업체이거나 솔루션 제공업체일 경우에는 최종적으로 비즈니스 시스템 사용자 액세스 토큰으로 전환하게 될 것입니다). 이는 사용자 액세스 토큰이 빨리 만료되므로 몇 시간마다 새로운 토큰을 생성해야 하기 때문입니다.
사용자 액세스 토큰을 생성하는 방법은 여러 가지가 있습니다.
API 요청을 보낼 때 승인 요청 헤더에서 Bearer
뒤에 토큰을 포함하세요. 예를 들면 다음과 같습니다.
curl 'https://graph.facebook.com/v18.0/102290129340398/message_templates' \ -H 'Authorization: Bearer EAAJB...' \
시스템 사용자를 생성하고 나면 비즈니스 자산 액세스 수준을 설정해야 합니다. 대다수 엔드포인트는 API 요청에 토큰이 포함된 시스템 사용자가 쿼리 대상인 WhatsApp Business 계정(또는 자산)에 대한 부분적 또는 전체적 비즈니스 자산 액세스 권한을 부여받을 것을 요구합니다. 시스템 사용자에게 이 액세스 권한이 없는 경우, 이 엔드포인트는 오류 코드 200
을 반환합니다.
WhatsApp Business 계정에서 시스템 사용자의 비즈니스 자산 액세스 권한을 부분적으로 설정한 경우, WhatsApp Business 계정에서 특정 자산 또는 행동에 대한 액세스 권한이 추가적으로 제한될 수 있습니다. 예를 들어 대규모 비즈니스를 소유하고 있고 특정 부서만 WhatsApp Business 계정의 템플릿과 비즈니스 전화번호 데이터에 대한 읽기 액세스 권한만 가지기를 원하는 경우, 해당 부서의 시스템 사용자를 만들고 해당 데이터만 볼 수 있는 세분화된 액세스 권한을 설정할 수 있습니다.
WhatsApp Business 계정에서 비즈니스 자산 액세스 권한을 설정하는 방법:
엔드포인트를 테스트할 때 Postman 컬렉션 또는 cURL을 사용하는 것이 좋습니다. 그래프 API 탐색기 도구를 사용할 수 있기는 하지만 이는 토큰을 쿼리 문자열 매개변수로 전달하므로 권장하지 않습니다(대신 요청 헤더에서 토큰을 전달하세요).
비즈니스에 대한 정보를 가져오려면 WhatsAppBusinessAccount
엔드포인트로 GET
요청을 보냅니다. 여기에서 <WHATSAPP_BUSINESS_ACCOUNT_ID>
는 자신의 WhatsApp Business 계정 ID입니다.
curl -i -X GET 'https://graph.facebook.com/v21.0
/<WHATSAPP_BUSINESS_ACCOUNT_ID>' \
-H 'Authorization: Bearer <ACCESS_TOKEN>'
{ "id": "<WHATSAPP_BUSINESS_ACCOUNT_ID>", "name": "Your WhatsApp Business Account Name", "timezone_id": "1", "message_template_namespace": "05155c78_261e_4b2f_82b3_d7958d4cf75f" }
비즈니스에 대한 특정한 정보(예: 이름, 메시지 템플릿, 전화번호)를 가져오려면 WhatsAppBusinessAccount
엔드포인트로 GET
요청을 보내고(여기에서 <WHATSAPP_BUSINESS_ACCOUNT_ID>
는 자신의 WhatsApp Business 계정 ID임) fields
매개변수를 반환하려는 항목의 리스트로 설정합니다.
curl -i -X GET 'https://graph.facebook.com/v21.0
/<WHATSAPP_BUSINESS_ACCOUNT_ID>?fields=id,name,message_templates,phone_numbers' \
-H 'Authorization: Bearer <ACCESS_TOKEN>'
{ "id": "<WHATSAPP_BUSINESS_ACCOUNT_ID>", "name": "Your WhatsApp Business Account Name", "message_templates": { "data": [ { "name": "hello_world", "components": [ { "type": "HEADER", "format": "TEXT", "text": "Hello World" }, { "type": "BODY", "text": "Welcome and congratulations!! This message demonstrates your ability to send a message notification from WhatsApp Business Platform. Thank you for taking the time to test with us." }, { "type": "FOOTER", "text": "WhatsApp Business Team" } ], "language": "en_US", "status": "APPROVED", "category": "ACCOUNT_UPDATE", "id": "307191531401674" }, { "name": "sample_flight_confirmation", "components": [ { "type": "HEADER", "format": "DOCUMENT" }, { "type": "BODY", "text": "Confirmamos tu vuelo a {{1}}-{{2}} para el {{3}}." }, { "type": "FOOTER", "text": "Este mensaje proviene de un negocio no verificado." } ], "language": "es", "status": "APPROVED", "category": "TICKET_UPDATE", }, ...
호출 유형 | 엔드포인트 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
호출 유형 | 엔드포인트 |
---|---|
|
|
|
|
|
|
|
|