Apicore Distributor API

Начало работы

  • Для запросов в API используется метод POST
  • Для подключения нужен Api-ключ (Получить <Api-ключ> можно в разделе кабинета "Настройки")
  • Тело запроса raw должно быть в формате JSON
  • Ответ отдается также в формате JSON

Интерфейс API: https://api.apicore.one

Заголовки запроса (Headers)

POST / HTTP 1.1
Host: https://api.apicore.one
Api-Key: <Api-ключ>
Content-Type: application/json
Accept: application/json
Внимание!

Не передавайте Api-ключ посторонним лицам!

Если от вас поступает слишком много ошибочных или одинаковых запросов, мы можем ограничить доступ к API

Если вам требуется дополнительная функциональность в API, пишите на support@apicore.one, с радостью рассмотрим предложения.

Скачать спецификацию OpenAPI
Обзор API
Связаться с поддержкой support@apicore.one
Языки программирования
Серверы
Основной сервер
https://api.apicore.one/

Api-ключ

Операции

Работа с каталогами товаров

Операции

Категории каталога

Операции

Товары каталога

Операции

Работа с заказами

Операции

Создание заказа

Запрос

Метод создает заказ дистрибьютора, с указанием товаров и покупателя.

Покупатель проверяется на Apicore по БИН.

Если найден подключенный дилер с указанным БИН, то заказ создается и у дилера.

Если нет подключенного дилера, то создается фантомный покупатель.

Товары указанные в заказе ищутся в каталогах дистрибьютора.

Поиск товара происходит только по одному из указанных полей.

Приоритет поиска: ext_id, product_id, uuid.

Если товар не найден по ext_id или uuid, то создается фантомный товар, неактивный и без привязки к каталогу.

Отсутствующий товар с указанным product_id создаваться не будет.

Заголовки
Content-TypestringОбязательные поля
Пример: application/json
AcceptstringОбязательные поля
Пример: application/json
Api-KeystringОбязательные поля
Телоapplication/json
ext_idstringОбязательные поля

Внешний ID заказа из внешнего источника. Ограничен 40 символами.

Уникальный в рамках внешнего источника. Для разных источников могут быть одинаковые ext_id.

ext_sourcestringОбязательные поля

Код внешнего источника, из которого создается заказ. Обязательно к заполнению.

payedboolean

Признак оплаты заказа.

Если true, то заказ будет оплачен. По умолчанию - false.

productsArray of objectsОбязательные поля

Массив товаров заказа.

products[].​ext_idstring

Внешний ID товара из внешнего источника или учетной системы Дистрибьютора, который был указан в поле id при импорте товара в каталог. Ограничен 40 символами.

products[].​product_idnumber

Apicore ID - идентификатор товара в системе Apicore.

products[].​uuidstring

UUID товара, заполненный в карточке товара Дистрибьютора. Ограничен 36 символами.

products[].​namestring

Название товара. Если не указан, то будет использовано поле name товара из каталога. Если товар не найден в каталоге, то вместо названия подставится значение из поля id.

products[].​purchasenumberОбязательные поля

Цена покупки товара.

products[].​purchase_currencystringОбязательные поля

Валюта цены покупки товара.

products[].​quantitynumberОбязательные поля

Количество товара.

buyerobjectОбязательные поля

Информация о покупателе.

buyer.​binstringОбязательные поля

БИН покупателя. Обязательно к заполнению.

buyer.​namestringОбязательные поля

Название компании покупателя. Обязательно к заполнению.

buyer.​phonestring

Телефон покупателя.

buyer.​emailstring

Email покупателя.

buyer.​addressstring

Адрес покупателя.

buyer.​contactstring

Контактное лицо покупателя.

curl -i -X POST \
  https://api.apicore.one/distributor/v1/order.create \
  -H 'Accept: application/json' \
  -H 'Api-Key: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "ext_id": "order-1",
    "ext_source": "shop",
    "payed": true,
    "products": [
      {
        "ext_id": "product-1",
        "name": "Товар 1",
        "purchase": 2000,
        "purchase_currency": "KZT",
        "quantity": 1
      },
      {
        "ext_id": "product-2",
        "purchase": 15000,
        "purchase_currency": "KZT",
        "quantity": 2
      }
    ],
    "buyer": {
      "bin": 1234567890123,
      "name": "ТОО «Компания»",
      "phone": "+7 (777) 999-99-99",
      "email": "info@company.com",
      "address": "г. Алматы, пр. Абая, 1, оф. 110",
      "contact": "Иванов Иван Иванович"
    }
  }'

Ответы

Успешный ответ

Телоapplication/json
statusboolean
ext_idstring

Внешний ID заказа, переданный в запросе.

ext_sourcestring

Код внешнего источника, переданный в запросе.

order_idnumber

Apicore ID - идентификатор заказа в системе Apicore.

messagestring

Сообщение об успешном выполнении запроса.

Ответ
application/json
{ "status": true, "ext_id": "order-1", "ext_source": "shop", "order_id": 123, "message": "Заказ успешно создан" }

Получение списка заказов

Запрос

Метод возвращает список заказов дистрибьютора. Один запрос возвращает до 100 заказов.

Заказы можно фильтровать по статусам, id, дате обновления.

Также можно добавлять в вывод дополнительные поля.

Заголовки
Content-TypestringОбязательные поля
Пример: application/json
AcceptstringОбязательные поля
Пример: application/json
Api-KeystringОбязательные поля
Телоapplication/json
filterobject

Фильтр по заказам.

Фильтрация по параметрам происходит по принципу "AND", т.е. заказ должен соответствовать всем условиям фильтра для вывода в результат.

withobject

Массив дополнительных полей, которые нужно добавить в ответ.

date_tzboolean

Признак конвертации дат в формат с временной зоной (TZ). Пример: 2025-10-18T19:23:45+05:00.

limitnumber

Oграничение по количеству заказов в ответе. Максимальное значение 100.

offsetnumber

Параметр смещения для получения следующего списка заказов.

curl -i -X POST \
  https://api.apicore.one/distributor/v1/order.list \
  -H 'Accept: application/json' \
  -H 'Api-Key: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "filter": {
      "status_code": "NW",
      "order_id_gt": 10,
      "order_id_lt": 100,
      "order_id": [
        15,
        20,
        25
      ],
      "date_update_gt": "18.10.2025 15:01:45",
      "date_update_lt": "20.10.2026"
    },
    "with": {
      "note": true
    },
    "date_tz": false,
    "limit": 100,
    "offset": 0
  }'

Ответы

Успешный ответ

Телоapplication/json
statusboolean
ordersArray of objects

Массив заказов дистрибьютора.

totalnumber

Общее количество заказов.

countnumber

Количество заказов в текущем ответе.

limitnumber

Лимит количества заказов в текущем ответе.

offsetnumber

Параметр смещения количества заказов.

next_offsetnumber

Параметр определения, нужен ли еще один запрос. Если параметр существует, можно подставлять его значение в offset следующего запроса. Если параметр отсутствует, значит вы получили весь список заказов.

Ответ
application/json
{ "status": true, "orders": [ {} ], "total": 250, "count": 100, "limit": 100, "offset": 0, "next_offset": 100 }

Изменение статуса заказа

Запрос

Метод меняет статус заказа дистрибьютора.

Заголовки
Content-TypestringОбязательные поля
Пример: application/json
AcceptstringОбязательные поля
Пример: application/json
Api-KeystringОбязательные поля
Телоapplication/json
order_idnumberОбязательные поля

Номер заказа дистрибьютора.

status_codestringОбязательные поля

Код статуса заказа.

curl -i -X POST \
  https://api.apicore.one/distributor/v1/order.status.set \
  -H 'Accept: application/json' \
  -H 'Api-Key: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "order_id": 1,
    "status_code": "NW"
  }'

Ответы

Успешный ответ

Телоapplication/json
statusboolean
messagestring
Ответ
application/json
{ "status": true, "message": "Статус заказа успешно изменен" }

Изменение состава заказа

Запрос

Метод меняет состав заказа, изменяя количество, цену, валюту и список товаров.

Указывается полный список товаров, включая их количество, цену, валюту. Если товар не найден в заказе, он будет добавлен. Если товар есть в заказе, но отсутствует в теле запроса, то товар будет удален из заказа.

Если было хоть одно изменение, то сумма заказа будет пересчитана.

Все изменения отображаются в истории заказа.

Заголовки
Content-TypestringОбязательные поля
Пример: application/json
AcceptstringОбязательные поля
Пример: application/json
Api-KeystringОбязательные поля
Телоapplication/json
order_idnumberОбязательные поля

Номер заказа дистрибьютора.

productsArray of objectsОбязательные поля

Список товаров в заказе.

products[].​ext_idstringОбязательные поля

Внешний ID - идентификатор товара в системе дистрибьютора, уникальный в рамках каталога. Ограничен 40 символами.

products[].​namestring

Название товара. Указывать не обязательно, если товар уже существует в каталоге Apicore. Если товара нет в каталоге, то он будет создан с этим названием и привязан к заказу.

products[].​quantitynumberОбязательные поля

Количество товара в заказе.

products[].​purchasenumberОбязательные поля

Цена товара в заказе.

products[].​purchase_currencystringОбязательные поля

Валюта цены товара в заказе.

curl -i -X POST \
  https://api.apicore.one/distributor/v1/order.product.update \
  -H 'Accept: application/json' \
  -H 'Api-Key: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "order_id": 1,
    "products": [
      {
        "ext_id": "ext-5001",
        "name": "Товар 1",
        "quantity": 3,
        "purchase": 5500,
        "purchase_currency": "KZT"
      },
      {
        "ext_id": "ext-5002",
        "name": "Товар 2",
        "quantity": 1,
        "purchase": 4600,
        "purchase_currency": "KZT"
      }
    ]
  }'

Ответы

Успешный ответ. Возвращает результат с указанием проведенных изменений.

Телоapplication/json
statusboolean
no_updateArray of arrays

Массив ext_id товаров, которые не были изменены. Либо null, если по всем товарам были изменения.

quantity_updateArray of arrays

Массив ext_id товаров, для которых было изменено количество. Либо null, если не было изменений по количеству.

purchase_updateArray of arrays

Массив ext_id товаров, для которых была изменена цена/валюта. Либо null, если не было изменений по цене.

addArray of arrays

Массив ext_id товаров, которые были добавлены в заказ. Либо null, если не было товаров для добавления.

deleteArray of arrays

Массив ext_id товаров, которые были удалены из заказа. Либо null, если не было товаров для удаления.

Ответ
application/json
{ "status": true, "no_update": null, "quantity_update": [ "ext-5001", "ext-5002" ], "purchase_update": [ "ext-5001" ], "add": null, "delete": [ "ext-5003" ] }

Получение списка статусов заказа

Запрос

Метод возвращает полный список статусов заказа дистрибьютора.

Заголовки
Content-TypestringОбязательные поля
Пример: application/json
AcceptstringОбязательные поля
Пример: application/json
Api-KeystringОбязательные поля
curl -i -X POST \
  https://api.apicore.one/distributor/v1/order.status.list \
  -H 'Accept: application/json' \
  -H 'Api-Key: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json'

Ответы

Успешный ответ

Телоapplication/json
statusboolean
statusesArray of objects

Массив статусов заказа дистрибьютора.

Ответ
application/json
{ "status": true, "statuses": [ {}, {}, {}, {}, {}, {}, {}, {} ] }

Изменение параметра оплаты заказа

Запрос

Метод устанавливает/снимает параметр оплаты заказа дистрибьютора.

Заголовки
Content-TypestringОбязательные поля
Пример: application/json
AcceptstringОбязательные поля
Пример: application/json
Api-KeystringОбязательные поля
Телоapplication/json
order_idnumberОбязательные поля

Номер заказа дистрибьютора.

payedbooleanОбязательные поля

Признак оплаты заказа. true - оплачен, false - не оплачен.

curl -i -X POST \
  https://api.apicore.one/distributor/v1/order.payment.set \
  -H 'Accept: application/json' \
  -H 'Api-Key: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "order_id": 1,
    "payed": true
  }'

Ответы

Успешный ответ

Телоapplication/json
One of:
statusboolean
messagestring
Ответ
application/json
{ "status": true, "message": "Оплата заказа установлена" }

Документы заказов

Операции

Работа с типами цен

Операции

Работа со стеком импорта

Операции