솔루션 파트너 시작하기

이 가이드에서는 고객에게 클라우드 API를 제공하기 위해 솔루션 파트너가 진행해야 하는 절차를 살펴봅니다. 단계는 크게 4가지로 나뉩니다.

  1. 준비 및 계획
  2. 자산 설정
  3. 계약 체결
  4. 통합 빌드

단계를 모두 완료하면 월간 업데이트를 확인해 주세요.

준비 및 계획

문서 읽기

시작하기 전에 개발자 문서Postman 컬렉션을 읽는 것이 좋습니다. 그러면 클라우드 API를 시작하고 전화번호를 마이그레이션하는 방법 등의 클라우드 API 사용 방법을 이해하는 데 도움이 됩니다.

온보딩 및 마이그레이션 계획

임베디드 가입을 사용하여 새로운 고객을 클라우드 API에 온보딩해야 합니다. 아직 하지 않았다면 임베디드 가입을 통합하고 출시하세요. 임베디드 가입은 고객을 등록하는 가장 빠르고 쉬운 방법이며, 고객이 5분 내로 메시지 전송을 시작할 수 있습니다.

이제 먼저 어떤 고객을 클라우드 API로 마이그레이션할지 생각해 보세요. 일반적으로는 모든 고객을 온프레미스에서 클라우드 API로 마이그레이션하는 것을 권장하지만 각 고객의 요구 사항이 다를 수 있습니다. 마이그레이션할 고객을 생각할 때 다음을 고려해 보세요.

고려 사항추가적 컨텍스트

고객의 처리량과 메시지 볼륨을 클라우드 API에서 지원하는가?

클라우드 API는 대부분의 비즈니스에 텍스트/미디어와 수신/발신을 포함해서 초당 250건의 누적 피크 처리량을 지원합니다.

클라우드 API에서 고객의 규정 준수 요구 사항을 충족하는가?

클라우드 API는 GDPR을 준수하고 SOC 2 인증을 받았습니다. 서버는 북미와 유럽에서 호스팅됩니다.

고객이 클라우드 API에서 지원하는 기능을 사용하는가?

대부분 주요 기능을 지원합니다. 전체 리스트는 여기를 참조하세요.

어떤 고객이 마이그레이션할지 아는 경우 마이그레이션 계획과 일정을 빌드할 수 있습니다.

계획을 세우는 동안 두 가지 시나리오에 대비해서 시스템을 디자인하세요. 하나는 신규 고객을 온보딩하는 것이고 다른 하나는 기존 고객을 온프레미스에서 클라우드 API로 마이그레이션하는 것입니다. 마이그레이션 시나리오의 경우 기존 온프레미스 인스턴스를 백업하고 해당 전화번호를 클라우드 API로 마이그레이션할 계획을 세우세요.

고객과의 의사소통 계획

먼저 기존 고객에게 마이그레이션에 대해 알릴지 결정해야 합니다. 그런 다음 클라우드 API 설정을 지원하기 위한 문서를 작성하거나 업데이트할지 결정해야 합니다.

가격 결정

클라우드 API의 호스팅 비용은 Meta에서 부담하므로 그에 맞게 가격을 업데이트할지 결정해야 합니다.

자산 설정

클라우드 API를 사용하려면 솔루션 파트너에 다음과 같은 자산이 필요합니다.

자산특정 지침

비즈니스 관리자

기존 비즈니스 관리자를 사용하거나 새로운 비즈니스 관리자를 설정해야 합니다. 비즈니스 관리자 ID를 저장합니다.

WhatsApp Business 계정(WABA)

도움이 필요한 경우 WhatsApp Business API를 위한 WhatsApp Business 계정 만들기를 참조하세요.

Meta 앱

앱이 없을 경우 '비즈니스' 유형으로 앱을 만들어야 합니다. 표시 이름과 담당자 이메일을 앱에 추가합니다.


(솔루션 파트너)는 앱이 앱 검수를 거치도록 하고 다음 권한에 대해 고급 액세스를 요청해야 합니다.

  • whatsapp_business_management — WhatsApp Business 계정에 있는 전화번호, 메시지 템플릿, 등록, 비즈니스 프로필을 관리하는 데 사용합니다. 이 권한을 얻으려면 앱이 앱 검수를 거쳐야 합니다.
  • whatsapp_business_messaging — WhatsApp 사용자와 메시지를 주고받고, WhatsApp Business 계정의 미디어를 업로드/다운로드하는 데 사용합니다. 이 권한을 얻으려면 앱이 앱 검수를 거쳐야 합니다.

앱 검수 제출 샘플은 여기를 참조하세요.


솔루션 파트너는 여러 클라이언트와 WABA에서 동일한 Meta 앱을 자유롭게 사용할 수도 있습니다. 하지만 각 앱은 하나의 Webhooks 엔드포인트만 있어야 하며 각 앱이 앱 검수를 통과해야 합니다.

시스템 사용자

도움이 필요한 경우 시스템 사용자를 비즈니스 관리자에 추가를 참조하세요.


현재 whatsapp_business_messaging, whatsapp_business_managementbusiness_messaging 권한이 있는 Meta 앱은 적어도 다음 사용자에 대한 액세스 권한이 있습니다.

  • 운영자 시스템 사용자 1명
  • 직원 시스템 사용자 1명

프로덕션 배포에는 운영자 시스템 사용자를 사용하는 것이 좋습니다. 자세한 내용은 비즈니스 관리자 역할 및 권한 정보를 참조하세요.

비즈니스 전화번호

비즈니스가 메시지 전송에 사용할 전화번호입니다. SMS/음성 통화를 통해 전화번호를 인증해야 합니다.


솔루션 파트너 및 직접 비즈니스: 자체 전화번호를 사용하고 싶다면 WhatsApp 관리자에 전화번호를 추가하고 그래프 API를 통해 인증 엔드포인트로 인증해야 합니다.


솔루션 파트너를 사용하는 비즈니스: 자체 전화번호를 사용하고자 하는 경우 솔루션 파트너의 임베디드 가입 플로를 사용하여 전화번호를 추가하고 인증해야 합니다.


전화번호의 인증 상태는 온프레미스와 클라우드 API 간의 마이그레이션에 영향을 미치지 않습니다. 임베디드 가입에 액세스하여 전화번호를 인증할 수 없을 경우 온프레미스 솔루션으로 전화번호를 인증한 다음, 해당 번호를 클라우드 API로 마이그레이션하는 것이 좋습니다.

클라우드 API에 온보딩할 수 있는 비즈니스 전화번호 수는 무제한입니다.


단일 플랫폼에서 한 번에 하나의 전화번호만 사용할 수 있습니다(클라우드 API에 대해 한 개, 온프레미스에 대해 한 개). 이는 온프레미스와 클라우드 API 모두에 프로덕션 전화번호를 사용할 수 없다는 것을 의미합니다. 테스트 번호(기존 테스트 번호 또는 신규 테스트 번호)로 테스트한 후 프로덕션에 사용할 준비가 되었다는 확신이 들면 클라우드 API로 자신의 전화번호를 이동하는 것이 좋습니다.

소비자 전화번호

현재 소비자 WhatsApp 앱에서 사용하는 전화번호입니다. 이 전화번호는 비즈니스 전화번호에서 전송한 메시지를 수신하게 됩니다.

계약 체결

서비스 약관 수락

WhatsApp Business 메시징 클라우드 API에 액세스하려면 먼저 비즈니스를 대신해 WhatsApp Business 플랫폼 서비스 약관을 수락해야 합니다.

이를 위해서는 WhatsApp 관리자로 이동하여 정보 배너의 서비스 약관을 수락합니다.

클라우드 API의 기존 베타 파트너인 경우, 90일의 유예 기간이 주어집니다. 즉, 2022년 7월 5일 전까지 약관에 액세스해야 하며, 그렇지 않을 경우 액세스 권한이 상실됩니다.

온프레미스 API에서 마이그레이션하는 비즈니스를 비롯한 모든 신규 클라우드 API 비즈니스의 경우 클라우드 API를 사용하려면 서비스 약관을 수락해야 합니다. 서비스 약관을 수락할 때까지 등록 호출은 실패합니다.

개발자는 서비스 약관을 수락해야 합니다. 솔루션 파트너인 경우 고객에게 수락을 요구할 필요가 없습니다.

통합 빌드

1단계: 시스템 사용자 액세스 토큰 가져오기

그래프 API 호출은 인증에 액세스 토큰을 사용합니다. 자세한 내용은 액세스 토큰을 참조하세요. 시스템 사용자를 통해 토큰을 생성하는 것이 좋습니다.

시스템 사용자 액세스 토큰을 생성하는 방법:

  1. 비즈니스 관리자 > 비즈니스 설정 > 사용자 > 시스템 사용자로 이동하여 자신이 만든 시스템 사용자를 확인합니다.
  2. 해당 사용자를 클릭하고 자산 추가를 선택합니다. 그러면 새 창이 열립니다.
  3. 왼쪽 창의 자산 유형 선택에서 을 선택합니다. 자산 선택에서 사용하려는 Meta 앱을 선택합니다(앱에 올바른 권한이 있어야 함). 해당 앱에 앱 개발을 활성화합니다.
  4. 변경 사항 저장을 선택하여 설정을 저장하고 시스템 사용자 메인 화면으로 돌아옵니다.
  5. 이제 토큰을 생성할 준비가 되었습니다. 시스템 사용자 메인 화면에서 토큰 생성을 클릭하고 Meta 앱을 선택합니다. 앱을 선택하면 사용 가능한 권한 리스트가 표시됩니다. whatsapp_business_managementwhatsapp_business_messaging을 선택합니다. 토큰 생성을 클릭합니다.
  6. 시스템 사용자, 할당된 앱, 액세스 토큰이 포함된 새 창이 열립니다. 토큰을 저장합니다.
  7. 또는 토큰을 클릭하여 토큰 디버거를 확인할 수도 있습니다. 디버거에는 선택한 두 가지 권한이 표시될 것입니다. 토큰을 액세스 토큰 디버거에 직접 붙여 넣을 수도 있습니다.

2단계: Webhooks 설정

Webhooks를 설정하면 WhatsApp Business 플랫폼에서 실시간 HTTP 알림을 받을 수 있습니다. 즉, 예를 들어 고객에게 메시지를 받거나 WhatsApp Business 계정(WABA)에 변경 사항이 있을 때 알림을 받게 됩니다.

Webhooks를 설정하려면 Meta 및 WhatsApp의 요구 사항에 맞는 URL로 인터넷과 연결된 웹 서버를 만들어야 합니다. 그 방법에 대한 자세한 내용은 엔드포인트 만들기를 참조하세요. 테스트 목적으로 엔드포인트가 필요할 경우 테스트 Webhooks 엔드포인트를 생성할 수 있습니다.

앱 설정

엔드포인트가 준비되면 Meta 앱에서 사용하도록 구성합니다.

앱 대시보드에서 WhatsApp 제품을 찾아서 구성을 클릭합니다. 그런 다음, Webhooks 섹션을 찾아서 Webhooks 구성을 클릭합니다. 클릭 후 화면에 두 가지 항목을 묻는 대화 상자가 나타납니다.

  • 콜백 URL: Meta가 이벤트를 보낼 URL입니다. URL 생성에 대한 자세한 내용은 Webhooks, 시작하기 가이드를 참조하세요.
  • 인증 토큰: 이 문자열은 Webhooks 엔드포인트를 만들 때 직접 설정합니다.

정보를 추가한 후 인증 및 저장을 클릭합니다.

앱 대시보드로 돌아와 왼쪽 패널에서 WhatsApp > 구성을 클릭합니다. Webhooks에서 관리를 클릭합니다. 알림을 받을 수 있는 모든 개체가 나와 있는 대화 상자가 열립니다. 사용자의 메시지를 받으려면 메시지에 대한 구독을 클릭합니다.

보유한 모든 앱에 대해 Webhooks를 한 번씩만 설정해야 합니다. 동일한 Webhooks를 사용하여 여러 WhatsApp Business 계정에서 여러 이벤트 유형을 수신할 수 있습니다. 자세한 내용은 Webhooks 섹션을 참조하세요.

각 Meta 앱은 항상 엔드포인트를 하나만 구성할 수 있습니다. Webhooks 업데이트를 여러 엔드포인트로 보내야 하는 경우 여러 개의 Meta 앱이 필요합니다.

3단계: WABA 구독

올바른 계정에 대한 알림을 받으려면 앱을 구독하세요.

curl -X POST \
'https://graph.facebook.com/v19.0/WHATSAPP_BUSINESS_ACCOUNT_ID/subscribed_apps' \
-H 'Authorization: Bearer ACCESS_TOKEN'

아래와 같은 응답을 받을 경우 이 계정의 전화번호에 대한 모든 Webhooks 이벤트가 구성된 Webhooks 엔드포인트로 전송됩니다.

{
  "success": true
}

4단계: 전화번호 ID 가져오기

메시지를 전송하려면 사용하고자 하는 전화번호를 등록해야 합니다. 이는 시작하기 전에에서 언급한 비즈니스 전화번호입니다.

등록을 진행할 수 있으려면 해당 전화번호 ID를 찾아야 합니다. 전화번호 ID를 가져오려면 다음과 같이 API 호출을 보냅니다.

curl -X GET \
'https://graph.facebook.com/v19.0/WHATSAPP_BUSINESS_ACCOUNT_ID/phone_numbers' \
-H 'Authorization: Bearer ACCESS_TOKEN'

요청이 성공할 경우 응답에는 WABA와 연결된 모든 전화번호가 포함됩니다.

{
  "data": [
    {
      "verified_name": "Jasper's Market",
      "display_phone_number": "+1 631-555-5555",
      "id": "1906385232743451",
      "quality_rating": "GREEN"
    },
    {
      "verified_name": "Jasper's Ice Cream",
      "display_phone_number": "+1 631-555-5556",
      "id": "1913623884432103",
      "quality_rating": "NA"
    }
  ]
}

등록하려는 전화번호의 ID를 저장합니다. 이 엔드포인트에 대한 자세한 내용은 전화번호 읽기를 참조하세요.

마이그레이션 예외

온프레미스 API에서 클라우드 API로 전화번호를 마이그레이션하고 있는 경우 클라우드 API로 전화번호를 등록하기 전에 실행해야 할 추가 단계가 있습니다. 전체 프로세스는 온프레미스와 클라우드 API 간 마이그레이션을 참조하세요.

5단계: 전화번호 등록

전화번호 ID가 있으면 등록이 가능합니다. 등록 API 호출에서 다음과 같이 두 가지 작업을 동시에 수행합니다.

  1. 전화번호를 등록합니다.
  2. 6자리 등록 코드를 설정하여 2단계 인증을 활성화합니다. 이 코드는 비즈니스가 직접 설정해야 합니다. 이 코드를 나중에 요청할 수 있으므로 저장하고 기억해 둡니다.

2단계 인증 설정은 클라우드 API 사용을 위한 요구 사항입니다. 2단계 인증을 설정하지 않으면 다음과 같이 온보딩 실패 메시지를 받게 됩니다.

요청 샘플:

curl -X POST \
'https://graph.facebook.com/v19.0/FROM_PHONE_NUMBER_ID/register' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"messaging_product": "whatsapp","pin": "6_DIGIT_PIN"}'

응답 샘플:

{
  "success": true
}

임베디드 가입 사용자

전화번호는 임베디드 가입 플로를 거친 후 14일 이내에 반드시 등록해야 합니다. 이 기간 내에 전화번호를 등록하지 않으면 다시 임베디드 가입 플로를 거친 후 등록해야 합니다.

6단계: 소비자 앱으로부터 메시지 수신

참여하는 고객이 비즈니스로 메시지를 보내면 24시간 동안 해당 고객과 무료로 메시지를 주고받을 수 있습니다. 이 기간을 고객 서비스 기간이라고 합니다. 테스트를 위해 원하는 만큼 메시지를 전송할 수 있도록 이 기간을 활성화하는 것이 좋습니다.

개인 WhatsApp iOS/Android 앱에서 조금 전 등록한 전화번호로 메시지를 보냅니다. 메시지가 전송되면 다음과 같은 형식의 알림과 함께 Webhooks로 메시지가 수신됩니다.

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "WHATSAPP_BUSINESS_ACCOUNT_ID",
      "changes": [
        {
          "value": {
            "messaging_product": "whatsapp",
            "metadata": {
              "display_phone_number": "16315551234",
              "phone_number_id": "PHONE_NUMBER_ID"
            },
            "contacts": [
              {
                "profile": {
                  "name": "Kerry Fisher"
                },
                "wa_id": "16315555555"
              }
            ],
            "messages": [
              {
                "from": "16315555555",
                "id": "wamid.ABGGFlA5FpafAgo6tHcNmNjXmuSf",
                "timestamp": "1602139392",
                "text": {
                  "body": "Hello!"
                },
                "type": "text"
                }
            ]
          },
        "field": "messages"
        }
      ]
    }
  ]
}

7단계: 테스트 메시지 전송

고객 서비스 기간을 활성화하면 이전 단계에서 사용한 소비자 번호로 테스트 메시지를 전송할 수 있습니다. 이를 위해서는 다음과 같이 API 호출을 보냅니다.

curl -X  POST \
'https://graph.facebook.com/v19.0/FROM_PHONE_NUMBER_ID/messages' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"messaging_product": "whatsapp", "to": "16315555555","text": {"body" : "hello world!"}}'

호출에 성공하면 응답에 메시지 ID가 포함됩니다. 이 ID를 사용하여 Webhooks를 통해 메시지의 진행 상황을 추적합니다. 이 ID의 최대 길이는 128자입니다.

응답 샘플:

{
  "id":"wamid.gBGGFlaCGg0xcvAdgmZ9plHrf2Mh-o"
}

클라우드 API를 사용하는 경우 전화번호에 WhatsApp ID가 있는지 명시적으로 확인할 방법을 더 이상 제공하지 않습니다. 클라우드 API를 사용하여 누군가에게 메시지를 보내려면 고객이 옵트인한 후 고객의 전화번호로 직접 메시지를 전송하면 됩니다. 관련 예시는 참고 자료, 메시지를 참조하세요.

월간 업데이트 확인

매월 첫 번째 화요일에 클라우드 API 업데이트를 릴리스합니다. 여기에는 새로운 기능과 개선 사항이 포함됩니다. 클라우드 API가 자동으로 업데이트되므로 새로운 기능을 사용하기 위해 별도의 조치를 취할 필요가 없습니다.

FAQ

일반 FAQ

WhatsApp develops and operates the WhatsApp Business API, which enables businesses to communicate with WhatsApp consumer users on the WhatsApp network. When using the Cloud API, Meta will host the WhatsApp Business API for you and provide an endpoint for the WhatsApp service for your incoming and outgoing WhatsApp communications.

No, there is no difference in messaging prices between the Cloud API and the On-Premises API. Access to Cloud API is free, and we expect it to generate additional cost savings for developers. The two types of cost savings for the Cloud API are 1) set up cost (including server or external cloud provider cost), 2) ongoing cost of maintenance (including engineering time for API upgrades).

A Solution Partner can select which setup a given client should use. We recommend that the majority of clients use the Cloud API for ease of implementation and maintenance. Solution Partners can also continue to maintain integration with the On-Premises API.

We want to make it clear what it means to message with a business on WhatsApp. Some businesses may choose to use Meta or another company to help them manage and store their messages. When a business chooses to manage their messages with another company, we will let consumers know by showing a different system message. Learn more.

We expect Cloud API to provide the same key features as the On-Premises API soon, including user change notifications and sticker pack management. Our goal is for the Cloud API to become the preferred platform for new features.

We will release updates monthly with new features and improvements. There is no work required to access these features - the Cloud API updates automatically.

No, we will continue to provide the On-Premises API for now. See On-Premises API for information.

기술적 구현 FAQ

The Cloud API architecture significantly simplifies the Solution Partner's operational and infrastructure requirements to integrate with WhatsApp Business Platform. First, it removes the infrastructure requirements to run Business API docker containers (CAPEX savings). Second, it obviates the need of operational responsibilities to manage the deployment (OPEX savings). For details, refer to the architecture diagram comparing the On-Premises and Cloud API deployments.

Solution Partners and direct clients do not need the WebApp and CoreApp containers that are used in the On-Premises API. Meta will manage all database data and media data on behalf of the Solution Partner or direct client.

We will have disaster recovery and data replication across multiple regions. The expected downtime would be within our SLA and usually in the order of less than a minute to less than five minutes.

As your on-premises performance depends heavily on your hardware, software, and connectivity to WhatsApp servers, if you wish to understand these differences, you can perform your own load tests on Cloud API as you might have done for your own on-premises installation. You can also refer to our performance comparison to understand more details around how the on-premise and Cloud APIs compare.

데이터 공개 범위 및 보안 FAQ

클라우드 API는 비즈니스가 클라우드 API 로컬 스토리지를 사용하기로 선택하지 않았다면 Meta 데이터 센터 내에서 실행됩니다. Meta의 데이터 센터는 북미 및 유럽 연합에 위치해 있습니다.

유휴 상태인 메시지는 암호화됩니다. 이런 메시지는 30일 후에 자동으로 삭제됩니다.

다른 모든 WhatsApp Business API 솔루션 파트너와 마찬가지로, Meta는 비즈니스를 대신하여 암호화 및 암호 해독 키를 관리합니다. 클라우드 API를 통해 메시지를 주고받기 위해, 클라우드 API가 비즈니스를 대신하여 암호화/암호 해독 키를 관리합니다. Meta는 클라우드 API를 운영하며 약관에 따라 메시지를 전달하기 위한 목적으로만 해당 서비스를 제공하도록 사용을 제한하고 있습니다. WhatsApp은 키 또는 메시지에 대한 액세스 권한이 없습니다.

규정 준수 FAQ

Meta는 데이터 보호 및 개인정보 보호를 매우 중요하게 생각하며, 이에 따라 데이터 보호 관련 법률을 준수하기 위해 끊임없이 노력합니다. 클라우드 API는 Meta의 고객이 계속해서 개인정보보호 규정(GDPR)에 따른 의무 사항을 준수하도록 지원합니다. Meta는 관련 법률, 산업, 규정 요구 사항은 물론 업계 모범 사례를 준수합니다. 자세한 내용을 확인하세요.