電話番号と証明書を管理する

本ガイドでは、ソリューションパートナーおよび顧客向けに、電話番号に関する概要を説明します。さらに、ソリューションパートナー向けに、顧客の電話番号と証明書を管理する場合のプロセス情報も掲載しています。

電話番号に関する予備的情報

電話番号および埋め込み登録に関連して、事業者が把握しておくべき詳細情報がいくつかあります。

事業者は、埋め込み登録でWhatsAppを使用するための専用の電話番号が必要です。WhatsApp MessengerやWhatsApp Businessアプリにすでに登録されている電話番号がある場合、それと同じ電話番号は使用できません。

事業者は、複数の電話番号をMetaビジネスアカウントに関連付けることができるので、必要なのは、もう1つ電話番号を追加してそれをWhatsAppで使用するだけです。

埋め込み登録フローでは、ビジネスバージョンまたは消費者バージョンのWhatsAppにすでに登録されている電話番号を使って登録することはできません。

電話番号とWhatsApp Businessプラットフォームについて詳しくは、電話番号をご覧ください。

WhatsAppに登録されている既存の電話番号を移行する方法については、電話番号を移行するをご覧ください。

顧客向けの手順

このセクションは、埋め込み登録を行う顧客向けに、電話番号に関連して実行する可能性があるアクションについて説明しています。

WhatsApp Businessアカウントに電話番号を追加する

WhatsApp Businessアカウント(WABA)に電話番号を追加する方法は次の2とおりあります。

  1. 推奨: もう一度埋め込み登録フローを繰り返し、既存のビジネスマネージャとWABAを選択し、電話番号を追加し、その番号を認証する。
  2. ビジネスマネージャで、[WhatsAppマネージャ][電話番号]タブに移動し、[電話番号を追加]を選択する。ビジネスマネージャでは電話番号の認証を行えないため、このオプションを使用する場合、ソリューションパートナーは手動で電話番号を認証する必要があります。そのため、事業者には、埋め込み登録フローに従って電話番号を追加することをおすすめします。

ソリューションパートナー向けの手順

このセクションでは、ソリューションパートナー向けに、顧客の電話番号と証明書を管理する手順について説明しています。

クラウドAPI用の電話番号を登録する

埋め込み登録フローから電話番号の認証に成功したら、registerエンドポイントにAPI呼び出しが行われ、登録が成功します。そのため、任意のcode_method (sms | voice)を指定します。電話番号はすでに認証されているため、登録コードを気にする必要はありません。verifyAPI呼び出しは不要です。

または、電話番号を事前に確認して、新しい埋め込み登録フローで顧客に提供することもできます。こうすれば、顧客はオンボーディングプロセス中にワンタイムパスワードを問い合わせる必要がなくなります。事前確認済みの電話番号をご覧ください。

オンプレミス用の電話番号を登録する

埋め込み登録フローから電話番号の認証に成功したら、accountエンドポイントにAPI呼び出しが行われ、登録が成功します。そのため、任意のcode_method (sms | voice)を指定します。電話番号はすでに認証されているため、登録コードを気にする必要はありません。verify API呼び出しは不要です。

または、電話番号を事前に確認して、新しい埋め込み登録フローで顧客に提供することもできます。こうすれば、顧客はオンボーディングプロセス中にワンタイムパスワードを問い合わせる必要がなくなります。事前確認済みの電話番号をご覧ください。

埋め込み登録フロー実施後14日以内に、電話番号を登録する必要があります。その期間内に番号が登録されない場合、登録前に、その番号の埋め込み登録フローを再度実施しなければならなくなります。

電話番号のステータスと証明書を取得する

phone_numbersエンドポイントを使用すると、電話番号の表示名のステータスを確認したり、名前の変更後に証明書を取得したりすることができます。詳しくは、携帯番号の読み取りをご覧ください。

リクエストの例

次の例では、割り当てられたWABAのIDを使用します。

curl -i -X GET "https://graph.facebook.com/v21.0/{waba-id}/phone_numbers
  ?fields=
    display_phone_number,
    certificate,
    name_status,
    new_certificate,
    new_name_status
  &access_token={system-user-access-token}"
WhatsApp BusinessアカウントのIDは、[ビジネスマネージャ] > [ビジネス設定] > [アカウント] > [WhatsApp Businessアカウント]で確認できます。使用するアカウントを見つけてクリックします。パネルが開き、IDなどのアカウント情報を確認できます。

応答の例

{
  "data": [
    {
      "id": "1972385232742141",    
      "display_phone_number": "+1 631-555-1111",
      "last_onboarded_time": "2023-08-22T19:05:53+0000",
      "certificate": "AbCdEfGhIjKlMnOpQrStUvWxYz",
      "new_certificate": "123AbCdEfGhIjKlMnOpQrStUvWxYz",
      "name_status": "APPROVED",
      "new_name_status": "APPROVED",
    }
  ]
}

応答パラメーター

名前説明

name_status

現在の表示名リクエストの審査ステータス。

左側の列の矢印をクリックすると、利用可能なオプションが表示されます。

利用可能なオプション

  • APPROVED: 名前が承認されました。証明書をダウンロードできます。
  • DECLINED: 名前が承認されませんでした。証明書をダウンロードできません。
  • EXPIRED: 証明書が期限切れになり、ダウンロードできなくなりました。
  • PENDING_REVIEW: 現在名前リクエストを審査中です。証明書をダウンロードできません。
  • NONE: 使用可能な証明書がありません。

new_name_status

表示名変更リクエストの審査ステータス。このフィールドにデータが返されるのは、表示名の変更がリクエストされた場合のみです。

certificate

その電話番号の現在の証明書を返します。

new_certificate

表示名の変更が承認された後の、新しい表示名の証明書。表示名変更リクエストが承認された場合のみこのフィールドにデータが返されます。電話番号が新しい証明書で登録されるまでデータが返されます。

電話のOTPステータスを取得する

電話番号がOTP (ワンタイムパスワード)を使用して認証されたかどうかは、電話番号のcode_verification_statusフィールドで確認できます。まず、/{whatsapp-business-account-id}/phone_numbersエンドポイントにGET呼び出しをします。

curl -i -X GET \ 
"https://graph.facebook.com/v21.0/{waba-id}/phone_numbers
  ?access_token={your-access-token}"

応答で、code_verification_statusとしてVERIFIEDまたはNOT_VERIFIEDのいずれかが返されます。応答は次のようになります。

[
  {
    "code_verification_status": "NOT_VERIFIED",
    "id": "1754951608042154"
  }
]

または、電話番号のIDを呼び出してステータスを取得することもできます。

curl -i -X GET \ 
"https://graph.facebook.com/v21.0/{phone-number-id}
  ?access_token={your-access-token}"
電話番号IDを取得するには、https://graph.facebook.com/v21.0/{whatsapp-business-account-ID}/phone_numbersを呼び出します。{whatsapp-business-account-ID}を、その電話番号が関連付けられているWhatsApp BusinessアカウントのIDに置き換えてください。すべての電話番号を取得するで、例をご覧ください。

アカウントモードによる電話番号のフィルタリング

電話番号をクエリし、account_modeでフィルタリングすることができます。リクエストの場合は、以下のパラメーターを使用できます。

リクエストパラメーター

名前説明

field

フィルタリングに使用するフィールドを指定します。この例の場合、account_modeを使用します。

operator

アカウントにフィルタをかける方法を指定します。この例では、EQUALを使用します。

value

探しているアカウントモードを指定します。

左側の列の矢印をクリックすると、使用できる値が表示されます。

使用できる値:

  • SANDBOX: 認証待ちのアカウント。

  • LIVE: 認証待ちのトライアル体験の対象外、または認証済みアカウントにアップグレードされているアカウント。

リクエストの例

次の例では、割り当てられたWABAのIDを使用します。

curl -i -X GET "https://graph.facebook.com/v21.0/{waba-id}/phone_numbers
  ?filtering=[{
    "field":"account_mode",
    "operator":"EQUAL",
    "value":"SANDBOX"}]
  &access_token={system-user-access-token}"

応答の例

{
  "data": [
    {
      "id": "1972385232742141",    
      "display_phone_number": "+1 631-555-1111",
      "verified_name": "John’s Cake Shop",
      "quality_rating": "UNKNOWN",
    }
  ],
  "paging": {
	"cursors": {
		"before": "abcdefghij"
		"after": "klmnopqr"
	}
   }
}