미디어 메시지 템플릿

v2.25.4부터 미디어 메시지 템플릿에서는 components 개체를 사용하여 표준 메시지 템플릿 유형 외에도 미디어, 머리글, 바닥글을 포함하도록 수신자에게 보낼 수 있는 콘텐츠가 확대됩니다. components 개체로 메시지 type과 메시지의 parameters를 나타낼 수 있습니다.

요청

POST /v1/messages
{
  "to": "recipient_wa_id",
  "ttl": "P4D" | "3600" | 3600,
  "type": "template",
  "template": {
    "namespace": "your-namespace",
    "language": {
      "policy": "deterministic",
      "code": "your-language-and-locale-code"
    },
    "name": "your-template-name",
    "components": [
    {
      "type" : "header",
      "parameters": [
      # The following parameters code example includes several different possible header types, 
      # not all are required for a media message template API call.

      {
        "type": "text",
        "text": "replacement_text"
      }

      # OR

      {
        "type": "document",
        "document": {
          "id": "your-media-id",
          # filename is an optional parameter
          "filename": "your-document-filename"
        }
      }

      # OR

      {
        "type": "document",
        "document": {
          "link": "the-provider-name/protocol://the-url",
          # provider and filename are optional parameters
          "provider": {
            "name" : "provider-name"
          },
          "filename": "your-document-filename"
        }
      }

      # OR

      {
        "type": "image",
        "image": {
          "link": "http(s)://the-url",
          # provider is an optional parameter
          "provider": {
            "name" : "provider-name"
          },
        }
      }
    ]
    # end header
    },
    {
      "type" : "body",
      "parameters": [
        {
          "type": "text",
          "text": "replacement_text"
        },
        {
          "type": "currency",
          "currency" : {
            "fallback_value": "$100.99",
            "code": "USD",
            "amount_1000": 100990
          }
        },
        {
          "type": "date_time",
          "date_time" : {
            "fallback_value": "February 25, 1977",
            "day_of_week": 5,
            "day_of_month": 25,
            "year": 1977,
            "month": 2,
            "hour": 15,
            "minute": 33, #OR
            "timestamp": 1485470276
          }
        },
        {
        ...
        # Any additional template parameters
        }
      ] 
      # end body
      },
    ]
  }
}

매개변수

이름필수설명

to

수신자의 WhatsApp ID

ttl

아니요

TTL(잔여 수명) 기간
자세한 내용은 위의 ttl 개체 섹션을 참조하세요.

type

아니요

미디어 템플릿 메시지를 전송하도록 template으로 설정

template

예(template 메시지의 경우)

모든 템플릿 정보 포함

template 개체

이름필수설명

namespace

템플릿의 네임스페이스
참고:v2.27.8부터 현재 WhatsApp Business API 클라이언트와 연결된 전화번호를 소유하는 WhatsApp Business 계정과 연결된 네임스페이스여야 합니다. 그렇지 않으면 메시지 전송에 실패합니다.

name

템플릿 이름

language

템플릿을 렌더링할 수 있는 언어 지정
deterministic 언어 정책만 템플릿 메시지에 적용됩니다.
자세한 내용은 메시지 템플릿 — 언어 문서를 참조하세요.

components

아니요

메시지 매개변수가 포함된 배열

components 개체

이름필수설명

type

component 유형 설명
값:header, content, footer

parameters

아니요

메시지 콘텐츠가 포함된 배열

parameters 개체

이름필수설명

type

parameter 유형 설명
값:text, currency, date_time, image, document
미디어 유형(imagedocument)은 표준 미디어 메시지에서 사용하는 것과 동일한 형식을 따릅니다. 자세한 내용은 미디어 문서를 참조하세요. 참고: 미디어 메시지 템플릿에 대해서는 현재 PDF 문서만 지원됩니다.
currencydate_time에 대한 자세한 내용은 메시지 템플릿 — 현지화 가능한 매개변수 문서를 참조하세요. 참고:template 메시지의 currencydate_time 매개변수는 default 대신 fallback_value를 사용합니다. 예시는 위의 요청 샘플을 참조하세요.

응답

성공적인 응답에는 id가 있는 messages 개체가 포함됩니다.

{
  "messages": [{
    "id": "gBEGkYiEB1VXAglK1ZEqA1YKPrU"
  }]
}

실패한 응답에는 오류 문자열, 오류 코드 및 기타 정보가 있는 오류 개체가 포함됩니다.

템플릿을 수신할 수 없는 계정으로 템플릿을 보내는 경우 구성된 Webhook 서버에 오류 개체의 1026 (ReceiverIncapable) 오류가 전송됩니다.

오류에 대한 자세한 내용은 오류 및 상태 코드를 참조하세요.