Интеграция по API позволяет получать заказы из внешних систем в Controlata.
Настройка интеграции по API требует технических знаний в области программирования и опыта работы с API-интерфейсами. Если вы не являетесь разработчиком, вам потребуется помощь технического специалиста для реализации интеграции. Интеграция подразумевает написание программного кода, который будет взаимодействовать с API Controlata согласно документации ниже.
Перейдите в настройки Controlata, найдите блок "Интеграции" и нажмите "Подключить" напротив "Общее API".
-
Ключ API понадобится для авторизации запросов.
-
Префикс для номеров заказов будет добавлен в начало всех заказов, которые придут через API.
-
Склад продуктов - это тот склад, с которого будут списаны продукты для заказа.
Запрос должен быть отправлен методом POST в формате JSON. Ключ API должен быть отправлен в теле запроса в поле key.
Адрес для отправки запросов:
https://api.controlata.ru/connect/general/new_order.php
Обязательные параметры запроса:
-
key — ключ API
-
name — имя покупателя
-
num - номер заказа
-
products — массив продуктов, каждый продукт представлен в виде объекта с параметрами:
-
sku — должен соответствовать sku из карточки продукта в Controlata
-
amount — количество
-
sum — сумма (цена * количество)
-
Опциональные параметры запроса:
-
email - электронная почта покупателя
-
phone - телефон покупателя
-
address - адрес покупателя
-
delivery_price - стоимость доставки
-
discount - скидка
-
notes - заметки
-
production - если true, то под заказ будет создано отдельное производство, если false или отсутствует, то продукты будут списаны со склада
Ответ будет возвращен также в формате JSON, и будет содержать следующие параметры:
-
success - true / false
-
num - номер заказа
-
error - ошибка, если она случилась
Сопоставление продуктов происходит по полю SKU. Если продукт с соответствующим SKU не найден в системе, он не будет добавлен в заказ, но это не приведет к ошибке. В заметки к заказу будет добавлено примечание, какой продукт был не сопоставлен. Но если ни один продукт из заказа не будет сопоставлен, то это приведет к ошибке и такой заказ не будет создан.
Пример запроса:
{
"key": "45c939581f5f6d2c0d21",
"num": "1237",
"name": "Fedor",
"email": "hi@controlata.ru",
"phone": "89121234567",
"address": "Volgina 3",
"delivery_price": 500,
"discount": "100",
"notes": "Test notes",
"production": false,
"products": [
{
"sku": "A001",
"amount": 2,
"sum": 1800
},
{
"sku": "A002",
"amount": 1,
"sum": 1000
}
]
}
Пример успешного ответа:
{
"success": true,
"num": "A-1237"
}
Пример ответа с ошибкой:
{
"success": false,
"error": "No products in input"
}