온프레미스 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

미디어 링크를 보내기 위한 미디어 제공업체의 리스트를 관리하는 데 사용합니다.

업데이트

앱 설정을 업데이트하려면 설정할 필드 이름과 값이 포함된 JSON 개체가 있는 /v1/settings/application 엔드포인트로 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_persist, garbagecollector_enable, verbose_logging, log_levelwebhooks.max_concurrent_requests입니다.

`log_level`
이름설명

axolotl_context_striping_disabled

유형: 부울

데이터베이스 연결 제한에 영향을 미칩니다.


v2.25 이후로 아웃바운드 및 인바운드 성능이 개선되었습니다. 이 최적화는 추가 데이터베이스 연결이 생성됩니다. 일부 배포의 경우 데이터베이스 연결 제한에 도달할 수 있습니다. 이 경우 axolotl_context_striping_disabled 구성을 true로 설정하여 이 성능 개선 기능을 비활성화하세요. Coreapp의 다른 기능에는 다른 영향이 없습니다.


값:true, false(기본값)

Coreapp을 다시 시작해야 합니다.

callback_backoff_delay_ms

유형: 문자열

실패한 콜백의 백오프 지연(ms).


이 설정은 실패한 콜백을 다시 시도하기 전까지의 백오프 지연 시간을 구성하는 데 사용합니다. 백오프 지연 시간은 콜백이 HTTPS 200 OK 응답을 받지 못할 때마다 이 값만큼 선형적으로 증가합니다. 백오프 지연 시간의 한도는 max_callback_backoff_delay_ms 설정으로 지정됩니다. 예를 들어 콜백이 처음 실패하면 3,000ms(3초) 이내에 다시 시도합니다. 두 번 실패하면 6,000ms(6초) 지연 후에 다시 시도합니다. 이 과정은 콜백이 성공하거나 지연 시간이 900,000ms(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

유형: 정수

마스터 노드가 Coreapp 노드를 모니터링하는 간격(초).


기본값: 5
다중 연결 설정에 적용됩니다.

max_callback_backoff_delay_ms

유형: 문자열

실패한 콜백의 최대 지연 시간(ms). 자세한 내용은 아래에서 callback_backoff_delay_ms에 대한 설명을 참조하세요.


기본값: 900000

media

유형: 배열

자동 다운로드할 미디어 리스트. 자세한 내용은 미디어 자동 다운로드 설정을 참조하세요.

notify_user_change_number

유형: 부울

user_changed_number 시스템 알림에 영향을 미칩니다.


값:true, false(기본값)

pass_through

유형: 부울

v2.35부터는 더 이상 WhatsApp Business API 클라이언트의 pass_through 설정을 다시 활성화할 수 없습니다.


각 메시지를 전송하거나 읽은 후에 삭제하거나 로컬 데이터베이스에 저장할지 여부.


메시지가 전송되면 로컬 데이터베이스에 저장됩니다. 이 데이터베이스는 앱 기록으로 사용됩니다. 비즈니스는 자체적으로 기록을 보관하므로 메시지를 pass_through할지 여부를 지정할 수 있습니다.

  • true인 경우 메시지가 받는 사람에게 전달되거나 받는 사람이 메시지를 읽은 후 로컬 데이터베이스에서 삭제합니다.
  • false인 경우 자동 삭제(즉 db_garbagecollector_enabletrue) 또는 명시적으로 삭제(즉 db_garbagecollector_enablefalse)될 때까지 모든 메시지를 로컬 스토리지에 저장합니다. 자세한 내용은 서비스 문서를 참조하세요.

status 콜백이 의도대로 작동할 수 있도록 pass_through를 비활성화하는 것이 좋습니다.


값:true, false(기본값)

Coreapp을 다시 시작해야 합니다.

show_security_notifications

유형: 부울

이 매개변수를 활성화하면 WhatsApp Business API 클라이언트가 대화 중인 사용자가 변경되었을 가능성이 있다고 탐지했을 때 user_identity_changed Webhooks 알림을 수신합니다. 이 경우 identity 엔드포인트를 사용하여 이 사용자의 신원이 변경되었는지 확인할 때까지 이 사용자에게 발송되는 모든 메시지가 차단됩니다.


값:true, false(기본값)

skip_referral_media_download

유형: 부울

true로 설정할 경우 사용자가 WhatsApp 연결 광고에서 클릭한 이미지 또는 동영상이 다운로드되지 않습니다.


기본값:false

unhealthy_interval

유형: 정수

Coreapp 노드가 하트비트에 응답한 후 상태에 이상이 있다고 판단하고 장애 조치를 시작할 때까지 마스터 노드가 기다리는 최대 시간(초).


기본값: 30
다중 연결 설정에 적용됩니다.

webhook_payload_conversation_pricingmodel_disabled

유형: 부울

이 필드는 v2.39부터 사용 중단되었습니다.

메시지 상태 알림대화가격 정보 페이로드를 포함할지 선택합니다.


값:true, false(기본값)

Coreapp을 다시 시작하지 않아도 됩니다.

webhooks

유형: Webhooks 개체

Webhooks를 사용하고 있는 경우 필수입니다.

Webhooks에 대한 URL을 제공합니다. Webhooks URL이 설정되지 않은 경우 콜백이 실패합니다. Webhooks를 간단하게 보고 테스트하는 방법은 샘플 테스트 앱을 참조하세요.


Webhooks URL을 설정할 때 공유된 시크릿을 쿼리 매개변수로 지정하면 Webhooks 이벤트를 검증할 수 있습니다. 예: https://url?auth='[shared_secret]'.

Webhooks URL. 예: https://spotless-process.glitch.me/webhook.


Webhooks URL이 설정되지 않은 경우 콜백이 실패합니다. 콜백은 시기적절한 알림이나 대역 외 오류를 전송하는 데 중요한 채널이므로 Webhooks URL 엔드포인트를 구성하는 것을 강력히 권장합니다. Webhooks 필드에 대한 자세한 내용은 아래의 Webhooks 매개변수 표를 참조하세요.

verbose_logging

유형: 부울

Coreapp에서 자세한 로깅을 활성화합니다. 이 로깅 수준은 출력량이 많기 때문에 테스트에만 사용해야 합니다. true로 설정할 경우 log_level 속성은 무시됩니다.


값:true, false(기본값)

log_level

유형: Webhooks 개체

Coreapp에서 로깅 수준을 구성합니다. 각 수준에서는 로그 출력량을 점진적으로 줄입니다. info에 정보가 가장 많고 fatal에는 치명적 오류만 포함됩니다.


값:info(기본값), warning, error, fatal

Webhooks 매개변수

이름설명

max_concurrent_requests

유형: 정수

발송되어 전송 중인 콜백 요청의 최대 개수를 구성합니다.


값:6(기본값), 12, 18 또는 24
Coreapp을 다시 시작해야 합니다.

url

유형: 문자열

인바운드 및 아웃바운드 알림은 이 URL로 경로가 설정됩니다. 자세한 내용은 Webhooks 문서를 참조하세요.


HTTPS 기반 엔드포인트가 필요합니다. HTTP는 사용할 수 없습니다.
예:https://spotless-process.glitch.me/webhook

message

유형: 메시지 개체

v2.41.2 이상에서 사용할 수 있습니다.

webhooks 개체에서 중첩되어서 클라이언트가 이 리스트(sent, delivered, read)로부터 수신하고자 하는 메시지 관련 Webhooks 알림을 설정할 수 있도록 합니다. 해당 상태에 대한 자세한 내용은 여기를 참조하세요.


비즈니스는 값을 true(기본값) 또는 false로 설정하여 이러한 Webhooks 알림을 받을지 여부를 선택할 수 있습니다.

미디어 매개변수

이름설명

auto_download

유형: 배열

자동으로 다운로드할 미디어 유형을 지정하는 배열입니다.


값:audio, document, voice, video, image, sticker

가비지 컬렉터 매개변수

이름설명

messages

유형: 부울

메시지 가비지 컬렉션을 구성합니다.


값:true(기본값), false
Coreapp을 다시 시작해야 합니다.

media

유형: 부울

미디어 가비지 컬렉션을 구성합니다.


값:true, false(기본값)
Coreapp을 다시 시작해야 합니다.

기본 설정으로 재설정

모든 앱 설정을 기본값으로 다시 설정하려면 /v1/settings/application 엔드포인트로 DELETE 요청을 보냅니다.

요청 예시

DELETE /v1/settings/application

요청이 성공하면 응답에는 null 또는 {}와 함께 200 OK가 포함됩니다.

오류가 발생하면 오류 및 상태 메시지를 참조하세요.