API

GET /api/api-versions Получение списка доступных версий API

Получение списка доступных версий API

Метод позволяет получить все версии API, с которыми можно работать на данном аккаунте

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
versionsarrayДоступные версии API

GET /api/credentials Получение списка доступных методов и магазинов для данного ключа

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

Метод позволяет получить список методов API и информацию о доступе к магазинам для данного API-ключа. Если режим доступа к магазинам siteAccess имеет значение access_selective, то возвращается список магазинов sitesAvailable, с которыми может работать данный API-ключ.

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
credentials[]array of stringsДоступные методы для ключа
siteAccessstringРежим доступа к магазинам. Возможные значения:
access_full - доступ к данным всех магазинов;
access_selective - доступ к данным отдельных магазинов. Доступные магазины перечислены в поле sitesAvailable
sitesAvailable[]array of stringsДоступные магазины

Расходы

GET /api/v5/costs Получение списка расходов, удовлетворяющих заданному фильтру

Получение списка расходов, удовлетворяющих заданному фильтру

Результат возвращается постранично. В поле pagination содержится информация о постраничной разбивке.

Параметры

ПараметрТипФорматОписание
limitinteger{not blank}[20|50|100], [20|50|100|250]}Количество элементов в ответе (по умолчанию равно 20)
pageinteger{not blank}{range: {>=1}}}Номер страницы с результатами (по умолчанию равно 1)
filterobject (CostFilter)
filter[minSumm]string{range: {>=0, <=100000000000}}Минимальная сумма расхода
filter[maxSumm]string{range: {>=0, <=100000000000}}Максимальная сумма расхода
filter[orderNumber]string{length: {max: 255}}Номер заказа связанного с расходом
filter[comment]string{length: {max: 1000}}Комментарий
filter[ids]array of objects (IntegerType)ID расходов
filter[sites][]array of choicesМассив символьных кодов магазинов, связанных с расходами
filter[createdBy][]array of choicesМассив ID пользователей, создавших расход
filter[costGroups][]array of choicesМассив символьных кодов групп расходов
filter[costItems][]array of choicesМассив символьных кодов статей расходов
filter[users][]array of choicesМассив ID пользователей, связанных с расходами
filter[dateFrom]stringПериод расхода (от)
filter[dateTo]stringПериод расхода (до)
filter[createdAtFrom]stringДата создания расхода (от)
filter[createdAtTo]stringДата создания расхода (до)
filter[orderIds][]array of objects (IntegerType)Массив внутренних ID заказов
filter[orderExternalIds][]array of objects (TextType)Массив внешних ID заказов

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
paginationobject (PaginationResponse)Постраничная разбивка
pagination[limit]integerКоличество элементов в ответе
pagination[totalCount]integerОбщее количество найденных элементов
pagination[currentPage]integerТекущая страница выдачи
pagination[totalPageCount]integerОбщее количество страниц выдачи
costs[]array of objects (Cost)Расход
costs[][source]object (SerializedSource)Данные по источнику клиента
costs[][source][source]stringИсточник
costs[][source][medium]stringКанал
costs[][source][campaign]stringКампания
costs[][source][keyword]stringКлючевое слово
costs[][source][content]stringСодержание кампании
costs[][id]integerID расхода
costs[][dateFrom]DateTimeДата (от)
costs[][dateTo]DateTimeДата (до)
costs[][summ]floatСумма
costs[][costItem]stringКод статьи расхода
costs[][comment]stringКомментарий
costs[][createdAt]DateTimeДата создания
costs[][createdBy]stringID пользователя, создавшего заказ
costs[][order]object (Order)Заказ
costs[][order][id]integerID заказа
costs[][order][number]stringНомер заказа
costs[][order][externalId]stringВнешний ID заказа
costs[][userId]integerID пользователя, связанного с расходом
costs[][sites][]array of stringsСимвольные коды магазинов, по которым понесён расход

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

POST /api/v5/costs/create Создание расхода

Создание расхода

При создании расходов для привлечения клиентов в полях cost[source][...] можно указать значения соответствующих меток. Значения меток по умолчанию будут взяты из статьи расхода, символьный код которой указан в поле cost[costItem].

Для указания магазинов, к которым будет прикреплён расход, необходимо указать массив их символьных кодов в поле cost[sites][]. По умолчанию расход будет создан для всех магазинов, доступ к которым разрешён по API-ключу.

Расход можно привязать к существующему заказу, только если статья расхода имеет признак "Относится к расходам по заказам". Для этого необходимо установить значение одного из следующих полей:

Если установлено значение нескольких полей, они будут обрабатываться в указанном выше порядке. Поиск заказа по externalId/number будет осуществляться в рамках магазина указанного в параметре site.

Параметры

ПараметрТипФорматОписание
sitestringСимвольный код магазина. Указывается в случае привязки к заказу по externalId или number
costobject (SerializedCost)Расход
cost[dateFrom]DateTimeДата (от)
cost[dateTo]DateTimeДата (до)
cost[summ]floatСумма
cost[comment]stringКомментарий
cost[costItem]stringКод статьи расхода
cost[order]object (SerializedEntityOrder)Заказ
cost[order][id]integerВнутренний ID заказа
cost[order][externalId]stringВнешний ID заказа
cost[order][number]stringНомер заказа
cost[userId]integerID пользователя, связанного с расходом
cost[sites]arrayСимвольные коды магазинов, по которым понесён расход
cost[source]object (SerializedSource)Данные по источнику клиента
cost[source][source]stringИсточник
cost[source][medium]stringКанал
cost[source][campaign]stringКампания
cost[source][keyword]stringКлючевое слово
cost[source][content]stringСодержание кампании

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
idintegerВнутренний ID созданного расхода

Статусы ответа

Код статуса ответаОписание
201
  • Новый расход успешно создан
400
  • Ошибка при создании расхода

POST /api/v5/costs/delete Пакетное удаление расходов

Пакетное удаление расходов

Метод позволяет удалять пакетно до 50 расходов.

Параметры

ПараметрТипФорматОписание
ids[]array of integersИдентификаторы удаляемых расходов

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
countintegerКоличество удаленных расходов
notRemovedIds[]array of integersИдентификаторы неудаленных расходов

Статусы ответа

Код статуса ответаОписание
200
  • Расходы успешно удалены
400
  • Ошибка при пакетном удалении расходов

POST /api/v5/costs/upload Пакетная загрузка расходов

Пакетная загрузка расходов

Метод позволяет загружать пакетно до 50 расходов.

Подробную информацию по формату данных см. в описании метода /api/v*/costs/create.

При пакетной загрузке расходов для привлечения клиентов в полях cost[][source][...] можно указать значения соответствующих меток. Значения меток по умолчанию будут взяты из статьи расхода, символьный код которой указан в поле costs[][costItem].

Параметры

ПараметрТипФорматОписание
costs[]array of objects (SerializedCost)Расход
costs[][dateFrom]DateTimeДата (от)
costs[][dateTo]DateTimeДата (до)
costs[][summ]floatСумма
costs[][comment]stringКомментарий
costs[][costItem]stringКод статьи расхода
costs[][order]object (SerializedEntityOrder)Заказ
costs[][order][id]integerВнутренний ID заказа
costs[][order][externalId]stringВнешний ID заказа
costs[][order][number]stringНомер заказа
costs[][userId]integerID пользователя, связанного с расходом
costs[][sites]arrayСимвольные коды магазинов, по которым понесён расход
costs[][source]object (SerializedSource)Данные по источнику клиента
costs[][source][source]stringИсточник
costs[][source][medium]stringКанал
costs[][source][campaign]stringКампания
costs[][source][keyword]stringКлючевое слово
costs[][source][content]stringСодержание кампании

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
uploadedCosts[]array of integersИдентификаторы загруженных расходов

Статусы ответа

Код статуса ответаОписание
201
  • Все расходы успешно загружены
400
  • Не передан массив расходов, либо массив слишком большой
460
  • Во время загрузки возникли ошибки. Часть расходов не загружена

GET /api/v5/costs/{id} Получение информации о расходе

Получение информации о расходе

Параметры

ПараметрТипФорматОписание
idstringID расхода

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
costobject (Cost)Расход
cost[source]object (SerializedSource)Данные по источнику клиента
cost[source][source]stringИсточник
cost[source][medium]stringКанал
cost[source][campaign]stringКампания
cost[source][keyword]stringКлючевое слово
cost[source][content]stringСодержание кампании
cost[id]integerID расхода
cost[dateFrom]DateTimeДата (от)
cost[dateTo]DateTimeДата (до)
cost[summ]floatСумма
cost[costItem]stringКод статьи расхода
cost[comment]stringКомментарий
cost[createdAt]DateTimeДата создания
cost[createdBy]stringID пользователя, создавшего заказ
cost[order]object (Order)Заказ
cost[order][id]integerID заказа
cost[order][number]stringНомер заказа
cost[order][externalId]stringВнешний ID заказа
cost[userId]integerID пользователя, связанного с расходом
cost[sites][]array of stringsСимвольные коды магазинов, по которым понесён расход

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
404
  • Расход не найден

POST /api/v5/costs/{id}/delete Удаление расхода

Удаление расхода

Параметры

ПараметрТипФорматОписание
idstringID расхода

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)

Статусы ответа

Код статуса ответаОписание
200
  • Расход успешно удалён
400
  • Ошибка при удалении расхода
404
  • Расход не найден

POST /api/v5/costs/{id}/edit Редактирование расхода

Редактирование расхода

При редактировании расходов для привлечения клиентов в полях cost[source][...] можно указать значения соответствующих меток.

Расход можно привязать к существующему заказу, только если статья расхода имеет признак "Относится к расходам по заказам". Для этого необходимо установить значение одного из следующих полей:

Если установлено значение нескольких полей, они будут обрабатываться в указанном выше порядке. Поиск заказа по externalId/number будет осуществляться в рамках магазина указанного в параметре site.

Параметры

ПараметрТипФорматОписание
sitestringСимвольный код магазина. Указывается в случае привязки к заказу по externalId или number
costobject (SerializedCost)Расход
cost[dateFrom]DateTimeДата (от)
cost[dateTo]DateTimeДата (до)
cost[summ]floatСумма
cost[comment]stringКомментарий
cost[costItem]stringКод статьи расхода
cost[order]object (SerializedEntityOrder)Заказ
cost[order][id]integerВнутренний ID заказа
cost[order][externalId]stringВнешний ID заказа
cost[order][number]stringНомер заказа
cost[userId]integerID пользователя, связанного с расходом
cost[sites]arrayСимвольные коды магазинов, по которым понесён расход
cost[source]object (SerializedSource)Данные по источнику клиента
cost[source][source]stringИсточник
cost[source][medium]stringКанал
cost[source][campaign]stringКампания
cost[source][keyword]stringКлючевое слово
cost[source][content]stringСодержание кампании

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
idintegerВнутренний ID расхода

Статусы ответа

Код статуса ответаОписание
200
  • Данные расхода успешно изменены
400
  • Ошибка при изменении расхода

Пользовательские поля

GET /api/v5/custom-fields Получение списка пользовательских полей, удовлетворяющих заданному фильтру

Получение списка пользовательских полей, удовлетворяющих заданному фильтру

Параметры

ПараметрТипФорматОписание
limitinteger{not blank}[20|50|100], [20|50|100|250]}Количество элементов в ответе (по умолчанию равно 20)
pageinteger{not blank}{range: {>=1}}}Номер страницы с результатами (по умолчанию равно 1)
filterobject (CustomFieldFilter)
filter[name]stringНазвание
filter[code]stringСимвольный код
filter[type]string{choice of [boolean|date|dictionary|email|integer|numeric|string|text]}Тип поля
filter[entity]string[customer|order]Поля для таблицы
filter[viewMode]string{choice of [editable|miss|not_editable]}Вид поля в форме
filter[displayArea]string{choice of [customer|delivery|dimensions|legal_details|main_data|payment|shipment]}Область отображения

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
paginationobject (PaginationResponse)Постраничная разбивка
pagination[limit]integerКоличество элементов в ответе
pagination[totalCount]integerОбщее количество найденных элементов
pagination[currentPage]integerТекущая страница выдачи
pagination[totalPageCount]integerОбщее количество страниц выдачи
customFields[]array of objects (CustomField)Пользовательское поле
customFields[][name]stringНазвание
customFields[][code]stringСимвольный код
customFields[][required]booleanОбязательное
customFields[][inFilter]booleanДоступно в фильтре
customFields[][inList]booleanДоступно в списке
customFields[][inGroupActions]booleanДоступно в групповых операциях
customFields[][type]stringТип поля
customFields[][entity]stringПоля для таблицы
customFields[][default]stringЗначение по умолчанию
customFields[][ordering]integerСортировка
customFields[][displayArea]stringОбласть отображения
customFields[][viewMode]stringВид поля в форме
customFields[][dictionary]stringСвязанный словарь

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

GET /api/v5/custom-fields/dictionaries Получение списка справочников, удовлетворяющих заданному фильтру

Получение списка справочников, удовлетворяющих заданному фильтру

Параметры

ПараметрТипФорматОписание
limitinteger{not blank}[20|50|100], [20|50|100|250]}Количество элементов в ответе (по умолчанию равно 20)
pageinteger{not blank}{range: {>=1}}}Номер страницы с результатами (по умолчанию равно 1)
filterobject (CustomDictionaryFilter)
filter[name]stringНазвание
filter[code]string

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
paginationobject (PaginationResponse)Постраничная разбивка
pagination[limit]integerКоличество элементов в ответе
pagination[totalCount]integerОбщее количество найденных элементов
pagination[currentPage]integerТекущая страница выдачи
pagination[totalPageCount]integerОбщее количество страниц выдачи
customDictionaries[]array of objects (CustomDictionary)Справочник
customDictionaries[][name]stringНазвание
customDictionaries[][code]stringСимвольный код
customDictionaries[][elements][]array of objects (SerializedCustomDictionaryElement)Элемент справочника
customDictionaries[][elements][][name]stringНазвание
customDictionaries[][elements][][code]stringСимвольный код
customDictionaries[][elements][][ordering]integerСортировка

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

POST /api/v5/custom-fields/dictionaries/create Создание справочника

Создание справочника

Поле customDictionary[code] задается только при создании справочника.

Поле customDictionary[elements][][name] обязательное.

Поле customDictionary[elements][][code] обязательное.

Поле customDictionary[elements][][ordering] по умолчанию принимает значение 50.

Параметры

ПараметрТипФорматОписание
customDictionaryobject (SerializedCustomDictionary)Справочник
customDictionary[name]string{not blank}Название
customDictionary[code]string{not blank}{match: |^[a-z][\w_-]+$|}}Символьный код
customDictionary[elements][]array of objects (SerializedCustomDictionaryElement){not blank}Элемент справочника
customDictionary[elements][][name]stringНазвание
customDictionary[elements][][code]stringСимвольный код
customDictionary[elements][][ordering]integerСортировка

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
codestringСимвольный код

Статусы ответа

Код статуса ответаОписание
201
  • Справочник успешно создан
400
  • Ошибка при выполнении запроса

GET /api/v5/custom-fields/dictionaries/{code} Получение информации о справочнике

Получение информации о справочнике

Параметры

ПараметрТипФорматОписание
codestringСимвольный код

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
customDictionaryobject (CustomDictionary)Справочник
customDictionary[name]stringНазвание
customDictionary[code]stringСимвольный код
customDictionary[elements][]array of objects (SerializedCustomDictionaryElement)Элемент справочника
customDictionary[elements][][name]stringНазвание
customDictionary[elements][][code]stringСимвольный код
customDictionary[elements][][ordering]integerСортировка

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
404
  • Справочник не найден

POST /api/v5/custom-fields/dictionaries/{code}/edit Редактирование справочика

Редактирование справочика

Поле customDictionary[code] не редактируется.

Поле customDictionary[elements][][name] обязательное.

Поле customDictionary[elements][][code] обязательное.

Поле customDictionary[elements][][ordering] по умолчанию принимает значение 50.

Параметры

ПараметрТипФорматОписание
customDictionaryobject (SerializedCustomDictionary)Справочник
customDictionary[name]string{not blank}Название
customDictionary[elements][]array of objects (SerializedCustomDictionaryElement){not blank}Элемент справочника
customDictionary[elements][][name]stringНазвание
customDictionary[elements][][code]stringСимвольный код
customDictionary[elements][][ordering]integerСортировка

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
codestringСимвольный код

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса
404
  • Справочник не найден

POST /api/v5/custom-fields/{entity}/create Создание пользовательского поля

Создание пользовательского поля

Поля {entity}, customField[type], customField[code] задаются только при создании пользовательского поля.

Если поле customField[type] = dictionary, в поле customField[default] требуется передавать код элемента справочника.

Доступные значения поля customField[displayArea] зависят от {entity}.

Если поле {entity} = order, поле customField[displayArea] может принимать следующие значения:

Если поле {entity} = customer, поле customField[displayArea] может принимать следующие значения.

Поле customField[required] по умолчанию принимает значение false.

Поле customField[inFilter] по умолчанию принимает значение true.

Поле customField[inList] по умолчанию принимает значение true.

Поле customField[inGroupActions] по умолчанию принимает значение false.

Поле customField[viewMode] по умолчанию принимает значение editable.

Поле customField[ordering] по умолчанию принимает значение 50.

Если поле customField[type] = dictionary, поле customField[dictionary] является обязательным и содержит код связанного справочника. Заполняется только при создании пользовательского поля.

Параметры

ПараметрТипФорматОписание
customFieldobject (SerializedCustomField)Пользовательское поле
customField[name]string{not blank}Название
customField[code]string{not blank}{match: |^[a-z][\w_-]+$|}}Символьный код
customField[type]string{not blank}[boolean|date|dictionary|email|integer|numeric|string|text]}Тип поля
customField[entity]choice{not blank}[customer|order]}Поля для таблицы
customField[ordering]integer{range: {>=0}}Сортировка
customField[displayArea]string[customer|delivery|dimensions|legal_details|main_data|payment|shipment]Область отображения
customField[viewMode]string[editable|miss|not_editable]Вид поля в форме
customField[required]booleanОбязательное
customField[inFilter]booleanДоступно в фильтре
customField[inList]booleanДоступно в списке
customField[inGroupActions]booleanДоступно в групповых операциях
customField[default]stringЗначение по умолчанию
customField[dictionary]stringСвязанный словарь
entitystringПоле для таблицы

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
codestringСимвольный код

Статусы ответа

Код статуса ответаОписание
201
  • Пользовательское поле успешно создано
400
  • Ошибка при выполнении запроса

GET /api/v5/custom-fields/{entity}/{code} Получение информации о пользовательском поле

Получение информации о пользовательском поле

Параметры

ПараметрТипФорматОписание
codestringinput.custom-fields.code
entitystringinput.custom-fields.entity

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
customFieldobject (CustomField)Пользовательское поле
customField[name]stringНазвание
customField[code]stringСимвольный код
customField[required]booleanОбязательное
customField[inFilter]booleanДоступно в фильтре
customField[inList]booleanДоступно в списке
customField[inGroupActions]booleanДоступно в групповых операциях
customField[type]stringТип поля
customField[entity]stringПоля для таблицы
customField[default]stringЗначение по умолчанию
customField[ordering]integerСортировка
customField[displayArea]stringОбласть отображения
customField[viewMode]stringВид поля в форме
customField[dictionary]stringСвязанный словарь

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
404
  • Пользовательское поле не найдено

POST /api/v5/custom-fields/{entity}/{code}/edit Редактирование пользовательского поля

Редактирование пользовательского поля

Если поле customField[type] = dictionary, в поле customField[default] требуется передавать код элемента справочника.

Доступные значения поля customField[displayArea] зависят от {entity}.

Если поле {entity} = order, поле customField[displayArea] может принимать следующие значения:

Если поле {entity} = customer, поле customField[displayArea] может принимать следующие значения.

Параметры

ПараметрТипФорматОписание
customFieldobject (SerializedCustomField)Пользовательское поле
customField[name]string{not blank}Название
customField[ordering]integer{not blank}{range: {>=0}}}Сортировка
customField[displayArea]string[customer|delivery|dimensions|legal_details|main_data|payment|shipment]Область отображения
customField[viewMode]string[editable|miss|not_editable]Вид поля в форме
customField[required]booleanОбязательное
customField[inFilter]booleanДоступно в фильтре
customField[inList]booleanДоступно в списке
customField[inGroupActions]booleanДоступно в групповых операциях
customField[default]stringЗначение по умолчанию
entitystringПоле для таблицы

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
codestringСимвольный код

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса
404
  • Пользовательское поле не найдено

Клиенты

GET /api/v5/customers Получение списка клиентов, удовлетворяющих заданному фильтру

Получение списка клиентов, удовлетворяющих заданному фильтру

Результат возвращается постранично. В поле pagination содержится информация о постраничной разбивке.

В фильтрах filter[sourceName], filter[mediumName], filter[campaignName], filter[keywordName], filter[adContentName] указывается название элементов.

В фильтрах filter[managers][] указывается массив внутренних ID элементов в системе.

В фильтре filter[managerGroups][] указывается массив символьных кодов элементов.

Фильтр filter[discountCardNumber] доступен, если включено поле «Дисконтная карта» в модуле «Лояльность».

В фильтрах filter[ids][] и filter[externalIds][] передается массив внутренних и внешних идентификаторов соответственно.

Фильтр filter[classSegment] позволяет получить сегменты RFM-анализа клиентов. Доступны следующие значения: monetary[0..2]_recency[0..2]frequency[0..2]_recency[0..2]monetary[0..2]_frequency[0..2].

Фильтром filter[name] можно производить поиск по ФИО или телефону клиента.

С помощью фильтра filter[customFields][] можно производить поиск по значениям пользовательских полей. Для полей типа «Справочник» указывается символьный код значения в справочнике. Для полей типа «Дата» указывается дата в формате Y-m-d. Для других типов полей указывается непосредственно значение.

Для пользовательских полей типа Целое число, Число и Дата фильтрация осуществляется по диапазону, для остальных типов полей — по точному значению. Имя фильтра соответствует символьному коду поля. Пример: для поля типа Дата с символьным кодом birth-date доступны фильтры filter[customFields][birth_date][min] и filter[customFields][birth_date][max]. Для поля типа Справочник с символьным кодом quality доступен множественный фильтр filter[customFields][quality][].

В фильтре filter[attachments] можно указать одно из трех значений:

Поля personalDiscount, cumulativeDiscount и discountCardNumber возвращаются, если они включены в настройках модуля «Лояльность».

Поле contragent[contragentType] может принимать 3 значения: individual - физическое лицо, legal-entity - юридическое лицо, enterpreneur - индивидуальный предприниматель. Для различных типов юр. лиц доступны различные наборы полей. Для типа individual недоступны все поля, для типа legal-entity недоступны поля contragent[OGRNIP], contragent[certificateNumber], contragent[certificateDate], для типа enterpreneur недоступны поля contragent[OGRN], contragent[KPP].

Параметры

ПараметрТипФорматОписание
limitinteger{not blank}[20|50|100], [20|50|100|250]}Количество элементов в ответе (по умолчанию равно 20)
pageinteger{not blank}{range: {>=1}}}Номер страницы с результатами (по умолчанию равно 1)
filterobject (CustomerFilter)
filter[externalIds]array of objects (TextType)Массив externalID клиентов
filter[city]string{length: {max: 255}}Город
filter[region]string{length: {max: 255}}Регион
filter[name]string{length: {max: 255}}Клиент
filter[email]string{length: {max: 255}}E-mail
filter[notes]stringЗаметки
filter[minOrdersCount]string{range: {>=0, <=100000000000}}Количество заказов (от)
filter[maxOrdersCount]string{range: {>=0, <=100000000000}}Количество заказов (до)
filter[minAverageSumm]string{range: {>=0, <=100000000000}}Средний чек (от)
filter[maxAverageSumm]string{range: {>=0, <=100000000000}}Средний чек (до)
filter[minTotalSumm]string{range: {>=0, <=100000000000}}Сумма по заказам (от)
filter[maxTotalSumm]string{range: {>=0, <=100000000000}}Сумма по заказам (до)
filter[classSegment]string{match: /^(monetary|recency|frequency)[0-2]_(recency|frequency|monetary)[0-2]$/}Сегмент
filter[online]choice[0|1]Клиент на сайте
filter[sex]choice[female|male]Пол
filter[discountCardNumber]string{length: {max: 255}}Номер дисконтной карты
filter[emailMarketingUnsubscribed]choice[0|1]Отписан от email рассылок
filter[minCostSumm]stringСумма расходов по заказам (от)
filter[maxCostSumm]stringСумма расходов по заказам (до)
filter[vip]string[0|1]Важный клиент
filter[bad]string[0|1]Плохой клиент
filter[contragentName]string{length: {max: 255}}Наименование контрагента
filter[contragentTypes][]array of choices{choice of [enterpreneur|individual|legal-entity]}Типы контрагента
filter[contragentInn]string{match: /\d+/}ИНН
filter[contragentKpp]string{match: /\d+/}КПП
filter[contragentBik]string{match: /\d+/}БИК банка
filter[contragentCorrAccount]string{match: /\d+/}Корр. счет банка
filter[contragentBankAccount]string{match: /\d+/}Расчетный счет
filter[attachments]choice[1|2|3]Прикрепленные объекты (вложения)
filter[ids]array of objects (IntegerType)Массив ID клиентов
filter[sites][]array of choicesМагазины
filter[managers][]array of choicesМенеджеры
filter[segment]stringСегмент
filter[managerGroups][]array of choicesГруппы менеджеров
filter[dateFrom]stringДата регистрации (от)
filter[dateTo]stringДата регистрации (до)
filter[firstWebVisitFrom]stringПервое посещение (от)
filter[firstWebVisitTo]stringПервое посещение (до)
filter[lastWebVisitFrom]stringПоследнее посещение (от)
filter[lastWebVisitTo]stringПоследнее посещение (до)
filter[firstOrderFrom]stringПервый заказ (от)
filter[firstOrderTo]stringПервый заказ (до)
filter[lastOrderFrom]stringПоследний заказ (от)
filter[lastOrderTo]stringПоследний заказ (до)
filter[customFields]arrayПользовательские поля
filter[browserId]stringИдентификатор устройства в Collector
filter[commentary]stringКомментарий оператора
filter[sourceName]string{length: {max: 255}}Источник
filter[mediumName]string{length: {max: 255}}Канал
filter[campaignName]string{length: {max: 255}}Кампания
filter[keywordName]stringКлючевое слово
filter[adContentName]stringСодержание кампании

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
paginationobject (PaginationResponse)Постраничная разбивка
pagination[limit]integerКоличество элементов в ответе
pagination[totalCount]integerОбщее количество найденных элементов
pagination[currentPage]integerТекущая страница выдачи
pagination[totalPageCount]integerОбщее количество страниц выдачи
customers[]array of objects (Customer)Клиент
customers[][id]integerID клиента
customers[][externalId]stringВнешний ID клиента
customers[][firstName]stringИмя
customers[][lastName]stringФамилия
customers[][patronymic]stringОтчество
customers[][sex]stringПол
customers[][email]stringE-mail
customers[][phones][]array of objects (CustomerPhone)Телефоны
customers[][phones][][number]stringНомер телефона
customers[][address]object (CustomerAddress)Адрес клиента
customers[][address][index]stringИндекс
customers[][address][countryIso]stringISO код страны (ISO 3166-1 alpha-2)
customers[][address][region]stringРегион
customers[][address][regionId]integerИдентификатор региона в Geohelper
customers[][address][city]stringГород
customers[][address][cityId]integerИдентификатор города в Geohelper
customers[][address][cityType]stringТип населенного пункта
customers[][address][street]stringУлица
customers[][address][streetId]integerИдентификатор улицы в Geohelper
customers[][address][streetType]stringТип улицы
customers[][address][building]stringДом
customers[][address][flat]stringНомер квартиры/офиса
customers[][address][intercomCode]stringКод домофона
customers[][address][floor]integerЭтаж
customers[][address][block]integerПодъезд
customers[][address][house]stringСтроение/корпус
customers[][address][metro]stringМетро
customers[][address][notes]stringПримечания к адресу
customers[][address][text]stringАдрес в текстовом виде
customers[][createdAt]DateTimeСоздан
customers[][birthday]DateTimeДень рождения
customers[][managerId]integerМенеджер клиента
customers[][vip]booleanВажный клиент
customers[][bad]booleanПлохой клиент
customers[][site]stringМагазин, с которого пришел клиент
customers[][source]object (SerializedSource)Источник клиента
customers[][source][source]stringИсточник
customers[][source][medium]stringКанал
customers[][source][campaign]stringКампания
customers[][source][keyword]stringКлючевое слово
customers[][source][content]stringСодержание кампании
customers[][contragent]object (CustomerContragent)Реквизиты
customers[][contragent][contragentType]stringТип контрагента
customers[][contragent][legalName]stringПолное наименование
customers[][contragent][legalAddress]stringАдрес регистрации
customers[][contragent][INN]stringИНН
customers[][contragent][OKPO]stringОКПО
customers[][contragent][KPP]stringКПП
customers[][contragent][OGRN]stringОГРН
customers[][contragent][OGRNIP]stringОГРНИП
customers[][contragent][certificateNumber]stringНомер свидетельства
customers[][contragent][certificateDate]DateTimeДата свидетельства
customers[][contragent][BIK]stringБИК
customers[][contragent][bank]stringБанк
customers[][contragent][bankAddress]stringАдрес банка
customers[][contragent][corrAccount]stringКорр. счёт
customers[][contragent][bankAccount]stringРасчётный счёт
customers[][personalDiscount]doubleПерсональная скидка
customers[][cumulativeDiscount]doubleНакопительная скидка
customers[][discountCardNumber]stringНомер дисконтной карты
customers[][emailMarketingUnsubscribedAt]DateTimeДата отписки от email рассылок
customers[][avgMarginSumm]floatСредняя валовая прибыль по заказам клиента
customers[][marginSumm]floatLTV
customers[][totalSumm]floatОбщая сумма заказов
customers[][averageSumm]floatСредняя сумма заказа
customers[][ordersCount]integerКоличество заказов
customers[][costSumm]floatСумма расходов
customers[][maturationTime]integerВремя «созревания», в секундах
customers[][firstClientId]stringПервая метка клиента Google Analytics
customers[][lastClientId]stringПоследняя метка клиента Google Analytics
customers[][customFields]arrayАссоциативный массив пользовательских полей

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

POST /api/v5/customers/combine Объединение клиентов

Объединение клиентов

Позволяет объединить клиентов.

При конфликте полей сохранятся только данные клиента resultCustomer, данные прочих клиентов по конкретному полю будут удалены. Все телефоны будут добавлены клиенту resultCustomer. Клиенты из параметра customers будут безвозвратно удалены.

В ходе объединения заказов будут объединены:

Параметры

ПараметрТипФорматОписание
customers[]array of objects (SerializedCustomerReference)Клиенты будут удалены в результате объединения
customers[][id]integer{not blank}{range: {>=1, <=4294967295}}}Внутренний ID клиента
resultCustomerobject (SerializedCustomerReference){not blank}Клиент в которого произойдет объединение
resultCustomer[id]integer{not blank}{range: {>=1, <=4294967295}}}Внутренний ID клиента

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

POST /api/v5/customers/create Создание клиента

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

Метод создает клиента и возвращает внутренний ID созданного клиента.

Если не указывать customer[createdAt], то будет использовано текущее время в качестве даты/времени регистрации клиента.

Поле contragent[contragentType] может принимать 3 значения: individual - физическое лицо, legal-entity - юридическое лицо, enterpreneur - индивидуальный предприниматель. Для различных типов юр. лиц доступны различные наборы полей. Для типа individual недоступны все поля, для типа legal-entity недоступны поля contragent[OGRNIP], contragent[certificateNumber], contragent[certificateDate], для типа enterpreneur недоступны поля contragent[OGRN], contragent[KPP].

Поля customer[personalDiscount] и customer[discountCardNumber] принимаются, если они включены в настройках модуля «Лояльность».

В поле customer[customFields] можно передавать массив значений пользовательских полей. Для полей типа «Справочник» указывается символьный код значения в справочнике. Для полей типа «Дата» указывается дата в формате Y-m-d. Для других типов полей указывается непосредственно значение.

Адрес клиента customer[address] можно указывать либо в строковом виде в поле customer[address][text], либо в подробном виде, заполняя все поля кроме customer[address][text].

Параметры

ПараметрТипФорматОписание
sitestringСимвольный код магазина
customerobject (SerializedCustomer)Клиент
customer[externalId]stringВнешний ID клиента
customer[firstName]stringИмя
customer[lastName]stringФамилия
customer[patronymic]stringОтчество
customer[email]stringE-mail
customer[phones][]array of objects (CustomerPhone)Телефоны
customer[phones][][number]stringНомер телефона
customer[address]object (CustomerAddress)Адрес клиента
customer[address][index]stringИндекс
customer[address][countryIso]stringISO код страны (ISO 3166-1 alpha-2)
customer[address][region]stringРегион
customer[address][regionId]integerИдентификатор региона в Geohelper
customer[address][city]stringГород
customer[address][cityId]integerИдентификатор города в Geohelper
customer[address][cityType]stringТип населенного пункта
customer[address][street]stringУлица
customer[address][streetId]integerИдентификатор улицы в Geohelper
customer[address][streetType]stringТип улицы
customer[address][building]stringДом
customer[address][flat]stringНомер квартиры/офиса
customer[address][intercomCode]stringКод домофона
customer[address][floor]integerЭтаж
customer[address][block]integerПодъезд
customer[address][house]stringСтроение/корпус
customer[address][metro]stringМетро
customer[address][notes]stringПримечания к адресу
customer[address][text]stringАдрес в текстовом виде
customer[createdAt]DateTimeСоздан
customer[birthday]DateTimeДень рождения
customer[vip]booleanВажный клиент
customer[bad]booleanПлохой клиент
customer[contragent]object (CustomerContragent)Реквизиты
customer[contragent][contragentType]stringТип контрагента
customer[contragent][legalName]stringПолное наименование
customer[contragent][legalAddress]stringАдрес регистрации
customer[contragent][INN]stringИНН
customer[contragent][OKPO]stringОКПО
customer[contragent][KPP]stringКПП
customer[contragent][OGRN]stringОГРН
customer[contragent][OGRNIP]stringОГРНИП
customer[contragent][certificateNumber]stringНомер свидетельства
customer[contragent][certificateDate]DateTimeДата свидетельства
customer[contragent][BIK]stringБИК
customer[contragent][bank]stringБанк
customer[contragent][bankAddress]stringАдрес банка
customer[contragent][corrAccount]stringКорр. счёт
customer[contragent][bankAccount]stringРасчётный счёт
customer[personalDiscount]doubleПерсональная скидка
customer[discountCardNumber]stringНомер дисконтной карты
customer[emailMarketingUnsubscribedAt]DateTimeДата отписки от email рассылок
customer[customFields]arrayАссоциативный массив пользовательских полей
customer[managerId]integerМенеджер клиента
customer[sex]stringПол
customer[source]object (SerializedSource)Источник клиента
customer[source][source]stringИсточник
customer[source][medium]stringКанал
customer[source][campaign]stringКампания
customer[source][keyword]stringКлючевое слово
customer[source][content]stringСодержание кампании
customer[browserId]stringИдентификатор устройства в Collector

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
idintegerВнутренний ID созданного клиента

Статусы ответа

Код статуса ответаОписание
201
  • Клиент создан
400
  • Ошибка при создании клиента

POST /api/v5/customers/fix-external-ids Массовая запись внешних ID клиентов

Массовая запись внешних ID клиентов

Данный метод полезен в случае обратной синхронизации клиентов, которые исходно оформлены в системе.

Магазин запрашивает клиентов, созданных в системе, и создает их в своей базе. При создании клиентов в магазине формируются собственные ID клиентов (externalId клиентов в нотации системы). Сразу после создания клиентов интернет-магазин вызывает метод /api/v*/customers/fix-external-ids, сохраняя в системе собственные ID клиентов.

Параметры

ПараметрТипФорматОписание
customers[]array of objects (FixExternalRow)Идентификаторы загруженных объектов
customers[][id]integer{not blank}{range: {>=1}}}Внутренний ID
customers[][externalId]string{not blank}Внешний ID

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

GET /api/v5/customers/history Получение истории изменения клиентов

Получение истории изменения клиентов

Возвращает изменения в клиентах, произведенные в указанный диапазон дат (используя фильтры filter[startDate] и filter[endDate]), либо инкриментальные изменения (используя filter[sinceId]). При реализации постоянной трансляции изменений во внешнюю систему ​рекомендуется​ использовать подход с забором инкрементальных изменений через filter[sinceId] передавая id последней полученной записи истории.

Для записей создания и удаления клиента возвращается полный набор полей в контексте customer.

Результат возвращается постранично. В поле pagination содержится информация о постраничной разбивке.

Более подробно о работе с историей вы можете ознакомиться в отдельной статье документации.

Параметры

ПараметрТипФорматОписание
limitinteger{not blank}[20|50|100], [20|50|100|250]}Количество элементов в ответе (по умолчанию равно 20)
pageinteger{not blank}{range: {>=1}}}Номер страницы с результатами (по умолчанию равно 1)
filterobject (CustomerHistoryFilterV4Type)
filter[customerId]integer{range: {>=0, <=4294967295}}ID клиента
filter[sinceId]integer{range: {>=0, <=4294967295}}Начиная с ID истории клиентов
filter[customerExternalId]string{length: {max: 255}}Внешний ID клиента
filter[startDate]stringДата/время изменения (от)
filter[endDate]stringДата/время изменения (до)

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
generatedAtDateTimeВремя формирования ответа
history[]array of objects (CustomerHistory)Набор изменений
history[][id]integerВнутренний идентификатор записи в истории
history[][createdAt]DateTimeДата внесения изменения
history[][created]booleanПризнак создания сущности
history[][deleted]booleanПризнак удаления сущности
history[][source]stringИсточник изменения
history[][user]object (User)Пользователь
history[][user][id]integerID пользователя
history[][field]stringИмя изменившегося поля
history[][oldValue]custom handler result for (mixed)Старое значение свойства
history[][newValue]custom handler result for (mixed)Новое значение свойства
history[][apiKey]object (ApiKey)Информация о ключе api, использовавшемся для этого изменения
history[][apiKey][current]booleanИзменение было сделано с помощью ключа, используемого в данный момент
history[][customer]object (Customer)Клиент
history[][customer][id]integerID клиента
history[][customer][externalId]stringВнешний ID клиента
history[][customer][site]stringМагазин, с которого пришел клиент
paginationobject (PaginationResponse)Постраничная разбивка
pagination[limit]integerКоличество элементов в ответе
pagination[totalCount]integerОбщее количество найденных элементов
pagination[currentPage]integerТекущая страница выдачи
pagination[totalPageCount]integerОбщее количество страниц выдачи

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

GET /api/v5/customers/notes Получение заметок

Получение заметок

Результат возвращается постранично. В поле pagination содержится информация о постраничной разбивке.

В фильтре filter[ids][] передаётся массив внутренних идентификаторов заметок.

В фильтрах filter[customerIds][] и filter[customerExternalIds][] передаются массивы внутренних и внешних идентификаторов клиентов.

В фильтре filter[managerIds][] передаётся массив внутренних идентификаторов менеджеров.

Фильтр filter[text] позволяет получить заметки по частичному совпадению заданного текста.

Фильтры filter[createdAtFrom] и filter[createdAtTo] позволяют получить заметки созданные в заданном интервале времени.

Параметры

ПараметрТипФорматОписание
limitinteger{not blank}[20|50|100], [20|50|100|250]}Количество элементов в ответе (по умолчанию равно 20)
pageinteger{not blank}{range: {>=1}}}Номер страницы с результатами (по умолчанию равно 1)
filterobject (CustomerNoteFilter)
filter[ids]array of objects (IntegerType)ID заметок
filter[customerIds]array of objects (IntegerType)Внутренние ID клиентов
filter[customerExternalIds]array of objects (TextType)Внешние ID клиентов
filter[managerIds][]array of objects (IntegerType)ID менеджеров
filter[text]stringТекст заметки
filter[createdAtFrom]stringДата/время создания (от)
filter[createdAtTo]stringДата/время создания (до)

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
paginationobject (PaginationResponse)Постраничная разбивка
pagination[limit]integerКоличество элементов в ответе
pagination[totalCount]integerОбщее количество найденных элементов
pagination[currentPage]integerТекущая страница выдачи
pagination[totalPageCount]integerОбщее количество страниц выдачи
notes[]array of objects (CustomerNote)Заметка
notes[][customer]object (SerializedEntityCustomer)Клиент
notes[][customer][site]stringСимвольный код магазина
notes[][customer][id]integerВнутренний ID клиента
notes[][customer][externalId]stringВнешний ID клиента
notes[][managerId]integerID менеджера
notes[][id]integerID заметки
notes[][text]stringТекст заметки
notes[][createdAt]DateTimeДата/время создания

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

POST /api/v5/customers/notes/create Создание заметки

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

Метод создает заметку и в случае успеха возвращает её внутренний ID.

В поле note[managerId] можно указать внутренний ID менеджера к которому необходимо привязать создаваемую заметку.

В поле note[text] необходимо задать содержание заметки. Длина текста должна быть не менее 1 символа и не более 2000 символов. Допускается использовать HTML теги (p, a, ul, ol, strong, em, blockquote). При использовании в тексте HTML разметки важно соблюдать семантику и следить за наличием закрывающих тегов, иначе система выдаст ошибку.

В поле note[customer] необходимо задать клиента к которому будет привязана создаваемая заметка. Сделать это можно используя внутренний note[customer][id] либо внешний note[customer][externalId] ID клиента.

Параметры

ПараметрТипФорматОписание
sitestringСимвольный код магазина
noteobject (SerializedCustomerNote)Заметка
note[managerId]integerВнутренний ID менеджера
note[text]stringТекст заметки
note[customer]object (SerializedEntityCustomer)Клиент
note[customer][id]integerВнутренний ID клиента
note[customer][externalId]stringВнешний ID клиента

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
idintegerВнутренний ID созданной заметки

Статусы ответа

Код статуса ответаОписание
201
  • Заметка успешно создана
400
  • Ошибка при создании заметки

POST /api/v5/customers/notes/{id}/delete Удаление заметки

Удаление заметки

Параметры

ПараметрТипФорматОписание
idintegerID заметки

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)

Статусы ответа

Код статуса ответаОписание
200
  • Заметка успешно удалена
404
  • Заметка не найдена

POST /api/v5/customers/upload Пакетная загрузка клиентов

Пакетная загрузка клиентов

Метод позволяет загружать пакетно до 50 клиентов.

Подробную информацию по формату данных см. в описании метода /api/v*/customers/create.

Параметры

ПараметрТипФорматОписание
sitestringСимвольный код магазина, к которому относятся загружаемые клиенты
customers[]array of objects (SerializedCustomer)Клиент
customers[][externalId]stringВнешний ID клиента
customers[][firstName]stringИмя
customers[][lastName]stringФамилия
customers[][patronymic]stringОтчество
customers[][email]stringE-mail
customers[][phones][]array of objects (CustomerPhone)Телефоны
customers[][phones][][number]stringНомер телефона
customers[][address]object (CustomerAddress)Адрес клиента
customers[][address][index]stringИндекс
customers[][address][countryIso]stringISO код страны (ISO 3166-1 alpha-2)
customers[][address][region]stringРегион
customers[][address][regionId]integerИдентификатор региона в Geohelper
customers[][address][city]stringГород
customers[][address][cityId]integerИдентификатор города в Geohelper
customers[][address][cityType]stringТип населенного пункта
customers[][address][street]stringУлица
customers[][address][streetId]integerИдентификатор улицы в Geohelper
customers[][address][streetType]stringТип улицы
customers[][address][building]stringДом
customers[][address][flat]stringНомер квартиры/офиса
customers[][address][intercomCode]stringКод домофона
customers[][address][floor]integerЭтаж
customers[][address][block]integerПодъезд
customers[][address][house]stringСтроение/корпус
customers[][address][metro]stringМетро
customers[][address][notes]stringПримечания к адресу
customers[][address][text]stringАдрес в текстовом виде
customers[][createdAt]DateTimeСоздан
customers[][birthday]DateTimeДень рождения
customers[][vip]booleanВажный клиент
customers[][bad]booleanПлохой клиент
customers[][contragent]object (CustomerContragent)Реквизиты
customers[][contragent][contragentType]stringТип контрагента
customers[][contragent][legalName]stringПолное наименование
customers[][contragent][legalAddress]stringАдрес регистрации
customers[][contragent][INN]stringИНН
customers[][contragent][OKPO]stringОКПО
customers[][contragent][KPP]stringКПП
customers[][contragent][OGRN]stringОГРН
customers[][contragent][OGRNIP]stringОГРНИП
customers[][contragent][certificateNumber]stringНомер свидетельства
customers[][contragent][certificateDate]DateTimeДата свидетельства
customers[][contragent][BIK]stringБИК
customers[][contragent][bank]stringБанк
customers[][contragent][bankAddress]stringАдрес банка
customers[][contragent][corrAccount]stringКорр. счёт
customers[][contragent][bankAccount]stringРасчётный счёт
customers[][personalDiscount]doubleПерсональная скидка
customers[][discountCardNumber]stringНомер дисконтной карты
customers[][emailMarketingUnsubscribedAt]DateTimeДата отписки от email рассылок
customers[][customFields]arrayАссоциативный массив пользовательских полей
customers[][managerId]integerМенеджер клиента
customers[][sex]stringПол
customers[][source]object (SerializedSource)Источник клиента
customers[][source][source]stringИсточник
customers[][source][medium]stringКанал
customers[][source][campaign]stringКампания
customers[][source][keyword]stringКлючевое слово
customers[][source][content]stringСодержание кампании
customers[][browserId]stringИдентификатор устройства в Collector

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
uploadedCustomers[]array of objects (FixExternalRow)Идентификаторы загруженных объектов
uploadedCustomers[][id]integerВнутренний ID
uploadedCustomers[][externalId]stringВнешний ID

Статусы ответа

Код статуса ответаОписание
201
  • Все клиенты успешно загружены
400
  • Не передан массив клиентов, либо массив слишком большой
460
  • Во время загрузки возникли ошибки. Часть клиентов не загружена

GET /api/v5/customers/{externalId} Получение информации о клиенте

Получение информации о клиенте

Метод возвращает полную информацию по клиенту. Можно обращаться к клиенту как по внешнему ID клиента (by=externalId), так и по внутреннему ID (by=id).

Поле contragent[contragentType] может принимать 3 значения: individual - физическое лицо, legal-entity - юридическое лицо, enterpreneur - индивидуальный предприниматель. Для различных типов юр. лиц доступны различные наборы полей. Для типа individual недоступны все поля, для типа legal-entity недоступны поля contragent[OGRNIP], contragent[certificateNumber], contragent[certificateDate], для типа enterpreneur недоступны поля contragent[OGRN], contragent[KPP].

Пустые поля без значений не возвращаются.

В поле managerId возвращается внутренний ID сущности в системе.

Поля personalDiscount, cumulativeDiscount и discountCardNumber возвращаются, если они включены в настройках модуля «Лояльность».

В поле customFields возвращается массив значений пользовательских полей. Для полей типа «Справочник» указывается символьный код значения в справочнике. Для полей типа «Дата» указывается дата в формате Y-m-d. Для других типов полей указывается непосредственно значение.

Если адрес клиента указывался в строковом виде, то он будет возвращен в customer[address][text]. Если адрес указывался в детальном виде, то будут возвращены все заполненные поля доставки, а в customer[address][text] будет находиться автоматически сформированное текстовое представление адреса.

Параметры

ПараметрТипФорматОписание
externalIdstringID клиента

Параметры для фильтрации

ПараметрОписание
by
Шаблонid|externalId
Значение по умолчаниюexternalId
ОписаниеУказывается, что передается в параметре externalId: внутренний (by=id) или внешний (by=externalId) ID клиента. По-умолчанию externalId.
site
ОписаниеСимвольный код магазина. Указывается в случае обращения к клиенту по externalId (by=externalId)

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
customerobject (Customer)Клиент
customer[id]integerID клиента
customer[externalId]stringВнешний ID клиента
customer[firstName]stringИмя
customer[lastName]stringФамилия
customer[patronymic]stringОтчество
customer[sex]stringПол
customer[email]stringE-mail
customer[phones][]array of objects (CustomerPhone)Телефоны
customer[phones][][number]stringНомер телефона
customer[address]object (CustomerAddress)Адрес клиента
customer[address][index]stringИндекс
customer[address][countryIso]stringISO код страны (ISO 3166-1 alpha-2)
customer[address][region]stringРегион
customer[address][regionId]integerИдентификатор региона в Geohelper
customer[address][city]stringГород
customer[address][cityId]integerИдентификатор города в Geohelper
customer[address][cityType]stringТип населенного пункта
customer[address][street]stringУлица
customer[address][streetId]integerИдентификатор улицы в Geohelper
customer[address][streetType]stringТип улицы
customer[address][building]stringДом
customer[address][flat]stringНомер квартиры/офиса
customer[address][intercomCode]stringКод домофона
customer[address][floor]integerЭтаж
customer[address][block]integerПодъезд
customer[address][house]stringСтроение/корпус
customer[address][metro]stringМетро
customer[address][notes]stringПримечания к адресу
customer[address][text]stringАдрес в текстовом виде
customer[createdAt]DateTimeСоздан
customer[birthday]DateTimeДень рождения
customer[managerId]integerМенеджер клиента
customer[vip]booleanВажный клиент
customer[bad]booleanПлохой клиент
customer[site]stringМагазин, с которого пришел клиент
customer[source]object (SerializedSource)Источник клиента
customer[source][source]stringИсточник
customer[source][medium]stringКанал
customer[source][campaign]stringКампания
customer[source][keyword]stringКлючевое слово
customer[source][content]stringСодержание кампании
customer[contragent]object (CustomerContragent)Реквизиты
customer[contragent][contragentType]stringТип контрагента
customer[contragent][legalName]stringПолное наименование
customer[contragent][legalAddress]stringАдрес регистрации
customer[contragent][INN]stringИНН
customer[contragent][OKPO]stringОКПО
customer[contragent][KPP]stringКПП
customer[contragent][OGRN]stringОГРН
customer[contragent][OGRNIP]stringОГРНИП
customer[contragent][certificateNumber]stringНомер свидетельства
customer[contragent][certificateDate]DateTimeДата свидетельства
customer[contragent][BIK]stringБИК
customer[contragent][bank]stringБанк
customer[contragent][bankAddress]stringАдрес банка
customer[contragent][corrAccount]stringКорр. счёт
customer[contragent][bankAccount]stringРасчётный счёт
customer[personalDiscount]doubleПерсональная скидка
customer[cumulativeDiscount]doubleНакопительная скидка
customer[discountCardNumber]stringНомер дисконтной карты
customer[emailMarketingUnsubscribedAt]DateTimeДата отписки от email рассылок
customer[avgMarginSumm]floatСредняя валовая прибыль по заказам клиента
customer[marginSumm]floatLTV
customer[totalSumm]floatОбщая сумма заказов
customer[averageSumm]floatСредняя сумма заказа
customer[ordersCount]integerКоличество заказов
customer[costSumm]floatСумма расходов
customer[maturationTime]integerВремя «созревания», в секундах
customer[firstClientId]stringПервая метка клиента Google Analytics
customer[lastClientId]stringПоследняя метка клиента Google Analytics
customer[customFields]arrayАссоциативный массив пользовательских полей

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
404
  • Клиент не найден

POST /api/v5/customers/{externalId}/edit Редактирование клиента

Редактирование клиента

Метод позволяет вносить изменения в клиента.

В случае, если производится попытка отредактировать удаленного клиента, система возвращает в ответе state=removed.

Поле contragent[contragentType] может принимать 3 значения: individual - физическое лицо, legal-entity - юридическое лицо, enterpreneur - индивидуальный предприниматель. Для различных типов юр. лиц доступны различные наборы полей. Для типа individual недоступны все поля, для типа legal-entity недоступны поля contragent[OGRNIP], contragent[certificateNumber], contragent[certificateDate], для типа enterpreneur недоступны поля contragent[OGRN], contragent[KPP].

Поля customer[personalDiscount] и customer[discountCardNumber] принимаются, если они включены в настройках модуля «Лояльность».

В поле customer[customFields] можно передавать массив значений пользовательских полей. Для полей типа «Справочник» указывается символьный код значения в справочнике. Для полей типа «Дата» указывается дата в формате Y-m-d. Для других типов полей указывается непосредственно значение.

Адрес клиента customer[address] можно указывать либо в строковом виде в поле customer[address][text], либо в подробном виде, заполняя все поля кроме customer[address][text].

Параметры

ПараметрТипФорматОписание
bystringУказывается, что передается в параметре externalId: внутренний (by=id) или внешний (by=externalId) ID клиента. По-умолчанию externalId.
sitestringСимвольный код магазина. Указывается в случае обращения к клиенту по externalId (by=externalId)
customerobject (SerializedCustomer)Клиент
customer[externalId]stringВнешний ID клиента
customer[firstName]stringИмя
customer[lastName]stringФамилия
customer[patronymic]stringОтчество
customer[email]stringE-mail
customer[phones][]array of objects (CustomerPhone)Телефоны
customer[phones][][number]stringНомер телефона
customer[address]object (CustomerAddress)Адрес клиента
customer[address][index]stringИндекс
customer[address][countryIso]stringISO код страны (ISO 3166-1 alpha-2)
customer[address][region]stringРегион
customer[address][regionId]integerИдентификатор региона в Geohelper
customer[address][city]stringГород
customer[address][cityId]integerИдентификатор города в Geohelper
customer[address][cityType]stringТип населенного пункта
customer[address][street]stringУлица
customer[address][streetId]integerИдентификатор улицы в Geohelper
customer[address][streetType]stringТип улицы
customer[address][building]stringДом
customer[address][flat]stringНомер квартиры/офиса
customer[address][intercomCode]stringКод домофона
customer[address][floor]integerЭтаж
customer[address][block]integerПодъезд
customer[address][house]stringСтроение/корпус
customer[address][metro]stringМетро
customer[address][notes]stringПримечания к адресу
customer[address][text]stringАдрес в текстовом виде
customer[createdAt]DateTimeСоздан
customer[birthday]DateTimeДень рождения
customer[vip]booleanВажный клиент
customer[bad]booleanПлохой клиент
customer[contragent]object (CustomerContragent)Реквизиты
customer[contragent][contragentType]stringТип контрагента
customer[contragent][legalName]stringПолное наименование
customer[contragent][legalAddress]stringАдрес регистрации
customer[contragent][INN]stringИНН
customer[contragent][OKPO]stringОКПО
customer[contragent][KPP]stringКПП
customer[contragent][OGRN]stringОГРН
customer[contragent][OGRNIP]stringОГРНИП
customer[contragent][certificateNumber]stringНомер свидетельства
customer[contragent][certificateDate]DateTimeДата свидетельства
customer[contragent][BIK]stringБИК
customer[contragent][bank]stringБанк
customer[contragent][bankAddress]stringАдрес банка
customer[contragent][corrAccount]stringКорр. счёт
customer[contragent][bankAccount]stringРасчётный счёт
customer[personalDiscount]doubleПерсональная скидка
customer[discountCardNumber]stringНомер дисконтной карты
customer[emailMarketingUnsubscribedAt]DateTimeДата отписки от email рассылок
customer[customFields]arrayАссоциативный массив пользовательских полей
customer[managerId]integerМенеджер клиента
customer[sex]stringПол
customer[source]object (SerializedSource)Источник клиента
customer[source][source]stringИсточник
customer[source][medium]stringКанал
customer[source][campaign]stringКампания
customer[source][keyword]stringКлючевое слово
customer[source][content]stringСодержание кампании
customer[browserId]stringИдентификатор устройства в Collector

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
idintegerВнутренний ID клиента
statestringСостояние клиента (по умолчанию не возвращается)

Статусы ответа

Код статуса ответаОписание
200
  • Клиент успешно изменен
400
  • Ошибка при изменении клиента

Доставки

POST /api/v5/delivery/generic/{subcode}/tracking Обновление статусов доставки

Обновление статусов доставки

Метод позволяет передавать статусы отдельно для каждого заказа в момент смены статуса или передавать историю изменений по группе заказов через определенные промежутки на усмотрение службы доставки.

Важно: За один запрос можно обновить статусы не более чем для 100 заказов. При передаче большего числа заказов метод вернет сообщение об ошибке.

Параметры

ПараметрТипФорматОписание
statusUpdate[]array of objects (RequestStatusUpdateItem)JSON с данными по статусам заказов
statusUpdate[][deliveryId]string{not blank}Идентификатор доставки в СД
statusUpdate[][history][]array of objects (StatusInfo)История смены статусов доставки
statusUpdate[][history][][code]string{not blank}Код статуса доставки
statusUpdate[][history][][updatedAt]DateTime{not blank}Дата обновления статуса доставки
statusUpdate[][history][][comment]stringКомментарий к статусу
statusUpdate[][trackNumber]stringТрек номер (если установлена опция configuration[allowTrackNumber])
statusUpdate[][extraData][]array of stringsМассив дополнительных данных доставки (deliveryDataField.code => значение)

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)

GET /api/v5/delivery/shipments Получение списка отгрузок в службы доставки

Получение списка отгрузок в службы доставки

Параметры

ПараметрТипФорматОписание
limitinteger{not blank}[20|50|100], [20|50|100|250]}Количество элементов в ответе (по умолчанию равно 20)
pageinteger{not blank}{range: {>=1}}}Номер страницы с результатами (по умолчанию равно 1)
filterobject (ApiDeliveryShipmentFilterType)
filter[externalId]stringВнешний идентификатор отгрузки
filter[orderNumber]stringНомер заказа в составе отгрузки
filter[statuses][]array of choices[cancelled|created|processing|shipped]Статусы
filter[ids][]array of objects (IntegerType)Идентификаторы отгрузок
filter[deliveryTypes][]array of choicesТипы доставки
filter[managers][]array of choicesИдентификаторы менеджеров
filter[stores][]array of choicesСклады
filter[dateFrom]stringДата отгрузки (с)
filter[dateTo]stringДата отгрузки (до)

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
paginationobject (PaginationResponse)Постраничная разбивка
pagination[limit]integerКоличество элементов в ответе
pagination[totalCount]integerОбщее количество найденных элементов
pagination[currentPage]integerТекущая страница выдачи
pagination[totalPageCount]integerОбщее количество страниц выдачи
deliveryShipments[]array of objects (DeliveryShipment)Заявка на отгрузку в службу доставки
deliveryShipments[][integrationCode]stringКод интеграции
deliveryShipments[][id]integerИдентификатор отгрузки
deliveryShipments[][externalId]stringИдентификатор отгрузки в службе доставки
deliveryShipments[][deliveryType]stringТип доставки
deliveryShipments[][store]stringСклад отгрузки
deliveryShipments[][managerId]integerМенеджер, ответственный за отгрузку
deliveryShipments[][status]stringСтатус отгрузки (Возможные значения cancelled)
deliveryShipments[][date]DateTimeДата отгрузки
deliveryShipments[][time]object (TimeInterval)Время отгрузки
deliveryShipments[][time][from]DateTimeВремя "с"
deliveryShipments[][time][to]DateTimeВремя "до"
deliveryShipments[][time][custom]stringВременной диапазон в свободной форме
deliveryShipments[][comment]stringКомментарий
deliveryShipments[][orders][]array of objects (SerializedEntityOrder)Заказы в составке отгрузки
deliveryShipments[][orders][][id]integerВнутренний ID заказа
deliveryShipments[][orders][][externalId]stringВнешний ID заказа
deliveryShipments[][orders][][number]stringНомер заказа

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

POST /api/v5/delivery/shipments/create Создание отгрузки

Создание отгрузки

Набор полей зависит от типа доставки для которого создана отгрузка. Например для доставки интегрированной со sdek доступно поле lunchTime.

Параметры

ПараметрТипФорматОписание
deliveryTypestringТип доставки
sitestringСимвольный код магазина (указывается в случае добавления заказов в отгрузку по externalId или number)
deliveryShipmentobject (DeliveryShipment)Заявка на отгрузку в службу доставки
deliveryShipment[status]stringСтатус отгрузки (Возможные значения cancelled)
deliveryShipment[date]DateTimeДата отгрузки
deliveryShipment[time]object (TimeInterval)Время отгрузки
deliveryShipment[time][from]DateTimeВремя "с"
deliveryShipment[time][to]DateTimeВремя "до"
deliveryShipment[time][custom]stringВременной диапазон в свободной форме
deliveryShipment[comment]stringКомментарий
deliveryShipment[store]stringСклад отгрузки
deliveryShipment[managerId]integerМенеджер, ответственный за отгрузку
deliveryShipment[orders][]array of objects (SerializedEntityOrder)Заказы в составке отгрузки
deliveryShipment[orders][][id]integerВнутренний ID заказа
deliveryShipment[orders][][externalId]stringВнешний ID заказа
deliveryShipment[orders][][number]stringНомер заказа
deliveryShipment[extraData]arrayДополнительные данные отгрузки (shipmentDataField.code => значение) (указывается только для отгрузок для типов доставок, интегрированных со службами доставки, подключенными через API)
deliveryShipment[lunchTime]object (TimeInterval)Обеденное время на складе отгрузки (указывается только для отгрузок для типов доставок, интегрированных со СДЭК integrationCode=sdek)

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
idintegerИдентификатор отгрузки
statusstringСтатус отгрузки

GET /api/v5/delivery/shipments/{id} Получение информации об отгрузке

Получение информации об отгрузке

Набор полей зависит от типа доставки для которого создана отгрузка. Например для доставки интегрированной со sdek доступно поле lunchTime.

Параметры

ПараметрТипФорматОписание
idstringИдентификатор отгрузки

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
deliveryShipmentobject (DeliveryShipment)Заявка на отгрузку в службу доставки
deliveryShipment[integrationCode]stringКод интеграции
deliveryShipment[id]integerИдентификатор отгрузки
deliveryShipment[externalId]stringИдентификатор отгрузки в службе доставки
deliveryShipment[deliveryType]stringТип доставки
deliveryShipment[store]stringСклад отгрузки
deliveryShipment[managerId]integerМенеджер, ответственный за отгрузку
deliveryShipment[status]stringСтатус отгрузки (Возможные значения cancelled)
deliveryShipment[date]DateTimeДата отгрузки
deliveryShipment[time]object (TimeInterval)Время отгрузки
deliveryShipment[time][from]DateTimeВремя "с"
deliveryShipment[time][to]DateTimeВремя "до"
deliveryShipment[time][custom]stringВременной диапазон в свободной форме
deliveryShipment[comment]stringКомментарий
deliveryShipment[orders][]array of objects (SerializedEntityOrder)Заказы в составке отгрузки
deliveryShipment[orders][][id]integerВнутренний ID заказа
deliveryShipment[orders][][externalId]stringВнешний ID заказа
deliveryShipment[orders][][number]stringНомер заказа
deliveryShipment[extraData]arrayДополнительные данные отгрузки (shipmentDataField.code => значение) (указывается только для отгрузок для типов доставок, интегрированных со службами доставки, подключенными через API)
deliveryShipment[lunchTime]object (TimeInterval)Обеденное время на складе отгрузки (указывается только для отгрузок для типов доставок, интегрированных со СДЭК integrationCode=sdek)

POST /api/v5/delivery/shipments/{id}/edit Редактироване отгрузки

Редактироване отгрузки

Редактирование отгрузки возможно только для отгрузок в статусе created

Набор полей зависит от типа доставки для которого создана отгрузка. Например для доставки интегрированной со sdek доступно поле lunchTime.

Параметры

ПараметрТипФорматОписание
sitestringСимвольный код магазина (указывается в случае добавления заказов в отгрузку по externalId или number)
deliveryShipmentobject (DeliveryShipment)Заявка на отгрузку в службу доставки
deliveryShipment[status]stringСтатус отгрузки (Возможные значения cancelled)
deliveryShipment[date]DateTimeДата отгрузки
deliveryShipment[time]object (TimeInterval)Время отгрузки
deliveryShipment[time][from]DateTimeВремя "с"
deliveryShipment[time][to]DateTimeВремя "до"
deliveryShipment[time][custom]stringВременной диапазон в свободной форме
deliveryShipment[comment]stringКомментарий
deliveryShipment[store]stringСклад отгрузки
deliveryShipment[managerId]integerМенеджер, ответственный за отгрузку
deliveryShipment[orders][]array of objects (SerializedEntityOrder)Заказы в составке отгрузки
deliveryShipment[orders][][id]integerВнутренний ID заказа
deliveryShipment[orders][][externalId]stringВнешний ID заказа
deliveryShipment[orders][][number]stringНомер заказа
deliveryShipment[extraData]arrayДополнительные данные отгрузки (shipmentDataField.code => значение) (указывается только для отгрузок для типов доставок, интегрированных со службами доставки, подключенными через API)
deliveryShipment[lunchTime]object (TimeInterval)Обеденное время на складе отгрузки (указывается только для отгрузок для типов доставок, интегрированных со СДЭК integrationCode=sdek)

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
idintegerИдентификатор отгрузки
statusstringСтатус отгрузки

CallbackGET {integrationModule["baseUrl"]}/{configuration["actions"]["autocomplete"]} Запрос на получение данных для автокомплит поля

Запрос на получение данных для автокомплит поля

При работе с autocomplete полями задаными в конфигурации configuration["deliveryDataFieldList"] система будет инициализировать запрос к службе доставки используя GET запрос метода указанного в autocompleteUrl конфигурации соотвествующего поля.

Параметры

ПараметрТипФорматОписание
clientIdstring{not blank}Идентификатор клиента во внешнем сервисе
termstringСтрока запроса

Ответ

ПараметрТипОписание
valuestring
labelstring
successbooleanРезультат запроса (успешный/неуспешный)
resultobject (ResponseAutocompleteItem)Массив значений
result[value]stringЗначение
result[label]stringНаименование
result[description]stringНе обязательное поле. Подсказка для опции - выводится мелким шрифтом под именем опции

CallbackPOST {integrationModule["baseUrl"]}/{configuration["actions"]["calculate"]} Расчет стоимости доставки

Расчет стоимости доставки

Для расчета стоимости доставки система инициирует вызов POST метода указанного в configuration["actions"]["calculate"] конфигурации.

Параметры

ПараметрТипФорматОписание
clientIdstring{not blank}Идентификатор клиента во внешнем сервисе
calculateobject (RequestCalculate)JSON с данными для расчета стоимости доставки
calculate[packages][]array of objects (Package)Набор упаковок
calculate[packages][][weight]float{not blank}Вес г.
calculate[packages][][width]integerШирина мм.
calculate[packages][][length]integerДлина мм.
calculate[packages][][height]integerВысота мм.
calculate[payerType]string{not blank}Плательщик за доставку (receiver или sender)
calculate[declaredValue]float{not blank}Объявленная стоимость
calculate[shipmentAddress]object (DeliveryAddress)Адрес отгрузки
calculate[shipmentAddress][index]stringИндекс
calculate[shipmentAddress][countryIso]stringISO код страны (ISO 3166-1 alpha-2)
calculate[shipmentAddress][region]stringРегион
calculate[shipmentAddress][regionId]integerИдентификатор региона в Geohelper
calculate[shipmentAddress][city]stringГород
calculate[shipmentAddress][cityId]integerИдентификатор города в Geohelper
calculate[shipmentAddress][cityType]stringТип населенного пункта
calculate[shipmentAddress][street]stringУлица
calculate[shipmentAddress][streetId]integerИдентификатор улицы в Geohelper
calculate[shipmentAddress][streetType]stringТип улицы
calculate[shipmentAddress][building]stringДом
calculate[shipmentAddress][flat]stringНомер квартиры/офиса
calculate[shipmentAddress][intercomCode]stringКод домофона
calculate[shipmentAddress][floor]integerЭтаж
calculate[shipmentAddress][block]integerПодъезд
calculate[shipmentAddress][house]stringСтроение/корпус
calculate[shipmentAddress][metro]stringМетро
calculate[shipmentAddress][notes]stringПримечания к адресу
calculate[shipmentAddress][text]stringАдрес в текстовом виде
calculate[shipmentAddress][terminal]stringКод терминала отгрузки/доставки
calculate[deliveryAddress]object (DeliveryAddress)Адрес доставки
calculate[cod]floatНаложенный платеж
calculate[deliveryDate]DateTimeДата доставки
calculate[deliveryTime]object (TimeInterval)Время доставки
calculate[deliveryTime][from]DateTimeВремя "с"
calculate[deliveryTime][to]DateTimeВремя "до"
calculate[deliveryTime][custom]stringВременной диапазон в свободной форме
calculate[currency]stringКод валюты
calculate[extraData][]array of objects (ExtraDataValue)Дополнительные данные доставки (deliveryDataField.code => значение)

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
result[]array of objects (ResponseCalculate)Данные о стоимости доступных доставок
result[][code]stringКод тарифа
result[][group]stringГруппа тарифов
result[][name]stringНаименование тарифа
result[][type]stringТип тарифа (courier - курьерская доставка или selfDelivery - самовывоз)
result[][description]stringОписание
result[][cost]floatСтоимость доставки (Если не передана, то тариф будет выводиться, но не будет доступен для выбора)
result[][minTerm]integerМинимальный срок доставки
result[][maxTerm]integerМаксимальный срок доставки
result[][extraData]arrayДополнительные данные доставки (deliveryDataField.code => значение)
result[][extraDataAvailable]arrayМассив кодов полей, которые должны отображаться в карточке заказа. Если не передан будут отображаться все поля с дополнительными данными доставки.
result[][pickuppointList][]array of objects (Terminal)Терминал отгрузки/получения
result[][pickuppointList][][code]stringКод терминала
result[][pickuppointList][][name]stringНаименование терминала
result[][pickuppointList][][description]stringОписание терминала
result[][pickuppointList][][address]stringАдрес
result[][pickuppointList][][schedule]stringРежим работы
result[][pickuppointList][][phone]stringТелефон
result[][pickuppointList][][extraData]arrayДополнительные данные (deliveryDataField.code => значение)
result[][pickuppointList][][coordinates]object (Coordinates)Координаты
result[][pickuppointList][][coordinates][latitude]floatШирота
result[][pickuppointList][][coordinates][longitude]floatДолгота

CallbackPOST {integrationModule["baseUrl"]}/{configuration["actions"]["delete"]} Удаление заявки на доставку

Удаление заявки на доставку

Для удаления доставки система инициирует POST вызов метода указанного в configuration["actions"]["delete"] кофигурации.

Параметры

ПараметрТипФорматОписание
clientIdstringИдентификатор клиента во внешнем сервисе
deleteobject (RequestDelete)JSON с идентификатором доставки
delete[deliveryId]stringИдентификатор доставки в службе доставки

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)

CallbackGET {integrationModule["baseUrl"]}/{configuration["actions"]["get"]} Получение данных доставки

Получение данных доставки

Для получения данных для доставки система инициирует GET запрос метода указанного в configuration["actions"]["get"]

Параметры

ПараметрТипФорматОписание
clientIdstringИдентификатор клиента во внешнем сервисе
deliveryIdstringИдентификатор доставки в службе доставки

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
resultobject (ResponseLoadDeliveryData)Данные доставки
result[trackNumber]stringТрек номер (если установлена опция configuration[allowTrackNumber])
result[cost]floatСтоимость доставки
result[shipmentDate]DateTimeДата отгрузки
result[deliveryDate]DateTimeДата доставки
result[deliveryTime]object (TimeInterval)Время доставки
result[deliveryTime][from]DateTimeВремя "с"
result[deliveryTime][to]DateTimeВремя "до"
result[deliveryTime][custom]stringВременной диапазон в свободной форме
result[tariff]stringКод тарифа
result[tariffName]stringНаименование тарифа
result[payerType]stringПлательщик за доставку (receiver или sender)
result[status]object (StatusInfo)Статус доставки
result[status][code]stringКод статуса доставки
result[status][updatedAt]DateTimeДата обновления статуса доставки
result[status][comment]stringКомментарий к статусу
result[extraData]arrayДополнительные данные доставки (deliveryDataField.code => значение)
result[shipmentAddress]object (DeliveryAddress)Адрес отгрузки
result[shipmentAddress][index]stringИндекс
result[shipmentAddress][countryIso]stringISO код страны (ISO 3166-1 alpha-2)
result[shipmentAddress][region]stringРегион
result[shipmentAddress][regionId]integerИдентификатор региона в Geohelper
result[shipmentAddress][city]stringГород
result[shipmentAddress][cityId]integerИдентификатор города в Geohelper
result[shipmentAddress][cityType]stringТип населенного пункта
result[shipmentAddress][street]stringУлица
result[shipmentAddress][streetId]integerИдентификатор улицы в Geohelper
result[shipmentAddress][streetType]stringТип улицы
result[shipmentAddress][building]stringДом
result[shipmentAddress][flat]stringНомер квартиры/офиса
result[shipmentAddress][intercomCode]stringКод домофона
result[shipmentAddress][floor]integerЭтаж
result[shipmentAddress][block]integerПодъезд
result[shipmentAddress][house]stringСтроение/корпус
result[shipmentAddress][metro]stringМетро
result[shipmentAddress][notes]stringПримечания к адресу
result[shipmentAddress][text]stringАдрес в текстовом виде
result[shipmentAddress][terminal]stringКод терминала отгрузки/доставки
result[shipmentAddress][terminalData]object (Terminal)Данные терминала
result[shipmentAddress][terminalData][code]stringКод терминала
result[shipmentAddress][terminalData][name]stringНаименование терминала
result[shipmentAddress][terminalData][description]stringОписание терминала
result[shipmentAddress][terminalData][address]stringАдрес
result[shipmentAddress][terminalData][schedule]stringРежим работы
result[shipmentAddress][terminalData][phone]stringТелефон
result[shipmentAddress][terminalData][extraData]arrayДополнительные данные (deliveryDataField.code => значение)
result[shipmentAddress][terminalData][coordinates]object (Coordinates)Координаты
result[shipmentAddress][terminalData][coordinates][latitude]floatШирота
result[shipmentAddress][terminalData][coordinates][longitude]floatДолгота
result[deliveryAddress]object (DeliveryAddress)Адрес доставки

CallbackPOST {integrationModule["baseUrl"]}/{configuration["actions"]["print"]} Печатные формы службы доставки

Печатные формы службы доставки

Для печати форм указанных при конфигурации в configuration["plates"] система инициирует POST запрос метода указанного в configuration["actions"]["print"].

Служба доставки должна сформировать pdf-файл печатной формы и вернуть его в виде байтового массива

Параметры

ПараметрТипФорматОписание
clientIdstringИдентификатор клиента во внешнем сервисе
printobject (RequestPrint)JSON со списком заказов для печати
print[type]stringКод типа печатной формы
print[deliveryIds]arrayМассив идентификаторов доставок в службе доставки ([["56376", "798645"]])

CallbackPOST {integrationModule["baseUrl"]}/{configuration["actions"]["save"]} Создание и редактирование доставки

Создание и редактирование доставки

Для создания новой доставки система инициирует POST вызов метода указанного в configuration["actions"]["save"] кофигурации. Запрос на редактирование доставки аналогичен запросу на создание, но необходимо передавать идентификатор заказа в службе доставки save["deliveryId"].

Параметры

ПараметрТипФорматОписание
clientIdstringИдентификатор клиента во внешнем сервисе
saveobject (RequestSave)JSON с данными для создания доставки
save[deliveryId]stringИдентификатор доставки в службе доставки. Передается если требуется отредактировать уже оформленную доставку
save[order]stringВнутренний ID заказа
save[orderNumber]stringНомер заказа
save[site]stringКод магазина
save[siteName]stringНаименование магазина
save[legalEntity]stringНаименование юридического лица продавца
save[customer]object (Customer)Покупатель
save[customer][id]integerИдентификатор покупателя
save[customer][lastName]stringФамилия
save[customer][firstName]stringИмя
save[customer][patronymic]stringОтчество
save[customer][phones][]array of stringsТелефоны
save[customer][email]stringE-mail
save[manager]object (Manager)Менеджер, работающий с покупателем
save[manager][id]integerИдентификатор менеджера
save[manager][lastName]stringФамилия
save[manager][firstName]stringИмя
save[manager][patronymic]stringОтчество
save[manager][phone]stringТелефон
save[manager][email]stringE-mail
save[packages][]array of objects (Package)Набор упаковок
save[packages][][packageId]stringИдентификатор упаковки
save[packages][][weight]floatВес г.
save[packages][][width]integerШирина мм.
save[packages][][length]integerДлина мм.
save[packages][][height]integerВысота мм.
save[packages][][items][]array of objects (PackageItem)Содержимое упаковки
save[packages][][items][][offerId]stringИдентификатор оффера в системе
save[packages][][items][][name]stringНаименование товара
save[packages][][items][][declaredValue]floatОбъявленная стоимость за единицу товара
save[packages][][items][][cod]floatНаложенный платеж за единицу товара
save[packages][][items][][vatRate]floatСтавка НДС ("none" - НДС не облагается)
save[packages][][items][][quantity]floatКоличество товара в упаковке
save[packages][][items][][properties][]array of arraysСвойства товара
save[delivery]object (SaveDeliveryData)Данные доставки
save[delivery][shipmentAddress]object (DeliveryAddress)Адрес отгрузки
save[delivery][shipmentAddress][index]stringИндекс
save[delivery][shipmentAddress][countryIso]stringISO код страны (ISO 3166-1 alpha-2)
save[delivery][shipmentAddress][region]stringРегион
save[delivery][shipmentAddress][regionId]integerИдентификатор региона в Geohelper
save[delivery][shipmentAddress][city]stringГород
save[delivery][shipmentAddress][cityId]integerИдентификатор города в Geohelper
save[delivery][shipmentAddress][cityType]stringТип населенного пункта
save[delivery][shipmentAddress][street]stringУлица
save[delivery][shipmentAddress][streetId]integerИдентификатор улицы в Geohelper
save[delivery][shipmentAddress][streetType]stringТип улицы
save[delivery][shipmentAddress][building]stringДом
save[delivery][shipmentAddress][flat]stringНомер квартиры/офиса
save[delivery][shipmentAddress][intercomCode]stringКод домофона
save[delivery][shipmentAddress][floor]integerЭтаж
save[delivery][shipmentAddress][block]integerПодъезд
save[delivery][shipmentAddress][house]stringСтроение/корпус
save[delivery][shipmentAddress][metro]stringМетро
save[delivery][shipmentAddress][notes]stringПримечания к адресу
save[delivery][shipmentAddress][text]stringАдрес в текстовом виде
save[delivery][shipmentAddress][terminal]stringКод терминала отгрузки/доставки
save[delivery][deliveryAddress]object (DeliveryAddress)Адрес доставки
save[delivery][withCod]booleanДоставка наложенным платежом
save[delivery][cod]floatВеличина наложенного платежа за услуги доставки
save[delivery][cost]floatСтоимость доставки (указывается в накладной в случае предоплаты)
save[delivery][vatRate]floatСтавка НДС на услугу доставки ("none" - НДС не облагается)
save[delivery][tariff]stringКод тарифа
save[delivery][payerType]stringПлательщик за услуги доставки (receiver или sender)
save[delivery][shipmentDate]DateTimeДата отгрузки
save[delivery][deliveryDate]DateTimeДата доставки
save[delivery][deliveryTime]object (TimeInterval)Время доставки ("custom" не ипользуется)
save[delivery][deliveryTime][from]DateTimeВремя "с"
save[delivery][deliveryTime][to]DateTimeВремя "до"
save[delivery][deliveryTime][custom]stringВременной диапазон в свободной форме
save[delivery][extraData][]array of objects (ExtraDataValue)Дополнительные данные доставки (deliveryDataField.code => значение)
save[currency]stringКод валюты

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
resultobject (ResponseSave)Результат оформления доставки
result[deliveryId]stringИдентификатор доставки в службе доставки
result[trackNumber]stringТрек номер (если установлена опция configuration[allowTrackNumber])
result[cost]floatСтоимость доставки
result[status]stringКод статуса доставки
result[extraData]arrayДополнительные данные доставки (deliveryDataField.code => значение)

CallbackPOST {integrationModule["baseUrl"]}/{configuration["actions"]["shipmentDelete"]} Удаление заявки на отгрузку

Удаление заявки на отгрузку

Для удаления заявки на отгрузку система инициирует POST запрос метода указанного в configuration["actions"]["shipmentDelete"].

Параметры

ПараметрТипФорматОписание
clientIdstringИдентификатор клиента во внешнем сервисе
shipmentDeleteobject (RequestShipmentDelete)JSON с данными для удаления заявки на отгрузку
shipmentDelete[shipmentId]stringИдентификатор отгрузки в службе доставки
shipmentDelete[extraData][]array of objects (ExtraDataValue)Дополнительные данные отгрузки (shipmentDataField.code => значение)

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)

CallbackGET {integrationModule["baseUrl"]}/{configuration["actions"]["shipmentPointList"]} Список терминалов приема посылок

Список терминалов приема посылок

Для работы с терминалами система инициирует GET запрос метода указанного в configuration["actions"]["shipmentPointList"].

Параметры

ПараметрТипФорматОписание
clientIdstringИдентификатор клиента во внешнем сервисе
countrystringISO код страны (ISO 3166-1 alpha-2)
regionstringРегион
regionIdintegerИдентификатор региона в Geohelper
citystringГород
cityIdintegerИдентификатор города в Geohelper

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
result[]array of objects (Terminal)Терминал отгрузки/получения
result[][code]stringКод терминала
result[][name]stringНаименование терминала
result[][description]stringОписание терминала
result[][address]stringАдрес
result[][schedule]stringРежим работы
result[][phone]stringТелефон
result[][extraData]arrayДополнительные данные (deliveryDataField.code => значение)
result[][coordinates]object (Coordinates)Координаты
result[][coordinates][latitude]floatШирота
result[][coordinates][longitude]floatДолгота

CallbackPOST {integrationModule["baseUrl"]}/{configuration["actions"]["shipmentSave"]} Создание и редактирование отгрузки

Создание и редактирование отгрузки

Для создания/редактирования заявки на отгрузку система инициирует POST запрос метода указанного в configuration["actions"]["shipmentSave"].

Параметры

ПараметрТипФорматОписание
clientIdstringИдентификатор клиента во внешнем сервисе
shipmentSaveobject (RequestShipmentSave)JSON с данными для создания отгрузки
shipmentSave[shipmentId]stringИдентификатор отгрузки в службе доставки. Передается если требуется отредактировать уже оформленную отгрузку
shipmentSave[manager]object (Manager)Менеджер ответственный за отгрузку
shipmentSave[manager][id]integerИдентификатор менеджера
shipmentSave[manager][lastName]stringФамилия
shipmentSave[manager][firstName]stringИмя
shipmentSave[manager][patronymic]stringОтчество
shipmentSave[manager][phone]stringТелефон
shipmentSave[manager][email]stringE-mail
shipmentSave[date]DateTimeДата отгрузки
shipmentSave[time]object (TimeInterval)Время отгрузки
shipmentSave[time][from]DateTimeВремя "с"
shipmentSave[time][to]DateTimeВремя "до"
shipmentSave[time][custom]stringВременной диапазон в свободной форме
shipmentSave[address]object (DeliveryAddress)Адрес отгрузки
shipmentSave[address][index]stringИндекс
shipmentSave[address][countryIso]stringISO код страны (ISO 3166-1 alpha-2)
shipmentSave[address][region]stringРегион
shipmentSave[address][regionId]integerИдентификатор региона в Geohelper
shipmentSave[address][city]stringГород
shipmentSave[address][cityId]integerИдентификатор города в Geohelper
shipmentSave[address][cityType]stringТип населенного пункта
shipmentSave[address][street]stringУлица
shipmentSave[address][streetId]integerИдентификатор улицы в Geohelper
shipmentSave[address][streetType]stringТип улицы
shipmentSave[address][building]stringДом
shipmentSave[address][flat]stringНомер квартиры/офиса
shipmentSave[address][intercomCode]stringКод домофона
shipmentSave[address][floor]integerЭтаж
shipmentSave[address][block]integerПодъезд
shipmentSave[address][house]stringСтроение/корпус
shipmentSave[address][metro]stringМетро
shipmentSave[address][notes]stringПримечания к адресу
shipmentSave[address][text]stringАдрес в текстовом виде
shipmentSave[address][terminal]stringКод терминала отгрузки/доставки
shipmentSave[orders][]array of objects (ShipmentOrder)Заказы в составе отгрузки
shipmentSave[orders][][deliveryId]stringИдентификатор оформленной доставки в службе доставки
shipmentSave[orders][][packages][]array of objects (Package)Упаковки
shipmentSave[orders][][packages][][packageId]stringИдентификатор упаковки
shipmentSave[orders][][packages][][weight]floatВес г.
shipmentSave[orders][][packages][][width]integerШирина мм.
shipmentSave[orders][][packages][][length]integerДлина мм.
shipmentSave[orders][][packages][][height]integerВысота мм.
shipmentSave[comment]stringКомментарий
shipmentSave[extraData][]array of objects (ExtraDataValue)Дополнительные данные отгрузки (shipmentDataField.code => значение)

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
resultobject (ResponseShipmentSave)Результат оформления отгрузки
result[shipmentId]stringИдентификатор отгрузки в службе доставки
result[extraData]arrayДополнительные данные отгрузки

Интеграция

GET /api/v5/integration-modules/{code} Получение интеграционного модуля

Получение интеграционного модуля

Модуль может содержать один или несколько типов конфигураций, либо может не содержать ни одного.

Служба доставки  delivery

Складская система  store

Телефонии  telephony

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
integrationModuleobject (IntegrationModule)Интеграционный модуль
integrationModule[code]stringСимвольный код экземпляра модуля
integrationModule[integrationCode]stringСимвольный код модуля (должен совпадать с кодом модуля, заданным через партнерский кабинет)
integrationModule[active]booleanСтатус активности
integrationModule[freeze]booleanРабота модуля заморожена
integrationModule[name]stringНазвание (требуется, если модуль не опубликован в маркетплейсе)
integrationModule[logo]stringСсылка на svg логотип (требуется, если модуль не опубликован в маркетплейсе)
integrationModule[native]booleanСистемный модуль
integrationModule[clientId]stringУникальный хеш-ключ клиента для авторизации и идентификации во внешней системе
integrationModule[baseUrl]stringБазовый URL, на который делает запросы система
integrationModule[actions][]array of stringsОтносительные пути от базового URL до конкретных методов (массив "Код метода": "Путь", допустимые методы: activity)
integrationModule[availableCountries]arrayМассив ISO кодов стран (ISO 3166-1 alpha-2) для которых доступен модуль (требуется, если модуль не опубликован в маркетплейсе)
integrationModule[accountUrl]stringАдрес личного кабинета (при переходе по этой ссылке отправляется POST запрос с параметром clientId)
integrationModule[integrations]arrayМассив конфигураций интеграций
integrationModule[integrations][telephony]object (Configuration)Конфигурация интеграции с телефонией
integrationModule[integrations][telephony][makeCallUrl]stringАдрес инициации звонка
integrationModule[integrations][telephony][allowEdit]booleanРазрешить редактировать из интерфейса системы
integrationModule[integrations][telephony][inputEventSupported]booleanПоддерживает уведомления о входящем звонке
integrationModule[integrations][telephony][outputEventSupported]booleanПоддерживает уведомления о исходящем звонке
integrationModule[integrations][telephony][hangupEventSupported]booleanПоддерживает уведомления о завершении звонке
integrationModule[integrations][telephony][changeUserStatusUrl]stringУведомлять по этому адресу при смене сатуса менеджера в системе
integrationModule[integrations][telephony][additionalCodes][]array of objects (SerializedAdditionalCodes)Добавочные коды пользователей
integrationModule[integrations][telephony][additionalCodes][][userId]integerId пользователя
integrationModule[integrations][telephony][additionalCodes][][code]stringДобавочный код в телефонии
integrationModule[integrations][telephony][externalPhones][]array of objects (SerializedExternalPhones)Внешние номера
integrationModule[integrations][telephony][externalPhones][][siteCode]stringКод магазина
integrationModule[integrations][telephony][externalPhones][][externalPhone]stringВнешний номер
integrationModule[integrations][delivery]object (Configuration)Конфигурация интеграции со службой доставки
integrationModule[integrations][delivery][description]stringОписание подключения
integrationModule[integrations][delivery][actions][]array of stringsОтносительные пути от базового URL до конкретных методов (массив "Код метода": "Путь", допустимые методы: calculate, save, get, delete, print, shipmentPointList)
integrationModule[integrations][delivery][payerType]arrayДопустимые типы плательщиков за доставку (receiver - покупатель сам расплачивается напрямую со службой доставки; sender - магазин может брать деньги с покупателя за доставку и потом расплачивается со службой доставки)
integrationModule[integrations][delivery][platePrintLimit]integerМаксимальное количество заказов при печати документов
integrationModule[integrations][delivery][rateDeliveryCost]booleanРассчитывает ли интеграция со службой доставки стоимость самой доставки
integrationModule[integrations][delivery][allowPackages]booleanРазрешить использование упаковок
integrationModule[integrations][delivery][codAvailable]booleanДоставка наложенным платежом доступна/не доступна
integrationModule[integrations][delivery][selfShipmentAvailable]booleanВозможен самопривоз на терминал.
integrationModule[integrations][delivery][allowTrackNumber]booleanПередавать дополнительно трек номер помимо идентификатора доставки
integrationModule[integrations][delivery][availableCountries]arrayСписок ISO кодов стран (ISO 3166-1 alpha-2) с которыми работает доставка. Если массив пустой, то нет ограничения на страны
integrationModule[integrations][delivery][requiredFields]arrayСписок обязательных полей заказа
integrationModule[integrations][delivery][statusList][]array of objects (Status)Статусы службы доставки
integrationModule[integrations][delivery][statusList][][code]stringКод статуса доставки
integrationModule[integrations][delivery][statusList][][name]stringНаименование статуса
integrationModule[integrations][delivery][statusList][][isEditable]booleanСтатус ("isEditable": true) допускает редактирование данных доставки
integrationModule[integrations][delivery][plateList][]array of objects (Plate)Печатные формы, предоставляемых службой
integrationModule[integrations][delivery][plateList][][code]stringКод печатной формы
integrationModule[integrations][delivery][plateList][][label]stringНаименование печатной формы
integrationModule[integrations][delivery][deliveryDataFieldList][]array of objects (DeliveryDataField)Дополнительные поля, необходимые для оформления доставки
integrationModule[integrations][delivery][deliveryDataFieldList][][code]stringКод поля
integrationModule[integrations][delivery][deliveryDataFieldList][][label]stringИмя поля
integrationModule[integrations][delivery][deliveryDataFieldList][][hint]stringПояснение к полю
integrationModule[integrations][delivery][deliveryDataFieldList][][type]stringТип поля. Возможны варианты (integer - числовое поле, text - текстовое поле, autocomplete - автокомплит поле, checkbox, choice - выпадающий список, date - поле с датой)
integrationModule[integrations][delivery][deliveryDataFieldList][][multiple]booleanУказывается для типа поля choice. Означает что можно выбирать несколько вариантов
integrationModule[integrations][delivery][deliveryDataFieldList][][choices]arrayУказывается для типа поля choice. Список возможных вариантов в выпадающем списке (массив объеков {"value": "value", "label": "label"}). Обязателен если тип поля choice
integrationModule[integrations][delivery][deliveryDataFieldList][][autocompleteUrl]stringУказывается для типа поля autocomplete. Адрес, по окторому можно получить данные для автокомплит поля.
integrationModule[integrations][delivery][deliveryDataFieldList][][required]booleanПоле обязательно для заполнения
integrationModule[integrations][delivery][deliveryDataFieldList][][affectsCost]booleanПоле влияет на стоимость доставки. Если "affectsCost": true - значение поля используется в методе calculate
integrationModule[integrations][delivery][deliveryDataFieldList][][editable]booleanРазрешено ли редактировать поле. Если "editable": false - поле информационное - заполняется только данными, полученными напрямую от службы доставки (например стоимость страховки - может заполняться после оформления доставки или при расчете стоимости)
integrationModule[integrations][delivery][shipmentDataFieldList][]array of objects (DeliveryDataField)Дополнительные поля, необходимые для оформления доставки
integrationModule[integrations][store]object (Configuration)Конфигурация интеграции со складской системой
integrationModule[integrations][store][actions][]array of objects (Action)Callback методы
integrationModule[integrations][store][actions][][code]stringСимвольный код
integrationModule[integrations][store][actions][][url]stringUrl метода
integrationModule[integrations][store][actions][][callPoints][]array of stringsТочки вызова метода

POST /api/v5/integration-modules/{code}/edit Создание/редактирование интеграционного модуля

Создание/редактирование интеграционного модуля

Для получения сообщений об активации/деактивации и заморозке/разморозке модуля необходимо указать baseUrl и путь до callback activity - integrationModule[actions][activity].

Модуль может содержать один или несколько типов конфигураций, либо может не содержать ни одного.

Служба доставки (delivery) Наличие конфигурации этого типа дает доступ к использованию методов из раздела "Доставки".

Складская система (store) Наличие конфигурации этого типа дает доступ к использованию метода {configuration["actions"]["inventoriesUpload"]["url"]} из раздела "Склад".

Телефонии (telephony) Наличие конфигурации этого типа дает доступ к использованию методов из раздела "Телефония".

Поле integrationModule[integrations][telephony][inputEventSupported] содержит информацию поддерживает ли сервис уведомления об входящем звонке. По умолчанию значение 0

Поле integrationModule[integrations][telephony][outputEventSupported] содержит информацию поддерживает ли сервис уведомления об исходящем звонке. По умолчанию значение 0

Поле integrationModule[integrations][telephony][hangupEventSupported] содержит информацию поддерживает ли сервис уведомления об завершении звонка. По умолчанию значение 0

Поле integrationModule[integrations][telephony][additionalCodes] содержит JSON, в котором лежит массив соответствия:id пользователя и code - добавочного кода в телефонии.

Поле integrationModule[integrations][telephony][externalPhones] содержит JSON, в котором лежит массив соответствия: siteCode - кода магазина и externalPhone - внешнего номера. Если для одного магазина будет задано несколько внешних номеров, при инициации звонка с заданного магазина будет выбран последний номер из списка.

Если задано поле integrationModule[integrations][telephony][changeUserStatusUrl], при смене статуса менеджера в системе по заданному адресу будет отправлен GET запрос.

Если заполнены все 3 события (integrationModule[integrations][telephony][inputEventSupported], integrationModule[integrations][telephony][outputEventSupported], integrationModule[integrations][telephony][hangupEventSupported]) и задано поле integrationModule[integrations][telephony][makeCallUrl] будет доступен функционал телефонных кампаний.

Параметры

ПараметрТипФорматОписание
integrationModuleobject (IntegrationModule)Интеграционный модуль
integrationModule[code]stringСимвольный код экземпляра модуля
integrationModule[integrationCode]stringСимвольный код модуля (должен совпадать с кодом модуля, заданным через партнерский кабинет)
integrationModule[active]booleanСтатус активности
integrationModule[name]stringНазвание (требуется, если модуль не опубликован в маркетплейсе)
integrationModule[logo]stringСсылка на svg логотип (требуется, если модуль не опубликован в маркетплейсе)
integrationModule[clientId]stringУникальный хеш-ключ клиента для авторизации и идентификации во внешней системе
integrationModule[baseUrl]stringБазовый URL, на который делает запросы система
integrationModule[actions][]array of stringsОтносительные пути от базового URL до конкретных методов (массив "Код метода": "Путь", допустимые методы: activity)
integrationModule[availableCountries]arrayМассив ISO кодов стран (ISO 3166-1 alpha-2) для которых доступен модуль (требуется, если модуль не опубликован в маркетплейсе)
integrationModule[accountUrl]stringАдрес личного кабинета (при переходе по этой ссылке отправляется POST запрос с параметром clientId)
integrationModule[integrations]arrayМассив конфигураций интеграций
integrationModule[integrations][telephony]object (Configuration)Конфигурация интеграции с телефонией
integrationModule[integrations][telephony][makeCallUrl]stringАдрес инициации звонка
integrationModule[integrations][telephony][allowEdit]booleanРазрешить редактировать из интерфейса системы
integrationModule[integrations][telephony][inputEventSupported]booleanПоддерживает уведомления о входящем звонке
integrationModule[integrations][telephony][outputEventSupported]booleanПоддерживает уведомления о исходящем звонке
integrationModule[integrations][telephony][hangupEventSupported]booleanПоддерживает уведомления о завершении звонке
integrationModule[integrations][telephony][changeUserStatusUrl]stringУведомлять по этому адресу при смене сатуса менеджера в системе
integrationModule[integrations][telephony][additionalCodes][]array of objects (SerializedAdditionalCodes)Добавочные коды пользователей
integrationModule[integrations][telephony][additionalCodes][][userId]integerId пользователя
integrationModule[integrations][telephony][additionalCodes][][code]stringДобавочный код в телефонии
integrationModule[integrations][telephony][externalPhones][]array of objects (SerializedExternalPhones)Внешние номера
integrationModule[integrations][telephony][externalPhones][][siteCode]stringКод магазина
integrationModule[integrations][telephony][externalPhones][][externalPhone]stringВнешний номер
integrationModule[integrations][delivery]object (Configuration)Конфигурация интеграции со службой доставки
integrationModule[integrations][delivery][description]stringОписание подключения
integrationModule[integrations][delivery][actions][]array of stringsОтносительные пути от базового URL до конкретных методов (массив "Код метода": "Путь", допустимые методы: calculate, save, get, delete, print, shipmentPointList)
integrationModule[integrations][delivery][payerType]arrayДопустимые типы плательщиков за доставку (receiver - покупатель сам расплачивается напрямую со службой доставки; sender - магазин может брать деньги с покупателя за доставку и потом расплачивается со службой доставки)
integrationModule[integrations][delivery][platePrintLimit]integerМаксимальное количество заказов при печати документов
integrationModule[integrations][delivery][rateDeliveryCost]booleanРассчитывает ли интеграция со службой доставки стоимость самой доставки
integrationModule[integrations][delivery][allowPackages]booleanРазрешить использование упаковок
integrationModule[integrations][delivery][codAvailable]booleanДоставка наложенным платежом доступна/не доступна
integrationModule[integrations][delivery][selfShipmentAvailable]booleanВозможен самопривоз на терминал.
integrationModule[integrations][delivery][allowTrackNumber]booleanПередавать дополнительно трек номер помимо идентификатора доставки
integrationModule[integrations][delivery][availableCountries]arrayСписок ISO кодов стран (ISO 3166-1 alpha-2) с которыми работает доставка. Если массив пустой, то нет ограничения на страны
integrationModule[integrations][delivery][requiredFields]arrayСписок обязательных полей заказа
integrationModule[integrations][delivery][statusList][]array of objects (Status)Статусы службы доставки
integrationModule[integrations][delivery][statusList][][code]stringКод статуса доставки
integrationModule[integrations][delivery][statusList][][name]stringНаименование статуса
integrationModule[integrations][delivery][statusList][][isEditable]booleanСтатус ("isEditable": true) допускает редактирование данных доставки
integrationModule[integrations][delivery][plateList][]array of objects (Plate)Печатные формы, предоставляемых службой
integrationModule[integrations][delivery][plateList][][code]stringКод печатной формы
integrationModule[integrations][delivery][plateList][][label]stringНаименование печатной формы
integrationModule[integrations][delivery][deliveryDataFieldList][]array of objects (DeliveryDataField)Дополнительные поля, необходимые для оформления доставки
integrationModule[integrations][delivery][deliveryDataFieldList][][code]stringКод поля
integrationModule[integrations][delivery][deliveryDataFieldList][][label]stringИмя поля
integrationModule[integrations][delivery][deliveryDataFieldList][][hint]stringПояснение к полю
integrationModule[integrations][delivery][deliveryDataFieldList][][type]stringТип поля. Возможны варианты (integer - числовое поле, text - текстовое поле, autocomplete - автокомплит поле, checkbox, choice - выпадающий список, date - поле с датой)
integrationModule[integrations][delivery][deliveryDataFieldList][][multiple]booleanУказывается для типа поля choice. Означает что можно выбирать несколько вариантов
integrationModule[integrations][delivery][deliveryDataFieldList][][choices]arrayУказывается для типа поля choice. Список возможных вариантов в выпадающем списке (массив объеков {"value": "value", "label": "label"}). Обязателен если тип поля choice
integrationModule[integrations][delivery][deliveryDataFieldList][][autocompleteUrl]stringУказывается для типа поля autocomplete. Адрес, по окторому можно получить данные для автокомплит поля.
integrationModule[integrations][delivery][deliveryDataFieldList][][required]booleanПоле обязательно для заполнения
integrationModule[integrations][delivery][deliveryDataFieldList][][affectsCost]booleanПоле влияет на стоимость доставки. Если "affectsCost": true - значение поля используется в методе calculate
integrationModule[integrations][delivery][deliveryDataFieldList][][editable]booleanРазрешено ли редактировать поле. Если "editable": false - поле информационное - заполняется только данными, полученными напрямую от службы доставки (например стоимость страховки - может заполняться после оформления доставки или при расчете стоимости)
integrationModule[integrations][delivery][shipmentDataFieldList][]array of objects (DeliveryDataField)Дополнительные поля, необходимые для оформления доставки
integrationModule[integrations][store]object (Configuration)Конфигурация интеграции со складской системой
integrationModule[integrations][store][actions][]array of objects (Action)Callback методы
integrationModule[integrations][store][actions][][code]stringСимвольный код
integrationModule[integrations][store][actions][][url]stringUrl метода
integrationModule[integrations][store][actions][][callPoints][]array of stringsТочки вызова метода

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
infoarrayДополнительная информация о результатах редактирования модуля

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
402
  • На счете клиента недостаточно средств для активации интеграционного модуля

CallbackPOST {integrationModule["baseUrl"]}/{integrationModule["actions"]["activity"]} Уведомление об изменении статуса активности или заморозки модуля

Уведомление об изменении статуса активности или заморозки модуля

Callback вызывается при изменении статуса активности и заморозки модуля или при переименовании системы. В случае деактивации работа модуля должна быть прекращена. При заморозке - работа модуля должна быть приостановлена. При переименовании системы нужно обновить URL системы, на который отправляются запросы. Новый URL приходит с нового адреса системы, для определения аккаунта необходимо использовать clientId. При каждой инициации этого метода передаются все параметры.

Параметры

ПараметрТипФорматОписание
clientIdstring{not blank}Идентификатор клиента во внешнем сервисе
activityobject (IntegrationModule)Интеграционный модуль
activity[active]booleanСтатус активности
activity[freeze]booleanРабота модуля заморожена
systemUrlstringАктуальный URL системы, где активирован интеграционный модуль (пример: https://demo.retailcrm.ru )

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)

Заказы

GET /api/v5/orders Получение списка заказов, удовлетворяющих заданному фильтру

Получение списка заказов, удовлетворяющих заданному фильтру

Результат возвращается постранично. В поле pagination содержится информация о постраничной разбивке.

В фильтрах filter[managers][], filter[couriers][] указывается массив внутренних ID элементов в системе.

В фильтрах filter[orderTypes][], filter[paymentStatuses][], filter[paymentTypes][], filter[deliveryTypes][], filter[orderMethods][], filter[managerGroups][] указывается массив символьных кодов элементов.

В фильтрах filter[sourceName], filter[mediumName], filter[campaignName], filter[keywordName], filter[adContentName] указывается название элементов.

В фильтре filter[numbers] производится точное сравнение с элементами заданного массива строк.

В фильтрах filter[ids][] и filter[externalIds][] передается массив внутренних и внешних идентификаторов соответственно.

В фильтре filter[extendedStatus][] можно указывать один или несколько статусов или групп статусов заказа. Для фильтрации по статусу передается символьный код статуса. Для фильтрации по группе статусов передается символьный код группы статусов плюс постфикс -group. Пример: filter[extendedStatus][]=new&filter[extendedStatus][]=approval-group.

С помощью фильтра filter[customFields][] можно производить поиск по значениям пользовательских полей. Для полей типа «Справочник» указывается символьный код значения в справочнике. Для полей типа «Дата» указывается дата в формате Y-m-d. Для других типов полей указывается непосредственно значение.

Для пользовательских полей типа Целое число, Число и Дата фильтрация осуществляется по диапазону, для остальных типов полей — по точному значению. Имя фильтра соответствует символьному коду поля. Пример: для поля типа Дата с символьным кодом birth-date доступны фильтры filter[customFields][birth_date][min] и filter[customFields][birth_date][max]. Для поля типа Справочник с символьным кодом quality доступен множественный фильтр filter[customFields][quality][].

В фильтре filter[attachments] можно указать одно из трех значений:

Пустые поля без значений не возвращаются.

В полях orderType, orderMethod, payments[][type], payments[][status], status, site, delivery[code] возвращается символьный код элемента.

В полях managerId, sourceId возвращается внутренний ID сущности в системе.

В поле customFields возвращается массив значений пользовательских полей. Для полей типа «Справочник» указывается символьный код значения в справочнике. Для полей типа «Дата» указывается дата в формате Y-m-d. Для других типов полей указывается непосредственно значение.

Если адрес доставки указывался в строковом виде, то он будет возвращен в delivery[address][text]. Если адрес указывался в детальном виде, то будут возвращены все заполненные поля доставки, а в delivery[address][text] будет находиться автоматически сформированное текстовое представление адреса.

Параметры

ПараметрТипФорматОписание
limitinteger{not blank}[20|50|100], [20|50|100|250]}Количество элементов в ответе (по умолчанию равно 20)
pageinteger{not blank}{range: {>=1}}}Номер страницы с результатами (по умолчанию равно 1)
filterobject (OrderFilter)
filter[externalIds]array of objects (TextType)Массив externalID заказов
filter[numbers]array of objects (TextType)Массив номеров заказов
filter[customer]string{length: {max: 255}}Клиент (ФИО или телефон)
filter[customerId]string{range: {>=0, <=100000000000}}Внутренний ID клиента
filter[customerExternalId]string{length: {max: 255}}Внешний ID клиента
filter[countries]array of choices[BY|KZ|RU|UA]ISO код страны (ISO 3166-1 alpha-2)
filter[city]string{length: {max: 255}}Город
filter[region]string{length: {max: 255}}Регион
filter[index]stringПочтовый индекс
filter[metro]string{length: {max: 255}}Метро
filter[email]string{length: {max: 255}}E-mail
filter[deliveryTimeFrom]time{Time HH:MM:SS}Время доставки (с)
filter[deliveryTimeTo]time{Time HH:MM:SS}Время доставки (до)
filter[minPrepaySumm]string{range: {>=0, <=100000000000}}Оплачено (от)
filter[maxPrepaySumm]string{range: {>=0, <=100000000000}}Оплачено (до)
filter[minPrice]string{range: {>=0, <=100000000000}}Стоимость заказа (от)
filter[maxPrice]string{range: {>=0, <=100000000000}}Стоимость заказа (до)
filter[product]string{length: {max: 255}}Товар (название или артикул)
filter[vip]string[0|1]Важный клиент
filter[bad]string[0|1]Плохой клиент
filter[expired]string[0|1]Заказ просрочен
filter[call]string[0|1]Требуется позвонить
filter[online]choice[0|1]Клиент на сайте
filter[minDeliveryCost]string{range: {>=0, <=100000000000}}Стоимость доставки (от)
filter[maxDeliveryCost]string{range: {>=0, <=100000000000}}Стоимость доставки (до)
filter[minDeliveryNetCost]string{range: {>=0, <=100000000000}}Себестоимость доставки (от)
filter[maxDeliveryNetCost]string{range: {>=0, <=100000000000}}Себестоимость доставки (до)
filter[managerComment]string{length: {max: 255}}Комментарий менеджера
filter[customerComment]string{length: {max: 255}}Комментарий клиента
filter[minMarginSumm]string{range: {>=0, <=100000000000}}Валовая прибыль заказа (от)
filter[maxMarginSumm]string{range: {>=0, <=100000000000}}Валовая прибыль заказа (до)
filter[minPurchaseSumm]string{range: {>=0, <=100000000000}}Закупочная стоимость заказа (от)
filter[maxPurchaseSumm]string{range: {>=0, <=100000000000}}Закупочная стоимость заказа (до)
filter[minCostSumm]stringСумма расходов (от)
filter[maxCostSumm]stringСумма расходов (до)
filter[trackNumber]string{length: {max: 255}}Номер отправления в службе доставки
filter[contragentName]string{length: {max: 255}}Наименование контрагента
filter[contragentTypes][]array of choices{choice of [enterpreneur|individual|legal-entity]}Типы контрагента
filter[contragentInn]string{match: /\d+/}ИНН
filter[contragentKpp]string{match: /\d+/}КПП
filter[contragentBik]string{match: /\d+/}БИК банка
filter[contragentCorrAccount]string{match: /\d+/}Корр. счет банка
filter[contragentBankAccount]string{match: /\d+/}Расчетный счет
filter[shipped]choice[0|1]Отгружен
filter[uploadedToExtStoreSys]choice[0|1]Загружен во внешнюю складскую систему
filter[attachments]choice[1|2|3]Прикрепленные объекты (вложения)
filter[receiptFiscalDocumentAttribute]string{length: {max: 255}}Фискальный признак документа
filter[receiptStatus]choice[done|fail|wait]Статус фискализации
filter[receiptOperation]choice[sell|sell_refund]Операция фискализации
filter[ids]array of objects (IntegerType)Массив ID заказов
filter[orderTypes][]array of choicesТипы заказа
filter[managers][]array of choicesМенеджеры
filter[paymentStatuses][]array of choicesСтатусы оплаты
filter[sites][]array of choicesМагазины
filter[paymentTypes][]array of choicesТипы оплаты
filter[deliveryTypes][]array of choicesТипы доставки
filter[orderMethods][]array of choicesСпособы оформления
filter[couriers][]array of choicesКурьеры
filter[managerGroups][]array of choicesГруппы менеджеров
filter[shipmentStores][]array of choicesСклады отгрузки
filter[createdAtFrom]stringДата оформления заказа (от)
filter[createdAtTo]stringДата оформления заказа (до)
filter[fullPaidAtFrom]stringДата полной оплаты (от)
filter[fullPaidAtTo]stringДата полной оплаты (до)
filter[deliveryDateFrom]stringДата доставки (от)
filter[deliveryDateTo]stringДата доставки (до)
filter[statusUpdatedAtFrom]stringДата последнего изменения статуса (от)
filter[statusUpdatedAtTo]stringДата последнего изменения статуса (до)
filter[dpdParcelDateFrom]stringДата отгрузки в DPD (от)
filter[dpdParcelDateTo]stringДата отгрузки в DPD (до)
filter[firstWebVisitFrom]stringПервое посещение (от)
filter[firstWebVisitTo]stringПервое посещение (до)
filter[lastWebVisitFrom]stringПоследнее посещение (от)
filter[lastWebVisitTo]stringПоследнее посещение (до)
filter[firstOrderFrom]stringПервый заказ (от)
filter[firstOrderTo]stringПервый заказ (до)
filter[lastOrderFrom]stringПоследний заказ (от)
filter[lastOrderTo]stringПоследний заказ (до)
filter[shipmentDateFrom]stringДата отгрузки (от)
filter[shipmentDateTo]stringДата отгрузки (до)
filter[customFields]arrayПользовательские поля
filter[extendedStatus]array of objects (TextType)Статус заказа
filter[sourceName]string{length: {max: 255}}Источник
filter[mediumName]string{length: {max: 255}}Канал
filter[campaignName]string{length: {max: 255}}Кампания
filter[keywordName]stringКлючевое слово
filter[adContentName]stringСодержание кампании

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
paginationobject (PaginationResponse)Постраничная разбивка
pagination[limit]integerКоличество элементов в ответе
pagination[totalCount]integerОбщее количество найденных элементов
pagination[currentPage]integerТекущая страница выдачи
pagination[totalPageCount]integerОбщее количество страниц выдачи
orders[]array of objects (Order)Заказ
orders[][summ]doubleСумма по товарам
orders[][id]integerID заказа
orders[][number]stringНомер заказа
orders[][externalId]stringВнешний ID заказа
orders[][orderType]stringТип заказа
orders[][orderMethod]stringСпособ оформления
orders[][countryIso]stringISO код страны (ISO 3166-1 alpha-2)
orders[][createdAt]DateTimeДата оформления заказа
orders[][statusUpdatedAt]DateTimeДата последнего изменения статуса
orders[][totalSumm]doubleОбщая сумма с учетом скидки
orders[][prepaySum]doubleОплаченная сумма
orders[][purchaseSumm]doubleОбщая стоимость закупки
orders[][mark]integerОценка заказа
orders[][markDatetime]DateTimeДата и время получение оценки от покупателя
orders[][lastName]stringФамилия
orders[][firstName]stringИмя
orders[][patronymic]stringОтчество
orders[][phone]stringТелефон
orders[][additionalPhone]stringДополнительный телефон
orders[][email]stringE-mail
orders[][call]booleanТребуется позвонить
orders[][expired]booleanПросрочен
orders[][customerComment]stringКомментарий клиента
orders[][managerComment]stringКомментарий оператора
orders[][managerId]integerМенеджер, прикрепленный к заказу
orders[][customer]object (Customer)Клиент
orders[][customer][id]integerID клиента
orders[][customer][externalId]stringВнешний ID клиента
orders[][customer][firstName]stringИмя
orders[][customer][lastName]stringФамилия
orders[][customer][patronymic]stringОтчество
orders[][customer][sex]stringПол
orders[][customer][email]stringE-mail
orders[][customer][phones][]array of objects (CustomerPhone)Телефоны
orders[][customer][phones][][number]stringНомер телефона
orders[][customer][address]object (CustomerAddress)Адрес клиента
orders[][customer][address][index]stringИндекс
orders[][customer][address][countryIso]stringISO код страны (ISO 3166-1 alpha-2)
orders[][customer][address][region]stringРегион
orders[][customer][address][regionId]integerИдентификатор региона в Geohelper
orders[][customer][address][city]stringГород
orders[][customer][address][cityId]integerИдентификатор города в Geohelper
orders[][customer][address][cityType]stringТип населенного пункта
orders[][customer][address][street]stringУлица
orders[][customer][address][streetId]integerИдентификатор улицы в Geohelper
orders[][customer][address][streetType]stringТип улицы
orders[][customer][address][building]stringДом
orders[][customer][address][flat]stringНомер квартиры/офиса
orders[][customer][address][intercomCode]stringКод домофона
orders[][customer][address][floor]integerЭтаж
orders[][customer][address][block]integerПодъезд
orders[][customer][address][house]stringСтроение/корпус
orders[][customer][address][metro]stringМетро
orders[][customer][address][notes]stringПримечания к адресу
orders[][customer][address][text]stringАдрес в текстовом виде
orders[][customer][createdAt]DateTimeСоздан
orders[][customer][birthday]DateTimeДень рождения
orders[][customer][managerId]integerМенеджер клиента
orders[][customer][vip]booleanВажный клиент
orders[][customer][bad]booleanПлохой клиент
orders[][customer][site]stringМагазин, с которого пришел клиент
orders[][customer][source]object (SerializedSource)Источник клиента
orders[][customer][source][source]stringИсточник
orders[][customer][source][medium]stringКанал
orders[][customer][source][campaign]stringКампания
orders[][customer][source][keyword]stringКлючевое слово
orders[][customer][source][content]stringСодержание кампании
orders[][customer][contragent]object (CustomerContragent)Реквизиты
orders[][customer][contragent][contragentType]stringТип контрагента
orders[][customer][contragent][legalName]stringПолное наименование
orders[][customer][contragent][legalAddress]stringАдрес регистрации
orders[][customer][contragent][INN]stringИНН
orders[][customer][contragent][OKPO]stringОКПО
orders[][customer][contragent][KPP]stringКПП
orders[][customer][contragent][OGRN]stringОГРН
orders[][customer][contragent][OGRNIP]stringОГРНИП
orders[][customer][contragent][certificateNumber]stringНомер свидетельства
orders[][customer][contragent][certificateDate]DateTimeДата свидетельства
orders[][customer][contragent][BIK]stringБИК
orders[][customer][contragent][bank]stringБанк
orders[][customer][contragent][bankAddress]stringАдрес банка
orders[][customer][contragent][corrAccount]stringКорр. счёт
orders[][customer][contragent][bankAccount]stringРасчётный счёт
orders[][customer][personalDiscount]doubleПерсональная скидка
orders[][customer][cumulativeDiscount]doubleНакопительная скидка
orders[][customer][discountCardNumber]stringНомер дисконтной карты
orders[][customer][emailMarketingUnsubscribedAt]DateTimeДата отписки от email рассылок
orders[][customer][avgMarginSumm]floatСредняя валовая прибыль по заказам клиента
orders[][customer][marginSumm]floatLTV
orders[][customer][totalSumm]floatОбщая сумма заказов
orders[][customer][averageSumm]floatСредняя сумма заказа
orders[][customer][ordersCount]integerКоличество заказов
orders[][customer][costSumm]floatСумма расходов
orders[][customer][maturationTime]integerВремя «созревания», в секундах
orders[][customer][firstClientId]stringПервая метка клиента Google Analytics
orders[][customer][lastClientId]stringПоследняя метка клиента Google Analytics
orders[][customer][customFields]arrayАссоциативный массив пользовательских полей
orders[][contragent]object (OrderContragent)Реквизиты
orders[][contragent][contragentType]stringТип контрагента
orders[][contragent][legalName]stringПолное наименование
orders[][contragent][legalAddress]stringАдрес регистрации
orders[][contragent][INN]stringИНН
orders[][contragent][OKPO]stringОКПО
orders[][contragent][KPP]stringКПП
orders[][contragent][OGRN]stringОГРН
orders[][contragent][OGRNIP]stringОГРНИП
orders[][contragent][certificateNumber]stringНомер свидетельства
orders[][contragent][certificateDate]DateTimeДата свидетельства
orders[][contragent][BIK]stringБИК
orders[][contragent][bank]stringБанк
orders[][contragent][bankAddress]stringАдрес банка
orders[][contragent][corrAccount]stringКорр. счёт
orders[][contragent][bankAccount]stringРасчётный счёт
orders[][delivery]object (SerializedOrderDelivery)Данные о доставке
orders[][delivery][code]stringКод типа доставки
orders[][delivery][integrationCode]stringИнтеграционный код типа доставки
orders[][delivery][data]object (IntegrationDeliveryData)Данные для интеграционных типов доставки
orders[][delivery][data][trackNumber]stringТрек-номер
orders[][delivery][data][status]stringКод статуса
orders[][delivery][data][pickuppointAddress]stringАдрес пункта выдачи заказов
orders[][delivery][data][payerType]stringТип плательщика за доставку
orders[][delivery][service]object (SerializedDeliveryService)Служба доставки
orders[][delivery][service][name]stringНазвание
orders[][delivery][service][code]stringСимвольный код
orders[][delivery][service][active]booleanСтатус активности
orders[][delivery][cost]doubleСтоимость доставки
orders[][delivery][netCost]doubleСебестоимость доставки
orders[][delivery][date]DateTimeДата доставки
orders[][delivery][time]object (TimeInterval)Информация о временном диапазоне
orders[][delivery][time][from]DateTimeВремя "с"
orders[][delivery][time][to]DateTimeВремя "до"
orders[][delivery][time][custom]stringВременной диапазон в свободной форме
orders[][delivery][address]object (OrderDeliveryAddress)Адрес доставки
orders[][delivery][vatRate]stringСтавка НДС
orders[][marketplace]object (MarketplaceData)Данные маркетплейс площадки
orders[][marketplace][code]stringКод маркетплейс площадки
orders[][marketplace][orderId]stringИдентификатор заказа на маркетплейс площадке
orders[][site]stringМагазин
orders[][status]stringСтатус заказа
orders[][statusComment]stringКомментарий к последнему изменению статуса
orders[][source]object (SerializedSource)Источник заказа
orders[][source][source]stringИсточник
orders[][source][medium]stringКанал
orders[][source][campaign]stringКампания
orders[][source][keyword]stringКлючевое слово
orders[][source][content]stringСодержание кампании
orders[][items][]array of objects (OrderProduct)Товар в заказе
orders[][items][][id]integerID
orders[][items][][initialPrice]doubleЦена товара/SKU
orders[][items][][discountTotal]doubleИтоговая денежная скидка на единицу товара c учетом всех скидок на товар и заказ
orders[][items][][vatRate]stringСтавка НДС
orders[][items][][createdAt]DateTimeДата создания товара в системе
orders[][items][][quantity]floatКоличество
orders[][items][][status]stringСтатус товара в заказе
orders[][items][][comment]stringКомментарий к товару в заказе
orders[][items][][offer]object (Offer)Торговое предложение
orders[][items][][offer][id]integerID торгового предложения
orders[][items][][offer][externalId]stringID торгового предложения в магазине
orders[][items][][offer][xmlId]stringID торгового предложения в складской системе
orders[][items][][offer][name]stringНазвание
orders[][items][][offer][vatRate]stringСтавка НДС
orders[][items][][offer][properties][]array of stringsСвойства SKU
orders[][items][][isCanceled]booleanДанный товар в заказе является отмененным
orders[][items][][properties][]array[массив] Дополнительные свойства товара в заказе
orders[][items][][properties][][code]stringКод свойства (не обязательное поле, код может передаваться в ключе свойства)
orders[][items][][properties][][name]stringИмя свойства
orders[][items][][properties][][value]stringЗначение свойства
orders[][items][][purchasePrice]doubleЗакупочная цена
orders[][items][][priceType]object (PriceType)Тип цены
orders[][items][][priceType][code]stringКод типа цены
orders[][fullPaidAt]DateTimeДата полной оплаты
orders[][payments][]array of objects (Payment)Платежи
orders[][payments][][id]integerВнутренний ID
orders[][payments][][status]stringСтатус оплаты
orders[][payments][][type]stringТип оплаты
orders[][payments][][externalId]stringВнешний ID платежа
orders[][payments][][amount]doubleСумма платежа
orders[][payments][][paidAt]DateTimeДата оплаты
orders[][payments][][comment]stringКомментарий
orders[][fromApi]booleanЗаказ поступил через API
orders[][weight]doubleВес
orders[][length]integerДлина
orders[][width]integerШирина
orders[][height]integerВысота
orders[][shipmentStore]stringСклад отгрузки
orders[][shipmentDate]DateTimeДата отгрузки
orders[][shipped]booleanЗаказ отгружен
orders[][customFields]arrayАссоциативный массив пользовательских полей
orders[][clientId]stringМетка клиента Google Analytics
orders[][uploadedToExternalStoreSystem]booleanФлаг выгрузки во внешнюю складскую систему

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

POST /api/v5/orders/combine Объединение заказов

Объединение заказов

Позволяет объединить заказы.

Товары заказа в параметре resultOrder будут объединены с товарами заказа order, после чего заказ order будет безвозвратно удален.

В параметре technique можно указать стратегию объединения в случае одинаковых товаров в составах заказов

Параметры

ПараметрТипФорматОписание
techniquestring[ours|summ|theirs]Способ объединения в случае одинаковых товаров в составах заказов
orderobject (SerializedOrderReference){not blank}Заказ будет удален в результате объединения
order[id]integer{not blank}{range: {>=1, <=4294967295}}}Внутренний ID заказа
resultOrderobject (SerializedOrderReference){not blank}Заказ в который произойдет объединение
resultOrder[id]integer{not blank}{range: {>=1, <=4294967295}}}Внутренний ID заказа

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
errorsarrayОшибки при объединении заказов

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

POST /api/v5/orders/create Создание заказа

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

Метод создает заказ и возвращает внутренний ID созданного заказа.

Если не указывать order[createdAt], то будет использовано текущее время в качестве даты/времени оформления заказа.

Если требуется привязать заказ к существующему клиенту, то необходимо передать внешний ID клиента в поле order[customer][externalId], внутренний ID клиента в поле order[customer][id] либо идентификатор клиента в Daemon Collector в поле order[customer][browserId]. Поиск клиента будет осуществляться в рамках магазинов, к которым есть доступ у используемого API-ключа. Если не указывать order[customer], то клиент будет автоматически создан на основе данных из заказа.

Поле contragent[contragentType] может принимать 3 значения: individual - физическое лицо, legal-entity - юридическое лицо, enterpreneur - индивидуальный предприниматель. Для различных типов юр. лиц доступны различные наборы полей. Для типа individual недоступны все поля, для типа legal-entity недоступны поля contragent[OGRNIP], contragent[certificateNumber], contragent[certificateDate], для типа enterpreneur недоступны поля contragent[OGRN], contragent[KPP].

В полях order[orderType], order[orderMethod], order[payments][][type], order[payments][][status], order[status], order[shipmentStore], order[delivery][code], order[items][][status] указывается символьный код элемента.

В полях order[managerId], order[sourceId] указывается внутренний ID сущности в системе.

Товары заказа указываются в поле order[items][]. Если товар присутствует в каталоге, то необходимо установить значение одного из следующих полей:

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

В случае, если ни один из идентификаторов товара не передан либо товар не найден, то товар будет автоматически создан на основе данных полей order[items][][initialPrice], order[items][][purchasePrice], order[items][][productName], при этом данная позиция товара в заказе не привязывается к товару в каталоге.

Адрес доставки order[delivery][address] можно указывать либо в строковом виде в поле order[delivery][address][text], либо в подробном виде, заполняя все поля кроме order[delivery][address][text].

В поле order[customFields] можно передавать массив значений пользовательских полей. Для полей типа «Справочник» указывается символьный код значения в справочнике. Для полей типа «Дата» указывается дата в формате Y-m-d. Для других типов полей указывается непосредственно значение.

Для работы с типами цен необходимо, чтобы в справочнике было активно более одного типа цен. Для передачи типа цены для товарной позиции в заказе необходимо передать код нужного типа цен в поле order[items][][priceType][code]. Рекомендуется вместе с типом цены передавать актуальное значение цены товара через order[items][][initialPrice]. Если передать тип цены order[items][][priceType][code] без значения цены order[items][][initialPrice], то в качестве цены товарной позиции возьмется текущее значения данного типа цен для данного товара. Для новой товарной позиции рекомендуется всегда передавать цену order[items][][initialPrice] явно, на случай если актуальная цена еще не была загруженна в систему. Если для товара не передать тип цены order[items][][priceType][code], то в карточке заказа для товарной позиции в типе цены будет указанно Без типа. В случае, если в системе используется только базовый тип цен, то параметр order[items][][priceType][code] следует опустить.

Параметры

ПараметрТипФорматОписание
sitestringСимвольный код магазина
orderobject (SerializedOrder)Заказ
order[number]stringНомер заказа
order[externalId]stringВнешний ID заказа
order[countryIso]stringISO код страны (ISO 3166-1 alpha-2)
order[createdAt]DateTimeДата оформления заказа
order[discountManualAmount]doubleДенежная скидка на весь заказ
order[discountManualPercent]doubleПроцентная скидка на весь заказ
order[mark]integerОценка заказа
order[markDatetime]DateTimeДата и время получение оценки от покупателя
order[lastName]stringФамилия
order[firstName]stringИмя
order[patronymic]stringОтчество
order[phone]stringТелефон
order[additionalPhone]stringДополнительный телефон
order[email]stringE-mail
order[call]booleanТребуется позвонить
order[expired]booleanПросрочен
order[customerComment]stringКомментарий клиента
order[managerComment]stringКомментарий оператора
order[contragent]object (OrderContragent)Реквизиты
order[contragent][contragentType]stringТип контрагента
order[contragent][legalName]stringПолное наименование
order[contragent][legalAddress]stringАдрес регистрации
order[contragent][INN]stringИНН
order[contragent][OKPO]stringОКПО
order[contragent][KPP]stringКПП
order[contragent][OGRN]stringОГРН
order[contragent][OGRNIP]stringОГРНИП
order[contragent][certificateNumber]stringНомер свидетельства
order[contragent][certificateDate]DateTimeДата свидетельства
order[contragent][BIK]stringБИК
order[contragent][bank]stringБанк
order[contragent][bankAddress]stringАдрес банка
order[contragent][corrAccount]stringКорр. счёт
order[contragent][bankAccount]stringРасчётный счёт
order[statusComment]stringКомментарий к последнему изменению статуса
order[weight]doubleВес
order[length]integerДлина
order[width]integerШирина
order[height]integerВысота
order[shipmentDate]DateTimeДата отгрузки
order[shipped]booleanЗаказ отгружен
order[customFields]arrayАссоциативный массив пользовательских полей
order[orderType]stringТип заказа
order[orderMethod]stringСпособ оформления
order[customer]object (SerializedOrderCustomer)Клиент
order[customer][id]integerВнутренний ID клиента
order[customer][externalId]stringВнешний ID клиента
order[customer][browserId]stringИдентификатор устройства в Collector
order[managerId]integerМенеджер, прикрепленный к заказу
order[status]stringСтатус заказа
order[items][]array of objects (SerializedOrderProduct)Товар в заказе
order[items][][initialPrice]doubleЦена товара/SKU
order[items][][discountManualAmount]doubleДенежная скидка на единицу товара
order[items][][discountManualPercent]doubleПроцентная скидка на единицу товара
order[items][][vatRate]stringСтавка НДС
order[items][][createdAt]DateTimeДата создания товара в системе
order[items][][quantity]floatКоличество
order[items][][comment]stringКомментарий к товару в заказе
order[items][][properties][]array[массив] Дополнительные свойства товара в заказе
order[items][][properties][][code]string{not blank}{match: /^[a-zA-Z0-9_][a-zA-Z0-9_\-:]*$/D}}Код свойства (не обязательное поле, код может передаваться в ключе свойства)
order[items][][properties][][name]string{not blank}Имя свойства
order[items][][properties][][value]string{not blank}Значение свойства
order[items][][purchasePrice]doubleЗакупочная цена
order[items][][offer]object (SerializedOrderProductOffer)Торговое предложение
order[items][][offer][id]integerID торгового предложения
order[items][][offer][externalId]stringВнешний ID торгового предложения
order[items][][offer][xmlId]stringID торгового предложения в складской системе
order[items][][productName]stringНазвание товара
order[items][][status]stringСтатус товара в заказе
order[items][][priceType]object (PriceType)Тип цены
order[items][][priceType][code]stringКод типа цены
order[delivery]object (SerializedOrderDelivery)Данные о доставке
order[delivery][code]stringКод типа доставки
order[delivery][data]arrayДанные для интеграционных типов доставки
order[delivery][service]object (SerializedDeliveryService)Служба доставки
order[delivery][service][name]stringНазвание
order[delivery][service][code]stringСимвольный код
order[delivery][service][active]booleanСтатус активности
order[delivery][service][deliveryType]stringТип доставки
order[delivery][cost]doubleСтоимость доставки
order[delivery][netCost]doubleСебестоимость доставки
order[delivery][date]DateTimeДата доставки
order[delivery][time]object (TimeInterval)Информация о временном диапазоне
order[delivery][time][from]DateTimeВремя "с"
order[delivery][time][to]DateTimeВремя "до"
order[delivery][time][custom]stringВременной диапазон в свободной форме
order[delivery][address]object (OrderDeliveryAddress)Адрес доставки
order[delivery][vatRate]stringСтавка НДС
order[source]object (SerializedSource)Источник заказа
order[source][source]stringИсточник
order[source][medium]stringКанал
order[source][campaign]stringКампания
order[source][keyword]stringКлючевое слово
order[source][content]stringСодержание кампании
order[shipmentStore]stringСклад отгрузки
order[payments][]array of objects (SerializedPayment)Платежи
order[payments][][externalId]stringВнешний ID платежа
order[payments][][amount]doubleСумма платежа
order[payments][][paidAt]DateTimeДата оплаты
order[payments][][comment]stringКомментарий
order[payments][][type]stringТип оплаты
order[payments][][status]stringСтатус оплаты

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
idintegerВнутренний ID созданного заказа

Статусы ответа

Код статуса ответаОписание
201
  • Заказ создан
400
  • Ошибка при создании заказа

POST /api/v5/orders/fix-external-ids Массовая запись внешних ID заказов

Массовая запись внешних ID заказов

Данный метод полезен в случае обратной синхронизации заказов, которые исходно оформлены в системе.

Рекомендуется реализовывать следующей сценарий обратной синхронизации заказов между интернет-магазином и системой. Интернет-магазин периодически опрашивает метод /api/v*/orders/history. На основе получаемых данных магазин применяет изменения к существующим заказам, а также создает новые заказы, исходно оформленные в системе. При создании заказов в магазине формируются собственные ID заказов (externalId заказов в нотации системы). Сразу после создания заказов интернет-магазин вызывает метод /api/v*/orders/fix-external-ids, сохраняя в системе собственные ID заказов.

Параметры

ПараметрТипФорматОписание
orders[]array of objects (FixExternalRow)Идентификаторы загруженных объектов
orders[][id]integer{not blank}{range: {>=1}}}Внутренний ID
orders[][externalId]string{not blank}Внешний ID

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

GET /api/v5/orders/history Получение истории изменений заказов

Получение истории изменений заказов

Возвращает изменения в заказах, произведенные в указанный диапазон дат (используя фильтры filter[startDate] и filter[endDate]), либо инкриментальные изменения (используя filter[sinceId]).

При реализации постоянной трансляции изменений во внешнюю систему ​рекомендуется​ использовать подход с забором инкрементальных изменений через filter[sinceId] передавая id последней полученной записи истории.

Для записей создания и удаления заказа и товара в заказе возвращается полный набор полей в соответсвующих ключах order или item.

Добавление товара в заказ отражается записью истории с fieldName равным order_product, при этом полная информация о товаре в заказе доступна в контексте item, а в newValue указываются только поля-идентификаторы.

Результат возвращается постранично. В поле pagination содержится информация о постраничной разбивке.

Более подробно о работе с историей вы можете ознакомиться в отдельной статье документации, а значения fieldName указаны в Справочнике объектов.

Параметры

ПараметрТипФорматОписание
limitinteger{not blank}[20|50|100], [20|50|100|250]}Количество элементов в ответе (по умолчанию равно 20)
pageinteger{not blank}{range: {>=1}}}Номер страницы с результатами (по умолчанию равно 1)
filterobject (OrderHistoryFilterV4Type)
filter[orderId]integer{range: {>=0, <=4294967295}}ID заказа
filter[sinceId]integer{range: {>=0, <=4294967295}}Начиная с ID истории заказов
filter[orderExternalId]string{length: {max: 255}}Внешний ID заказа
filter[startDate]stringДата/время изменения (от)
filter[endDate]stringДата/время изменения (до)

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
generatedAtDateTimeВремя формирования ответа
history[]array of objects (OrderHistory)Набор изменений
history[][id]integerВнутренний идентификатор записи в истории
history[][createdAt]DateTimeДата внесения изменения
history[][created]booleanПризнак создания сущности
history[][deleted]booleanПризнак удаления сущности
history[][source]stringИсточник изменения
history[][user]object (User)Пользователь
history[][user][id]integerID пользователя
history[][field]stringИмя изменившегося поля
history[][oldValue]custom handler result for (mixed)Старое значение свойства
history[][newValue]custom handler result for (mixed)Новое значение свойства
history[][apiKey]object (ApiKey)Информация о ключе api, использовавшемся для этого изменения
history[][apiKey][current]booleanИзменение было сделано с помощью ключа, используемого в данный момент
history[][order]object (Order)Заказ
history[][order][id]integerID заказа
history[][order][externalId]stringВнешний ID заказа
history[][order][managerId]integerМенеджер, прикрепленный к заказу
history[][order][site]stringМагазин
history[][order][status]stringСтатус заказа
history[][item]object (OrderProduct)Товар в заказе
history[][item][id]integerID
history[][item][offer]object (Offer)Торговое предложение
history[][item][offer][id]integerID торгового предложения
history[][item][offer][externalId]stringID торгового предложения в магазине
history[][item][offer][xmlId]stringID торгового предложения в складской системе
history[][item][offer][properties][]array of stringsСвойства SKU
history[][item][properties][]array of strings[массив] Дополнительные свойства товара в заказе
history[][item][properties][][code]stringКод свойства (не обязательное поле, код может передаваться в ключе свойства)
history[][item][properties][][name]stringИмя свойства
history[][item][properties][][value]stringЗначение свойства
history[][payment]object (Payment)Платёж
history[][payment][id]integerВнутренний ID
history[][payment][type]stringТип оплаты
history[][payment][externalId]stringВнешний ID платежа
history[][combinedTo]object (Order)Информация о заказе который получился после объединения с текущим заказом
paginationobject (PaginationResponse)Постраничная разбивка
pagination[limit]integerКоличество элементов в ответе
pagination[totalCount]integerОбщее количество найденных элементов
pagination[currentPage]integerТекущая страница выдачи
pagination[totalPageCount]integerОбщее количество страниц выдачи

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

POST /api/v5/orders/payments/create Добавление платежа

Добавление платежа

Метод добавляет платеж к заказу и возвращает внутренний ID созданного платежа.

Указать к какому заказу должен быть привязан платёж, необходимо установив значения одного из следующих полей:

Параметры

ПараметрТипФорматОписание
sitestringСимвольный код магазина. Указывается в случае указания заказа через externalId
paymentobject (SerializedPayment)Платёж
payment[externalId]stringВнешний ID платежа
payment[amount]doubleСумма платежа
payment[paidAt]DateTimeДата оплаты
payment[comment]stringКомментарий
payment[order]object (SerializedEntityOrder)Заказ
payment[order][id]integerВнутренний ID заказа
payment[order][externalId]stringВнешний ID заказа
payment[order][number]stringНомер заказа
payment[type]stringТип оплаты
payment[status]stringСтатус оплаты

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
idintegerВнутренний ID добавленного платежа

Статусы ответа

Код статуса ответаОписание
201
  • Платеж добавлен
400
  • Ошибка при добавлении платежа

POST /api/v5/orders/payments/{id}/delete Удаление платежа

Удаление платежа

Метод позволяет удалить платёж.

Параметры

ПараметрТипФорматОписание
idintegerВнутренний ID удаляемого платежа

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)

Статусы ответа

Код статуса ответаОписание
200
  • Платёж успешно удалён
400
  • Ошибка при удалении платежа
404
  • Платёж не найден

POST /api/v5/orders/payments/{id}/edit Редактирование платежа

Редактирование платежа

Метод позволяет вносить изменения в платёж.

Изменение payment[externalId] доступно только при обращении к платежу по id (by=id), в противном случае (by=externalId) переданное значение будет проигнорировано.

Параметры

ПараметрТипФорматОписание
bystringУказывается, что передается в параметре id: внутренний (by=id) или внешний (by=externalId) ID платежа. По-умолчанию id.
sitestringСимвольный код магазина. Указывается в случае обращения к платежу по externalId (by=externalId)
paymentobject (SerializedPayment)Платёж
payment[externalId]stringВнешний ID платежа
payment[amount]doubleСумма платежа
payment[paidAt]DateTimeДата оплаты
payment[comment]stringКомментарий
payment[status]stringСтатус оплаты

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
idintegerВнутренний ID изменённого платежа

Статусы ответа

Код статуса ответаОписание
201
  • Платёж изменен
400
  • Ошибка при изменении платежа
404
  • Платёж не найден

GET /api/v5/orders/statuses Получение списка статусов заказов

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

Возвращает статусы (и группы статусов) для заказов, id или externalId которых указаны в параметрах запроса ids[] и externalIds[].

Можно указывать суммарно до 500 идентификаторов. Если указаны и ids[], и externalIds[], то производится поиск заказов по всем указанным идентификаторам.

Параметры

ПараметрТипФорматОписание
ids[]arrayID (внутренние идентификаторы) заказов
externalIds[]arrayexternalId (внешние идентификаторы) заказов

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
orders[]array of objects (OrderStatusItem)Статусы заказов
orders[][id]integerID заказа
orders[][externalId]stringВнешний ID заказа
orders[][status]stringСтатус заказа
orders[][group]stringГруппа статуса заказа

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

POST /api/v5/orders/upload Пакетная загрузка заказов

Пакетная загрузка заказов

Метод позволяет загружать пакетно до 50 заказов.

Подробную информацию по формату данных см. в описании метода /api/v*/orders/create.

Параметры

ПараметрТипФорматОписание
sitestringСимвольный код магазина, к которому относятся загружаемые заказы
orders[]array of objects (SerializedOrder)Заказ
orders[][number]stringНомер заказа
orders[][externalId]stringВнешний ID заказа
orders[][countryIso]stringISO код страны (ISO 3166-1 alpha-2)
orders[][createdAt]DateTimeДата оформления заказа
orders[][discountManualAmount]doubleДенежная скидка на весь заказ
orders[][discountManualPercent]doubleПроцентная скидка на весь заказ
orders[][mark]integerОценка заказа
orders[][markDatetime]DateTimeДата и время получение оценки от покупателя
orders[][lastName]stringФамилия
orders[][firstName]stringИмя
orders[][patronymic]stringОтчество
orders[][phone]stringТелефон
orders[][additionalPhone]stringДополнительный телефон
orders[][email]stringE-mail
orders[][call]booleanТребуется позвонить
orders[][expired]booleanПросрочен
orders[][customerComment]stringКомментарий клиента
orders[][managerComment]stringКомментарий оператора
orders[][contragent]object (OrderContragent)Реквизиты
orders[][contragent][contragentType]stringТип контрагента
orders[][contragent][legalName]stringПолное наименование
orders[][contragent][legalAddress]stringАдрес регистрации
orders[][contragent][INN]stringИНН
orders[][contragent][OKPO]stringОКПО
orders[][contragent][KPP]stringКПП
orders[][contragent][OGRN]stringОГРН
orders[][contragent][OGRNIP]stringОГРНИП
orders[][contragent][certificateNumber]stringНомер свидетельства
orders[][contragent][certificateDate]DateTimeДата свидетельства
orders[][contragent][BIK]stringБИК
orders[][contragent][bank]stringБанк
orders[][contragent][bankAddress]stringАдрес банка
orders[][contragent][corrAccount]stringКорр. счёт
orders[][contragent][bankAccount]stringРасчётный счёт
orders[][statusComment]stringКомментарий к последнему изменению статуса
orders[][weight]doubleВес
orders[][length]integerДлина
orders[][width]integerШирина
orders[][height]integerВысота
orders[][shipmentDate]DateTimeДата отгрузки
orders[][shipped]booleanЗаказ отгружен
orders[][customFields]arrayАссоциативный массив пользовательских полей
orders[][orderType]stringТип заказа
orders[][orderMethod]stringСпособ оформления
orders[][customer]object (SerializedOrderCustomer)Клиент
orders[][customer][id]integerВнутренний ID клиента
orders[][customer][externalId]stringВнешний ID клиента
orders[][customer][browserId]stringИдентификатор устройства в Collector
orders[][managerId]integerМенеджер, прикрепленный к заказу
orders[][status]stringСтатус заказа
orders[][items][]array of objects (SerializedOrderProduct)Товар в заказе
orders[][items][][initialPrice]doubleЦена товара/SKU
orders[][items][][discountManualAmount]doubleДенежная скидка на единицу товара
orders[][items][][discountManualPercent]doubleПроцентная скидка на единицу товара
orders[][items][][vatRate]stringСтавка НДС
orders[][items][][createdAt]DateTimeДата создания товара в системе
orders[][items][][quantity]floatКоличество
orders[][items][][comment]stringКомментарий к товару в заказе
orders[][items][][properties][]array[массив] Дополнительные свойства товара в заказе
orders[][items][][properties][][code]string{not blank}{match: /^[a-zA-Z0-9_][a-zA-Z0-9_\-:]*$/D}}Код свойства (не обязательное поле, код может передаваться в ключе свойства)
orders[][items][][properties][][name]string{not blank}Имя свойства
orders[][items][][properties][][value]string{not blank}Значение свойства
orders[][items][][purchasePrice]doubleЗакупочная цена
orders[][items][][offer]object (SerializedOrderProductOffer)Торговое предложение
orders[][items][][offer][id]integerID торгового предложения
orders[][items][][offer][externalId]stringВнешний ID торгового предложения
orders[][items][][offer][xmlId]stringID торгового предложения в складской системе
orders[][items][][productName]stringНазвание товара
orders[][items][][status]stringСтатус товара в заказе
orders[][items][][priceType]object (PriceType)Тип цены
orders[][items][][priceType][code]stringКод типа цены
orders[][delivery]object (SerializedOrderDelivery)Данные о доставке
orders[][delivery][code]stringКод типа доставки
orders[][delivery][data]arrayДанные для интеграционных типов доставки
orders[][delivery][service]object (SerializedDeliveryService)Служба доставки
orders[][delivery][service][name]stringНазвание
orders[][delivery][service][code]stringСимвольный код
orders[][delivery][service][active]booleanСтатус активности
orders[][delivery][service][deliveryType]stringТип доставки
orders[][delivery][cost]doubleСтоимость доставки
orders[][delivery][netCost]doubleСебестоимость доставки
orders[][delivery][date]DateTimeДата доставки
orders[][delivery][time]object (TimeInterval)Информация о временном диапазоне
orders[][delivery][time][from]DateTimeВремя "с"
orders[][delivery][time][to]DateTimeВремя "до"
orders[][delivery][time][custom]stringВременной диапазон в свободной форме
orders[][delivery][address]object (OrderDeliveryAddress)Адрес доставки
orders[][delivery][vatRate]stringСтавка НДС
orders[][source]object (SerializedSource)Источник заказа
orders[][source][source]stringИсточник
orders[][source][medium]stringКанал
orders[][source][campaign]stringКампания
orders[][source][keyword]stringКлючевое слово
orders[][source][content]stringСодержание кампании
orders[][shipmentStore]stringСклад отгрузки
orders[][payments][]array of objects (SerializedPayment)Платежи
orders[][payments][][externalId]stringВнешний ID платежа
orders[][payments][][amount]doubleСумма платежа
orders[][payments][][paidAt]DateTimeДата оплаты
orders[][payments][][comment]stringКомментарий
orders[][payments][][type]stringТип оплаты
orders[][payments][][status]stringСтатус оплаты

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
uploadedOrders[]array of objects (FixExternalRow)Идентификаторы загруженных объектов
uploadedOrders[][id]integerВнутренний ID
uploadedOrders[][externalId]stringВнешний ID

Статусы ответа

Код статуса ответаОписание
201
  • Все заказы успешно загружены
400
  • Не передан массив заказов, либо массив слишком большой
460
  • Во время загрузки возникли ошибки. Часть заказов не загружена

GET /api/v5/orders/{externalId} Получение информации о заказе

Получение информации о заказе

Метод возвращает полную информацию по заказу. Можно обращаться к заказу как по внешнему ID заказа (by=externalId), так и по внутреннему ID (by=id).

Поле contragent[contragentType] может принимать 3 значения: individual - физическое лицо, legal-entity - юридическое лицо, enterpreneur - индивидуальный предприниматель. Для различных типов юр. лиц доступны различные наборы полей. Для типа individual недоступны все поля, для типа legal-entity недоступны поля contragent[OGRNIP], contragent[certificateNumber], contragent[certificateDate], для типа enterpreneur недоступны поля contragent[OGRN], contragent[KPP].

Пустые поля без значений не возвращаются.

В полях orderType, orderMethod, payments[][type], payments[][status], status, site, delivery[code] возвращается символьный код элемента.

В полях managerId, sourceId возвращается внутренний ID сущности в системе.

В поле customFields возвращается массив значений пользовательских полей. Для полей типа «Справочник» указывается символьный код значения в справочнике. Для полей типа «Дата» указывается дата в формате Y-m-d. Для других типов полей указывается непосредственно значение.

Если адрес доставки указывался в строковом виде, то он будет возвращен в delivery[address][text]. Если адрес указывался в детальном виде, то будут возвращены все заполненные поля доставки, а в delivery[address][text] будет находиться автоматически сформированное текстовое представление адреса.

Параметры

ПараметрТипФорматОписание
externalIdstringID заказа

Параметры для фильтрации

ПараметрОписание
by
Шаблонid|externalId
Значение по умолчаниюexternalId
ОписаниеУказывается, что передается в параметре externalId: внутренний (by=id) или внешний (by=externalId) ID заказа. По-умолчанию externalId.
site
ОписаниеСимвольный код магазина. Указывается в случае обращения к заказу по externalId (by=externalId)

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
orderobject (Order)Заказ
order[summ]doubleСумма по товарам
order[id]integerID заказа
order[number]stringНомер заказа
order[externalId]stringВнешний ID заказа
order[orderType]stringТип заказа
order[orderMethod]stringСпособ оформления
order[countryIso]stringISO код страны (ISO 3166-1 alpha-2)
order[createdAt]DateTimeДата оформления заказа
order[statusUpdatedAt]DateTimeДата последнего изменения статуса
order[totalSumm]doubleОбщая сумма с учетом скидки
order[prepaySum]doubleОплаченная сумма
order[purchaseSumm]doubleОбщая стоимость закупки
order[mark]integerОценка заказа
order[markDatetime]DateTimeДата и время получение оценки от покупателя
order[lastName]stringФамилия
order[firstName]stringИмя
order[patronymic]stringОтчество
order[phone]stringТелефон
order[additionalPhone]stringДополнительный телефон
order[email]stringE-mail
order[call]booleanТребуется позвонить
order[expired]booleanПросрочен
order[customerComment]stringКомментарий клиента
order[managerComment]stringКомментарий оператора
order[managerId]integerМенеджер, прикрепленный к заказу
order[customer]object (Customer)Клиент
order[customer][id]integerID клиента
order[customer][externalId]stringВнешний ID клиента
order[customer][firstName]stringИмя
order[customer][lastName]stringФамилия
order[customer][patronymic]stringОтчество
order[customer][sex]stringПол
order[customer][email]stringE-mail
order[customer][phones][]array of objects (CustomerPhone)Телефоны
order[customer][phones][][number]stringНомер телефона
order[customer][address]object (CustomerAddress)Адрес клиента
order[customer][address][index]stringИндекс
order[customer][address][countryIso]stringISO код страны (ISO 3166-1 alpha-2)
order[customer][address][region]stringРегион
order[customer][address][regionId]integerИдентификатор региона в Geohelper
order[customer][address][city]stringГород
order[customer][address][cityId]integerИдентификатор города в Geohelper
order[customer][address][cityType]stringТип населенного пункта
order[customer][address][street]stringУлица
order[customer][address][streetId]integerИдентификатор улицы в Geohelper
order[customer][address][streetType]stringТип улицы
order[customer][address][building]stringДом
order[customer][address][flat]stringНомер квартиры/офиса
order[customer][address][intercomCode]stringКод домофона
order[customer][address][floor]integerЭтаж
order[customer][address][block]integerПодъезд
order[customer][address][house]stringСтроение/корпус
order[customer][address][metro]stringМетро
order[customer][address][notes]stringПримечания к адресу
order[customer][address][text]stringАдрес в текстовом виде
order[customer][createdAt]DateTimeСоздан
order[customer][birthday]DateTimeДень рождения
order[customer][managerId]integerМенеджер клиента
order[customer][vip]booleanВажный клиент
order[customer][bad]booleanПлохой клиент
order[customer][site]stringМагазин, с которого пришел клиент
order[customer][source]object (SerializedSource)Источник клиента
order[customer][source][source]stringИсточник
order[customer][source][medium]stringКанал
order[customer][source][campaign]stringКампания
order[customer][source][keyword]stringКлючевое слово
order[customer][source][content]stringСодержание кампании
order[customer][contragent]object (CustomerContragent)Реквизиты
order[customer][contragent][contragentType]stringТип контрагента
order[customer][contragent][legalName]stringПолное наименование
order[customer][contragent][legalAddress]stringАдрес регистрации
order[customer][contragent][INN]stringИНН
order[customer][contragent][OKPO]stringОКПО
order[customer][contragent][KPP]stringКПП
order[customer][contragent][OGRN]stringОГРН
order[customer][contragent][OGRNIP]stringОГРНИП
order[customer][contragent][certificateNumber]stringНомер свидетельства
order[customer][contragent][certificateDate]DateTimeДата свидетельства
order[customer][contragent][BIK]stringБИК
order[customer][contragent][bank]stringБанк
order[customer][contragent][bankAddress]stringАдрес банка
order[customer][contragent][corrAccount]stringКорр. счёт
order[customer][contragent][bankAccount]stringРасчётный счёт
order[customer][personalDiscount]doubleПерсональная скидка
order[customer][cumulativeDiscount]doubleНакопительная скидка
order[customer][discountCardNumber]stringНомер дисконтной карты
order[customer][emailMarketingUnsubscribedAt]DateTimeДата отписки от email рассылок
order[customer][avgMarginSumm]floatСредняя валовая прибыль по заказам клиента
order[customer][marginSumm]floatLTV
order[customer][totalSumm]floatОбщая сумма заказов
order[customer][averageSumm]floatСредняя сумма заказа
order[customer][ordersCount]integerКоличество заказов
order[customer][costSumm]floatСумма расходов
order[customer][maturationTime]integerВремя «созревания», в секундах
order[customer][firstClientId]stringПервая метка клиента Google Analytics
order[customer][lastClientId]stringПоследняя метка клиента Google Analytics
order[customer][customFields]arrayАссоциативный массив пользовательских полей
order[contragent]object (OrderContragent)Реквизиты
order[contragent][contragentType]stringТип контрагента
order[contragent][legalName]stringПолное наименование
order[contragent][legalAddress]stringАдрес регистрации
order[contragent][INN]stringИНН
order[contragent][OKPO]stringОКПО
order[contragent][KPP]stringКПП
order[contragent][OGRN]stringОГРН
order[contragent][OGRNIP]stringОГРНИП
order[contragent][certificateNumber]stringНомер свидетельства
order[contragent][certificateDate]DateTimeДата свидетельства
order[contragent][BIK]stringБИК
order[contragent][bank]stringБанк
order[contragent][bankAddress]stringАдрес банка
order[contragent][corrAccount]stringКорр. счёт
order[contragent][bankAccount]stringРасчётный счёт
order[delivery]object (SerializedOrderDelivery)Данные о доставке
order[delivery][code]stringКод типа доставки
order[delivery][integrationCode]stringИнтеграционный код типа доставки
order[delivery][data]object (IntegrationDeliveryData)Данные для интеграционных типов доставки
order[delivery][data][trackNumber]stringТрек-номер
order[delivery][data][status]stringКод статуса
order[delivery][data][pickuppointAddress]stringАдрес пункта выдачи заказов
order[delivery][data][payerType]stringТип плательщика за доставку
order[delivery][service]object (SerializedDeliveryService)Служба доставки
order[delivery][service][name]stringНазвание
order[delivery][service][code]stringСимвольный код
order[delivery][service][active]booleanСтатус активности
order[delivery][cost]doubleСтоимость доставки
order[delivery][netCost]doubleСебестоимость доставки
order[delivery][date]DateTimeДата доставки
order[delivery][time]object (TimeInterval)Информация о временном диапазоне
order[delivery][time][from]DateTimeВремя "с"
order[delivery][time][to]DateTimeВремя "до"
order[delivery][time][custom]stringВременной диапазон в свободной форме
order[delivery][address]object (OrderDeliveryAddress)Адрес доставки
order[delivery][vatRate]stringСтавка НДС
order[marketplace]object (MarketplaceData)Данные маркетплейс площадки
order[marketplace][code]stringКод маркетплейс площадки
order[marketplace][orderId]stringИдентификатор заказа на маркетплейс площадке
order[site]stringМагазин
order[status]stringСтатус заказа
order[statusComment]stringКомментарий к последнему изменению статуса
order[source]object (SerializedSource)Источник заказа
order[source][source]stringИсточник
order[source][medium]stringКанал
order[source][campaign]stringКампания
order[source][keyword]stringКлючевое слово
order[source][content]stringСодержание кампании
order[items][]array of objects (OrderProduct)Товар в заказе
order[items][][id]integerID
order[items][][initialPrice]doubleЦена товара/SKU
order[items][][discountTotal]doubleИтоговая денежная скидка на единицу товара c учетом всех скидок на товар и заказ
order[items][][vatRate]stringСтавка НДС
order[items][][createdAt]DateTimeДата создания товара в системе
order[items][][quantity]floatКоличество
order[items][][status]stringСтатус товара в заказе
order[items][][comment]stringКомментарий к товару в заказе
order[items][][offer]object (Offer)Торговое предложение
order[items][][offer][id]integerID торгового предложения
order[items][][offer][externalId]stringID торгового предложения в магазине
order[items][][offer][xmlId]stringID торгового предложения в складской системе
order[items][][offer][name]stringНазвание
order[items][][offer][vatRate]stringСтавка НДС
order[items][][offer][properties][]array of stringsСвойства SKU
order[items][][isCanceled]booleanДанный товар в заказе является отмененным
order[items][][properties][]array[массив] Дополнительные свойства товара в заказе
order[items][][properties][][code]stringКод свойства (не обязательное поле, код может передаваться в ключе свойства)
order[items][][properties][][name]stringИмя свойства
order[items][][properties][][value]stringЗначение свойства
order[items][][purchasePrice]doubleЗакупочная цена
order[items][][priceType]object (PriceType)Тип цены
order[items][][priceType][code]stringКод типа цены
order[fullPaidAt]DateTimeДата полной оплаты
order[payments][]array of objects (Payment)Платежи
order[payments][][id]integerВнутренний ID
order[payments][][status]stringСтатус оплаты
order[payments][][type]stringТип оплаты
order[payments][][externalId]stringВнешний ID платежа
order[payments][][amount]doubleСумма платежа
order[payments][][paidAt]DateTimeДата оплаты
order[payments][][comment]stringКомментарий
order[fromApi]booleanЗаказ поступил через API
order[weight]doubleВес
order[length]integerДлина
order[width]integerШирина
order[height]integerВысота
order[shipmentStore]stringСклад отгрузки
order[shipmentDate]DateTimeДата отгрузки
order[shipped]booleanЗаказ отгружен
order[customFields]arrayАссоциативный массив пользовательских полей
order[clientId]stringМетка клиента Google Analytics
order[uploadedToExternalStoreSystem]booleanФлаг выгрузки во внешнюю складскую систему

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
404
  • Заказ не найден

POST /api/v5/orders/{externalId}/edit Редактирование заказа

Редактирование заказа

Метод позволяет вносить изменения в заказ.

В случае, если производится попытка отредактировать удаленный заказ, система возвращает в ответе state=removed.

Поле contragent[contragentType] может принимать 3 значения: individual - физическое лицо, legal-entity - юридическое лицо, enterpreneur - индивидуальный предприниматель. Для различных типов юр. лиц доступны различные наборы полей. Для типа individual недоступны все поля, для типа legal-entity недоступны поля contragent[OGRNIP], contragent[certificateNumber], contragent[certificateDate], для типа enterpreneur недоступны поля contragent[OGRN], contragent[KPP].

В полях order[orderType], order[orderMethod], order[status], order[shipmentStore], order[delivery][code], order[items][][status] указывается символьный код элемента.

В полях order[managerId], order[sourceId] указывается внутренний ID сущности в системе.

Товары заказа указываются в поле order[items][]. Если товар присутствует в каталоге, то необходимо установить значение одного из следующих полей:

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

В случае, если ни один из идентификаторов товара не передан либо товар не найден, то товар будет автоматически создан на основе данных полей order[items][][initialPrice], order[items][][purchasePrice], order[items][][productName], при этом данная позиция товара в заказе не привязывается к товару в каталоге.

Адрес доставки order[delivery][address] можно указывать либо в строковом виде в поле order[delivery][address][text], либо в подробном виде, заполняя все поля кроме order[delivery][address][text].

В поле order[customFields] можно передавать массив значений пользовательских полей. Для полей типа «Справочник» указывается символьный код значения в справочнике. Для полей типа «Дата» указывается дата в формате Y-m-d. Для других типов полей указывается непосредственно значение.

Для работы с типами цен необходимо, чтобы в справочнике было активно более одного типа цен. Для передачи типа цены для товарной позиции в заказе необходимо передать код нужного типа цен в поле order[items][][priceType][code]. Рекомендуется вместе с типом цены передавать актуальное значение цены товара через order[items][][initialPrice]. Если передать тип цены order[items][][priceType][code] без значения цены order[items][][initialPrice], то в качестве цены товарной позиции возьмется текущее значения данного типа цен для данного товара. Для новой товарной позиции рекомендуется всегда передавать цену order[items][][initialPrice] явно, на случай если актуальная цена еще не была загруженна в систему. Если для товара не передать тип цены order[items][][priceType][code], то в карточке заказа для товарной позиции в типе цены будет указанно Без типа. В случае, если в системе используется только базовый тип цен, то параметр order[items][][priceType][code] следует опустить.

Параметры

ПараметрТипФорматОписание
bystringУказывается, что передается в параметре externalId: внутренний (by=id) или внешний (by=externalId) ID заказа. По-умолчанию externalId.
sitestringСимвольный код магазина. Указывается в случае обращения к заказу по externalId (by=externalId)
orderobject (SerializedOrder)Заказ
order[number]stringНомер заказа
order[externalId]stringВнешний ID заказа
order[countryIso]stringISO код страны (ISO 3166-1 alpha-2)
order[createdAt]DateTimeДата оформления заказа
order[discountManualAmount]doubleДенежная скидка на весь заказ
order[discountManualPercent]doubleПроцентная скидка на весь заказ
order[mark]integerОценка заказа
order[markDatetime]DateTimeДата и время получение оценки от покупателя
order[lastName]stringФамилия
order[firstName]stringИмя
order[patronymic]stringОтчество
order[phone]stringТелефон
order[additionalPhone]stringДополнительный телефон
order[email]stringE-mail
order[call]booleanТребуется позвонить
order[expired]booleanПросрочен
order[customerComment]stringКомментарий клиента
order[managerComment]stringКомментарий оператора
order[contragent]object (OrderContragent)Реквизиты
order[contragent][contragentType]stringТип контрагента
order[contragent][legalName]stringПолное наименование
order[contragent][legalAddress]stringАдрес регистрации
order[contragent][INN]stringИНН
order[contragent][OKPO]stringОКПО
order[contragent][KPP]stringКПП
order[contragent][OGRN]stringОГРН
order[contragent][OGRNIP]stringОГРНИП
order[contragent][certificateNumber]stringНомер свидетельства
order[contragent][certificateDate]DateTimeДата свидетельства
order[contragent][BIK]stringБИК
order[contragent][bank]stringБанк
order[contragent][bankAddress]stringАдрес банка
order[contragent][corrAccount]stringКорр. счёт
order[contragent][bankAccount]stringРасчётный счёт
order[statusComment]stringКомментарий к последнему изменению статуса
order[weight]doubleВес
order[length]integerДлина
order[width]integerШирина
order[height]integerВысота
order[shipmentDate]DateTimeДата отгрузки
order[shipped]booleanЗаказ отгружен
order[customFields]arrayАссоциативный массив пользовательских полей
order[orderType]stringТип заказа
order[orderMethod]stringСпособ оформления
order[customer]object (SerializedOrderCustomer)Клиент
order[customer][id]integerВнутренний ID клиента
order[customer][externalId]stringВнешний ID клиента
order[customer][browserId]stringИдентификатор устройства в Collector
order[managerId]integerМенеджер, прикрепленный к заказу
order[status]stringСтатус заказа
order[items][]array of objects (SerializedOrderProduct)Товар в заказе
order[items][][initialPrice]doubleЦена товара/SKU
order[items][][discountManualAmount]doubleДенежная скидка на единицу товара
order[items][][discountManualPercent]doubleПроцентная скидка на единицу товара
order[items][][vatRate]stringСтавка НДС
order[items][][createdAt]DateTimeДата создания товара в системе
order[items][][quantity]floatКоличество
order[items][][comment]stringКомментарий к товару в заказе
order[items][][properties][]array[массив] Дополнительные свойства товара в заказе
order[items][][properties][][code]string{not blank}{match: /^[a-zA-Z0-9_][a-zA-Z0-9_\-:]*$/D}}Код свойства (не обязательное поле, код может передаваться в ключе свойства)
order[items][][properties][][name]string{not blank}Имя свойства
order[items][][properties][][value]string{not blank}Значение свойства
order[items][][purchasePrice]doubleЗакупочная цена
order[items][][offer]object (SerializedOrderProductOffer)Торговое предложение
order[items][][offer][id]integerID торгового предложения
order[items][][offer][externalId]stringВнешний ID торгового предложения
order[items][][offer][xmlId]stringID торгового предложения в складской системе
order[items][][productName]stringНазвание товара
order[items][][status]stringСтатус товара в заказе
order[items][][priceType]object (PriceType)Тип цены
order[items][][priceType][code]stringКод типа цены
order[delivery]object (SerializedOrderDelivery)Данные о доставке
order[delivery][code]stringКод типа доставки
order[delivery][data]arrayДанные для интеграционных типов доставки
order[delivery][service]object (SerializedDeliveryService)Служба доставки
order[delivery][service][name]stringНазвание
order[delivery][service][code]stringСимвольный код
order[delivery][service][active]booleanСтатус активности
order[delivery][service][deliveryType]stringТип доставки
order[delivery][cost]doubleСтоимость доставки
order[delivery][netCost]doubleСебестоимость доставки
order[delivery][date]DateTimeДата доставки
order[delivery][time]object (TimeInterval)Информация о временном диапазоне
order[delivery][time][from]DateTimeВремя "с"
order[delivery][time][to]DateTimeВремя "до"
order[delivery][time][custom]stringВременной диапазон в свободной форме
order[delivery][address]object (OrderDeliveryAddress)Адрес доставки
order[delivery][vatRate]stringСтавка НДС
order[source]object (SerializedSource)Источник заказа
order[source][source]stringИсточник
order[source][medium]stringКанал
order[source][campaign]stringКампания
order[source][keyword]stringКлючевое слово
order[source][content]stringСодержание кампании
order[shipmentStore]stringСклад отгрузки

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
idintegerВнутренний ID заказа
statestringСостояние заказа (по умолчанию не возвращается)

Статусы ответа

Код статуса ответаОписание
200
  • Заказ успешно изменен
400
  • Ошибка при изменении заказа

Комплектация заказов

GET /api/v5/orders/packs Получение списка паков, удовлетворяющих заданному фильтру

Получение списка паков, удовлетворяющих заданному фильтру

Параметры

ПараметрТипФорматОписание
limitinteger{not blank}[20|50|100], [20|50|100|250]}Количество элементов в ответе (по умолчанию равно 20)
pageinteger{not blank}{range: {>=1}}}Номер страницы с результатами (по умолчанию равно 1)
filterobject (OrderProductPackFilter)
filter[ids][]array of objects (IntegerType)Массив ID комплектаций заказов
filter[stores][]array of objects (TextType)Склад
filter[itemId]integer{range: {>=0}}ID товара
filter[offerXmlId]string{length: {max: 255}}Xml ID торгового предложения
filter[offerExternalId]string{length: {max: 255}}Внешний ID торгового предложения
filter[orderId]integer{range: {>=0}}ID заказа
filter[orderExternalId]string{length: {max: 255}}Внешний ID заказа
filter[shipmentDateFrom]string{DateTime YYYY-MM-DD HH:MM:SS}Дата отгрузки от
filter[shipmentDateTo]string{DateTime YYYY-MM-DD HH:MM:SS}Дата отгрузки до
filter[invoiceNumber]string{length: {max: 255}}Номер счета-фактуры
filter[deliveryNoteNumber]string{length: {max: 255}}Номер накладной

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
paginationobject (PaginationResponse)Постраничная разбивка
pagination[limit]integerКоличество элементов в ответе
pagination[totalCount]integerОбщее количество найденных элементов
pagination[currentPage]integerТекущая страница выдачи
pagination[totalPageCount]integerОбщее количество страниц выдачи
packs[]array of objects (OrderProductPack)Пак - упаковка товаров, в рамках одной товарной позиции, с одного склада
packs[][id]integerID
packs[][purchasePrice]floatЗакупочная цена
packs[][quantity]floatКоличество товара в упаковке
packs[][store]stringСклад
packs[][item]object (OrderProduct)Товар в заказе
packs[][item][id]integerID
packs[][item][order]object (Order)Заказ
packs[][item][order][id]integerID заказа
packs[][item][offer]object (Offer)Торговое предложение
packs[][item][offer][externalId]stringID торгового предложения в магазине
packs[][item][offer][xmlId]stringID торгового предложения в складской системе
packs[][shipmentDate]DateTimeДата забора пака
packs[][invoiceNumber]stringНомер счет-фактуры
packs[][deliveryNoteNumber]stringНомер товарной накладной

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

POST /api/v5/orders/packs/create Создание пака

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

Параметры

ПараметрТипФорматОписание
packobject (SerializedOrderProductPack)Пак - упаковка товаров, в рамках одной товарной позиции, с одного склада
pack[purchasePrice]floatЗакупочная цена
pack[quantity]floatКоличество товара в упаковке
pack[store]stringСклад
pack[shipmentDate]DateTimeДата забора пака
pack[invoiceNumber]stringНомер счет-фактуры
pack[deliveryNoteNumber]stringНомер товарной накладной
pack[itemId]integerID позиции в заказе

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
idintegerID пака

Статусы ответа

Код статуса ответаОписание
201
  • Пак успешно создан
400
  • Ошибка при создании пака

GET /api/v5/orders/packs/history Получение истории комплектации заказа

Получение истории комплектации заказа

Результат возвращается постранично. В поле pagination содержится информация о постраничной разбивке.

Более подробно о работе с историей вы можете ознакомиться в отдельной статье документации.

Параметры

ПараметрТипФорматОписание
limitinteger{not blank}[20|50|100], [20|50|100|250]}Количество элементов в ответе (по умолчанию равно 20)
pageinteger{not blank}{range: {>=1}}}Номер страницы с результатами (по умолчанию равно 1)
filterobject (OrderProductPackHistoryFilterType)
filter[orderId]integer{range: {>=0}}Внутренний идентификатор заказа
filter[sinceId]integer{range: {>=0}}Нижнее ограничение по идентификатору записи в истории (исключая границу)
filter[orderExternalId]string{length: {max: 255}}Идентификатор заказа из магазина
filter[startDate]stringВремя изменения (с)
filter[endDate]stringВремя изменения (до)

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
generatedAtDateTimeВремя формирования ответа
history[]array of objects (OrderProductPackHistory)Набор изменений в истории комплектации
history[][id]integerВнутренний идентификатор записи в истории
history[][createdAt]DateTimeДата внесения изменения
history[][created]booleanФлаг выводится для создания нового пакета товаров
history[][deleted]booleanФлаг выводится при удалении пакета товаров
history[][field]stringИмя изменившегося поля
history[][oldValue]object (HistoryField)Старое значение
history[][newValue]object (HistoryField)Новое значение
history[][pack]object (OrderProductPack)Пак - упаковка товаров, в рамках одной товарной позиции, с одного склада
history[][pack][id]integerID
history[][pack][purchasePrice]floatЗакупочная цена
history[][pack][quantity]floatКоличество товара в упаковке
history[][pack][store]object (Store)Склад
history[][pack][store][code]stringСимвольный код
history[][pack][item]object (OrderProduct)Товар в заказе
history[][pack][item][id]integerID
history[][pack][item][order]object (Order)Заказ
history[][pack][item][order][id]integerID заказа
history[][pack][item][offer]object (Offer)Торговое предложение
history[][pack][item][offer][externalId]stringID торгового предложения в магазине
history[][pack][item][offer][xmlId]stringID торгового предложения в складской системе
history[][pack][shipmentDate]DateTimeДата забора пака
history[][pack][invoiceNumber]stringНомер счет-фактуры
history[][pack][deliveryNoteNumber]stringНомер товарной накладной
history[][source]stringИсточник изменения
history[][user]object (User)Пользователь, совершивший изменение (доступно только, если source=user)
history[][user][id]integerID пользователя
paginationobject (PaginationResponse)Постраничная разбивка
pagination[limit]integerКоличество элементов в ответе
pagination[totalCount]integerОбщее количество найденных элементов
pagination[currentPage]integerТекущая страница выдачи
pagination[totalPageCount]integerОбщее количество страниц выдачи

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

GET /api/v5/orders/packs/{id} Получение информации о паке

Получение информации о паке

Параметры

ПараметрТипФорматОписание
idintegerID пака

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
packobject (OrderProductPack)Пак - упаковка товаров, в рамках одной товарной позиции, с одного склада
pack[id]integerID
pack[purchasePrice]floatЗакупочная цена
pack[quantity]floatКоличество товара в упаковке
pack[store]stringСклад
pack[item]object (OrderProduct)Товар в заказе
pack[item][id]integerID
pack[item][order]object (Order)Заказ
pack[item][order][id]integerID заказа
pack[item][offer]object (Offer)Торговое предложение
pack[item][offer][externalId]stringID торгового предложения в магазине
pack[item][offer][xmlId]stringID торгового предложения в складской системе
pack[shipmentDate]DateTimeДата забора пака
pack[invoiceNumber]stringНомер счет-фактуры
pack[deliveryNoteNumber]stringНомер товарной накладной

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
404
  • Пак не найден

POST /api/v5/orders/packs/{id}/delete Удаление пака

Удаление пака

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)

Статусы ответа

Код статуса ответаОписание
200
  • Пак успешно удалён
400
  • Ошибка при удалении пака

POST /api/v5/orders/packs/{id}/edit Редактирование пака

Редактирование пака

Параметры

ПараметрТипФорматОписание
packobject (SerializedOrderProductPack)Пак - упаковка товаров, в рамках одной товарной позиции, с одного склада
pack[purchasePrice]floatЗакупочная цена
pack[quantity]floatКоличество товара в упаковке
pack[shipmentDate]DateTimeДата забора пака
pack[invoiceNumber]stringНомер счет-фактуры
pack[deliveryNoteNumber]stringНомер товарной накладной

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
idintegerID пака

Статусы ответа

Код статуса ответаОписание
200
  • Пак успешно изменён
400
  • Ошибка при изменении пака

Справочники

GET /api/v5/reference/cost-groups Получение списка групп расходов

Получение списка групп расходов

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
costGroups[]array of objects (CostGroup)Группа расходов
costGroups[][code]stringСимвольный код группы расходов
costGroups[][name]stringНазвание группы расходов
costGroups[][ordering]integerПорядок
costGroups[][active]booleanАктивность
costGroups[][color]stringЦвет

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

POST /api/v5/reference/cost-groups/{code}/edit Редактирование группы расходов

Редактирование группы расходов

Для новой группы расходов необходимо указать название name, символьный код code и цвет color.

Символьный код должен быть уникальным. Цвет должен быть указан в формате #RRGGBB, пример #123ABC.

Список доступных цветов:

С помощью данного метода нельзя изменить цвет color или символьный код code системных групп расходов, значение system которых равно true

Параметры

ПараметрТипФорматОписание
costGroupobject (SerializedCostGroup)Группа расходов
costGroup[code]string{not blank}{length: {max: 255}}}Символьный код группы расходов
costGroup[name]string{not blank}{length: {max: 255}}}Название группы расходов
costGroup[ordering]integer{not blank}{range: {>=0}}}Порядок
costGroup[active]booleanАктивность
costGroup[color]string{not blank}{length: {max: 7}}{match: /#[0-9,a-f,A-F]{6}/}[#3e85b0|#60b29a|#7951bb|#7b889c|#98ffe3|#ba883c|#cccccc|#da5c98|#e88245|#fff224]}Цвет

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)

Статусы ответа

Код статуса ответаОписание
200
  • Данные группы расходов успешно изменены
201
  • Новая группа расходов успешно создана
400
  • Ошибка при выполнении запроса

GET /api/v5/reference/cost-items Получение списка статей расходов

Получение списка статей расходов

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
costItems[]array of objects (CostItem)Статья расходов
costItems[][source]object (SerializedSource)Данные по источнику клиента
costItems[][source][source]stringИсточник
costItems[][source][medium]stringКанал
costItems[][source][campaign]stringКампания
costItems[][source][keyword]stringКлючевое слово
costItems[][source][content]stringСодержание кампании
costItems[][code]stringСимвольный код статьи расходов
costItems[][name]stringНазвание статьи расходов
costItems[][group]stringСимвольный код группы расходов
costItems[][ordering]integerПорядок
costItems[][active]booleanАктивность
costItems[][appliesToOrders]booleanОтносится к расходам по заказам
costItems[][type]stringТип расхода
costItems[][appliesToUsers]booleanОтносится к расходам по пользователям

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

POST /api/v5/reference/cost-items/{code}/edit Редактирование статьи расходов

Редактирование статьи расходов

При создании или редактировании статьи расхода, принадлежащей группе Расходы на привлечение клиентов в полях costItem[source][...] можно указать значения соответсвующих меток. Данные метки будут по умолчанию установлены для всех расходов, принадлежащих данной статье.

Для указания типа статьи расхода доступны следующие значения:

Параметры

ПараметрТипФорматОписание
costItemobject (SerializedCostItem)Статья расходов
costItem[code]stringСимвольный код статьи расходов
costItem[name]stringНазвание статьи расходов
costItem[ordering]integerПорядок
costItem[active]booleanАктивность
costItem[appliesToOrders]booleanОтносится к расходам по заказам
costItem[appliesToUsers]booleanОтносится к расходам по пользователям
costItem[group]stringСимвольный код группы расходов
costItem[source]object (SerializedSource)Данные по источнику клиента
costItem[source][source]stringИсточник
costItem[source][medium]stringКанал
costItem[source][campaign]stringКампания
costItem[source][keyword]stringКлючевое слово
costItem[source][content]stringСодержание кампании
costItem[type]stringТип расхода

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)

Статусы ответа

Код статуса ответаОписание
200
  • Данные статьи расходов успешно изменены
201
  • Новая статья расходов успешно создана
400
  • Ошибка при выполнении запроса

GET /api/v5/reference/countries Получение списка кодов доступных стран

Получение списка кодов доступных стран

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
countriesIso[]array of stringsСписок ISO 3166-1 alpha-2 кодов активных стран

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

GET /api/v5/reference/couriers Получение списка курьеров

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

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
couriers[]array of objects (Courier)Курьер
couriers[][id]integerID курьера
couriers[][firstName]stringИмя
couriers[][lastName]stringФамилия
couriers[][patronymic]stringОтчество
couriers[][active]booleanПризнак активности
couriers[][email]stringЭлектронная почта
couriers[][phone]object (CourierPhone)Контактный телефон
couriers[][phone][number]stringНомер телефона
couriers[][description]stringПримечание

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

POST /api/v5/reference/couriers/create Создание курьера

Создание курьера

Параметры

ПараметрТипФорматОписание
courierobject (SerializedCourier)Курьер
courier[firstName]stringИмя
courier[lastName]stringФамилия
courier[patronymic]stringОтчество
courier[active]booleanПризнак активности
courier[email]stringЭлектронная почта
courier[phone]object (CourierPhone)Контактный телефон
courier[phone][number]stringНомер телефона
courier[description]stringПримечание

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
idintegerВнутренний ID созданного объекта

Статусы ответа

Код статуса ответаОписание
201
  • Новый курьер успешно создан
400
  • Ошибка при выполнении запроса

POST /api/v5/reference/couriers/{id}/edit Редактирование курьера

Редактирование курьера

Параметры

ПараметрТипФорматОписание
courierobject (SerializedCourier)Курьер
courier[firstName]stringИмя
courier[lastName]stringФамилия
courier[patronymic]stringОтчество
courier[active]booleanПризнак активности
courier[email]stringЭлектронная почта
courier[phone]object (CourierPhone)Контактный телефон
courier[phone][number]stringНомер телефона
courier[description]stringПримечание

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)

Статусы ответа

Код статуса ответаОписание
200
  • Данные курьера успешно изменены
400
  • Ошибка при выполнении запроса
404
  • Курьер не найден

GET /api/v5/reference/delivery-services Получение списка служб доставки

Получение списка служб доставки

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
deliveryServices[]array of objects (DeliveryService)Служба доставки
deliveryServices[][name]stringНазвание
deliveryServices[][code]stringСимвольный код
deliveryServices[][active]booleanСтатус активности

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

POST /api/v5/reference/delivery-services/{code}/edit Создание/редактирование службы доставки

Создание/редактирование службы доставки

Параметры

ПараметрТипФорматОписание
deliveryServiceobject (SerializedDeliveryService)Служба доставки
deliveryService[code]string{not blank}Символьный код
deliveryService[name]string{not blank}Название
deliveryService[deliveryType]stringТип доставки
deliveryService[active]booleanСтатус активности

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)

Статусы ответа

Код статуса ответаОписание
200
  • Служба доставки успешно изменена
201
  • Новая служба доставки успешно создана
400
  • Ошибка при выполнении запроса

GET /api/v5/reference/delivery-types Получение списка типов доставки

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

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
deliveryTypes[]array of objects (DeliveryType)Тип доставки
deliveryTypes[][name]stringНазвание
deliveryTypes[][code]stringСимвольный код
deliveryTypes[][active]booleanСтатус активности
deliveryTypes[][defaultCost]doubleСтоимость по-умолчанию
deliveryTypes[][defaultNetCost]doubleСебестоимость по-умолчанию
deliveryTypes[][description]stringКомментарий
deliveryTypes[][paymentTypes]arrayРазрешенные типы оплат
deliveryTypes[][integrationCode]stringКод интеграционного модуля
deliveryTypes[][deliveryServices]arrayСлужбы доставок, которые входят в данный тип доставки
deliveryTypes[][defaultForCrm]booleanУстанавливается по-умолчанию для заказов, создаваемых в системе
deliveryTypes[][vatRate]stringСтавка НДС

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

POST /api/v5/reference/delivery-types/{code}/edit Создание/редактирование типа доставки

Создание/редактирование типа доставки

Для нового типа доставки необходимо указать название name и символьный код code. Символьный код должен быть уникальным.

В поле integrationCode можно указывать код только той интеграционнной службы доставки, которая активирована в системе. В противном случае будет выдано сообщение об ошибке.

Параметры

ПараметрТипФорматОписание
deliveryTypeobject (SerializedDeliveryType)Тип доставки
deliveryType[name]string{not blank}{length: {max: 255}}}Название
deliveryType[code]string{not blank}{length: {max: 255}}}Символьный код
deliveryType[defaultCost]double{not blank}{range: {>=0}}}Стоимость по-умолчанию
deliveryType[defaultNetCost]double{not blank}{range: {>=0}}}Себестоимость по-умолчанию
deliveryType[integrationModule]string
deliveryType[regionWeightCostConditions]string
deliveryType[vatRate]stringСтавка НДС
deliveryType[active]booleanСтатус активности
deliveryType[description]stringКомментарий
deliveryType[defaultForCrm]booleanУстанавливается по-умолчанию для заказов, создаваемых в системе
deliveryType[integrationCode]stringКод интеграционного модуля
deliveryType[paymentTypes]arrayРазрешенные типы оплат
deliveryType[deliveryServices]arrayСлужбы доставок, которые входят в данный тип доставки

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)

Статусы ответа

Код статуса ответаОписание
200
  • Тип доставки успешно изменен
201
  • Новый тип доставки успешно создан
400
  • Ошибка при выполнении запроса

POST /api/v5/reference/legal-entities/{code}/edit Создание/редактирование юридического лица

Создание/редактирование юридического лица

Параметры

ПараметрТипФорматОписание
legalEntityobject (SerializedLegalEntity)Юридическое лицо
legalEntity[contragentType]stringТип юридического лица
legalEntity[legalName]stringПолное наименование
legalEntity[legalAddress]stringАдрес регистрации
legalEntity[INN]stringИНН
legalEntity[OKPO]stringОКПО
legalEntity[KPP]stringКПП
legalEntity[OGRN]stringОГРН
legalEntity[OGRNIP]stringОГРНИП
legalEntity[certificateNumber]stringНомер свидетельства
legalEntity[certificateDate]DateTimeДата свидетельства
legalEntity[BIK]stringБИК
legalEntity[bank]stringБанк
legalEntity[bankAddress]stringАдрес банка
legalEntity[corrAccount]stringКорр. счёт
legalEntity[bankAccount]stringРасчётный счёт
legalEntity[code]stringСимвольный код
legalEntity[countryIso]stringСтрана
legalEntity[vatRate]stringСтавка НДС

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)

Статусы ответа

Код статуса ответаОписание
200
  • Данные юридического лица успешно изменены
201
  • Новое юридическое лицо успешно создано
400
  • Ошибка при выполнении запроса

GET /api/v5/reference/order-methods Получение списка способов оформления заказов

Получение списка способов оформления заказов

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
orderMethods[]array of objects (OrderMethod)Способ оформления заказа
orderMethods[][name]stringНазвание
orderMethods[][code]stringСимвольный код
orderMethods[][active]booleanСтатус активности
orderMethods[][defaultForCrm]booleanУстанавливается по-умолчанию для заказов, создаваемых в системе
orderMethods[][defaultForApi]booleanУстанавливается по-умолчанию для заказов, создаваемых через API

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

POST /api/v5/reference/order-methods/{code}/edit Создание/редактирование способа оформления заказа

Создание/редактирование способа оформления заказа

Параметры

ПараметрТипФорматОписание
orderMethodobject (SerializedOrderMethod)Способ оформления заказа
orderMethod[name]string{not blank}{length: {max: 255}}}Название
orderMethod[code]string{not blank}{length: {max: 255}}}Символьный код
orderMethod[active]booleanСтатус активности
orderMethod[defaultForCrm]booleanУстанавливается по-умолчанию для заказов, создаваемых в системе
orderMethod[defaultForApi]booleanУстанавливается по-умолчанию для заказов, создаваемых через API

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)

Статусы ответа

Код статуса ответаОписание
200
  • Способ оформления заказа успешно изменен
201
  • Новый способ оформления заказа успешно создан
400
  • Ошибка при выполнении запроса

GET /api/v5/reference/order-types Получение списка типов заказов

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

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
orderTypes[]array of objects (OrderType)Тип заказа
orderTypes[][name]stringНазвание
orderTypes[][code]stringСимвольный код
orderTypes[][active]booleanСтатус активности
orderTypes[][defaultForCrm]booleanУстанавливается по-умолчанию для заказов, создаваемых в системе
orderTypes[][defaultForApi]booleanУстанавливается по-умолчанию для заказов, создаваемых через API

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

POST /api/v5/reference/order-types/{code}/edit Создание/редактирование типа заказа

Создание/редактирование типа заказа

Параметры

ПараметрТипФорматОписание
orderTypeobject (SerializedOrderType)Тип заказа
orderType[name]string{not blank}{length: {max: 255}}}Название
orderType[code]string{not blank}{length: {max: 255}}}Символьный код
orderType[active]booleanСтатус активности
orderType[defaultForCrm]booleanУстанавливается по-умолчанию для заказов, создаваемых в системе
orderType[defaultForApi]booleanУстанавливается по-умолчанию для заказов, создаваемых через API

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)

Статусы ответа

Код статуса ответаОписание
200
  • Тип заказа успешно изменен
201
  • Новый тип заказа успешно создан
400
  • Ошибка при выполнении запроса

GET /api/v5/reference/payment-statuses Получение списка статусов оплаты

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

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
paymentStatuses[]array of objects (PaymentStatus)Статус оплаты
paymentStatuses[][name]stringНазвание
paymentStatuses[][code]stringСимвольный код
paymentStatuses[][active]booleanСтатус активности
paymentStatuses[][defaultForCrm]booleanУстанавливается по-умолчанию для заказов, создаваемых в системе
paymentStatuses[][defaultForApi]booleanУстанавливается по-умолчанию для заказов, создаваемых через API
paymentStatuses[][paymentComplete]booleanПризнак того, что заказ оплачен
paymentStatuses[][ordering]integerПорядок
paymentStatuses[][description]stringКомментарий
paymentStatuses[][paymentTypes]arrayТипы оплаты, где используется данный статус оплаты

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

POST /api/v5/reference/payment-statuses/{code}/edit Создание/редактирование статусов оплаты

Создание/редактирование статусов оплаты

Параметры

ПараметрТипФорматОписание
paymentStatusobject (SerializedPaymentStatus)Статус оплаты
paymentStatus[name]string{not blank}{length: {max: 255}}}Название
paymentStatus[code]string{not blank}{length: {max: 255}}}Символьный код
paymentStatus[ordering]integer{not blank}{range: {>=0}}}Порядок
paymentStatus[active]booleanСтатус активности
paymentStatus[defaultForCrm]booleanУстанавливается по-умолчанию для заказов, создаваемых в системе
paymentStatus[defaultForApi]booleanУстанавливается по-умолчанию для заказов, создаваемых через API
paymentStatus[paymentComplete]booleanПризнак того, что заказ оплачен
paymentStatus[description]stringКомментарий

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)

Статусы ответа

Код статуса ответаОписание
200
  • Статус оплаты успешно изменен
201
  • Новый статус оплаты успешно создан
400
  • Ошибка при выполнении запроса

GET /api/v5/reference/payment-types Получение списка типов оплаты

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

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
paymentTypes[]array of objects (PaymentType)Тип оплаты
paymentTypes[][name]stringНазвание
paymentTypes[][code]stringСимвольный код
paymentTypes[][active]booleanСтатус активности
paymentTypes[][defaultForCrm]booleanУстанавливается по-умолчанию для заказов, создаваемых в системе
paymentTypes[][defaultForApi]booleanУстанавливается по-умолчанию для заказов, создаваемых через API
paymentTypes[][description]stringКомментарий
paymentTypes[][deliveryTypes]arrayСовместимые типы доставки
paymentTypes[][paymentStatuses]arrayМассив идентификаторов совместимых статусов оплаты

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

POST /api/v5/reference/payment-types/{code}/edit Создание/редактирование типа оплаты

Создание/редактирование типа оплаты

Параметры

ПараметрТипФорматОписание
paymentTypeobject (SerializedPaymentType)Тип оплаты
paymentType[name]string{not blank}{length: {max: 255}}}Название
paymentType[code]string{not blank}{length: {max: 255}}}Символьный код
paymentType[active]booleanСтатус активности
paymentType[defaultForCrm]booleanУстанавливается по-умолчанию для заказов, создаваемых в системе
paymentType[defaultForApi]booleanУстанавливается по-умолчанию для заказов, создаваемых через API
paymentType[description]stringКомментарий
paymentType[paymentStatuses]arrayМассив идентификаторов совместимых статусов оплаты

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)

Статусы ответа

Код статуса ответаОписание
200
  • Тип оплаты успешно изменен
201
  • Новый тип оплаты успешно создан
400
  • Ошибка при выполнении запроса

GET /api/v5/reference/price-types Получение списка типов цен

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

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
priceTypes[]array of objects (PriceType)Тип цены
priceTypes[][id]integerID типа цены
priceTypes[][code]stringКод
priceTypes[][name]stringНазвание
priceTypes[][active]booleanАктивность
priceTypes[][default]booleanФлаг базового типа цен
priceTypes[][description]stringОписание
priceTypes[][filterExpression]stringФильтр
priceTypes[][geo][]array of objects (GeoHierarchyRow)Региональные ограничения
priceTypes[][geo][][country]stringКод страны ISO (ISO 3166-1 alpha-2)
priceTypes[][geo][][regionId]stringИдентификатор региона в Geohelper
priceTypes[][geo][][region]stringНаименование региона
priceTypes[][geo][][cityId]stringИдентификатор города в Geohelper
priceTypes[][geo][][city]stringНаименование города
priceTypes[][groups]arrayГруппы пользователей
priceTypes[][ordering]integerПорядок

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

POST /api/v5/reference/price-types/{code}/edit Создание/редактирование типа цены

Создание/редактирование типа цены

Параметры

ПараметрТипФорматОписание
priceTypeobject (SerializedPriceType)Тип цены
priceType[code]stringКод
priceType[name]stringНазвание
priceType[active]booleanАктивность
priceType[description]stringОписание
priceType[filterExpression]stringФильтр
priceType[ordering]integerПорядок
priceType[geo][]array of objects (GeoHierarchyRow)Региональные ограничения
priceType[geo][][country]stringКод страны ISO (ISO 3166-1 alpha-2)
priceType[geo][][regionId]stringИдентификатор региона в Geohelper
priceType[geo][][cityId]stringИдентификатор города в Geohelper
priceType[groups]arrayГруппы пользователей

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)

Статусы ответа

Код статуса ответаОписание
200
  • Данные склада успешно изменены
201
  • Новый склад успешно создан
400
  • Ошибка при выполнении запроса

GET /api/v5/reference/product-statuses Получение списка статусов товаров в заказе

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

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
productStatuses[]array of objects (OrderProductStatus)Статус товара в заказе
productStatuses[][code]stringСимвольный код
productStatuses[][ordering]integerПорядок
productStatuses[][active]booleanСтатус активности
productStatuses[][createdAt]DateTimeДата создания
productStatuses[][orderStatusByProductStatus]stringСтатус заказа, который выставляется, если у всех товаров данный статус товара
productStatuses[][orderStatusForProductStatus]stringСтатус заказа, при котором статус товаров меняется на данный статус товара
productStatuses[][cancelStatus]booleanЯвляется статусом отмены
productStatuses[][name]stringНазвание

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

POST /api/v5/reference/product-statuses/{code}/edit Создание/редактирование статуса товара в заказе

Создание/редактирование статуса товара в заказе

Параметры

ПараметрТипФорматОписание
productStatusobject (SerializedOrderProductStatus)Статус товара в заказе
productStatus[name]string{not blank}{length: {max: 255}}}Название
productStatus[code]stringСимвольный код
productStatus[type]choice[product-status-type-cancel]Тип
productStatus[ordering]integerПорядок
productStatus[active]booleanСтатус активности
productStatus[cancelStatus]booleanЯвляется статусом отмены
productStatus[orderStatusByProductStatus]stringСтатус заказа, который выставляется, если у всех товаров данный статус товара
productStatus[orderStatusForProductStatus]stringСтатус заказа, при котором статус товаров меняется на данный статус товара

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)

Статусы ответа

Код статуса ответаОписание
200
  • Статус товара успешно изменен
201
  • Новый статус товара успешно создан
400
  • Ошибка при выполнении запроса

GET /api/v5/reference/sites Получение списка магазинов

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

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
sites[]array of objects (Site)Магазин
sites[][name]stringНазвание
sites[][url]stringURL магазина
sites[][code]stringСимвольный код магазина
sites[][description]stringКомментарий
sites[][phones]stringТелефоны магазина
sites[][address]stringАдрес магазина
sites[][zip]stringПочтовый индекс
sites[][ymlUrl]stringАдрес расположения YML
sites[][loadFromYml]booleanЗагружать ли каталог данного магазина из YML/ICML или нет
sites[][catalogUpdatedAt]DateTimeДата/время последней успешной загрузки YML/ICML
sites[][catalogLoadingAt]DateTimeДата/время последней загрузки YML/ICML
sites[][contragent]object (LegalEntity)Юридическое лицо
sites[][contragent][contragentType]stringТип юридического лица
sites[][contragent][legalName]stringПолное наименование
sites[][contragent][legalAddress]stringАдрес регистрации
sites[][contragent][INN]stringИНН
sites[][contragent][OKPO]stringОКПО
sites[][contragent][KPP]stringКПП
sites[][contragent][OGRN]stringОГРН
sites[][contragent][OGRNIP]stringОГРНИП
sites[][contragent][certificateNumber]stringНомер свидетельства
sites[][contragent][certificateDate]DateTimeДата свидетельства
sites[][contragent][BIK]stringБИК
sites[][contragent][bank]stringБанк
sites[][contragent][bankAddress]stringАдрес банка
sites[][contragent][corrAccount]stringКорр. счёт
sites[][contragent][bankAccount]stringРасчётный счёт
sites[][contragent][code]stringСимвольный код
sites[][contragent][countryIso]stringСтрана
sites[][contragent][vatRate]stringСтавка НДС
sites[][countryIso]stringISO код страны (ISO 3166-1 alpha-2)

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

POST /api/v5/reference/sites/{code}/edit Создание/редактирование магазина

Создание/редактирование магазина

Параметры

ПараметрТипФорматОписание
siteobject (SerializedSite)Магазин
site[url]string{not blank}{url}}URL магазина
site[name]string{not blank}{length: {max: 255}}}Название
site[country]stringСтрана по умолчанию
site[contragent]stringЮридическое лицо
site[ownedCatalog]stringОсновной каталог
site[ymlUrl]string{length: {max: 1000}}Адрес расположения YML
site[code]stringСимвольный код магазина
site[description]stringКомментарий
site[phones]stringТелефоны магазина
site[address]stringАдрес магазина
site[zip]stringПочтовый индекс
site[loadFromYml]booleanЗагружать ли каталог данного магазина из YML/ICML или нет
site[countryIso]stringISO код страны (ISO 3166-1 alpha-2)
site[contragentCode]stringСимвольный код контрагента

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)

Статусы ответа

Код статуса ответаОписание
200
  • Магазин успешно изменен
201
  • Новый магазин успешно создан
400
  • Ошибка при выполнении запроса

GET /api/v5/reference/status-groups Получение списка групп статусов заказа

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

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
statusGroups[]array of objects (StatusGroup)Группа статусов
statusGroups[][name]stringНазвание
statusGroups[][code]stringСимвольный код
statusGroups[][active]booleanСтатус активности
statusGroups[][ordering]integerПорядок
statusGroups[][process]booleanЯвляется или нет процессным состоянием заказа
statusGroups[][statuses]arrayСтатусы заказов, которые входят в данную группу

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

GET /api/v5/reference/statuses Получение списка статусов заказа

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

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
statuses[]array of objects (Status)Статус заказа
statuses[][name]stringНазвание
statuses[][code]stringСимвольный код
statuses[][active]booleanСтатус активности
statuses[][ordering]integerПорядок
statuses[][group]stringГруппа статусов, к которой относится статус

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

POST /api/v5/reference/statuses/{code}/edit Создание/редактирование статуса заказа

Создание/редактирование статуса заказа

Параметры

ПараметрТипФорматОписание
statusobject (SerializedStatus)Статус заказа
status[name]string{not blank}{length: {max: 255}}}Название
status[code]string{not blank}{length: {max: 255}}}Символьный код
status[ordering]integer{not blank}{range: {>=0}}}Порядок
status[group]string{not blank}Группа статусов, к которой относится статус
status[active]booleanСтатус активности

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)

Статусы ответа

Код статуса ответаОписание
200
  • Статус заказа успешно изменен
201
  • Новый статус заказа успешно создан
400
  • Ошибка при выполнении запроса

GET /api/v5/reference/stores Получение списка складов

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

Ответ

ПараметрТипОписание
stores[]array of objects (Store)Склад
stores[][externalId]stringВнешний ID
stores[][xmlId]stringИдентификатор 1С
stores[][description]stringОписание склада
stores[][email]stringEmail склада
stores[][type]stringТип склада
stores[][inventoryType]stringВид остатков на складе
stores[][address]object (StoreAddress)Адрес склада
stores[][address][index]stringИндекс
stores[][address][countryIso]stringISO код страны (ISO 3166-1 alpha-2)
stores[][address][region]stringРегион
stores[][address][regionId]integerИдентификатор региона в Geohelper
stores[][address][city]stringГород
stores[][address][cityId]integerИдентификатор города в Geohelper
stores[][address][cityType]stringТип населенного пункта
stores[][address][street]stringУлица
stores[][address][streetId]integerИдентификатор улицы в Geohelper
stores[][address][streetType]stringТип улицы
stores[][address][building]stringДом
stores[][address][flat]stringНомер квартиры/офиса
stores[][address][intercomCode]stringКод домофона
stores[][address][floor]integerЭтаж
stores[][address][block]integerПодъезд
stores[][address][house]stringСтроение/корпус
stores[][address][metro]stringМетро
stores[][address][notes]stringПримечания к адресу
stores[][address][text]stringАдрес в текстовом виде
stores[][active]booleanСтатус активности
stores[][phone]object (StorePhone)Телефон склада
stores[][phone][number]stringНомер телефона
stores[][code]stringСимвольный код
stores[][name]stringНазвание

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

POST /api/v5/reference/stores/{code}/edit Редактирование сведений о складе

Редактирование сведений о складе

Параметры

ПараметрТипФорматОписание
storeobject (SerializedStore)Склад
store[name]string{not blank}{length: {max: 255}}}Название
store[email]string{length: {max: 255}}{email address}}Email склада
store[type]string[store-type-online|store-type-retail|store-type-supplier|store-type-warehouse]Тип склада
store[inventoryType]string[available|integer]Вид остатков на складе
store[code]string{not blank}Символьный код
store[externalId]stringВнешний ID
store[xmlId]stringИдентификатор 1С
store[description]stringОписание склада
store[address]object (StoreAddress)Адрес склада
store[address][index]stringИндекс
store[address][countryIso]stringISO код страны (ISO 3166-1 alpha-2)
store[address][region]stringРегион
store[address][regionId]integerИдентификатор региона в Geohelper
store[address][city]stringГород
store[address][cityId]integerИдентификатор города в Geohelper
store[address][cityType]stringТип населенного пункта
store[address][street]stringУлица
store[address][streetId]integerИдентификатор улицы в Geohelper
store[address][streetType]stringТип улицы
store[address][building]stringДом
store[address][flat]stringНомер квартиры/офиса
store[address][intercomCode]stringКод домофона
store[address][floor]integerЭтаж
store[address][block]integerПодъезд
store[address][house]stringСтроение/корпус
store[address][metro]stringМетро
store[address][notes]stringПримечания к адресу
store[address][text]stringАдрес в текстовом виде
store[active]booleanСтатус активности
store[phone]object (StorePhone)Телефон склада
store[phone][number]stringНомер телефона

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)

Статусы ответа

Код статуса ответаОписание
200
  • Данные склада успешно изменены
201
  • Новый склад успешно создан
400
  • Ошибка при выполнении запроса

Сегменты

GET /api/v5/segments Получение списка пользовательских сегментов

Получение списка пользовательских сегментов

Результат возвращается постранично. В поле pagination содержится информация о постраничной разбивке.

В фильтре filter[type] можно указать одно из двух значений:

Параметры

ПараметрТипФорматОписание
limitinteger{not blank}[20|50|100], [20|50|100|250]}Количество элементов в ответе (по умолчанию равно 20)
pageinteger{not blank}{range: {>=1}}}Номер страницы с результатами (по умолчанию равно 1)
filterobject (SegmentApiFilter)
filter[name]string{length: {max: 255}}Название сегмента
filter[type]choice[dynamic|static]Тип действия
filter[active]choice[0|1]Активность
filter[minCustomersCount]string{range: {>=0, <=100000000000}}Число клиентов (от)
filter[maxCustomersCount]string{range: {>=0, <=100000000000}}Число клиентов (до)
filter[ids]array of objects (IntegerType)Массив ID сегментов
filter[dateFrom]stringДата создания (от)
filter[dateTo]stringДата создания (до)

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
paginationobject (PaginationResponse)Постраничная разбивка
pagination[limit]integerКоличество элементов в ответе
pagination[totalCount]integerОбщее количество найденных элементов
pagination[currentPage]integerТекущая страница выдачи
pagination[totalPageCount]integerОбщее количество страниц выдачи
segments[]array of objects (Segment)Сегмент
segments[][id]integerВнутренний ID сегмента
segments[][code]stringСимвольный код
segments[][name]stringНазвание сегмента
segments[][createdAt]DateTimeДата создания сегмента
segments[][isDynamic]booleanЯвляется ли сегмент автоматически пересчитываемым
segments[][customersCount]integerКоличество клиентов в сегменте
segments[][active]booleanАктивность сегмента

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

Склад

GET /api/v5/store/inventories Получение остатков и закупочных цен

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

Метод позволяет получать информацию об остатках и закупочных ценах для торговых предложений. При указании параметра filter[details]=1 будет также возвращена детализация остатков и закупочных цен по складам. Данные возвращаются по магазинам, доступ к котором предоставлен используемому API-ключу, либо по конкретному магазину, если указан параметр filter[sites][]=site-code.

По умолчанию возвращается информация как по активным, так и неактивным товарам и торговым предложениям. Для получения информации только по активным используйте параметры filter[productActive]=1 и filter[offerActive]=1.

Поле offers[][site] возвращается в ответе только, если данные возвращаются по нескольким магазинам.

Параметры

ПараметрТипФорматОписание
limitinteger{not blank}[20|50|100], [20|50|100|250]}Количество элементов в ответе (по умолчанию равно 20)
pageinteger{not blank}{range: {>=1}}}Номер страницы с результатами (по умолчанию равно 1)
filterobject (InventoryFilterType)
filter[ids][]array of objects (IntegerType)Массив ID торговых предложений
filter[productExternalId]string{length: {max: 255}}Внешний ID товара
filter[productArticle]string{length: {max: 255}}Артикул товара
filter[offerExternalId]string{length: {max: 255}}Внешний ID торгового предложения
filter[offerXmlId]string{length: {max: 255}}XmlId торгового предложения
filter[offerArticle]string{length: {max: 255}}Артикул торгового предложения
filter[productActive]choice[0|1]Возвращать остатки только по активным товарам
filter[offerActive]choice[0|1]Возвращать остатки только по активным торговым предложениям
filter[details]choice[0|1]Возвращать детализацию остатков по складам
filter[sites][]array of choicesМагазины

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
paginationobject (PaginationResponse)Постраничная разбивка
pagination[limit]integerКоличество элементов в ответе
pagination[totalCount]integerОбщее количество найденных элементов
pagination[currentPage]integerТекущая страница выдачи
pagination[totalPageCount]integerОбщее количество страниц выдачи
offers[]array of objects (Offer)Торговое предложение (SKU)
offers[][id]integerID торгового предложения
offers[][externalId]stringID торгового предложения в магазине
offers[][xmlId]stringID торгового предложения в складской системе
offers[][site]stringdeprecated Магазин. Используйте getCatalog()
offers[][purchasePrice]doubleЗакупочная цена SKU
offers[][quantity]integerДоступное количество
offers[][stores][]array of objects (Inventory)Остатки по складам
offers[][stores][][quantity]integerКоличество
offers[][stores][][purchasePrice]doubleЗакупочная цена
offers[][stores][][store]stringСклад

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

POST /api/v5/store/inventories/upload Обновление остатков и закупочных цен

Обновление остатков и закупочных цен

Метод позволяет обновлять остатки и закупочные цены по складам для торговых предложений. За один запрос можно обновить до 250 торговых предложений. В одном торговом предложении можно указать остатки до 50 складов.

Поле offers[][stores][][available] может быть целочисленным или дробным. При использовании фактического учета остатков следует передавать 0 - в случае отсутствия товара на складе, и 1 - в случае наличия.

У каждого торгового предложения должен быть указан xmlId или externalId. Если указаны оба, то используется xmlId.

Если c заданным xmlId найдено несколько товаров, остатки будут изменены у всех.

Параметры

ПараметрТипФорматОписание
offers[]array of objects (SerializedOffer)Торговое предложение (SKU)
offers[][id]integerID торгового предложения
offers[][externalId]stringID торгового предложения в магазине
offers[][xmlId]stringID торгового предложения в складской системе
offers[][stores][]array of objects (SerializedStore)Склад
offers[][stores][][code]stringСимвольный код
offers[][stores][][available]floatКоличество доступного товара или факт наличия
offers[][stores][][purchasePrice]floatЗакупочная цена
sitestringСимвольный код магазина. Указывается в случае идентификации торговых предложений по externalId

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
processedOffersCountintegerКоличество успешно обработанных торговых предложений
notFoundOffers[]array of objects (Offer)Торговое предложение (SKU)
notFoundOffers[][id]integerID торгового предложения
notFoundOffers[][externalId]stringID торгового предложения в магазине
notFoundOffers[][xmlId]stringID торгового предложения в складской системе

Статусы ответа

Код статуса ответаОписание
200
  • Остатки загружены
400
  • Ошибка при загрузке остатков либо текущие настройки системы не допускают редактирование остатков

POST /api/v5/store/prices/upload Обновление цен торговых предложений

Обновление цен торговых предложений

За один запрос можно передавать суммарно до 250 цен.

Параметры

ПараметрТипФорматОписание
prices[]array of objects (PriceUploadInput)
prices[][externalId]stringID торгового предложения в магазине
prices[][xmlId]stringID торгового предложения в складской системе
prices[][id]integerID торгового предложения
prices[][site]stringКод магазина, необходим при передаче externalId торгового предложения
prices[][prices][]array of objects (PriceUploadPricesInput)Цена торгового предложения
prices[][prices][][code]stringКод типа цены
prices[][prices][][price]floatЦена

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
processedOffersCountintegerКоличество успешно обработанных торговых предложений
notFoundOffers[]array of objects (PriceUploadNotFoundResponse)Список не обработанных торговых предложений
notFoundOffers[][id]string
notFoundOffers[][externalId]stringID не обработанного торгового предложения в магазине
notFoundOffers[][xmlId]stringID не обработанного торгового предложения в складской системе

Статусы ответа

Код статуса ответаОписание
200
  • Остатки загружены
400
  • Ошибка при загрузке остатков либо текущие настройки системы не допускают редактирование остатков

GET /api/v5/store/product-groups Получение списка групп товаров, удовлетворяющих заданному фильтру

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

Параметры

ПараметрТипФорматОписание
limitinteger{not blank}[20|50|100], [20|50|100|250]}Количество элементов в ответе (по умолчанию равно 20)
pageinteger{not blank}{range: {>=1}}}Номер страницы с результатами (по умолчанию равно 1)
filterobject (ProductGroupFilterType)
filter[active]choice[0|1]Активность
filter[parentGroupId]string{range: {>=0, <=100000000000}}ID родительской группы товаров
filter[ids][]array of objects (IntegerType)Массив ID групп товаров
filter[sites][]array of choicesМагазины

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
paginationobject (PaginationResponse)Постраничная разбивка
pagination[limit]integerКоличество элементов в ответе
pagination[totalCount]integerОбщее количество найденных элементов
pagination[currentPage]integerТекущая страница выдачи
pagination[totalPageCount]integerОбщее количество страниц выдачи
productGroup[]array of objects (ProductGroup)Товарная группа
productGroup[][parentId]integerID родительской группы
productGroup[][site]stringМагазин
productGroup[][id]integerID
productGroup[][name]stringНазвание
productGroup[][active]booleanАктивность

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

GET /api/v5/store/products Получение списка товаров с торговыми предложениями, удовлетворяющих заданному фильтру

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

Метод позволяет получать информацию о товарах и их товарных предложениях. Данные возвращаются по магазинам, доступ к которым предоставлен используемому API-ключу, либо по конкретному магазину, если указан параметр filter[sites][]=site-code.

По умолчанию возвращается информация как по активным, так и неактивным товарам. Для получения информации только по активным используйте параметр filter[active]

Результат возвращается постранично. В поле pagination содержится информация о постраничной разбивке.

Фильтр filter[properties][] позволяет получить товары по их свойствам. Фильтр необходимо задавать в формате filter[properties][property_code_1]=value_1&filter[properties][property_code_2]=value_2.

В фильтре filter[groups] указываются ID групп товаров.

Фильтр filter[classSegment] позволяет получить сегменты ABC/XYZ-анализа товаров. Доступны следующие значения: abc[0..2]_xyz[0..2].

Фильтры filter[offerIds][], filter[offerExternalId], filter[offerXmlId] позволяют получить товары, которым принадлежат торговые предложения с заданными id, externalId, xmlId соответственно.

Параметры

ПараметрТипФорматОписание
limitinteger{not blank}[20|50|100], [20|50|100|250]}Количество элементов в ответе (по умолчанию равно 20)
pageinteger{not blank}{range: {>=1}}}Номер страницы с результатами (по умолчанию равно 1)
filterobject (ProductFilterType)
filter[active]choice[0|1]Активность
filter[name]string{length: {max: 255}}Название либо артикул товара или торгового предложения
filter[minPrice]string{range: {>=0, <=100000000000}}Цена товара (от)
filter[maxPrice]string{range: {>=0, <=100000000000}}Цена товара (до)
filter[minPurchasePrice]string{range: {>=0, <=100000000000}}Закупочная цена товара (от)
filter[maxPurchasePrice]string{range: {>=0, <=100000000000}}Закупочная цена товара (до)
filter[minQuantity]string{range: {>=0, <=100000000000}}Количество товара (от)
filter[maxQuantity]string{range: {>=0, <=100000000000}}Количество товара (до)
filter[popular]string[0|1]Метка Лидер продаж
filter[stock]string[0|1]Метка Лучшая цена
filter[novelty]string[0|1]Метка Новинка
filter[recommended]string[0|1]Метка Рекомендуем
filter[url]string{length: {max: 2000}}URL
filter[manufacturer]string{length: {max: 255}}Производитель
filter[externalId]string{length: {max: 255}}Внешний ID
filter[xmlId]string{length: {max: 255}}Xml ID
filter[classSegment]string{length: {max: 255}}{match: /^abc[0-2]_xyz[0-2]$/}}ABC/XYZ-сегмент
filter[offerIds][]array of objects (IntegerType)Массив ID торговых предложений
filter[properties][]array of objects (TextType)Свойства товаров
filter[offerExternalId]string{length: {max: 255}}Внешний ID торгового предложения
filter[offerXmlId]string{length: {max: 255}}XmlId торгового предложения
filter[ids][]array of objects (IntegerType)Массив ID товаров
filter[groups]stringГруппа товара
filter[priceType]stringТип цены
filter[sites][]array of choicesМагазины

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
paginationobject (PaginationResponse)Постраничная разбивка
pagination[limit]integerКоличество элементов в ответе
pagination[totalCount]integerОбщее количество найденных элементов
pagination[currentPage]integerТекущая страница выдачи
pagination[totalPageCount]integerОбщее количество страниц выдачи
products[]array of objects (Product)Товар
products[][minPrice]doubleМинимальная цена на товар
products[][maxPrice]doubleМаксимальная цена на товар
products[][id]integerID товара
products[][article]stringАртикул
products[][name]stringНазвание
products[][url]stringСсылка на страницу товара в магазине
products[][imageUrl]stringСсылка на изображение товара
products[][description]stringОписание
products[][popular]booleanМетка Лидер продаж
products[][stock]booleanМетка Лучшая цена
products[][novelty]booleanМетка Новинка
products[][recommended]booleanМетка Рекомендуем
products[][properties]arrayАссоциативный массив свойств товара
products[][groups][]array of objects (ProductGroup)Товарные группы, которым пренадлежит товар
products[][groups][][id]integerID
products[][externalId]stringВнешний ID товара
products[][manufacturer]stringПроизводитель
products[][offers][]array of objects (Offer)Торговые предложения
products[][offers][][name]stringНазвание
products[][offers][][price]doubleЦена SKU
products[][offers][][images][]array of stringsАдреса изображений
products[][offers][][id]integerID торгового предложения
products[][offers][][externalId]stringID торгового предложения в магазине
products[][offers][][xmlId]stringID торгового предложения в складской системе
products[][offers][][article]stringАртикул
products[][offers][][prices][]array of objects (OfferPrice)Доступные цены
products[][offers][][prices][][priceType]stringТип цены
products[][offers][][prices][][price]doubleЦена
products[][offers][][prices][][ordering]integerПорядок
products[][offers][][purchasePrice]doubleЗакупочная цена SKU
products[][offers][][properties]arrayСвойства SKU
products[][offers][][weight]doubleВес
products[][offers][][length]doubleДлина
products[][offers][][width]doubleШирина
products[][offers][][height]doubleВысота
products[][active]booleanАктивность
products[][quantity]doubleКоличество

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

GET /api/v5/store/products/properties Получение списка свойств товаров, удовлетворяющих заданному фильтру

Получение списка свойств товаров, удовлетворяющих заданному фильтру

Метод позволяет получать информацию о свойствах товаров. Данные возвращаются по магазинам, доступ к которым предоставлен используемому API-ключу, либо по конкретным магазинам, если указан параметр filter[sites][]=site-code.

Результат возвращается постранично. В поле pagination содержится информация о постраничной разбивке.

Свойства товаров можно отфильтровать по идентификаторам filter[ids], наименованию filter[name] (частичное совпадение) и символьному коду filter[code].

Параметры

ПараметрТипФорматОписание
limitinteger{not blank}[20|50|100], [20|50|100|250]}Количество элементов в ответе (по умолчанию равно 20)
pageinteger{not blank}{range: {>=1}}}Номер страницы с результатами (по умолчанию равно 1)
filterobject (ProductPropertiesFilterType)
filter[name]string{length: {max: 255}}Наименование свойства
filter[code]string{length: {max: 50}}Символьный код свойства
filter[sites][]array of objects (TextType)Символьные коды магазинов

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
paginationobject (PaginationResponse)Постраничная разбивка
pagination[limit]integerКоличество элементов в ответе
pagination[totalCount]integerОбщее количество найденных элементов
pagination[currentPage]integerТекущая страница выдачи
pagination[totalPageCount]integerОбщее количество страниц выдачи
properties[]array of objects (ProductProperty)Свойство товара
properties[][sites][]array of stringsСимвольные коды сайтов к которым привязан каталог
properties[][code]stringСимвольный код свойства
properties[][name]stringНаименование свойства

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

CallbackPOST {configuration["actions"]["inventoriesUpload"]["url"]} Обновление остатков и закупочных цен

Обновление остатков и закупочных цен

Метод позволяет обновлять остатки и закупочные цены по складам для торговых предложений. Для обновления остатков система инициирует POST запрос метода указанного в configuration["actions"]["inventoriesUpload"]["url"]. Система передает перечень товарных предложений для которых необходимо передать информацию об остатках, в зависимости от контекста вызова метода. Товарные предложения в отсутсвующие в запросе будут игнорироваться в ответе. Точки вызова метода настраиваются в конфигурации в поле configuration["actions"]["inventoriesUpload"]["callPoints"].

У каждого торгового предложения должен быть указан xmlId или externalId. Если указаны оба, то используется xmlId.

Поле offers[][stores][][available] может быть целочисленным или дробным. При использовании фактического учета остатков следует передавать 0 - в случае отсутствия товара на складе, и 1 - в случае наличия.

В случае возникновения ошибки во внешнем ресурсе, к которому обращается callback-метод, данные по ошибке будут внесены в журнал действий (Администрирование > Настройки > Журнал действий).

Параметры

ПараметрТипФорматОписание
clientIdstring
offers[]array of objects (SerializedOffer)Торговое предложение (SKU)
offers[][id]integerID торгового предложения
offers[][externalId]stringID торгового предложения в магазине
offers[][xmlId]stringID торгового предложения в складской системе
offers[][site]stringdeprecated Магазин. Используйте getCatalog()

Ответ

ПараметрТипОписание
offers[]array of objects (SerializedOffer)Торговое предложение (SKU)
offers[][id]integerID торгового предложения
offers[][externalId]stringID торгового предложения в магазине
offers[][xmlId]stringID торгового предложения в складской системе
offers[][stores][]array of objects (SerializedStore)Склад
offers[][stores][][code]stringСимвольный код
offers[][stores][][available]floatКоличество доступного товара или факт наличия
offers[][stores][][purchasePrice]floatЗакупочная цена
offers[][site]stringdeprecated Магазин. Используйте getCatalog()

Задачи

GET /api/v5/tasks Получение списка задач

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

Результат возвращается постранично. В поле pagination содержится информация о постраничной разбивке.

В фильтре filter[ids][] передаётся массив внутренних идентификаторов задач.

В фильтрах filter[performers][] и filter[creators][] передаётся массив внутренних идентификаторов пользователей.

Фильтр filter[status] позволяет получить задачи, находящиеся в определенном статусе. Доступны следующие значения:

Фильтром filter[customer] можно производить поиск по ФИО, email или телефону клиента.

Параметры

ПараметрТипФорматОписание
limitinteger{not blank}[20|50|100], [20|50|100|250]}Количество элементов в ответе (по умолчанию равно 20)
pageinteger{not blank}{range: {>=1}}}Номер страницы с результатами (по умолчанию равно 1)
filterobject (TaskFilter)
filter[orderNumber]string{length: {max: 255}}Номер заказа, связанного с задачей
filter[customer]stringКлиент, связанный с задачей
filter[status]choice[completed|performing]Статус задачи
filter[text]string{length: {max: 255}}Текст задачи
filter[ids]array of objects (IntegerType)Массив ID задач
filter[performers][]array of choicesИсполнители задачи
filter[creators][]array of choicesАвторы задачи
filter[dateFrom]stringДата выполнения задачи (с)
filter[dateTo]stringДата выполнения задачи (до)

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
paginationobject (PaginationResponse)Постраничная разбивка
pagination[limit]integerКоличество элементов в ответе
pagination[totalCount]integerОбщее количество найденных элементов
pagination[currentPage]integerТекущая страница выдачи
pagination[totalPageCount]integerОбщее количество страниц выдачи
tasks[]array of objects (Task)Задача
tasks[][id]integerID задачи
tasks[][text]stringТекст задачи
tasks[][commentary]stringКомментарий к задаче
tasks[][datetime]DateTimeВремя выполнения задачи
tasks[][createdAt]DateTimeДата создания
tasks[][complete]booleanПризнак выполнения задачи
tasks[][creator]integerАвтор задачи
tasks[][performer]integerИсполнитель задачи
tasks[][customer]object (Customer)Клиент, к которому прявязана задача
tasks[][customer][id]integerID клиента
tasks[][customer][externalId]stringВнешний ID клиента
tasks[][customer][site]stringМагазин, с которого пришел клиент
tasks[][order]object (Order)Заказ, к которому прявязана задача
tasks[][order][id]integerID заказа
tasks[][order][number]stringНомер заказа
tasks[][order][externalId]stringВнешний ID заказа
tasks[][order][site]stringМагазин
tasks[][phone]stringТелефон связанный с задачей
tasks[][phoneSite]stringМагазин, связанный с задачей на перезвон

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

POST /api/v5/tasks/create Создание задачи

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

Метод создает задачу и возвращает внутренний ID созданной задачи.

Если требуется установить дату выполнения задачи, необходимо передать дату в формате Y-m-d H:i в поле task[datetime]. Дату необходимо указать в будущем времени.

В поле task[performerId] необходимо передать внутренний ID пользователя, на которого необходимо назначить задачу. Если пользователь не будет найден, задача не будет создана.

Если требуется привязать задачу к существующему клиенту, то необходимо установить значение одного из следующих полей:

Если установлено значение нескольких полей, они будут обрабатываться в указанном выше порядке. Поиск клиента будет осуществляться в рамках магазинов, к которым есть доступ у используемого API-ключа. Если клиент не будет найден, связь не будет установлена.

Если требуется привязать задачу к существующему заказу, то необходимо установить значение одного из следующих полей:

Если установлено значение нескольких полей, они будут обрабатываться в указанном выше порядке. Поиск заказа будет осуществляться в рамках магазинов, к которым есть доступ у используемого API-ключа. Если заказ не будет найден, связь не будет установлена.

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

При связывании задачи с клиентом/заказом, необходимо указать данные либо заказа, либо клиента.

При создании задачи на перезвон необходимо в поле task[phone] указать номер телефона, по которому следует перезвонить. В поле task[phoneSite] желательно указать символьный код магазина, чтобы иметь возможность осуществить перезвон с номера указанного магазина. Данная возможность зависит от используемой телефонии и её настроек.

Параметры

ПараметрТипФорматОписание
sitestringСимвольный код магазина
taskobject (SerializedTask)Задача
task[text]stringТекст задачи
task[commentary]stringКомментарий к задаче
task[datetime]DateTimeВремя выполнения задачи
task[complete]booleanПризнак выполнения задачи
task[phone]stringТелефон связанный с задачей
task[customer]object (SerializedEntityCustomer)Клиент, к которому прявязана задача
task[customer][id]integerВнутренний ID клиента
task[customer][externalId]stringВнешний ID клиента
task[performerId]integerИсполнитель задачи
task[order]object (SerializedEntityOrder)Заказ, к которому прявязана задача
task[order][id]integerВнутренний ID заказа
task[order][externalId]stringВнешний ID заказа
task[order][number]stringНомер заказа
task[phoneSite]stringМагазин, связанный с задачей на перезвон

Статусы ответа

Код статуса ответаОписание
201
  • Задача создана
400
  • Ошибка при создании задачи

GET /api/v5/tasks/{id} Получение информации о задаче

Получение информации о задаче

Параметры

ПараметрТипФорматОписание
idintegerID задачи

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
taskobject (Task)Задача
task[id]integerID задачи
task[text]stringТекст задачи
task[commentary]stringКомментарий к задаче
task[datetime]DateTimeВремя выполнения задачи
task[createdAt]DateTimeДата создания
task[complete]booleanПризнак выполнения задачи
task[creator]integerАвтор задачи
task[performer]integerИсполнитель задачи
task[customer]object (Customer)Клиент, к которому прявязана задача
task[customer][id]integerID клиента
task[customer][externalId]stringВнешний ID клиента
task[customer][site]stringМагазин, с которого пришел клиент
task[order]object (Order)Заказ, к которому прявязана задача
task[order][id]integerID заказа
task[order][number]stringНомер заказа
task[order][externalId]stringВнешний ID заказа
task[order][site]stringМагазин
task[phone]stringТелефон связанный с задачей
task[phoneSite]stringМагазин, связанный с задачей на перезвон

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
404
  • Задача не найдена

POST /api/v5/tasks/{id}/edit Редактирование задачи

Редактирование задачи

Метод позволяет вносить изменения в задачу

Если требуется изменить задачу, которая не была выполнена и время выполнения которой истекло, необходимо так же изменить и время выполнения задачи. Если при изменении такой задачи в поле task[complete] установлено значение true, время выполнения задачи изменять не требуется.

Если требуется изменить дату выполнения задачи, необходимо передать дату в формате Y-m-d H:i в поле task[datetime]. Дату необходимо указать в будущем времени.

В поле task[performerId] необходимо передать внутренний ID пользователя, на которого необходимо переназначить задачу. Если пользователь не будет найден, задача не будет переназначена.

Если требуется привязать задачу к существующему клиенту, то необходимо установить значение одного из следующих полей:

Если установлено значение нескольких полей, они будут обрабатываться в указанном выше порядке. Поиск клиента будет осуществляться в рамках магазинов, к которым есть доступ у используемого API-ключа. Если клиент не будет найден, связь не будет установлена.

Если требуется привязать задачу к существующему заказу, то необходимо установить значение одного из следующих полей:

Если установлено значение нескольких полей, они будут обрабатываться в указанном выше порядке. Поиск заказа будет осуществляться в рамках магазинов, к которым есть доступ у используемого API-ключа. Если заказ не будет найден, связь не будет установлена.

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

При связывании задачи с клиентом/заказом, необходимо указать данные либо заказа, либо клиента.

При редактировании задачи на перезвон необходимо в поле task[phone] указать номер телефона, по которому следует перезвонить. В поле task[phoneSite] желательно указать символьный код магазина, чтобы иметь возможность осуществить перезвон с номера указанного магазина. Данная возможность зависит от используемой телефонии и её настроек.

Параметры

ПараметрТипФорматОписание
sitestringСимвольный код магазина
taskobject (SerializedTask)Задача
task[text]stringТекст задачи
task[commentary]stringКомментарий к задаче
task[datetime]DateTimeВремя выполнения задачи
task[complete]booleanПризнак выполнения задачи
task[phone]stringТелефон связанный с задачей
task[customer]object (SerializedEntityCustomer)Клиент, к которому прявязана задача
task[customer][id]integerВнутренний ID клиента
task[customer][externalId]stringВнешний ID клиента
task[performerId]integerИсполнитель задачи
task[order]object (SerializedEntityOrder)Заказ, к которому прявязана задача
task[order][id]integerВнутренний ID заказа
task[order][externalId]stringВнешний ID заказа
task[order][number]stringНомер заказа
task[phoneSite]stringМагазин, связанный с задачей на перезвон

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)

Статусы ответа

Код статуса ответаОписание
200
  • Задача успешно изменена
400
  • Ошибка при изменении задачи

Телефония

POST /api/v5/telephony/call/event События звонка

События звонка

Метод фиксирует события вызова для пользователей c добавочным кодами codes и/или c ID userIds, c телефона phone. Поле codes содержит JSON массив добавочных кодов, поле userIds содержит JSON массив ID пользователей.

Если одновременно указаны оба поля codes и userIds, событие вызова будет зафиксировано для всех перечисленных пользователей.

Поле type содержит тип события: in - входящий вызов, out - исходящий вызов, hangup - завершение звонка.

В случае, если type равен ​hangup​, то в поле hangupStatus можно передать статус.

Поле hangupStatus содержит статус завершения звонка: answered - звонок принят, no answered - ответа на звонок не последовало, busy - вызывающая сторона получает сигнал "занято", cancel - звонок отменен, failed - ошибка. По умолчанию значение answered.

Поле campaign содержит рекламную кампанию в рамках которой идет звонок. Содержит JSON, с полями: name - название рекламной кампании и code - код рекламной кампании. В случае если данное поле заполнено, в окне о входящем звонке будет указываться информация о рекламной кампании.

Событие звонка может быть связано с магазином. Для этого необходио указать символьный код магазина в поле site, или внешний номер магазина в поле externalPhone. Если указаны оба поля, они будут обработаны в следующем порядке:

Параметры

ПараметрТипФорматОписание
eventobject (CallEvent)
event[phone]string{length: {max: 255}}{not blank}}Телефон
event[type]string{not blank}[hangup|in|out]}Тип события
event[codes][]array of stringsДобавочные коды менеджеров
event[userIds][]array of integersМассив ID пользователей
event[site]stringСимвольный код магазина, связанного с событием звонка
event[hangupStatus]string[answered|busy|cancel|failed|no answered]Статус завершения звонка
event[externalPhone]string{length: {max: 255}}Внешний номер телефона
event[callExternalId]string{length: {max: 255}}External Id связанного c событием звонка
event[webAnalyticsData]object (SerializedWebAnalyticsData)
event[webAnalyticsData][campaign]object (SerializedCampaign)Рекламная кампания
event[webAnalyticsData][campaign][name]stringНазвание рекламной кампании
event[webAnalyticsData][campaign][code]stringКод рекламной кампании
event[webAnalyticsData][queryString]stringПоисковый запрос

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
notExistCodesarrayМассив добавочных кодов, которые отсутствуют в системе
notExistUsersarrayМассив userId, которые отсутствуют в системе

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

POST /api/v5/telephony/calls/upload Загрузка телефонных звонков

Загрузка телефонных звонков

Метод позволяет сохранять историю звонков. За один запрос можно отправить до 50 звонков.

Поле calls содержит JSON массив.

Поле calls[][date], содержит дату время звонка в формате Y-m-d H:i:s.

Поле calls[][type], может принимать следующие значения: in - входящий звонок, out - исходящий звонок.

Поле calls[][result], может принимать следующие значения: failed - ошибка , answered - принят , busy - занято, no answer - не отвечено, not allowed - запрещен , unknown - неизвестно

Поле calls[][externalId] уникальный идентификатор звонка в АТС, если передать уже существующее значение звонок не будет создан.

Поле calls[][recordUrl] ссылка на запись звонка, например http://example.com/record.mp3. Поддерживаются записи в формате .wav, .mp3

Для сохранения звонка необходимо, чтобы было заполнено поле calls[][userId] или calls[][code].

Поле calls[][userId] содержит ID пользователя, который обрабатывал звонок

Поле calls[][code] содержит внутренний номер пользователя, который обрабатывал звонок.

Поле Длительность звонкаcalls[][duration] должна быть больше, чем Время ожидания ответа оператораcalls[][durationWaiting]. Если поле calls[][duration] не передано, в интерфейсе не будет отображаться плеер прослушивания записи звонка.

Если заданы оба поля, они будут обработаны в следующем порядке:

Звонок может быть связан с магазином. Для этого необходимо указать символьный код магазина в поле calls[][site], или внешний номер магазина в поле calls[][externalPhone]. Если указаны оба поля, они будут обработаны в следующем порядке:

Параметры

ПараметрТипФорматОписание
calls[]array of objects (Call)Звонок
calls[][date]DateTime{not blank}{DateTime YYYY-MM-DD HH:MM:SS}}Дата/время звонка
calls[][type]string[in|out], {not blank}Тип звонка
calls[][phone]string{not blank}{length: {max: 255}}}Номер телефона
calls[][code]string{length: {max: 255}}Внутренний номер пользователя, который обрабатывал звонок
calls[][userId]integer{range: {>=1, <=2147483647}}Id пользователя, который обрабатывал звонок
calls[][result]string[answered|busy|failed|no answer|not allowed|unknown], {not blank}Результат звонка
calls[][duration]integer{range: {>=0, <=1000000000}}Длительность звонка (в секундах)
calls[][durationWaiting]integer{range: {>=0, <=1000000000}}Время ожидания ответа оператора (в секундах)
calls[][externalId]string{not blank}{length: {max: 255}}}ID звонка в АТС
calls[][recordUrl]string{length: {max: 2048}}Ссылка на запись звонка
calls[][source]object (SerializedSource)Источник
calls[][source][source]stringИсточник (строка)
calls[][source][medium]stringКанал
calls[][source][campaign]stringКампания
calls[][source][keyword]stringКлючевое слово
calls[][source][content]stringСодержание кампании
calls[][externalPhone]string{length: {max: 32}}Внешний номер телефона
calls[][site]stringМагазин
calls[][clientId]stringМетка клиента Google Analytics

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
processedCallsCountintegerКоличество успешно обработанных звонков
duplicateCallsarrayМассив externalId, которые уже присутствуют в системе

Статусы ответа

Код статуса ответаОписание
200
  • Звонки успешно загружены
400
  • Ошибка при выполнении запроса

GET /api/v5/telephony/manager Получение ответственного менеджера

Получение ответственного менеджера

Метод возвращает ответственного менеджера, для клиента с телефоном phone, который в данный момент Онлайн в системе и в статусе Свободен. Менеджер не будет возвращен, если для него не задан добавочный код в системе.

Если ответственный менеджер не найден, поле manager в ответе будет отсутствовать.

Если поле details равно 1, в ответе будут присутствовать поля links, customer. В противном случае, поля будут отсутствовать.

Если клиент найден, поля links[newCustomerLink], links[newOrderLink] в ответе будет отсутствовать.

Если клиент не найден, поля customer, links[lastOrderLink], links[customerLink] в ответе будет отсутствовать.

Параметры

ПараметрТипФорматОписание
phonestring{not blank}{length: {max: 255}}}Телефон
detailsstring[0|1]Детальная информация

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
managerobject (SerializedManager)Менеджер
manager[id]stringId менеджера
manager[firstName]stringИмя менеджера
manager[lastName]stringФамилия менеджера
manager[patronymic]stringОтчество менеджера
manager[email]stringЭлектронный адрес
manager[code]stringДобавочный код менеджера в телефонии
customerobject (SerializedCustomer)Клиент
customer[id]stringId клиента
customer[externalId]stringИдентификатор с внешнего сайта
customer[firstName]stringИмя клиента
customer[lastName]stringФамилия клиента
customer[patronymic]stringОтчество клиента
customer[email]stringЭлектронный адрес
customer[phones][]array of objects (CustomerPhone)Телефоны клиента
customer[phones][][number]stringНомер телефона
linksobject (SerializedLinks)Ссылки
links[newOrderLink]stringСсылка на страницу создания нового заказа
links[lastOrderLink]stringСсылка на страницу последнего заказа
links[newCustomerLink]stringСсылка на страницу создания нового клиента
links[customerLink]stringСсылка на страницу клиента

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

CallbackGET {configuration["changeUserStatusUrl"]} Оповещение о смене статуса

Оповещение о смене статуса

Если в настройках телефонии задано поле changeUserStatusUrl , при смене статуса менеджера в системе по заданному адресу будет отправлен GET запрос.

Параметры

ПараметрТипФорматОписание
codestring{not blank}{length: {max: 255}}}Добавочный код менеджера
userIdinteger{not blank}{length: {max: 255}}}Id пользователя
clientIdstring{not blank}{length: {max: 255}}}Id клиента
statusstring{not blank}[break|busy|dinner|free]}Статус пользователя в системе

CallbackGET {configuration["makeCallUrl"]} Инициация звонка

Инициация звонка

Если в настройках телефонии задано поле makeCallUrl, при инициации звонка по заданному адресу будет отправлен GET запрос. Ожидается код возврата 200, в противном случае пользователю будет выведена ошибка.

Параметры

ПараметрТипФорматОписание
codestring{not blank}{length: {max: 255}}}Добавочный код менеджера
phonestring{not blank}{length: {max: 255}}}Телефон
clientIdstring{not blank}{length: {max: 255}}}Id клиента
userIdinteger{not blank}{range: {>=1, <=2147483647}}}Id пользователя
externalPhonestring{length: {max: 255}}Внешний номер телефона

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен

CallbackPOST {configuration["personalAccountUrl"]} Переход в личный кабинет

Переход в личный кабинет

Если задано поле personalAccountUrl, в карточке телефонии будет доступна кнопка «Личный кабинет телефонии», при нажатии на которую по заданному адресу будет отправлен POST запрос с параметром clientId.

Параметры

ПараметрТипФорматОписание
clientIdstring{not blank}{length: {max: 255}}}Id клиента

CallbackGET {recordUrl} Прослушивание звонка

Прослушивание звонка

Если у звонка задано поле recordUrl, при попытке прослушать звонок по заданному адресу будет отправлен GET запрос. Ожидается код возврата 200, в противном случае пользователю будет выведена ошибка.

Для корректного воспроизведения аудиозаписи необходимо указывать верный заголовок Content-Type

Параметры

ПараметрТипФорматОписание
clientIdstring{not blank}{length: {max: 255}}}Id клиента

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен

Пользователи

GET /api/v5/user-groups Получение списка групп пользователей

Получение списка групп пользователей

Параметры

ПараметрТипФорматОписание
limitinteger{not blank}[20|50|100], [20|50|100|250]}Количество элементов в ответе (по умолчанию равно 20)
pageinteger{not blank}{range: {>=1}}}Номер страницы с результатами (по умолчанию равно 1)

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
paginationobject (PaginationResponse)Постраничная разбивка
pagination[limit]integerКоличество элементов в ответе
pagination[totalCount]integerОбщее количество найденных элементов
pagination[currentPage]integerТекущая страница выдачи
pagination[totalPageCount]integerОбщее количество страниц выдачи
groups[]array of objects (Group)Группа пользователей
groups[][name]stringНаименование
groups[][signatureTemplate]stringШаблон для подписи
groups[][code]stringКод
groups[][isManager]booleanОбрабатывают заказы
groups[][isDeliveryMen]booleanГруппа отвечает за доставку
groups[][deliveryTypes]arrayТипы доставок, за которые отвечает группа
groups[][breakdownOrderTypes]arrayТипы тех заказов, которые распределяются на менеджеров данной группы
groups[][breakdownSites]arrayМагазины, заказов которых распределяются на менеджеров данной группы
groups[][breakdownOrderMethods]arrayСпособы оформления тех заказов, которые распределяются на менеджеров данной группы
groups[][grantedOrderTypes]arrayТипы заказов, которые видны менеджерам данной группы, если доступ ограничен
groups[][grantedSites]arrayМагазины, заказы которых видны менеджерам данной группы

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

GET /api/v5/users Получение списка пользователей, удовлетворяющих заданному фильтру

Получение списка пользователей, удовлетворяющих заданному фильтру

Параметры

ПараметрТипФорматОписание
limitinteger{not blank}[20|50|100], [20|50|100|250]}Количество элементов в ответе (по умолчанию равно 20)
pageinteger{not blank}{range: {>=1}}}Номер страницы с результатами (по умолчанию равно 1)
filterobject (ApiUserFilter)
filter[email]string{length: {max: 255}}Email пользователя
filter[status]string[break|busy|dinner|free]Статус пользователя в системе
filter[online]string[0|1]Пользователь онлайн
filter[active]string[0|1]Активность пользователя
filter[isManager]string[1]Является менеджером
filter[isAdmin]string[0|1]Является администратором
filter[groups][]arrayГруппы пользователя
filter[createdAtFrom]DateTimeДата создания пользователя (от)
filter[createdAtTo]DateTimeДата создания пользователя (до)

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
paginationobject (PaginationResponse)Постраничная разбивка
pagination[limit]integerКоличество элементов в ответе
pagination[totalCount]integerОбщее количество найденных элементов
pagination[currentPage]integerТекущая страница выдачи
pagination[totalPageCount]integerОбщее количество страниц выдачи
users[]array of objects (SerializedUser)Информация о пользователе
users[][id]integerID пользователя
users[][createdAt]DateTimeДата создания пользователя
users[][active]booleanАктивность
users[][email]stringЭлектронный адрес
users[][firstName]stringИмя пользователя
users[][lastName]stringФамилия пользователя
users[][patronymic]stringОтчество пользователя
users[][phone]stringТелефон
users[][status]stringСтатус пользователя в системе
users[][online]booleanПользователь онлайн
users[][isAdmin]booleanЯвляется администратором
users[][isManager]booleanЯвляется менеджером
users[][groups][]array of objects (SerializedGroups)Группы пользователя
users[][groups][][name]stringНазвание группы
users[][groups][][code]stringКод группы

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса

GET /api/v5/users/{id} Получение информации о пользователе

Получение информации о пользователе

Получение информации о пользователе

Поле user[status] содержит статус пользователя в системе, может принимать следующие значения: free - свободен; busy - занят;dinner - на обеде; break - перерыв.

Параметры

ПараметрТипФорматОписание
idintegerID пользователя

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)
userobject (SerializedUser)Информация о пользователе
user[id]integerID пользователя
user[createdAt]DateTimeДата создания пользователя
user[active]booleanАктивность
user[email]stringЭлектронный адрес
user[firstName]stringИмя пользователя
user[lastName]stringФамилия пользователя
user[patronymic]stringОтчество пользователя
user[phone]stringТелефон
user[status]stringСтатус пользователя в системе
user[online]booleanПользователь онлайн
user[isAdmin]booleanЯвляется администратором
user[isManager]booleanЯвляется менеджером
user[groups][]array of objects (SerializedGroups)Группы пользователя
user[groups][][name]stringНазвание группы
user[groups][][code]stringКод группы

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
404
  • Пользователь не найден

POST /api/v5/users/{id}/status Смена статуса пользователя

Смена статуса пользователя

Параметры

ПараметрТипФорматОписание
statusstring[free|busy|dinner|break]Статус пользователя в системе

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен
400
  • Ошибка при выполнении запроса
404
  • Пользователь не найден

Статистика

GET /api/v5/statistic/update Обновление статистики

Обновление статистики

Ставит в очередь задание на обновление ключевых статистических показателей в системе.

Ответ

ПараметрТипОписание
successbooleanРезультат запроса (успешный/неуспешный)

Статусы ответа

Код статуса ответаОписание
200
  • Запрос успешно выполнен