オンプレミスAPIを終了します。詳細と次世代クラウドAPIへの移行方法については、オンプレミスAPIの終了のドキュメントを参照してください。

アプリケーション設定

WhatsApp Businessオンプレミスクライアントのためのアプリケーション設定。

要件

  • リクエストではadminアカウントを使うことが必要です
  • すべての応答に200 OK HTTPSを含めることが必要です

読み取り

WhatsApp Businessオンプレミスクライアントのための現在のアプリケーション設定を取得します

現在のアプリ設定を取得するには、/v1/settings/applicationエンドポイントに対してGETリクエストを送信します。

GET /v1/settings/application

成功した場合、応答には、200 OKと、現在のすべてのアプリ設定とその値のリストを示すapplicationオブジェクトを含むJSONペイロードが含まれます。

応答の例

{
    "settings": {
        "application": {
            "callback_backoff_delay_ms": 3000,
            "callback_persist": true,
            "garbagecollector_enable": {
                "media": false,
                "messages": true
            },
            "heartbeat_interval": 5,
            "max_callback_backoff_delay_ms": 900000,
            "media": {
                "auto_download": [
                    "image",
                    "video",
                    "voice",
                    "sticker",
                    "audio",
                    "document"
                ]
            },
            "notify_user_change_number": true,
            "show_security_notifications": true,
            "unhealthy_interval": 30,
            "wa_id": "16315551019",
            "webhooks": {
               	"url": "<Webhook URL, https>",
               	"max_concurrent_requests": max-concurrent-requests,
               	"message": { // Available for v2.41.2 and above
                  	"sent": true,
                  	"delivered": true,
                  	"read": false
                 },
             },
             "verbose_logging": false,
             "log_level" : "info"
         },
    },
    "meta": {
        "api_status": "stable",
        "version": "3.0.1"
    }
}

エッジ

エッジ説明

/media/providers

メディアリンクを送信するためのメディアプロバイダーのリストを管理するために使います。

更新

アプリ設定を更新するには、/v1/settings/applicationエンドポイントに対して、設定するフィールドの名前と値が含まれるJSONオブジェクトを指定したPATCHリクエストを送信します。

大量のメッセージが飛び交うメッセージキャンペーンの場合は、garbagecollector_enable.messagesfalseに設定して自動ゴミ収集を無効にすることをおすすめします。キャンペーン終了後にtrueに戻して再度有効にしてください。

/v1/settings/applicationエンドポイントにGETリクエストを送信し、garbagecollector_enableプロパティを読み取れば、自動ゴミ収集が無効になっているかどうかを確認することができます。

リクエストの例

PATCH /v1/settings/application
{
    "callback_persist": true | false,
    "max_callback_backoff_delay_ms": max-delay-in-ms,
    "media": {
        "auto_download": ["audio", "document", "voice", "video", "image", "sticker"]
    }
    "callback_backoff_delay_ms": "delay-in-ms",
    "heartbeat_interval": heartbeat-interval-in-secs,
    "unhealthy_interval": unhealthy-interval-in-secs,
    "webhooks": { 
        # See the Webhooks Parameters table below for more information
        "max_concurrent_requests": max-concurrent-requests,
        "url": "<Webhook URL, https>",
        "message": {              // Available on v2.41.2 and above
                "sent": false,
                "delivered": true,
                "read": false
           },
    },
    "axolotl_context_striping_disabled": false | true,
    "notify_user_change_number": false | true,
    "show_security_notifications": false | true,
    # Available on v2.49.1 and above
    "garbagecollector_enable": {
        "messages": true | false,
        "media": true | false
    }
    "skip_referral_media_download": true | false,
    "webhook_payload_conversation_pricingmodel_disabled": false | true
    # Available on v2.51.1 and above
    "verbose_logging": false | true,
    "log_level" : log-level-str,
}

成功した場合の応答には、nullまたはJSONオブジェクトを伴う200 OKが含まれます。

エラーが発生した場合は、エラーメッセージとステータスメッセージをご覧ください。

パラメーター

一部の設定では、変更を有効にするため、Coreappの再起動が必要になります。そのような設定には、callback_persistgarbagecollector_enableverbose_logginglog_levelwebhooks.max_concurrent_requestsがあります。

`log_level`
名前説明

axolotl_context_striping_disabled

型: ブーリアン

データベース接続の制限に影響します。


v2.25では、送信および受信のパフォーマンスが改善されました。この最適化は、追加のデータベース接続を作成することによるものです。デプロイメントによっては、これによりデータベース接続の制限に達する場合があります。その場合は、axolotl_context_striping_disabledの構成をtrueに設定することにより、このパフォーマンス改善機能を無効にしてください。Coreappの機能に対して、それ以外の影響はありません。


値:truefalse (デフォルト)

Coreappの再起動が必要。

callback_backoff_delay_ms

型: 文字列

コールバック失敗のバックオフ遅延(ミリ秒)。


この設定は、失敗したコールバックを再試行するまでのバックオフ遅延時間を構成するために使われます。バックオフ遅延は、コールバックでHTTPS 200 OK応答の取得に失敗するたびに、この値ずつ線形に増加していきます。バックオフ遅延は、max_callback_backoff_delay_msの設定値を上限とします。例えば、コールバック失敗の初回では、3000ms (3秒)後に再試行されます。2度目に失敗すると、再試行前の遅延が6000ms (6秒)になります。コールバックが成功するかまたは遅延が900000ms (15分)に達するまでこれが続行され、その後は遅延が増加することなくコールバック再試行実行されます。


デフォルト: 3000

callback_persist

型: ブーリアン

Webhookによる確認が完了するまでコールバックをディスクに保存します。メッセージとコールバックは、両方ともローカルデータベースに保存され、正常に配信された後にローカルデータベースから削除されます。これにより、WhatsApp Business APIのクライアントまたはサーバーがダウンした場合にコールバックが保護されます。
お知らせが成功しない場合(HTTPS 200応答なし)は、無期限に再試行されます。再試行を構成するには、この設定を使用します。


値:true (デフォルト)、false
Coreappの再起動が必要。

db_garbagecollector_enable

型: ブーリアン

このフィールドはv2.49で廃止されました


データベースを管理しやすくするために、メッセージデータベースの自動ゴミ収集を有効にします。


v2.29より前でpass_throughfalseに設定しているユーザーの場合、このパラメーターはfalseになります。データベースを安定して運用するために、この設定を有効にすることをおすすめします。この設定を無効にする場合には、データベースの管理に/services/message/gcエンドポイントを使う方法を検討するようおすすめします。


値:true (デフォルト)、false

Coreappの再起動が必要。

garbagecollector_enable

型: ゴミ収集実行オブジェクト

メッセージとメディアの自動ゴミ収集を有効にします。


古い/未使用の行やファイルを確実に削除するため、メッセージとメディアのゴミ収集を設定するようおすすめします。無効の場合、/services/message/gc/services/media/gcのエンドポイントを使ってゴミ収集機能が開始されることがあります。値については、ゴミ収集機能のパラメーターの表をご覧ください。


Coreappの再起動が必要。

heartbeat_interval

型: 整数

MasterノードがCoreappノードをモニタリングする間隔(秒)。


デフォルト: 5
マルチコネクト設定に適用。

max_callback_backoff_delay_ms

型: 文字列

コールバック失敗と判断する最大遅延(ミリ秒)。詳しくは、この後のcallback_backoff_delay_msの説明をご覧ください。


デフォルト: 900000

media

型: 配列

自動ダウンロードするメディアのリスト。詳しくは、メディア自動ダウンロードの設定をご覧ください。

notify_user_change_number

型: ブーリアン

user_changed_numberシステム通知に影響します。


値:truefalse (デフォルト)

pass_through

型: ブーリアン

v2.35以降、WhatsApp Business APIクライアントのpass_throughの設定を再度有効にすることはできなくなりました。


個々のメッセージが、配信または既読後に、ローカルデータベースで削除または保存されるようにします。


メッセージは、送信後にローカルデータベースに保存されます。このデータベースはアプリの履歴として使われます。ビジネスごとに独自の履歴が保持されているため、メッセージをpass_throughするかどうかを指定することができます。

  • trueの場合、メッセージは、配信後または受信者により既読になった後に、ローカルデータベースから削除されます。
  • falseの場合、すべてのメッセージは、自動的に削除(db_garbagecollector_enabletrueの場合)または明示的に削除(db_garbagecollector_enablefalseの場合)されるまでローカルストレージ上に保存されます。詳しくは、サービスのドキュメントをご覧ください。

statusコールバックが期待どおりに動作するために、pass_throughを無効にすることをおすすめします。


値:truefalse (デフォルト)

Coreappの再起動が必要。

show_security_notifications

型: ブーリアン

有効にすると、スレッドで会話中の相手ユーザーが変わった可能性があることをWhatsApp Business APIクライアントが検知した場合に、user_identity_changed Webhookのお知らせを受け取ります。この場合、identityエンドポイントを使ってこのユーザーのIDが変わったことを確認するまで、このユーザーに送信されるすべてのメッセージがブロックされます。


値:truefalse (デフォルト)

skip_referral_media_download

型: ブーリアン

trueに設定されている場合、WhatsAppに誘導する広告上でユーザーがクリックした画像または動画はダウンロードされません。


デフォルト:false

unhealthy_interval

型: 整数

Coreappノードがハートビートに応答するまでMasterノードが待機する最大秒数。これを過ぎると異常と判断され、フェイルオーバー処理が開始されます。


デフォルト: 30
マルチコネクト設定に適用。

webhook_payload_conversation_pricingmodel_disabled

型: ブーリアン

このフィールドはv2.39で廃止されました

メッセージステータスのお知らせスレッドのペイロードと価格設定情報のペイロードを含めるかどうかをコントロールします。


値:truefalse (デフォルト)

Coreappの再起動は不要。

webhooks

型: Webhooksオブジェクト

Webhooksを使用する場合は必須。

WebhookのURLを指定します。Webhook URLが設定されていない場合、コールバックはドロップされます。Webhookを表示してテストする簡単な方法については、「テストアプリのサンプル」をご覧ください。


Webhook URLを設定する際に、シェアされているシークレットをクエリパラメーターとして指定することにより、Webhookイベントを検証できます。例: https://url?auth='[shared_secret]'

WebhookのURL。例: https://spotless-process.glitch.me/webhook


WebhookのURLが設定されていない場合、コールバックはドロップされます。コールバックは、タイムリーなお知らせと帯域外エラーの両方を配信できる重要なチャネルであるため、Webhook URLエンドポイントを構成することを強くおすすめします。Webhooksのフィールドについて詳しくは、この後のWebhooksのパラメーターの表をご覧ください。

verbose_logging

型: ブーリアン

Coreappの詳細ログ記録を有効にします。このログ記録レベルでは出力が大量になるため、テスト用だけに使うようにしてください。trueに設定すると、log_level属性は無視されます。


値:truefalse (デフォルト)

log_level

型: Webhooksオブジェクト

Coreappのログ記録レベルを設定します。レベルが上がるほどログ出力量は少なくなります。infoで情報量が最大となり、fatalでは重大エラーだけになります。


値:info (デフォルト)、warningerrorfatal

Webhooksパラメーター

名前説明

max_concurrent_requests

型: 整数

送信される実行中コールバックリクエストの最大数を設定します。


値:6 (デフォルト)、1218、または24
Coreappの再起動が必要。

url

型: 文字列

インバウンドのお知らせおよびアウトバウンドのお知らせは、このURLにルーティングされます。詳しくは、Webhooksに関するドキュメントをご覧ください。


HTTPSベースのエンドポイントが必須。HTTPでは動作しません。
: https://spotless-process.glitch.me/webhook

message

型: メッセージオブジェクト

v2.41.2以上で利用可能

webhooksオブジェクト内にネスト。クライアントがメッセージ関連のどのWebhook通知をこのリストから受け取るかを設定できるようにします。値はsentdeliveredreadです。これらのステータスについて詳しくは、こちらをご覧湯ください。


ビジネスは、値をtrue (デフォルト)またはfalseのいずれかに設定することにより、これらのWebhook通知を受け取るかどうかを選択できます。

メディアのパラメーター

名前説明

auto_download

型: 配列

自動ダウンロードするメディアのタイプを指定します。


値:audiodocumentvoicevideoimagesticker

ゴミ収集機能のパラメーター

名前説明

messages

型: ブール

メッセージのゴミ収集を設定します。


値:true (デフォルト)、false
Coreappの再起動が必要。

media

型: ブール

メディアのゴミ収集を設定します。


値:truefalse (デフォルト)
Coreappの再起動が必要。

デフォルトの設定にリセットする

アプリのすべての設定をデフォルト値にリセットするには、/v1/settings/applicationエンドポイントに対してDELETEリクエストを送信します。

リクエストの例

DELETE /v1/settings/application

成功した場合、応答にはnullまたは{}を伴う200 OKが含まれます。

エラーが発生した場合は、エラーメッセージとステータスメッセージをご覧ください。