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

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

Обновлено Dec 19, 2024

Интеграция по 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"
}