Отправка шаблонов сообщений с медиафайлами

В шаблонах сообщений с медиафайлами получателям можно отправлять не только стандартные сообщения, но медиафайлы и заголовки, используя для этого объект components. Объект components позволяет указать тип type сообщения и его параметры parameters.


Шаг 1. Выполните запрос POST к /messages.

POST /v1/messages
{
  "to": "recipient_wa_id",
  "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": "video",
        "video": {
          "id": "your-media-id"
        }
      }

      # OR
  
      {
        "type": "video",
        "video": {
          "link": "the-provider-name/protocol://the-url"
          # provider is an optional parameter
          "provider": {
            "name" : "provider-name"
          }
        }
      }

      # 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
      },
    ]
  }
}

Параметры

Рекомендации для форматов медиафайлов

  • Изображения, высота которых превышает соотношение сторон 1.91:1, обрезаются по вертикали. Чтобы передать основную идею, наиболее важную информацию следует разместить в центре изображения.

Шаг 2. Проверьте ответ API.

В случае успеха ответ содержит объект messages с указанием id.

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

В противном случае ответ содержит объект ошибки со строкой ошибки, кодом ошибки и прочей информацией.

Если шаблон отправляется аккаунту, который не может его получить, на настроенный сервер Webhooks будет отправлен объект ошибки 1026 (ReceiverIncapable).

Дополнительную информацию об ошибках см. в разделе Сообщения об ошибках и коды статусов.

Примеры

В этих примерах описан процесс настройки шаблонов сообщений с медиафайлами от создания шаблона в Business Manager до отправки шаблонов через вызовы API к конечной точке messages.

Все примеры служат только для иллюстрации, использовать для работы их нельзя. Чтобы протестировать шаблоны сообщений с медиафайлами, создайте свои примеры и пройдите проверку.

Пример: билет в кинотеатр

В этом примере создается шаблон сообщения с изображением QR-кода.

1. Создайте шаблон сообщения с медиафайлом в Business Manager.

Создание шаблона сообщений в Business Manager

2. Добавьте информацию о параметрах с помощью вызова API messages.

POST /v1/messages
{
    "to": "your-test-recipient-wa-id",
    "recipient_type": "individual",
    "type": "template",
    "template": {
        "namespace": "88b39973_f0d5_54e1_29cf_e80f1e3da4f2",
        "name": "movie_ticket_update",
        "language": {
            "code": "en",
            "policy": "deterministic"
        },
        "components": [
            {
                "type": "header",
                "parameters": [
                    {
                        "type": "image",
                        "image": {
                          "id": "your-image-id"
                        }
                    }
                ]
            },
            {
                "type": "body",
                "parameters": [
                	{
                		"type": "text",
                		"text": "Star Rangers"
                	},
                    {
                    	"type": "date_time",
                        "date_time" : {
                            "fallback_value": "May 1st, 2019 8:45pm",
                            "day_of_month": 20,
                            "year": 2019,
                            "month": 9,
                            "hour": 20,
                            "minute": 45
                        }
                    },
                    {
                        "type": "text",
                        "text": "Carnival, Sangam"
                    },
                    {
                        "type": "text",
                        "text": "Silver"
                    },
                    {
                        "type": "text",
                        "text": "F6, F7, F8"
                    }
                ]
            }
        ]
    }
}

3. Клиент получит сообщение с билетом в кинотеатр.

Сообщение с билетом в кинотеатр

Пример: билет на самолет

В этом примере создается шаблон сообщения с документом в формате PDF.

1. Создайте шаблон сообщения с медиафайлом в Business Manager.

Создание шаблона сообщений в Business Manager

2. Добавьте информацию о параметрах с помощью вызова API messages.

POST /v1/messages
{
    "to": "your-test-recipient-wa-id",
    "recipient_type": "individual",
    "type": "template",
    "template": {
	        "namespace": "88b39973_f0d5_54e1_29cf_e80f1e3da4f2",
        "name": "flight_confirmation",
        "language": {
            "code": "en",
            "policy": "deterministic"
        },
        "components": [
            {
                "type": "header",
                "parameters": [
                    {
                        "type": "document",
                        "document": {
                        	"filename": "MRRATH-CGK-KUL.pdf",
                        	"link": "link-to-your-document"
                        }
                    }
                ]
            },
            {
                "type": "body",
                "parameters": [
                	{
                		"type": "text",
                		"text": "CGK (Jakarta)"
                	},
                	{
                		"type": "text",
                		"text": "KUL (Kuala Lumpur)"
                	},
                    {
                    	"type": "date_time",
                        "date_time" : {
                            "fallback_value": "20th April 2019, 12:20pm",
                            "day_of_month": 20,
                            "year": 2019,
                            "month": 9,
                            "hour": 12,
                            "minute": 10
                        }
                    }
                ]
            }
        ]
    }
}

3. Клиент получит посадочный талон в формате PDF.

Сообщение с билетом на самолет