Перейти к содержанию

GetProducts#

Test Postman Apidog

Метод предназначен для получения списка всех продуктов каталога продавца.

Изменение поведения

Ранее метод работал без авторизации инстанса через публичный GraphQL WhatsApp*. Сейчас инстанс должен быть авторизован.
При вызове на неавторизованном инстансе возвращается ошибка авторизации.

Ограничения со стороны WhatsApp

WhatsApp* может временно ограничить доступ к Business Catalog API при частом обращении к методам каталогов.
Не выполняйте большое количество запросов к методам каталогов за короткий промежуток времени.

Запрос#

Для получения списка продуктов требуется выполнить запрос по адресу:

POST
{{apiUrl}}/waInstance{{idInstance}}/getProducts/{{apiTokenInstance}}

Для получения параметров запроса idInstance и apiTokenInstance обратитесь к разделу Перед началом работы.

Параметры запроса#

Параметр Тип Обязательный Описание
chatId string Да Идентификатор чата продавца в формате 79876543210@c.us
productLimit integer Нет Количество продуктов, возвращаемых в ответе на запрос. По умолчанию 10

Пример тела запроса#

{
  "chatId": "79876543210@c.us",
  "productLimit": 10
}

Ответ#

Поля ответа#

Поле Тип Описание
paging object Объект пагинации, содержит поле after – курсор для получения следующей страницы продуктов
products array Массив объектов продуктов

Объект пагинации (paging):

Поле Тип Описание
after string Курсор следующей страницы. Передайте это значение в следующем запросе, чтобы получить следующую порцию продуктов. Если следующей страницы нет, возвращается пустая строка

Объект продукта (products):

Поле Тип Описание
id string Уникальный идентификатор продукта в WhatsApp
name string Название товара
description string Описание товара
price string Цена товара (в минимальных денежных единицах, например 85000 = 850.00 RUB)
currency string Код валюты (например, RUB)
retailer_id string Идентификатор товара у продавца
is_hidden boolean Скрыт ли товар
is_sanctioned boolean Находится ли товар под санкциями
product_availability string Доступность товара (IN_STOCK, OUT_OF_STOCK и т.д.)
max_available integer Максимальное доступное количество
status_info object Информация о статусе модерации (поле status: APPROVED, PENDING, REJECTED)
media object Медиафайлы товара (массивы images и videos)

Пример тела ответа#

{
  "paging": {
    "after": "Cg8QZXhjbHVkZV9pdGVtX2lkcxQCCggAYo4zmyyAMQgAWyw5259S/ggAYc+g+yqTVAgAhNXKzOxOWAgAg6htkNProAgAYWB67PU4BggAYUu//w+6lAgAYkLqOjLCxwgAY8unGARbRAgAZQT8w09/GAEPEWV4Y2x1ZGVfZ3JvdXBfaWRzFAIAAQ8OYmFja2VuZF9jdXJzb3IOAQ=="
  },
  "products": [
    {
      "id": "26437451389197252",
      "retailer_id": null,
      "is_hidden": null,
      "is_sanctioned": false,
      "product_availability": "IN_STOCK",
      "max_available": 99,
      "name": "Handmade Ceramic Mug - Large+",
      "description": "Hand-painted ceramic mug, 450ml. Dishwasher safe. New larger size.",
      "url": null,
      "shimmed_url": null,
      "currency": "RUB",
      "price": "1000",
      "status_info": {
        "can_appeal": null,
        "status": "APPROVED"
      },
      "sale_price": null,
      "media": {
        "images": [
          {
            "id": "26756491040611445",
            "original_image_url": "https://mmg.whatsapp.net/...",
            "request_image_url": "https://mmg.whatsapp.net/..."
          }
        ],
        "videos": []
      },
      "belongs_to": null,
      "compliance_category": null,
      "compliance_info": null,
      "variant_info": null
    }
  ]
}

Ошибки GetProducts#

Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки

Примеры кода#

import requests
url = "{{apiUrl}}/waInstance{{idInstance}}/getProducts/{{apiTokenInstance}}"
payload = {
    "chatId": "79876543210@c.us",
    "productLimit": 10
}
headers = {
    'Content-Type': 'application/json'
}
response = requests.post(url, json=payload, headers=headers)
print(response.text.encode('utf8'))
curl --location '{{apiUrl}}/waInstance{{idInstance}}/getProducts/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "chatId": "79876543210@c.us",
    "productLimit": 10
}'