GetProducts#
Метод предназначен для получения списка всех продуктов каталога продавца.
Изменение поведения
Ранее метод работал без авторизации инстанса через публичный GraphQL WhatsApp*. Сейчас инстанс должен быть авторизован.
При вызове на неавторизованном инстансе возвращается ошибка авторизации.
Ограничения со стороны WhatsApp
WhatsApp* может временно ограничить доступ к Business Catalog API при частом обращении к методам каталогов.
Не выполняйте большое количество запросов к методам каталогов за короткий промежуток времени.
Запрос#
Для получения списка продуктов требуется выполнить запрос по адресу:
{{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
}'