GetProduct#
Метод предназначен для получения информации о конкретном продукте каталога по его идентификатору.
Изменение поведения
Ранее метод работал без авторизации инстанса через публичный GraphQL WhatsApp*. Сейчас инстанс должен быть авторизован.
При вызове на неавторизованном инстансе возвращается ошибка авторизации.
Ограничения со стороны WhatsApp
WhatsApp* может временно ограничить доступ к Business Catalog API при частом обращении к методам каталогов.
Не выполняйте большое количество запросов к методам каталогов за короткий промежуток времени.
Запрос#
Для получения продукта требуется выполнить запрос по адресу:
{{apiUrl}}/waInstance{{idInstance}}/getProduct/{{apiTokenInstance}}
Для получения параметров запроса idInstance и apiTokenInstance обратитесь к разделу Перед началом работы.
Параметры запроса#
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
chatId | string | Да | Идентификатор чата продавца в формате 79876543210@c.us |
productId | string | Да | Уникальный идентификатор продукта в WhatsApp* |
Пример тела запроса#
{
"chatId": "79876543210@c.us",
"productId": "26437451389197252"
}
Ответ#
Поля ответа#
| Поле | Тип | Описание |
|---|---|---|
id | string | Уникальный идентификатор продукта |
name | string | Название товара |
description | string | Описание товара |
price | string | Цена (в минимальных денежных единицах, например 95000 = 950.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 | Максимальное доступное количество |
url | string | Ссылка на страницу товара |
shimmed_url | string | Обработанный URL |
status_info | object | Информация о статусе модерации (поле status: APPROVED, PENDING, REJECTED) |
sale_price | string | Цена со скидкой (если есть) |
media | object | Медиафайлы (массивы images и videos) |
belongs_to | string | Владелец продукта |
compliance_category | string | Категория соответствия |
compliance_info | object | Информация о соответствии (включает country_code_origin, importer_name, importer_address) |
variant_info | object | Информация о вариантах товара |
Пример тела ответа#
{
"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": {
"country_code_origin": "RU",
"importer_name": "",
"importer_address": null
},
"variant_info": null
}
Ошибки GetProduct#
Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки
Примеры кода#
import requests
url = "{{apiUrl}}/waInstance{{idInstance}}/getProduct/{{apiTokenInstance}}"
payload = {
"chatId": "79876543210@c.us",
"productId": "26437451389197252"
}
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, json=payload, headers=headers)
print(response.text.encode('utf8'))
curl --location '{{apiUrl}}/waInstance{{idInstance}}/getProduct/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data-raw '{
"chatId": "79876543210@c.us",
"productId": "26437451389197252"
}'