Перейти к основному содержимому

Как импортировать данные через Platform API

Регулярное добавление и обновление заказов и клиентов через Platform API v4 — примеры запросов curl.

Передавайте заказы и клиентов через Platform API, если на вашей стороне есть разработка и данные нужно обновлять регулярно. Для разовой загрузки API не нужен, файл проще залить в личном кабинете.

Что понадобится​

  • Ключ OAuth, созданный в разделе Настройки → Разработчикам личного кабинета.
  • Базовый адрес https://api.aplaut.io/v4.
  • Заголовки Content-Type: application/vnd.api+json и Authorization: Bearer {TOKEN} в каждом запросе.

Что передавать​

Коллекция orders, идентификатор заказа — поле number. Заказы запускают UGC-кампании по сбору отзывов и опросы.

Передавайте вместе с заказом статусы оплаты и доставки (payment_status, fulfillment_status): по ним настраиваются условия запуска email-кампаний.

Без product_id отзыв не привяжется к товару

В каждой строке заказа передавайте product_id. Его значение должно совпадать с атрибутом offer.id товара из вашего YML-каталога. Заказ без него импортируется, но собрать по нему отзыв о товаре не получится.

Добавление​

POST /v4/orders

curl -X POST -H "Content-Type: application/vnd.api+json" \
-H "Authorization: Bearer {TOKEN}" \
--url https://api.aplaut.io/v4/orders \
-d '{
"data": {
"type": "orders",
"attributes": {
"number": "order-number-1386",
"consumer_name": "Иван Петров",
"consumer_email": "ivan@example.com",
"details": {
"payment_status": "not-paid",
"fulfillment_status": "packed",
"region": 74
},
"order_lines": [
{ "product_id": 45, "name": "Ботинки ECCO 69", "price": 6800 }
]
}
}
}'

Обновление​

PUT /v4/orders/{number} — так меняют статусы оплаты и доставки.

curl -X PUT -H "Content-Type: application/vnd.api+json" \
-H "Authorization: Bearer {TOKEN}" \
--url https://api.aplaut.io/v4/orders/order-number-1386 \
-d '{
"data": {
"type": "orders",
"attributes": {
"details": { "payment_status": "paid" }
}
}
}'

Проверка результата​

Успешный запрос возвращает код 2xx, история операций видна в журнале событий.

Два ответа стоит обработать отдельно:

  • POST записи, которая уже есть в базе Aplaut, возвращает 422.
  • PUT записи, которой в базе нет, создаёт новую с указанным идентификатором.

Поэтому, когда вы не знаете наверняка, добавлялась ли запись раньше, отправляйте PUT: он закрывает оба случая.