Передача заказов API-ресурсом Add orders
Для передачи заказов необходимо настроить вызов специального API-ресурса Add orders. В запросе можно передать до 1000 заказов.
Каждый раз когда вы передаете заказ API-ресурсом, в системе создается событие, которое может запускать сценарий. Для каждого статуса заказа создается соответствующий тип события, позволяющий настроить отдельные триггеры.
Названия событий
Названия событий состоят из двух частей: слова order и статуса заказа, например: orderINITIALIZED, orderIN_PROGRESS, orderDELIVERED, orderCANCELLED, orderABANDONED_SHOPPING_CART.
Чтобы посмотреть созданные события, перейдите в раздел “Триггеры” → “История событий”:
Параметры событий
Каждое событие содержит обязательные параметры и может содержать дополнительные параметры:
${eventKey} — ключ уникальности события, передаётся в поле externalOrderId. Используется как идентификатор заказа;
${orderId} — ID события в системе; параметр нужен для работы сценария.
В качестве идентификатора контакта должен использоваться один из следующих параметров:
${externalCustomerId} — внеший ID контакта;
${email} — адрес электронной почты контакта;
${phone} — номер телефона контакта.
Важно
Если в событии не передан внешний ID, адрес электронной почты или номер телефона, система не привяжет контакты к заказам и не отправит сообщения этим контактам. В таких случаях ID контакта можно увидеть на вкладке “Триггеры” → “Заказы” → столбец “Контактные данные”.
Чтобы подставить значения параметров в сообщения, передавайте поля с параметрами события в виде массива.
Обязательные поля в массиве orders: externalOrderId, totalCost, status, date, currency.
Обязательные поля в массиве items: externalItemId, quantity.
Обратите внимание
Цена переданных в заказе товаров должна совпадать со значением totalCost (общая сумма заказа). Если клиент покупает товар со скидкой, она должна учитываться в поле items.cost для каждого товара.
Массив с товарами items можно не передавать, если в письмах данные о товарах не нужны, или вы передаете заказы только для RFM-анализа.
См. полный список полей заказа с описаниями >Пример тела запроса:
{ "orders": [{ "externalOrderId": "100500", "externalCustomerId": "12345", "totalCost": 1000, "status": "INITIALIZED", "date": "2017-03-08T09:30:00+02:00", "email": "mail@example.com", "phone": "380942583691", "firstName": "John", "lastName": "Smith", "currency": "USD", "shipping": 10, "discount": 0, "deliveryMethod": "express", "paymentMethod": "cash", "deliveryAddress": "First str. 1", "items": [{ "externalItemId": "200600", "name": "Super Device", "category": "devices", "quantity": 1, "cost": 990, "url": "http://example.com/item/200600", "imageUrl": "http://example.com/item/200600/image.png", "description": "High quality" }] }] }
JSON
Успешный ответ на запрос будет содержать статус 200. В теле ответа также передается список заказов, которые не удалось добавить или обновить.
Возможные причины:
- Одно или несколько обязательных полей пусты или неверный формат значений.
- Все следующие необязательные поля пусты: externalCustomerId, email, phone. Для создания заказа требуется наличие хотя бы одного из них.
Важно
Для формирования RFM-таблицы и визуализации дохода от рассылок на вкладке "Отчеты" используются только заказы со статусом DELIVERED.
Исключения составляют заказы, полученные из мобильного SDK, — в таком случае по умолчанию в визуализации дохода учитываются статусы INITIALIZED и DELIVERED. При необходимости учет статусов INITIALIZED можно отключить – для этого обратитесь в нашу службу поддержки support@esputnik.com
По заказам со статусом DELIVERED можно настроить сегментацию с такими условиями: средний чек, количество продаж и дата последней продажи.
ABANDONED_SHOPPING_CART — статус для брошенных корзин. Используйте этот статус, если вы сами занимаетесь определением брошенных корзин. При использовании веб-трекинга настраивать API для брошенных корзин не нужно.
Для обновления статуса или других данных заказа передавайте обновленный заказ с тем же externalOrderId. По этому параметру в системе определяется уникальность заказов.
Проверка параметров событий
Чтобы проверить корректность передачи заказа, перейдите в раздел:
“Триггеры” → “Заказы” вашего аккаунта eSputnik. Кликните на ID заказа и просмотрите все поля в формате JSON.
Чтобы просмотреть информацию о контакте, нажмите значок “Предварительный просмотр контакта”.
Важно
Для каждого уникального контакта передавайте уникальный externalCustomerId в заказе, с номером телефона и email, которые будут совпадать в заказе и карточке контакта.
- Если ранее уже был заказ с таким externalCustomerId, то система сразу записывает новый заказ тому же контакту.
- Если такого externalCustomerId ранее не было, то будет идти проверка по номеру телефона и почте.
Создание сценариев
1. Перейдите в раздел "Триггеры" → "Сценарии". Нажмите кнопку "Новый сценарий".
2. Укажите название сценария (“Заказ доставлен”, “Заказ в процессе” и т.д).
3. Добавьте в сценарий такие блоки:
- Блок “Задача” → “Получить заказ”. С помощью данного блока система вытянет все данные о заказе и передаст их в письмо;
- Блок отправки сообщения. Выберите сообщение, которое вы предварительно создали для данного сценария (уведомление о заказе, оставьте отзыв и т.д.).
Вместо одного сообщения можно сделать серию. К примеру, через 1-2 недели после сообщения о доставленном заказе отправить просьбу оставить отзыв.
Подробнее о настройке условий запуска и остановки сценария >