Интеграция по API

Получайте заказы из любого источника по API в Controlata

В данный момент интеграция по 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"
}


👆 На этом пока всё