GET
/api/api-versions
Получение списка доступных версий API
Получение списка доступных версий API
Метод позволяет получить все версии API, с которыми можно работать на данном аккаунте
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
versions
array
Доступные версии API
GET
/api/credentials
Получение списка доступных методов и магазинов для данного ключа
Получение списка доступных методов и магазинов для данного ключа
Метод позволяет получить список методов API и информацию о доступе к магазинам для данного API-ключа.
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
credentials[]
array of strings
deprecated Доступные методы для ключа
scopes[]
array of strings
Разрешенные доступы для ключа
siteAccess
string
Режим доступа к магазинам. Возможные значения: access_full - доступ к данным всех магазинов; access_selective - доступ к данным отдельных магазинов. Доступные магазины перечислены в поле sitesAvailable
sitesAvailable[]
array of strings
Доступные магазины
Расходы
GET
/api/v5/costs
Получение списка расходов, удовлетворяющих заданному фильтру
Для доступа к методу необходимо разрешение cost_write.
При создании расходов для привлечения клиентов в полях cost[source][...] можно указать значения соответствующих меток.
Значения меток по умолчанию будут взяты из статьи расхода, символьный код которой указан в поле cost[costItem].
Для указания магазинов, к которым будет прикреплён расход, необходимо указать массив их символьных кодов в поле cost[sites][].
По умолчанию расход будет создан для всех магазинов, доступ к которым разрешён по API-ключу.
Расход можно привязать к существующему заказу, только если статья расхода имеет признак "Относится к расходам по заказам". Для этого необходимо установить значение одного из следующих полей:
cost[order][id] – внутренний ID заказа;
cost[order][externalId] – внешний ID заказа;
cost[order][number] – номер заказа.
Если установлено значение нескольких полей, они будут обрабатываться в указанном выше порядке.
Поиск заказа по externalId/number будет осуществляться в рамках магазина указанного в параметре site.
Параметры
Параметр
Тип
Формат
Описание
site
string
Символьный код магазина. Указывается в случае привязки к заказу по externalId или number
cost
object (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]
integer
ID пользователя, связанного с расходом
cost[sites]
array
Символьные коды магазинов, по которым понесён расход
POST
/api/v5/costs/upload
Пакетная загрузка расходов
Пакетная загрузка расходов
Для доступа к методу необходимо разрешение cost_write.
Метод позволяет загружать пакетно до
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]
integer
ID пользователя, связанного с расходом
costs[][sites]
array
Символьные коды магазинов, по которым понесён расход
POST
/api/v5/costs/{id}/edit
Редактирование расхода
Редактирование расхода
Для доступа к методу необходимо разрешение cost_write.
При редактировании расходов для привлечения клиентов в полях cost[source][...] можно указать значения соответствующих меток.
Расход можно привязать к существующему заказу, только если статья расхода имеет признак "Относится к расходам по заказам". Для этого необходимо установить значение одного из следующих полей:
cost[order][id] – внутренний ID заказа;
cost[order][externalId] – внешний ID заказа;
cost[order][number] – номер заказа.
Если установлено значение нескольких полей, они будут обрабатываться в указанном выше порядке.
Поиск заказа по externalId/number будет осуществляться в рамках магазина указанного в параметре site.
Параметры
Параметр
Тип
Формат
Описание
site
string
Символьный код магазина. Указывается в случае привязки к заказу по externalId или number
cost
object (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]
integer
ID пользователя, связанного с расходом
cost[sites]
array
Символьные коды магазинов, по которым понесён расход
POST
/api/v5/custom-fields/{entity}/create
Создание пользовательского поля
Создание пользовательского поля
Для доступа к методу необходимо разрешение custom_fields_write.
Поля {entity}, customField[type], customField[code] задаются только при создании пользовательского поля.
Если поле customField[type] = dictionary, в поле customField[default] требуется передавать код элемента справочника.
Доступные значения поля customField[displayArea] зависят от {entity}.
Если поле {entity} = order, поле customField[displayArea] может принимать следующие значения:
customer – Покупатель
legal_details – Юридические реквизиты
shipment – Отгрузка
dimensions – Размеры и вес
delivery – Доставка
payment – Оплата
Если поле {entity} = customer, поле customField[displayArea] может принимать следующие значения.
main_data – Основные данные
delivery – Доставка
legal_details – Юридические реквизиты
Если поле {entity} = customer_corporate, поле customField[displayArea] может принимать следующие значения.
main_data – Основные данные
Если поле {entity} = company, поле customField[displayArea] может принимать следующие значения.
main_data – Основные данные
legal_details – Юридические реквизиты
Поле customField[required] по умолчанию принимает значение false.
Поле customField[inFilter] по умолчанию принимает значение true.
Поле customField[inList] по умолчанию принимает значение true.
Поле customField[inGroupActions] по умолчанию принимает значение false.
Поле customField[viewMode] по умолчанию принимает значение editable.
Поле customField[viewModeMobile] по умолчанию принимает значение editable.
Поле customField[ordering] по умолчанию принимает значение 50.
Если поле customField[type] = dictionary, поле customField[dictionary] является обязательным и содержит код связанного справочника. Заполняется только при создании пользовательского поля.
Для доступа к методу необходимо разрешение customer_read.
Результат возвращается постранично. В поле 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] можно указать одно из трех значений:
1 - возвращает клиентов, у которых нет прикрепленных файлов;
2 - возвращает клиентов, у которых есть прикрепленные файлы;
3 - возвращает клиентов, у которых есть прикрепленные файлы и вложения к письмам.
В фильтре filter[tasksCounts] можно указать одно из трех значений:
1 - возвращает клиентов, у которых нет невыполненных задач;
2 - возвращает клиентов, у которых есть какие-либо невыполненные задачи (как просроченные, так и не просроченные);
3 - возвращает только тех клиентов, у которых среди невыполненных задач есть просроченные.
В фильтре filter[mgChannels] указывается массив внутренних ID каналов в системе. Фильтр выбирает клиентов с чатами в заданных каналах.
C помощью filter[tags][] и filter[attachedTags][] можно
фильтровать клиентов по тегам.
При установленном фильтре filter[tags][] система вернёт клиентов у которых есть все
перечисленные в списке теги, то есть при фильтрации используется условие И.
При установленном фильтре filter[attachedTags][] система вернёт клиентов у которых один
из указанных в списке тегов является прикреплённым, то есть при фильтрации используется условие
ИЛИ.
В значениях фильтров filter[tags][] и filter[attachedTags][] не должно быть
дубликатов, пустых значений и тегов содержащих более двух идущих подряд пробелов. В противном случае
запрос завершится соответствующей ошибкой.
Поля personalDiscount, cumulativeDiscount и discountCardNumber
возвращаются, если они включены в настройках.
Поле contragent[contragentType] может принимать 3 значения: individual - физическое лицо,
legal-entity - юридическое лицо, enterpreneur - индивидуальный предприниматель.
Для различных типов юр. лиц доступны различные наборы полей.
Для типа individual недоступны все поля, для типа legal-entity недоступны поля
contragent[OGRNIP], contragent[certificateNumber], contragent[certificateDate],
для типа enterpreneur недоступны поля contragent[OGRN], contragent[KPP].
Параметры
Параметр
Тип
Формат
Описание
limit
integer
{not blank}[20|50|100]}
Количество элементов в ответе (по умолчанию равно 20)
page
integer
{not blank}{range: {>=1}}}
Номер страницы с результатами (по умолчанию равно 1)
filter
object (CustomerFilterData)
filter[ids][]
array of integers
Массив ID клиентов
filter[externalIds][]
array of strings
Массив externalID клиентов
filter[name]
string
{length: {max: 255}}
Клиент
filter[city]
string
{length: {max: 255}}
Город
filter[region]
string
{length: {max: 255}}
Регион
filter[sites][]
array of strings
Магазины
filter[managers][]
array of integers
Менеджеры
filter[managerGroups][]
array of strings
Группы менеджеров
filter[notes]
string
Заметки
filter[vip]
boolean
Важный клиент
filter[bad]
boolean
Плохой клиент
filter[discountCardNumber]
string
{length: {max: 255}}
Номер дисконтной карты
filter[attachments]
integer
[1|2|3]
Прикрепленные объекты (вложения)
filter[tasksCounts]
integer
[1|2|3]
Задачи
filter[email]
string
{length: {max: 255}}
E-mail
filter[contragentName]
string
{length: {max: 255}}
Полное наименование
filter[contragentTypes][]
array of strings
{choice of [enterpreneur|individual|legal-entity]}
POST
/api/v5/customers/combine
Объединение клиентов
Объединение клиентов
Для доступа к методу необходимо разрешение customer_write.
Позволяет объединить клиентов.
При конфликте полей сохранятся только данные клиента resultCustomer, данные прочих клиентов по конкретному полю будут удалены.
Все телефоны будут добавлены клиенту resultCustomer.
Клиенты из параметра customers будут безвозвратно удалены.
В ходе объединения клиентов будут объединены связанные с ними данные.
Одновременно можно объединять до 50 клиентов.
Операция выполняется в асинхронном режиме. Успешный ответ success=true означает, что операция принята к выполнению,
но еще не завершена. Фактический результат операции можно отслеживать при помощи метода /api/v5/customers/history
по тем клиентам, которые будут удалены в процессе объединения (параметр ответа history[][combinedTo]).
Для доступа к методу необходимо разрешение customer_write.
Метод создает клиента и возвращает внутренний 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].
Параметры
Параметр
Тип
Формат
Описание
site
string
Символьный код магазина
customer
object (SerializedCustomer)
customer[externalId]
string
Внешний ID клиента
customer[isContact]
boolean
Клиент является контактным лицом (создан как контактное лицо и на него нет оформленных заказов)
customer[createdAt]
DateTime
Создан
customer[vip]
boolean
Важный клиент
customer[bad]
boolean
Плохой клиент
customer[contragent]
object (CustomerContragent)
deprecated Реквизиты (Поля объекта следует использовать только при неактивированной функциональности "Корпоративные клиенты")
POST
/api/v5/customers/fix-external-ids
Массовая запись внешних ID клиентов
Массовая запись внешних ID клиентов
Для доступа к методу необходимо разрешение customer_write.
Данный метод полезен в случае обратной синхронизации клиентов, которые исходно оформлены в системе.
Магазин запрашивает клиентов, созданных в системе, и создает их в своей базе.
При создании клиентов в магазине формируются собственные ID клиентов
(externalId клиентов в нотации системы).
Сразу после создания клиентов интернет-магазин вызывает
метод /api/v*/customers/fix-external-ids, сохраняя в системе
собственные ID клиентов.
GET
/api/v5/customers/history
Получение истории изменения клиентов
Получение истории изменения клиентов
Для доступа к методу необходимо разрешение customer_read.
Возвращает изменения в клиентах, произведенные в указанный диапазон дат (используя фильтры filter[startDate] и filter[endDate]),
либо инкрементальные изменения (используя filter[sinceId]).
При реализации постоянной трансляции изменений во внешнюю систему рекомендуется использовать подход
с забором инкрементальных изменений через filter[sinceId] передавая id последней полученной записи истории.
Для записей создания и удаления клиента возвращается полный набор полей в контексте customer.
Результат возвращается постранично. В поле pagination содержится информация о постраничной разбивке.
Для постраничного перебора записей истории необходимо использовать filter[sinceId]. Параметр page использовать не рекомендуется.
POST
/api/v5/customers/notes/create
Создание заметки
Создание заметки
Для доступа к методу необходимо разрешение customer_write.
Метод создает заметку и в случае успеха возвращает её внутренний 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 клиента.
Во время загрузки возникли ошибки. Часть клиентов не загружена (в ответе также присутствует массив ошибок "errors")
GET
/api/v5/customers/{externalId}
Получение информации о клиенте
Получение информации о клиенте
Для доступа к методу необходимо разрешение customer_read.
Метод возвращает полную информацию по клиенту. Можно обращаться к клиенту как по внешнему 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] будет находиться автоматически
сформированное текстовое представление адреса.
Параметры
Параметр
Тип
Формат
Описание
externalId
string
ID клиента
Параметры для фильтрации
Параметр
Описание
by
Шаблон
id|externalId
Значение по умолчанию
externalId
Описание
Указывается, что передается в параметре externalId: внутренний (by=id) или внешний (by=externalId) ID клиента. По умолчанию externalId.
site
Описание
Символьный код магазина
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
customer
object (Customer)
Клиент
customer[type]
string
Тип клиента
customer[id]
integer
ID клиента
customer[externalId]
string
Внешний ID клиента
customer[isContact]
boolean
Клиент является контактным лицом (создан как контактное лицо и на него нет оформленных заказов)
customer[createdAt]
DateTime
Создан
customer[managerId]
integer
Менеджер клиента
customer[vip]
boolean
Важный клиент
customer[bad]
boolean
Плохой клиент
customer[site]
string
Магазин, с которого пришел клиент
customer[contragent]
object (CustomerContragent)
deprecated Реквизиты (Поля объекта следует использовать только при неактивированной функциональности "Корпоративные клиенты")
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[tags][]
array of objects (CustomerTagLink)
[массив] Теги
customer[tags][][name]
string
customer[tags][][colorCode]
string
customer[tags][][attached]
boolean
customer[firstClientId]
string
Первая метка клиента Google Analytics
customer[lastClientId]
string
Последняя метка клиента Google Analytics
customer[customFields]
array
Ассоциативный массив пользовательских полей
customer[avgMarginSumm]
float
Средняя валовая прибыль по заказам клиента (в базовой валюте)
customer[marginSumm]
float
LTV (в базовой валюте)
customer[totalSumm]
float
Общая сумма заказов (в базовой валюте)
customer[averageSumm]
float
Средняя сумма заказа (в базовой валюте)
customer[ordersCount]
integer
Количество заказов
customer[costSumm]
float
Сумма расходов (в базовой валюте)
customer[personalDiscount]
double
Персональная скидка
customer[cumulativeDiscount]
double
deprecated Накопительная скидка (Недоступно, начиная с 8 версии системы)
Клиент не найден (если клиент был удален в результате объединения, в поле "combinedTo" будут данные целевого клиента)
POST
/api/v5/customers/{externalId}/edit
Редактирование клиента
Редактирование клиента
Для доступа к методу необходимо разрешение customer_write.
Метод позволяет вносить изменения в клиента. Можно обращаться к клиенту как по внешнему ID клиента (by=externalId), так и по внутреннему ID (by=id).
В случае, если производится попытка отредактировать удаленного клиента,
система возвращает в ответе 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].
Поля customer[addTags] и customer[removeTags] нельзя использовать
совместно с полем customer[tags]. Значения в этих полях также не должны содержать
пробельных символов, не являющихся пробелами, заглавных букв и пробелов в начале и конце.
Параметры
Параметр
Тип
Формат
Описание
by
string
Указывается, что передается в параметре externalId: внутренний (by=id) или внешний (by=externalId) ID клиента. По умолчанию externalId.
site
string
Символьный код магазина
customer
object (SerializedCustomer)
customer[externalId]
string
Внешний ID клиента
customer[isContact]
boolean
Клиент является контактным лицом (создан как контактное лицо и на него нет оформленных заказов)
customer[createdAt]
DateTime
Создан
customer[vip]
boolean
Важный клиент
customer[bad]
boolean
Плохой клиент
customer[contragent]
object (CustomerContragent)
deprecated Реквизиты (Поля объекта следует использовать только при неактивированной функциональности "Корпоративные клиенты")
Для доступа к методу необходимо разрешение customer_read.
Результат возвращается постранично. В поле pagination содержится информация о постраничной разбивке.
В фильтрах filter[managers][] указывается массив внутренних ID элементов в системе.
В фильтре filter[managerGroups][] указывается массив символьных кодов элементов.
Фильтр filter[discountCardNumber] доступен, если включено поле «Дисконтная карта» в модуле «Лояльность».
В фильтрах filter[ids][] и filter[externalIds][] передается массив внутренних и внешних идентификаторов соответственно.
Фильтром 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] можно указать одно из трех значений:
1 - возвращает клиентов, у которых нет прикрепленных файлов;
2 - возвращает клиентов, у которых есть прикрепленные файлы;
3 - возвращает клиентов, у которых есть прикрепленные файлы и вложения к письмам.
В фильтре filter[tasksCounts] можно указать одно из трех значений:
1 - возвращает клиентов, у которых нет невыполненных задач;
2 - возвращает клиентов, у которых есть какие-либо невыполненные задачи (как просроченные, так и не просроченные);
3 - возвращает только тех клиентов, у которых среди невыполненных задач есть просроченные.
Поля personalDiscount, cumulativeDiscount и discountCardNumber
возвращаются, если они включены в настройках.
Параметры
Параметр
Тип
Формат
Описание
limit
integer
{not blank}[20|50|100]}
Количество элементов в ответе (по умолчанию равно 20)
page
integer
{not blank}{range: {>=1}}}
Номер страницы с результатами (по умолчанию равно 1)
POST
/api/v5/customers-corporate/combine
Объединение корпоративных клиентов
Объединение корпоративных клиентов
Для доступа к методу необходимо разрешение customer_write.
Позволяет объединить клиентов.
При конфликте полей сохранятся только данные клиента resultCustomer, данные прочих клиентов по конкретному полю будут удалены.
Все адреса, компании и контактные лица будут добавлены клиенту resultCustomer.
Клиенты из параметра customers будут безвозвратно удалены.
В ходе объединения клиентов будут объединены связанные с ними данные.
POST
/api/v5/customers-corporate/create
Создание корпоративного клиента
Создание корпоративного клиента
Для доступа к методу необходимо разрешение customer_write.
Метод создает клиента и возвращает внутренний ID созданного клиента.
Если не указывать customerCorporate[createdAt], то будет использовано текущее время в качестве даты/времени
регистрации клиента.
externalId должен быть уникальным для клиентов и корпоративных клиентов в рамках одного магазина. Для разделения клиентов разных типов можно использовать префикс (например i123234 для клиента и l123234 корпоративного клиента)
Поле contragent[contragentType] может принимать 3 значения: individual - физическое лицо,
legal-entity - юридическое лицо, enterpreneur - индивидуальный предприниматель.
Для различных типов юр. лиц доступны различные наборы полей.
Для типа individual недоступны все поля, для типа legal-entity недоступны поля
contragent[OGRNIP], contragent[certificateNumber], contragent[certificateDate],
для типа enterpreneur недоступны поля contragent[OGRN], contragent[KPP].
Поля customerCorporate[personalDiscount] и customerCorporate[discountCardNumber]
принимаются, если они включены в настройках.
В поле customerCorporate[customFields] можно передавать массив значений пользовательских полей.
Для полей типа «Справочник» указывается символьный код значения
в справочнике. Для полей типа «Дата» указывается дата в формате Y-m-d.
Для других типов полей указывается непосредственно значение.
Адреса клиента customerCorporate[addresses] можно указывать либо в строковом виде
в поле customerCorporate[addresses][][text], либо в подробном виде, заполняя
все поля кроме customerCorporate[addresses][][text].
POST
/api/v5/customers-corporate/fix-external-ids
Массовая запись внешних ID корпоративных клиентов
Массовая запись внешних ID корпоративных клиентов
Для доступа к методу необходимо разрешение customer_write.
Данный метод полезен в случае обратной синхронизации клиентов, которые исходно оформлены в системе.
Магазин запрашивает клиентов, созданных в системе, и создает их в своей базе.
При создании клиентов в магазине формируются собственные ID клиентов
(externalId клиентов в нотации системы).
Сразу после создания клиентов интернет-магазин вызывает
метод /api/v*/customers-corporate/fix-external-ids, сохраняя в системе
собственные ID клиентов.
externalId должен быть уникальным для клиентов и корпоративных клиентов в рамках одного магазина. Для разделения клиентов разных типов можно использовать строковый префикс (например: i123234 для клиента и l123234 корпоративного клиента)
GET
/api/v5/customers-corporate/history
Получение истории изменения корпоративных клиентов
Получение истории изменения корпоративных клиентов
Для доступа к методу необходимо разрешение customer_read.
Возвращает изменения в клиентах, произведенные в указанный диапазон дат (используя фильтры filter[startDate] и filter[endDate]),
либо инкрементальные изменения (используя filter[sinceId]).
При реализации постоянной трансляции изменений во внешнюю систему рекомендуется использовать подход
с забором инкрементальных изменений через filter[sinceId] передавая id последней полученной записи истории.
Для записей создания и удаления клиента возвращается полный набор полей в контексте customer.
Результат возвращается постранично. В поле pagination содержится информация о постраничной разбивке.
Для постраничного перебора записей истории необходимо использовать filter[sinceId]. Параметр page использовать не рекомендуется.
POST
/api/v5/customers-corporate/notes/create
Создание заметки
Создание заметки
Для доступа к методу необходимо разрешение customer_write.
Метод создает заметку и в случае успеха возвращает её внутренний 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 клиента.
Во время загрузки возникли ошибки. Часть клиентов не загружена (в ответе также присутствует массив ошибок "errors")
GET
/api/v5/customers-corporate/{externalId}
Получение информации о корпоративном клиенте
Получение информации о корпоративном клиенте
Для доступа к методу необходимо разрешение customer_read.
Метод возвращает полную информацию по клиенту. Можно обращаться к клиенту как по внешнему ID клиента (by=externalId),
так и по внутреннему ID (by=id).
Пустые поля без значений не возвращаются.
В поле managerId возвращается внутренний ID сущности в системе.
Поля personalDiscount, cumulativeDiscount и discountCardNumber
возвращаются, если они включены в настройках.
В поле customFields возвращается массив значений пользовательских полей.
Для полей типа «Справочник» указывается символьный код значения
в справочнике. Для полей типа «Дата» указывается дата в формате Y-m-d.
Для других типов полей указывается непосредственно значение.
Параметры
Параметр
Тип
Формат
Описание
externalId
string
ID клиента
Параметры для фильтрации
Параметр
Описание
by
Шаблон
id|externalId
Значение по умолчанию
externalId
Описание
Указывается, что передается в параметре externalId: внутренний (by=id) или внешний (by=externalId) ID клиента. По умолчанию externalId.
site
Описание
Символьный код магазина
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
customerCorporate
object (CustomerCorporate)
Корпоративный клиент
customerCorporate[type]
string
Тип клиента
customerCorporate[id]
integer
ID корпоративного клиента
customerCorporate[externalId]
string
Внешний ID корпоративного клиента
customerCorporate[mainAddress]
object (EntityWithExternalIdNameOutput)
Основной адрес корпоративного клиента
customerCorporate[mainAddress][id]
integer
ID
customerCorporate[mainAddress][externalId]
string
Внешний ID
customerCorporate[mainAddress][name]
string
Название
customerCorporate[createdAt]
DateTime
Создан
customerCorporate[managerId]
integer
Менеджер корпоративного клиента
customerCorporate[vip]
boolean
Важный клиент
customerCorporate[bad]
boolean
Плохой клиент
customerCorporate[site]
string
Магазин, с которого пришел клиент
customerCorporate[tags][]
array of objects (CustomerTagLink)
[массив] Теги
customerCorporate[tags][][name]
string
customerCorporate[tags][][colorCode]
string
customerCorporate[tags][][attached]
boolean
customerCorporate[firstClientId]
string
Первая метка клиента Google Analytics
customerCorporate[lastClientId]
string
Последняя метка клиента Google Analytics
customerCorporate[customFields]
array
Ассоциативный массив пользовательских полей
customerCorporate[avgMarginSumm]
float
Средняя валовая прибыль по заказам корпоративного клиента (в базовой валюте)
customerCorporate[marginSumm]
float
LTV (в базовой валюте)
customerCorporate[totalSumm]
float
Общая сумма заказов (в базовой валюте)
customerCorporate[averageSumm]
float
Средняя сумма заказа (в базовой валюте)
customerCorporate[ordersCount]
integer
Количество заказов
customerCorporate[costSumm]
float
Сумма расходов (в базовой валюте)
customerCorporate[personalDiscount]
double
Персональная скидка
customerCorporate[cumulativeDiscount]
double
deprecated Накопительная скидка (Недоступно, начиная с 8 версии системы)
GET
/api/v5/customers-corporate/{externalId}/addresses
Список адресов корпоративного клиента
Список адресов корпоративного клиента
Для доступа к методу необходимо разрешение customer_read.
Результат возвращается постранично. В поле pagination содержится информация о постраничной разбивке.
Можно обращаться к адресам клиента как по внешнему ID клиента (by=externalId),
так и по внутреннему ID (by=id).
Если адрес клиента указывался в строковом виде, то он будет возвращен в
address[text]. Если адрес указывался в детальном виде,
то будут возвращены все заполненные поля доставки, а в
address[text] будет находиться автоматически
сформированное текстовое представление адреса.
Параметры
Параметр
Тип
Формат
Описание
by
string
Указывается, что передается в параметре externalId: внутренний (by=id) или внешний (by=externalId) ID. По умолчанию externalId.
site
string
Символьный код магазина. Указывается в случае обращения по externalId (by=externalId)
limit
integer
{not blank}[20|50|100]}
Количество элементов в ответе (по умолчанию равно 20)
page
integer
{not blank}{range: {>=1}}}
Номер страницы с результатами (по умолчанию равно 1)
filter
object (CustomerAddressFilterData)
filter[ids]
string
filter[name]
string
{length: {max: 255}}
filter[city]
string
{length: {max: 255}}
filter[region]
string
{length: {max: 255}}
externalId
string
ID клиента
Параметры для фильтрации
Параметр
Описание
by
Шаблон
id|externalId
Значение по умолчанию
externalId
Описание
Указывается, что передается в параметре externalId: внутренний (by=id) или внешний (by=externalId) ID клиента. По умолчанию externalId.
site
Описание
Символьный код магазина
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
addresses[]
array of objects (CustomerAddress)
Адрес клиента
addresses[][id]
integer
ID адреса
addresses[][index]
string
Индекс
addresses[][countryIso]
string
ISO код страны (ISO 3166-1 alpha-2)
addresses[][region]
string
Регион
addresses[][regionId]
integer
Идентификатор региона в Geohelper
addresses[][city]
string
Город
addresses[][cityId]
integer
Идентификатор города в Geohelper
addresses[][cityType]
string
Тип населенного пункта
addresses[][street]
string
Улица
addresses[][streetId]
integer
Идентификатор улицы в Geohelper
addresses[][streetType]
string
Тип улицы
addresses[][building]
string
Дом
addresses[][flat]
string
Номер квартиры/офиса
addresses[][floor]
integer
Этаж
addresses[][block]
integer
Подъезд
addresses[][house]
string
Строение
addresses[][housing]
string
Корпус
addresses[][metro]
string
Метро
addresses[][notes]
string
Примечания к адресу
addresses[][text]
string
Адрес в текстовом виде
addresses[][isMain]
boolean
Адрес является основным для клиента
addresses[][externalId]
string
Внешний ID
addresses[][name]
string
Наменование адреса
POST
/api/v5/customers-corporate/{externalId}/addresses/create
Создание адреса для корпоративного клиента
Создание адреса для корпоративного клиента
Для доступа к методу необходимо разрешение customer_write.
Адрес клиента address можно указывать либо в строковом виде
в поле address[text], либо в подробном виде, заполняя
все поля кроме address[text].
Для клиента можно создать не более 100 адресов.
Параметры
Параметр
Тип
Формат
Описание
by
string
Указывается, что передается в параметре externalId: внутренний (by=id) или внешний (by=externalId) ID. По умолчанию externalId.
site
string
Символьный код магазина. Указывается в случае обращения по externalId (by=externalId)
address
object (SerializedCustomerAddress)
address[index]
string
Индекс
address[countryIso]
string
ISO код страны (ISO 3166-1 alpha-2)
address[region]
string
Регион
address[regionId]
integer
Идентификатор региона в Geohelper
address[city]
string
Город
address[cityId]
integer
Идентификатор города в Geohelper
address[cityType]
string
Тип населенного пункта
address[street]
string
Улица
address[streetId]
integer
Идентификатор улицы в Geohelper
address[streetType]
string
Тип улицы
address[building]
string
Дом
address[flat]
string
Номер квартиры/офиса
address[floor]
integer
Этаж
address[block]
integer
Подъезд
address[house]
string
Строение
address[housing]
string
Корпус
address[metro]
string
Метро
address[notes]
string
Примечания к адресу
address[text]
string
Адрес в текстовом виде
address[isMain]
boolean
Адрес является основным для клиента
address[externalId]
string
Внешний ID
address[name]
string
Наменование адреса
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
id
integer
POST
/api/v5/customers-corporate/{externalId}/addresses/{entityExternalId}/edit
Редактирование адреса корпоративного клиента
Редактирование адреса корпоративного клиента
Для доступа к методу необходимо разрешение customer_write.
Можно обращаться к адресам клиента как по внешнему ID клиента (by=externalId),
так и по внутреннему ID (by=id).
Редактировать адрес клиента (entityExternalId)
можно как по внешнему ID адреса (entityBy=externalId),
так и по внутреннему ID (entityBy=id).
Адрес клиента address можно указывать либо в строковом виде
в поле address[text], либо в подробном виде, заполняя
все поля кроме address[text].
Параметры
Параметр
Тип
Формат
Описание
by
string
Указывается, что передается в параметре externalId: внутренний (by=id) или внешний (by=externalId) ID. По умолчанию externalId.
site
string
Символьный код магазина. Указывается в случае обращения по externalId (by=externalId, entityBy=externalId)
entityBy
string
Указывается, что передается в параметре entityExternalId: внутренний (entityBy=id) или внешний (entityBy=externalId) ID. По умолчанию externalId.
address
object (SerializedCustomerAddress)
address[index]
string
Индекс
address[countryIso]
string
ISO код страны (ISO 3166-1 alpha-2)
address[region]
string
Регион
address[regionId]
integer
Идентификатор региона в Geohelper
address[city]
string
Город
address[cityId]
integer
Идентификатор города в Geohelper
address[cityType]
string
Тип населенного пункта
address[street]
string
Улица
address[streetId]
integer
Идентификатор улицы в Geohelper
address[streetType]
string
Тип улицы
address[building]
string
Дом
address[flat]
string
Номер квартиры/офиса
address[floor]
integer
Этаж
address[block]
integer
Подъезд
address[house]
string
Строение
address[housing]
string
Корпус
address[metro]
string
Метро
address[notes]
string
Примечания к адресу
address[text]
string
Адрес в текстовом виде
address[isMain]
boolean
Адрес является основным для клиента
address[externalId]
string
Внешний ID
address[name]
string
Наменование адреса
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
id
integer
GET
/api/v5/customers-corporate/{externalId}/companies
Список компаний корпоративного клиента
Список компаний корпоративного клиента
Для доступа к методу необходимо разрешение customer_read.
Результат возвращается постранично. В поле pagination содержится информация о постраничной разбивке.
Можно обращаться к компаниям клиента как по внешнему ID клиента (by=externalId),
так и по внутреннему ID (by=id).
Если адрес клиента указывался в строковом виде, то он будет возвращен в
address[text]. Если адрес указывался в детальном виде,
то будут возвращены все заполненные поля доставки, а в
address[text] будет находиться автоматически
сформированное текстовое представление адреса.
Поле contragent[contragentType] может принимать 3 значения: individual - физическое лицо,
legal-entity - юридическое лицо, enterpreneur - индивидуальный предприниматель.
Для различных типов юр. лиц доступны различные наборы полей.
Для типа individual недоступны все поля, для типа legal-entity недоступны поля
contragent[OGRNIP], contragent[certificateNumber], contragent[certificateDate],
для типа enterpreneur недоступны поля contragent[OGRN], contragent[KPP].
Параметры
Параметр
Тип
Формат
Описание
by
string
Указывается, что передается в параметре externalId: внутренний (by=id) или внешний (by=externalId) ID. По умолчанию externalId.
site
string
Символьный код магазина. Указывается в случае обращения по externalId (by=externalId)
limit
integer
{not blank}[20|50|100]}
Количество элементов в ответе (по умолчанию равно 20)
page
integer
{not blank}{range: {>=1}}}
Номер страницы с результатами (по умолчанию равно 1)
filter
object (CompanyFilterData)
filter[ids]
string
Массив ID компаниий
externalId
string
ID клиента
Параметры для фильтрации
Параметр
Описание
by
Шаблон
id|externalId
Значение по умолчанию
externalId
Описание
Указывается, что передается в параметре externalId: внутренний (by=id) или внешний (by=externalId) ID клиента. По умолчанию externalId.
site
Описание
Символьный код магазина
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
companies[]
array of objects (Company)
Компания
companies[][isMain]
boolean
Компания является основной для клиента
companies[][id]
integer
ID компании
companies[][externalId]
string
Внешний ID компании
companies[][customer]
object (SerializedEntityCustomer)
Клиент
companies[][customer][site]
string
Символьный код магазина
companies[][customer][id]
integer
Внутренний ID клиента
companies[][customer][externalId]
string
Внешний ID клиента
companies[][customer][type]
string
Тип клиента
companies[][active]
boolean
Активность
companies[][name]
string
Наименование
companies[][brand]
string
Бренд
companies[][site]
string
Сайт компании
companies[][createdAt]
DateTime
Дата создания
companies[][contragent]
object (CompanyContragent)
Реквизиты
companies[][contragent][contragentType]
string
Тип контрагента
companies[][contragent][legalName]
string
Полное наименование
companies[][contragent][legalAddress]
string
Адрес регистрации
companies[][contragent][INN]
string
ИНН
companies[][contragent][OKPO]
string
ОКПО
companies[][contragent][KPP]
string
КПП
companies[][contragent][OGRN]
string
ОГРН
companies[][contragent][OGRNIP]
string
ОГРНИП
companies[][contragent][certificateNumber]
string
Номер свидетельства
companies[][contragent][certificateDate]
DateTime
Дата свидетельства
companies[][contragent][BIK]
string
БИК
companies[][contragent][bank]
string
Банк
companies[][contragent][bankAddress]
string
Адрес банка
companies[][contragent][corrAccount]
string
Корр. счёт
companies[][contragent][bankAccount]
string
Расчётный счёт
companies[][address]
object (CustomerAddress)
Адрес
companies[][address][id]
integer
ID адреса
companies[][address][index]
string
Индекс
companies[][address][countryIso]
string
ISO код страны (ISO 3166-1 alpha-2)
companies[][address][region]
string
Регион
companies[][address][regionId]
integer
Идентификатор региона в Geohelper
companies[][address][city]
string
Город
companies[][address][cityId]
integer
Идентификатор города в Geohelper
companies[][address][cityType]
string
Тип населенного пункта
companies[][address][street]
string
Улица
companies[][address][streetId]
integer
Идентификатор улицы в Geohelper
companies[][address][streetType]
string
Тип улицы
companies[][address][building]
string
Дом
companies[][address][flat]
string
Номер квартиры/офиса
companies[][address][floor]
integer
Этаж
companies[][address][block]
integer
Подъезд
companies[][address][house]
string
Строение
companies[][address][housing]
string
Корпус
companies[][address][metro]
string
Метро
companies[][address][notes]
string
Примечания к адресу
companies[][address][text]
string
Адрес в текстовом виде
companies[][address][externalId]
string
Внешний ID
companies[][address][name]
string
Наменование адреса
companies[][avgMarginSumm]
float
Средняя валовая прибыль по заказам клиента (в базовой валюте)
companies[][marginSumm]
float
LTV (в базовой валюте)
companies[][totalSumm]
float
Общая сумма заказов (в базовой валюте)
companies[][averageSumm]
float
Средняя сумма заказа (в базовой валюте)
companies[][costSumm]
float
Сумма расходов (в базовой валюте)
companies[][ordersCount]
integer
Количество заказов
companies[][customFields]
array
Ассоциативный массив пользовательских полей
POST
/api/v5/customers-corporate/{externalId}/companies/create
Создание компании для корпоративного клиента
Создание компании для корпоративного клиента
Для доступа к методу необходимо разрешение customer_write.
Поле contragent[contragentType] может принимать 3 значения: individual - физическое лицо,
legal-entity - юридическое лицо, enterpreneur - индивидуальный предприниматель.
Для различных типов юр. лиц доступны различные наборы полей.
Для типа individual недоступны все поля, для типа legal-entity недоступны поля
contragent[OGRNIP], contragent[certificateNumber], contragent[certificateDate],
для типа enterpreneur недоступны поля contragent[OGRN], contragent[KPP].
В поле company[customFields] можно передавать массив значений пользовательских полей.
Для полей типа «Справочник» указывается символьный код значения
в справочнике. Для полей типа «Дата» указывается дата в формате Y-m-d.
Для других типов полей указывается непосредственно значение.
Параметры
Параметр
Тип
Формат
Описание
by
string
Указывается, что передается в параметре externalId: внутренний (by=id) или внешний (by=externalId) ID. По умолчанию externalId.
site
string
Символьный код магазина. Указывается в случае обращения по externalId (by=externalId)
company
object (SerializedCompany)
company[isMain]
boolean
Компания является основной для клиента
company[externalId]
string
Внешний ID компании
company[active]
boolean
Активность
company[name]
string
Наименование
company[brand]
string
Бренд
company[site]
string
Сайт компании
company[createdAt]
DateTime
Y-m-d H:i:s
Дата создания
company[contragent]
object (SerializedCompanyContragent)
Реквизиты
company[contragent][contragentType]
string
Тип контрагента
company[contragent][legalName]
string
Полное наименование
company[contragent][legalAddress]
string
Адрес регистрации
company[contragent][INN]
string
ИНН
company[contragent][OKPO]
string
ОКПО
company[contragent][KPP]
string
КПП
company[contragent][OGRN]
string
ОГРН
company[contragent][OGRNIP]
string
ОГРНИП
company[contragent][certificateNumber]
string
Номер свидетельства
company[contragent][certificateDate]
DateTime
Y-m-d
Дата свидетельства
company[contragent][BIK]
string
БИК
company[contragent][bank]
string
Банк
company[contragent][bankAddress]
string
Адрес банка
company[contragent][corrAccount]
string
Корр. счёт
company[contragent][bankAccount]
string
Расчётный счёт
company[customFields]
array
Ассоциативный массив пользовательских полей
company[address]
object (EntityWithExternalIdInput)
Адрес
company[address][id]
integer
ID
company[address][externalId]
string
Внешний ID
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
id
integer
POST
/api/v5/customers-corporate/{externalId}/companies/{entityExternalId}/edit
Редактирование компании корпоративного клиента
Редактирование компании корпоративного клиента
Для доступа к методу необходимо разрешение customer_write.
Можно обращаться к компаниям клиента как по внешнему ID клиента (by=externalId),
так и по внутреннему ID (by=id).
Редактировать компанию клиента (entityExternalId)
можно как по внешнему ID компании (entityBy=externalId),
так и по внутреннему ID (entityBy=id).
Поле contragent[contragentType] может принимать 3 значения: individual - физическое лицо,
legal-entity - юридическое лицо, enterpreneur - индивидуальный предприниматель.
Для различных типов юр. лиц доступны различные наборы полей.
Для типа individual недоступны все поля, для типа legal-entity недоступны поля
contragent[OGRNIP], contragent[certificateNumber], contragent[certificateDate],
для типа enterpreneur недоступны поля contragent[OGRN], contragent[KPP].
В поле company[customFields] можно передавать массив значений пользовательских полей.
Для полей типа «Справочник» указывается символьный код значения
в справочнике. Для полей типа «Дата» указывается дата в формате Y-m-d.
Для других типов полей указывается непосредственно значение.
Параметры
Параметр
Тип
Формат
Описание
by
string
Указывается, что передается в параметре externalId: внутренний (by=id) или внешний (by=externalId) ID. По умолчанию externalId.
site
string
Символьный код магазина. Указывается в случае обращения по externalId (by=externalId, entityBy=externalId)
entityBy
string
Указывается, что передается в параметре entityExternalId: внутренний (entityBy=id) или внешний (entityBy=externalId) ID. По умолчанию externalId.
company
object (SerializedCompany)
company[isMain]
boolean
Компания является основной для клиента
company[externalId]
string
Внешний ID компании
company[active]
boolean
Активность
company[name]
string
Наименование
company[brand]
string
Бренд
company[site]
string
Сайт компании
company[createdAt]
DateTime
Y-m-d H:i:s
Дата создания
company[contragent]
object (SerializedCompanyContragent)
Реквизиты
company[contragent][contragentType]
string
Тип контрагента
company[contragent][legalName]
string
Полное наименование
company[contragent][legalAddress]
string
Адрес регистрации
company[contragent][INN]
string
ИНН
company[contragent][OKPO]
string
ОКПО
company[contragent][KPP]
string
КПП
company[contragent][OGRN]
string
ОГРН
company[contragent][OGRNIP]
string
ОГРНИП
company[contragent][certificateNumber]
string
Номер свидетельства
company[contragent][certificateDate]
DateTime
Y-m-d
Дата свидетельства
company[contragent][BIK]
string
БИК
company[contragent][bank]
string
Банк
company[contragent][bankAddress]
string
Адрес банка
company[contragent][corrAccount]
string
Корр. счёт
company[contragent][bankAccount]
string
Расчётный счёт
company[customFields]
array
Ассоциативный массив пользовательских полей
company[address]
object (EntityWithExternalIdInput)
Адрес
company[address][id]
integer
ID
company[address][externalId]
string
Внешний ID
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
id
integer
GET
/api/v5/customers-corporate/{externalId}/contacts
Список контактных лиц корпоративного клиента
Список контактных лиц корпоративного клиента
Для доступа к методу необходимо разрешение customer_read.
Результат возвращается постранично. В поле pagination содержится информация о постраничной разбивке.
Можно обращаться к контактным лицам клиента как по внешнему ID клиента (by=externalId),
так и по внутреннему ID (by=id).
Параметры
Параметр
Тип
Формат
Описание
by
string
Указывается, что передается в параметре externalId: внутренний (by=id) или внешний (by=externalId) ID. По умолчанию externalId.
site
string
Символьный код магазина. Указывается в случае обращения по externalId (by=externalId)
limit
integer
{not blank}[20|50|100]}
Количество элементов в ответе (по умолчанию равно 20)
page
integer
{not blank}{range: {>=1}}}
Номер страницы с результатами (по умолчанию равно 1)
filter
object (CustomerContactFilterData)
filter[ids]
string
Массив ID контактных лиц
externalId
string
ID клиента
Параметры для фильтрации
Параметр
Описание
by
Шаблон
id|externalId
Значение по умолчанию
externalId
Описание
Указывается, что передается в параметре externalId: внутренний (by=id) или внешний (by=externalId) ID клиента. По умолчанию externalId.
site
Описание
Символьный код магазина
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
contacts[]
array of objects (CustomerContact)
Контактное лицо
contacts[][isMain]
boolean
contacts[][id]
integer
ID контакта
contacts[][customer]
object (SerializedRelationAbstractCustomer)
Клиент
contacts[][customer][id]
integer
Внутренний ID клиента
contacts[][customer][externalId]
string
Внешний ID клиента
contacts[][customer][browserId]
string
Идентификатор устройства в Collector
contacts[][customer][site]
string
Код магазина, необходим при передаче externalId
contacts[][companies][]
array of objects (CustomerContactCompany)
Компания контактного лица
contacts[][companies][][id]
integer
ID компании
contacts[][companies][][company]
object (EntityWithExternalIdNameOutput)
Компания
contacts[][companies][][company][id]
integer
ID
contacts[][companies][][company][externalId]
string
Внешний ID
contacts[][companies][][company][name]
string
Название
POST
/api/v5/customers-corporate/{externalId}/contacts/create
Создание связи корпоративного клиента с контактным лицом
Создание связи корпоративного клиента с контактным лицом
Для доступа к методу необходимо разрешение customer_write.
Параметры
Параметр
Тип
Формат
Описание
by
string
Указывается, что передается в параметре externalId: внутренний (by=id) или внешний (by=externalId) ID. По умолчанию externalId.
site
string
Символьный код магазина. Указывается в случае обращения по externalId (by=externalId)
contact
object (SerializedCustomerContact)
contact[isMain]
boolean
Контактное лицо является основным для клиента
contact[customer]
object (SerializedRelationAbstractCustomer)
Клиент
contact[customer][id]
integer
Внутренний ID клиента
contact[customer][externalId]
string
Внешний ID клиента
contact[customer][browserId]
string
Идентификатор устройства в Collector
contact[customer][site]
string
Код магазина, необходим при передаче externalId
contact[companies][]
array of objects (SerializedCustomerContactCompany)
Компании контактного лица
contact[companies][][company]
object (EntityWithExternalIdInput)
Компания
contact[companies][][company][id]
integer
ID
contact[companies][][company][externalId]
string
Внешний ID
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
id
integer
POST
/api/v5/customers-corporate/{externalId}/contacts/{entityExternalId}/edit
Редактирование связи корпоративного клиента с контактным лицом
Редактирование связи корпоративного клиента с контактным лицом
Для доступа к методу необходимо разрешение customer_write.
Можно обращаться к контактным лицам клиента как по внешнему ID клиента (by=externalId),
так и по внутреннему ID (by=id).
Редактировать контактное лицо клиента (entityExternalId)
можно как по внешнему ID контактного лица (entityBy=externalId),
так и по внутреннему ID (entityBy=id).
Параметры
Параметр
Тип
Формат
Описание
by
string
Указывается, что передается в параметре externalId: внутренний (by=id) или внешний (by=externalId) ID. По умолчанию externalId.
site
string
Символьный код магазина. Указывается в случае обращения по externalId (by=externalId, entityBy=externalId)
entityBy
string
Указывается, что передается в параметре entityExternalId: внутренний (entityBy=id) или внешний (entityBy=externalId) ID. По умолчанию externalId.
contact
object (SerializedCustomerContact)
contact[isMain]
boolean
Контактное лицо является основным для клиента
contact[companies][]
array of objects (SerializedCustomerContactCompany)
Компании контактного лица
contact[companies][][company]
object (EntityWithExternalIdInput)
Компания
contact[companies][][company][id]
integer
ID
contact[companies][][company][externalId]
string
Внешний ID
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
id
integer
POST
/api/v5/customers-corporate/{externalId}/edit
Редактирование корпоративного клиента
Редактирование корпоративного клиента
Для доступа к методу необходимо разрешение customer_write.
Метод позволяет вносить изменения в клиента.
В случае, если производится попытка отредактировать удаленного клиента,
система возвращает в ответе state=removed.
Поля customer[personalDiscount] и customer[discountCardNumber]
принимаются, если они включены в настройках.
В поле customer[customFields] можно передавать массив значений пользовательских полей.
Для полей типа «Справочник» указывается символьный код значения
в справочнике. Для полей типа «Дата» указывается дата в формате Y-m-d.
Для других типов полей указывается непосредственно значение.
Параметры
Параметр
Тип
Формат
Описание
by
string
Указывается, что передается в параметре externalId: внутренний (by=id) или внешний (by=externalId) ID. По умолчанию externalId.
site
string
Символьный код магазина. Указывается в случае обращения по externalId (by=externalId)
POST
/api/v5/customer-interaction/{site}/cart/clear
Очистка текущей корзины клиента
Очистка текущей корзины клиента
Для доступа к методу необходимо разрешение customer_interaction_write.
В параметре {site} можно передавать либо символьный код магазина либо ID магазина.
По умолчанию будет использоваться символьный код.
Для использования ID магазина также необходимо передать параметр siteBy=id.
Если из корзины был создан заказ, он передаётся в данный метод.
Параметры
Параметр
Тип
Формат
Описание
cart
object (SerializedCart)
Корзина
cart[clearedAt]
DateTime
Y-m-d H:i:sP
Дата/время очистки корзины
cart[customer]
object (SerializedRelationAbstractCustomerWithGa)
cart[customer][id]
integer
Внутренний ID клиента
cart[customer][externalId]
string
Внешний ID клиента
cart[customer][browserId]
string
Идентификатор устройства в Collector
cart[customer][gaClientId]
string
Метка клиента Google Analytics
cart[order]
object (SerializedRelationOrder)
Заказ, созданный из корзины
cart[order][id]
integer
Внутренний ID заказа
cart[order][externalId]
string
Внешний ID заказа
cart[order][number]
string
Номер заказа
Параметры для фильтрации
Параметр
Описание
siteBy
Шаблон
id|code
Значение по умолчанию
code
Описание
Указывается, что передается в параметре site: внутренний ID (siteBy=id) или код (siteBy=code) магазина. По умолчанию code.
POST
/api/v5/customer-interaction/{site}/cart/set
Создание или перезапись данных корзины
Создание или перезапись данных корзины
Для доступа к методу необходимо разрешение customer_interaction_write.
В параметре {site} можно передавать либо символьный код магазина либо ID магазина.
По умолчанию будет использоваться символьный код.
Для использования ID магазина также необходимо передать параметр siteBy=id.
Если у клиента есть корзина в магазине с пустым clearedAt, то запрос перезапишет её данные. Иначе будет создана новая корзина
Параметры
Параметр
Тип
Формат
Описание
cart
object (SerializedCart)
Корзина
cart[externalId]
string
Внешний ID корзины
cart[droppedAt]
DateTime
Y-m-d H:i:sP
Дата/время, когда корзина стала брошенной
cart[link]
string
Ссылка
cart[customer]
object (SerializedRelationAbstractCustomerWithGa)
cart[customer][id]
integer
Внутренний ID клиента
cart[customer][externalId]
string
Внешний ID клиента
cart[customer][browserId]
string
Идентификатор устройства в Collector
cart[customer][site]
string
Код магазина, необходим при передаче externalId
cart[customer][gaClientId]
string
Метка клиента Google Analytics
cart[items][]
array of objects (SerializedCartItem)
Товары в корзине
cart[items][][quantity]
float
Количество
cart[items][][price]
float
Цена (в валюте объекта)
cart[items][][offer]
object (SerializedRelationOffer)
Торговое предложение
cart[items][][offer][id]
integer
ID торгового предложения
cart[items][][offer][externalId]
string
Внешний ID торгового предложения
cart[items][][offer][xmlId]
string
ID торгового предложения в складской системе
Параметры для фильтрации
Параметр
Описание
siteBy
Шаблон
id|code
Значение по умолчанию
code
Описание
Указывается, что передается в параметре site: внутренний ID (siteBy=id) или код (siteBy=code) магазина. По умолчанию code.
GET
/api/v5/customer-interaction/{site}/cart/{customerId}
Получение текущей корзины клиента
Получение текущей корзины клиента
Для доступа к методу необходимо разрешение customer_interaction_read.
В параметре {site} можно передавать либо символьный код магазина либо ID магазина.
По умолчанию будет использоваться символьный код.
Для использования ID магазина также необходимо передать параметр siteBy=id.
Параметры
Параметр
Тип
Формат
Описание
customerId
string
ID клиента
Параметры для фильтрации
Параметр
Описание
by
Шаблон
id|externalId
Значение по умолчанию
externalId
Описание
Указывается, что передается в параметре customerId: внутренний (by=id) или внешний (by=externalId) ID клиента. По умолчанию externalId.
siteBy
Шаблон
id|code
Значение по умолчанию
code
Описание
Указывается, что передается в параметре site: внутренний ID (siteBy=id) или код (siteBy=code) магазина. По умолчанию code.
POST
/api/v5/delivery/calculate
Расчёт стоимости доставки
Расчёт стоимости доставки
Метод рассчитывает стоимость доставки для выбранных типов доставок (deliveryTypeCodes).
Параметры
Параметр
Тип
Формат
Описание
deliveryTypeCodes[]
array of strings
Коды типов доставок
order
object (SerializedOrder)
order[weight]
double
Вес
order[length]
integer
Длина
order[width]
integer
Ширина
order[height]
integer
Высота
order[items][]
array of objects (SerializedOrderProduct)
order[items][][initialPrice]
double
Цена товара/SKU (в валюте объекта)
order[items][][discountManualAmount]
double
Денежная скидка на единицу товара (в валюте объекта)
order[items][][discountManualPercent]
double
Процентная скидка на единицу товара
order[items][][quantity]
float
Количество
order[delivery]
object (SerializedOrderDelivery)
Данные о доставке
order[delivery][date]
DateTime
Y-m-d
Дата доставки
order[delivery][time]
object (TimeInterval)
Информация о временном диапазоне
order[delivery][time][from]
DateTime
H:i
Время "с"
order[delivery][time][to]
DateTime
H:i
Время "до"
order[delivery][time][custom]
string
Временной диапазон в свободной форме
order[delivery][address]
object (OrderDeliveryAddress)
Адрес доставки
order[delivery][address][index]
string
Индекс
order[delivery][address][countryIso]
string
ISO код страны (ISO 3166-1 alpha-2)
order[delivery][address][region]
string
Регион
order[delivery][address][regionId]
integer
Идентификатор региона в Geohelper
order[delivery][address][city]
string
Город
order[delivery][address][cityId]
integer
Идентификатор города в Geohelper
order[delivery][address][cityType]
string
Тип населенного пункта
order[delivery][address][street]
string
Улица
order[delivery][address][streetId]
integer
Идентификатор улицы в Geohelper
order[delivery][address][streetType]
string
Тип улицы
order[delivery][address][building]
string
Дом
order[delivery][address][flat]
string
Номер квартиры/офиса
order[delivery][address][floor]
integer
Этаж
order[delivery][address][block]
integer
Подъезд
order[delivery][address][house]
string
Строение
order[delivery][address][housing]
string
Корпус
order[delivery][address][metro]
string
Метро
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
calculations[]
array of objects (DeliveryCalculation)
calculations[][code]
string
Код типа доставки
calculations[][available]
boolean
Тип доставки подходит по заданным условиям
calculations[][vatRate]
string
Ставка НДС
calculations[][cost]
double
Стоимость доставки
POST
/api/v5/delivery/generic/{subcode}/tracking
Обновление статусов доставки
Обновление статусов доставки
Метод позволяет передавать статусы отдельно для каждого заказа в момент смены статуса или передавать историю изменений по группе заказов через определенные промежутки на усмотрение службы доставки.
Важно: За один запрос можно обновить статусы не более чем для 100 заказов. При передаче большего числа заказов метод вернет сообщение об ошибке.
Параметры
Параметр
Тип
Формат
Описание
statusUpdate[]
array of objects (RequestStatusUpdateItem)
JSON с данными по статусам заказов
statusUpdate[][deliveryId]
string
Идентификатор доставки в СД
statusUpdate[][trackNumber]
string
Трек номер (если установлена опция configuration[allowTrackNumber])
statusUpdate[][cost]
double
Стоимость доставки
statusUpdate[][history][]
array of objects (StatusInfo)
История смены статусов доставки
statusUpdate[][history][][code]
string
Код статуса доставки
statusUpdate[][history][][updatedAt]
DateTime
Y-m-d\TH:i:sP
Дата обновления статуса доставки
statusUpdate[][history][][comment]
string
Комментарий к статусу
statusUpdate[][extraData][]
array of strings
Массив дополнительных данных доставки (deliveryDataField.code => значение)
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
GET
/api/v5/delivery/shipments
Получение списка отгрузок в службы доставки
Получение списка отгрузок в службы доставки
Для доступа к методу необходимо разрешение delivery_read.
Параметры
Параметр
Тип
Формат
Описание
limit
integer
{not blank}[20|50|100]}
Количество элементов в ответе (по умолчанию равно 20)
page
integer
{not blank}{range: {>=1}}}
Номер страницы с результатами (по умолчанию равно 1)
filter
object (DeliveryShipmentFilterData)
filter[ids][]
array of integers
Идентификаторы отгрузок
filter[externalId]
string
Внешний идентификатор отгрузки
filter[orderNumber]
string
{length: {max: 255}}
Номер заказа в составе отгрузки
filter[deliveryTypes][]
array of strings
Типы доставки
filter[managers][]
array of integers
Идентификаторы менеджеров
filter[stores][]
array of strings
Склады
filter[statuses][]
array of strings
Статусы
filter[dateFrom]
DateTime
Y-m-d
Дата отгрузки (с)
filter[dateTo]
DateTime
Y-m-d
Дата отгрузки (до)
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
pagination
object (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
Статус отгрузки (Возможные значения created, processing, shipped, cancelled)
POST
/api/v5/delivery/shipments/create
Создание отгрузки
Создание отгрузки
Для доступа к методу необходимо разрешение delivery_write.
Набор полей зависит от типа доставки для которого создана отгрузка.
Параметры
Параметр
Тип
Формат
Описание
deliveryType
string
Тип доставки
site
string
Символьный код магазина (указывается в случае добавления заказов в отгрузку по externalId или number)
deliveryShipment
object (DeliveryShipment)
Заявка на отгрузку в службу доставки
deliveryShipment[status]
string
Статус отгрузки (Возможные значения created, processing, shipped, 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)
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
id
integer
Идентификатор отгрузки
status
string
Статус отгрузки
GET
/api/v5/delivery/shipments/{id}
Получение информации об отгрузке
Получение информации об отгрузке
Для доступа к методу необходимо разрешение delivery_read.
Набор полей зависит от типа доставки для которого создана отгрузка.
Параметры
Параметр
Тип
Формат
Описание
id
string
Идентификатор отгрузки
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
deliveryShipment
object (DeliveryShipment)
Заявка на отгрузку в службу доставки
deliveryShipment[integrationCode]
string
Код интеграции
deliveryShipment[id]
integer
Идентификатор отгрузки
deliveryShipment[externalId]
string
Идентификатор отгрузки в службе доставки
deliveryShipment[deliveryType]
string
Тип доставки
deliveryShipment[store]
string
Склад отгрузки
deliveryShipment[managerId]
integer
Менеджер, ответственный за отгрузку
deliveryShipment[status]
string
Статус отгрузки (Возможные значения created, processing, shipped, 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)
POST
/api/v5/delivery/shipments/{id}/edit
Редактироване отгрузки
Редактироване отгрузки
Для доступа к методу необходимо разрешение delivery_write.
Редактирование отгрузки возможно только для отгрузок в статусе created
Набор полей зависит от типа доставки для которого создана отгрузка.
Параметры
Параметр
Тип
Формат
Описание
site
string
Символьный код магазина (указывается в случае добавления заказов в отгрузку по externalId или number)
deliveryShipment
object (DeliveryShipment)
Заявка на отгрузку в службу доставки
deliveryShipment[status]
string
Статус отгрузки (Возможные значения created, processing, shipped, 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)
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
id
integer
Идентификатор отгрузки
status
string
Статус отгрузки
CallbackGET
{integrationModule["baseUrl"]}/{integrationModule["integrations"]["delivery"]["actions"]["autocomplete"]}
Запрос на получение данных для автокомплит поля
Запрос на получение данных для автокомплит поля
При работе с autocomplete-полями, заданными в конфигурации integrationModule[integrations][delivery]["deliveryDataFieldList"], система будет инициализировать запрос к службе доставки используя GET запрос метода указанного в autocompleteUrl конфигурации соответствующего поля.
Параметры
Параметр
Тип
Формат
Описание
clientId
string
Идентификатор клиента во внешнем сервисе
term
string
Строка запроса
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
result[]
array of objects (ResponseAutocompleteItem)
Массив значений
result[][value]
string
Значение
result[][label]
string
Наименование
result[][description]
string
Не обязательное поле. Подсказка для опции - выводится мелким шрифтом под именем опции
Для расчета стоимости доставки система инициирует вызов POST метода указанного в integrationModule[integrations][delivery]["actions"]["calculate"] конфигурации.
Параметры
Параметр
Тип
Формат
Описание
clientId
string
Идентификатор клиента во внешнем сервисе
calculate
object (RequestCalculate)
JSON с данными для расчета стоимости доставки
calculate[shipmentAddress]
object (DeliveryAddress)
Адрес отгрузки
calculate[shipmentAddress][index]
string
Индекс
calculate[shipmentAddress][countryIso]
string
ISO код страны (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][floor]
integer
Этаж
calculate[shipmentAddress][block]
integer
Подъезд
calculate[shipmentAddress][house]
string
Строение
calculate[shipmentAddress][housing]
string
Корпус
calculate[shipmentAddress][metro]
string
Метро
calculate[shipmentAddress][notes]
string
Примечания к адресу
calculate[shipmentAddress][text]
string
Адрес в текстовом виде
calculate[shipmentAddress][terminal]
string
Код терминала отгрузки/доставки
calculate[store]
object (Store)
Склад отгрузки
calculate[store][code]
string
Символьный код
calculate[store][name]
string
Название
calculate[deliveryAddress]
object (DeliveryAddress)
Адрес доставки
calculate[deliveryAddress][index]
string
Индекс
calculate[deliveryAddress][countryIso]
string
ISO код страны (ISO 3166-1 alpha-2)
calculate[deliveryAddress][region]
string
Регион
calculate[deliveryAddress][regionId]
integer
Идентификатор региона в Geohelper
calculate[deliveryAddress][city]
string
Город
calculate[deliveryAddress][cityId]
integer
Идентификатор города в Geohelper
calculate[deliveryAddress][cityType]
string
Тип населенного пункта
calculate[deliveryAddress][street]
string
Улица
calculate[deliveryAddress][streetId]
integer
Идентификатор улицы в Geohelper
calculate[deliveryAddress][streetType]
string
Тип улицы
calculate[deliveryAddress][building]
string
Дом
calculate[deliveryAddress][flat]
string
Номер квартиры/офиса
calculate[deliveryAddress][floor]
integer
Этаж
calculate[deliveryAddress][block]
integer
Подъезд
calculate[deliveryAddress][house]
string
Строение
calculate[deliveryAddress][housing]
string
Корпус
calculate[deliveryAddress][metro]
string
Метро
calculate[deliveryAddress][notes]
string
Примечания к адресу
calculate[deliveryAddress][text]
string
Адрес в текстовом виде
calculate[deliveryAddress][terminal]
string
Код терминала отгрузки/доставки
calculate[packages][]
array of objects (Package)
Набор упаковок
calculate[packages][][packageId]
string
Идентификатор упаковки
calculate[packages][][weight]
float
Вес г.
calculate[packages][][width]
integer
Ширина мм.
calculate[packages][][length]
integer
Длина мм.
calculate[packages][][height]
integer
Высота мм.
calculate[packages][][items][]
array of objects (PackageItem)
Содержимое упаковки
calculate[packages][][items][][offerId]
string
Идентификатор оффера в системе
calculate[packages][][items][][externalId]
string
Идентификатор торгового предложения в магазине
calculate[packages][][items][][xmlId]
string
Идентификатор торгового предложения в складской системе
CallbackPOST
{integrationModule["baseUrl"]}/{integrationModule["integrations"]["delivery"]["actions"]["print"]}
Печатные формы службы доставки
Печатные формы службы доставки
Для печати форм указанных при конфигурации в integrationModule[integrations][delivery]["plateList"] система инициирует POST запрос метода указанного в integrationModule[integrations][delivery]["actions"]["print"].
Служба доставки должна сформировать pdf-файл печатной формы и вернуть его в виде байтового массива
Тип сущности для печатной формы (order - печатная форма для заказа (по умолчанию), shipment - печатная форма для отгрузки. Значение совпадает со значением integrationModule[integrations][delivery][plateList][][type] выбранной печатной формы)
print[type]
string
Код типа печатной формы
print[deliveryIds]
array
Массив идентификаторов доставок в службе доставки ([["56376", "798645"]])
CallbackPOST
{integrationModule["baseUrl"]}/{integrationModule["integrations"]["delivery"]["actions"]["save"]}
Создание и редактирование доставки
Создание и редактирование доставки
Для создания новой доставки система инициирует POST вызов метода указанного в integrationModule[integrations][delivery]["actions"]["save"] кофигурации. Запрос на редактирование доставки аналогичен запросу на создание, но необходимо передавать идентификатор заказа в службе доставки save["deliveryId"].
Параметры
Параметр
Тип
Формат
Описание
clientId
string
Идентификатор клиента во внешнем сервисе
save
object (RequestSave)
JSON с данными для создания доставки
save[deliveryId]
string
Идентификатор доставки в службе доставки. Передается если требуется отредактировать уже оформленную доставку
save[order]
string
Внутренний ID заказа
save[orderNumber]
string
Номер заказа
save[site]
string
Код магазина
save[siteName]
string
Наименование магазина
save[store]
object (Store)
Склад отгрузки
save[store][code]
string
Символьный код
save[store][name]
string
Название
save[store][address]
object (StoreAddress)
Адрес склада
save[store][address][index]
string
Индекс
save[store][address][countryIso]
string
ISO код страны (ISO 3166-1 alpha-2)
save[store][address][region]
string
Регион
save[store][address][regionId]
integer
Идентификатор региона в Geohelper
save[store][address][city]
string
Город
save[store][address][cityId]
integer
Идентификатор города в Geohelper
save[store][address][cityType]
string
Тип населенного пункта
save[store][address][street]
string
Улица
save[store][address][streetId]
integer
Идентификатор улицы в Geohelper
save[store][address][streetType]
string
Тип улицы
save[store][address][building]
string
Дом
save[store][address][flat]
string
Номер квартиры/офиса
save[store][address][floor]
integer
Этаж
save[store][address][block]
integer
Подъезд
save[store][address][house]
string
Строение
save[store][address][housing]
string
Корпус
save[store][address][metro]
string
Метро
save[store][address][notes]
string
Примечания к адресу
save[store][address][text]
string
Адрес в текстовом виде
save[store][address][coordinates]
object (Point)
Координаты точки
save[store][address][coordinates][latitude]
float
Широта
save[store][address][coordinates][longitude]
float
Долгота
save[store][workTime]
object (SerializedStoreWeekOpeningHours)
Время работы склада
save[store][workTime][mo][]
array of objects (StoreWorkTime)
Время работы склада в понедельник
save[store][workTime][mo][][startTime]
string
Время начала работы склада (в формате H:i)
save[store][workTime][mo][][endTime]
string
Время окончания работы склада (в формате H:i)
save[store][workTime][mo][][lunchStartTime]
string
Время начала перерыва (в формате H:i)
save[store][workTime][mo][][lunchEndTime]
string
Время окончания перерыва (в формате H:i)
save[store][workTime][tu][]
array of objects (StoreWorkTime)
Время работы склада во вторник
save[store][workTime][tu][][startTime]
string
Время начала работы склада (в формате H:i)
save[store][workTime][tu][][endTime]
string
Время окончания работы склада (в формате H:i)
save[store][workTime][tu][][lunchStartTime]
string
Время начала перерыва (в формате H:i)
save[store][workTime][tu][][lunchEndTime]
string
Время окончания перерыва (в формате H:i)
save[store][workTime][we][]
array of objects (StoreWorkTime)
Время работы склада в среду
save[store][workTime][we][][startTime]
string
Время начала работы склада (в формате H:i)
save[store][workTime][we][][endTime]
string
Время окончания работы склада (в формате H:i)
save[store][workTime][we][][lunchStartTime]
string
Время начала перерыва (в формате H:i)
save[store][workTime][we][][lunchEndTime]
string
Время окончания перерыва (в формате H:i)
save[store][workTime][th][]
array of objects (StoreWorkTime)
Время работы склада в четверг
save[store][workTime][th][][startTime]
string
Время начала работы склада (в формате H:i)
save[store][workTime][th][][endTime]
string
Время окончания работы склада (в формате H:i)
save[store][workTime][th][][lunchStartTime]
string
Время начала перерыва (в формате H:i)
save[store][workTime][th][][lunchEndTime]
string
Время окончания перерыва (в формате H:i)
save[store][workTime][fr][]
array of objects (StoreWorkTime)
Время работы склада в пятницу
save[store][workTime][fr][][startTime]
string
Время начала работы склада (в формате H:i)
save[store][workTime][fr][][endTime]
string
Время окончания работы склада (в формате H:i)
save[store][workTime][fr][][lunchStartTime]
string
Время начала перерыва (в формате H:i)
save[store][workTime][fr][][lunchEndTime]
string
Время окончания перерыва (в формате H:i)
save[store][workTime][sa][]
array of objects (StoreWorkTime)
Время работы склада в субботу
save[store][workTime][sa][][startTime]
string
Время начала работы склада (в формате H:i)
save[store][workTime][sa][][endTime]
string
Время окончания работы склада (в формате H:i)
save[store][workTime][sa][][lunchStartTime]
string
Время начала перерыва (в формате H:i)
save[store][workTime][sa][][lunchEndTime]
string
Время окончания перерыва (в формате H:i)
save[store][workTime][su][]
array of objects (StoreWorkTime)
Время работы склада в воскресенье
save[store][workTime][su][][startTime]
string
Время начала работы склада (в формате H:i)
save[store][workTime][su][][endTime]
string
Время окончания работы склада (в формате H:i)
save[store][workTime][su][][lunchStartTime]
string
Время начала перерыва (в формате H:i)
save[store][workTime][su][][lunchEndTime]
string
Время окончания перерыва (в формате H:i)
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]
string
E-mail
save[customer][contragent]
object (Contragent)
Данные контрагента
save[customer][contragent][type]
string
Тип контрагента
save[customer][contragent][legalName]
string
Полное наименование
save[customer][contragent][legalAddress]
string
Адрес регистрации
save[customer][contragent][INN]
string
save[customer][contragent][OKPO]
string
save[customer][contragent][KPP]
string
save[customer][contragent][OGRN]
string
save[customer][contragent][OGRNIP]
string
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]
string
E-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][][externalId]
string
Идентификатор торгового предложения в магазине
save[packages][][items][][xmlId]
string
Идентификатор торгового предложения в складской системе
Стоимость доставки (указывается в накладной в случае предоплаты)
save[delivery][vatRate]
string
Ставка НДС на услугу доставки ("none" - НДС не облагается)
save[delivery][tariff]
string
Код тарифа
save[delivery][payerType]
string
Плательщик за услуги доставки (receiver или sender)
save[delivery][shipmentDate]
DateTime
Y-m-d
Дата отгрузки
save[delivery][deliveryDate]
DateTime
Y-m-d
Дата доставки
save[delivery][deliveryTime]
object (TimeInterval)
Время доставки ("custom" не ипользуется)
save[delivery][deliveryTime][from]
DateTime
H:i
Время "с"
save[delivery][deliveryTime][to]
DateTime
H:i
Время "до"
save[delivery][deliveryTime][custom]
string
Временной диапазон в свободной форме
save[delivery][extraData][]
array of objects (ExtraDataValue)
Дополнительные данные доставки (deliveryDataField.code => значение)
save[currency]
string
Код валюты
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
result
object (ResponseSave)
Результат оформления доставки
result[deliveryId]
string
Идентификатор доставки в службе доставки
result[trackNumber]
string
Трек номер (если установлена опция configuration[allowTrackNumber])
result[cost]
float
Стоимость доставки
result[status]
string
Код статуса доставки
result[extraData]
array
Дополнительные данные доставки (deliveryDataField.code => значение)
CallbackPOST
{integrationModule["baseUrl"]}/{integrationModule["integrations"]["delivery"]["actions"]["shipmentDelete"]}
Удаление заявки на отгрузку
Удаление заявки на отгрузку
Для удаления заявки на отгрузку система инициирует POST запрос метода указанного в integrationModule[integrations][delivery]["actions"]["shipmentDelete"].
Параметры
Параметр
Тип
Формат
Описание
clientId
string
Идентификатор клиента во внешнем сервисе
shipmentDelete
object (RequestShipmentDelete)
JSON с данными для удаления заявки на отгрузку
shipmentDelete[shipmentId]
string
Идентификатор отгрузки в службе доставки
shipmentDelete[extraData][]
array of objects (ExtraDataValue)
Дополнительные данные отгрузки (shipmentDataField.code => значение)
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
CallbackGET
{integrationModule["baseUrl"]}/{integrationModule["integrations"]["delivery"]["actions"]["shipmentPointList"]}
Список терминалов приема посылок
Список терминалов приема посылок
Для работы с терминалами система инициирует GET запрос метода указанного в integrationModule[integrations][delivery]["actions"]["shipmentPointList"].
Параметры
Параметр
Тип
Формат
Описание
clientId
string
Идентификатор клиента во внешнем сервисе
country
string
ISO код страны (ISO 3166-1 alpha-2)
region
string
Регион
regionId
integer
Идентификатор региона в Geohelper
city
string
Город
cityId
integer
Идентификатор города в Geohelper
code
string
Код склада отгрузки
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
result[]
array of objects (Terminal)
Терминал отгрузки/получения
result[][code]
string
Код терминала
result[][cost]
float
Стоимость доставки до терминала (указывается в случае если она отличается от стандартной стоимости по тарифу)
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]
string
Широта
result[][coordinates][longitude]
string
Долгота
CallbackPOST
{integrationModule["baseUrl"]}/{integrationModule["integrations"]["delivery"]["actions"]["shipmentSave"]}
Создание и редактирование отгрузки
Создание и редактирование отгрузки
Для создания/редактирования заявки на отгрузку система инициирует POST запрос метода указанного в integrationModule[integrations][delivery]["actions"]["shipmentSave"].
Параметры
Параметр
Тип
Формат
Описание
clientId
string
Идентификатор клиента во внешнем сервисе
shipmentSave
object (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]
string
E-mail
shipmentSave[date]
DateTime
Y-m-d
Дата отгрузки
shipmentSave[time]
object (TimeInterval)
Время отгрузки
shipmentSave[time][from]
DateTime
H:i
Время "с"
shipmentSave[time][to]
DateTime
H:i
Время "до"
shipmentSave[time][custom]
string
Временной диапазон в свободной форме
shipmentSave[address]
object (DeliveryAddress)
Адрес отгрузки
shipmentSave[address][index]
string
Индекс
shipmentSave[address][countryIso]
string
ISO код страны (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][floor]
integer
Этаж
shipmentSave[address][block]
integer
Подъезд
shipmentSave[address][house]
string
Строение
shipmentSave[address][housing]
string
Корпус
shipmentSave[address][metro]
string
Метро
shipmentSave[address][notes]
string
Примечания к адресу
shipmentSave[address][text]
string
Адрес в текстовом виде
shipmentSave[address][terminal]
string
Код терминала отгрузки/доставки
shipmentSave[store]
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 => значение)
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
result
object (ResponseShipmentSave)
Результат оформления отгрузки
result[shipmentId]
string
Идентификатор отгрузки в службе доставки
result[extraData]
array
Дополнительные данные отгрузки
CallbackGET
{integrationModule["baseUrl"]}/{integrationModule["integrations"]["delivery"]["actions"]["tariffList"]}
Список тарифов
Список тарифов
Для получения списка тарифов система инициирует GET запрос метода указанного в integrationModule[integrations][delivery]["actions"]["tariffList"].
POST
/api/v5/files/upload
Загрузка файла на сервер
Загрузка файла на сервер
Для доступа к методу необходимо разрешение file_write.
Метод позволяет загрузить файл. Для загрузки файла необходимо поместить
его содержимое в тело запроса.
Некоторые типы файлов загружать запрещено. Загруженному через
API файлу автоматически присваивается имя API upload.
Для доступа к методу необходимо разрешение file_write.
Метод позволяет отредактировать имя файла и связи с заказами и клиентами. В
file[attachment][] передаются все необходимые связи. Связи, не имеющиеся в этом поле,
будут удалены.
Допустимые типы плательщиков за доставку (receiver - покупатель сам расплачивается напрямую со службой доставки; sender - магазин может брать деньги с покупателя за доставку и потом расплачивается со службой доставки)
Статус ("isPreprocessing": true) указывает, что доставка находится в процессе оформления и любые изменения с заказом не желательны. Данный флаг может быть необходим для интеграций, где оформление доставки выполняется в асинхронном режиме
Тип поля. Возможны варианты (integer - числовое поле, text - текстовое поле, autocomplete - автокомплит поле, checkbox, choice - выпадающий список, date - поле с датой)
Указывается для типа поля choice. Список возможных вариантов в выпадающем списке (массив объеков {"value": "value", "label": "label"}). Обязателен если тип поля choice
Разрешено ли редактировать поле. Если "editable": false - поле информационное - заполняется только данными, полученными напрямую от службы доставки (например стоимость страховки - может заполняться после оформления доставки или при расчете стоимости)
Относительные пути от базового URL до конкретных методов (массив "Код метода": "Путь", допустимые методы: online, visits)
integrationModule[integrations][mgBot]
object (BotConfiguration)
Конфигурация интеграции с MessageGateway ботом
integrationModule[integrations][mgBot][isActive]
boolean
Признак активности
integrationModule[integrations][mgBot][logo]
string
Ссылка на логотип
integrationModule[integrations][mgBot][token]
string
Ключ безопасности
integrationModule[integrations][mgBot][name]
string
Название бота
POST
/api/v5/integration-modules/{code}/edit
Создание/редактирование интеграционного модуля
Создание/редактирование интеграционного модуля
Для доступа к методу необходимо разрешение integration_write.
Для получения сообщений об активации/деактивации и заморозке/разморозке модуля необходимо указать baseUrl и путь до callback activity - integrationModule[actions][activity].
Модуль может содержать один или несколько типов конфигураций, либо может не содержать ни одного.
Сервис рекомендаций
(recommendation)
Наличие конфигурации этого типа дает доступ к использованию методов из раздела "Рекомендации".
Служба доставки
(delivery)
Наличие конфигурации этого типа дает доступ к использованию методов из раздела "Доставки".
Платежная система
(payment)
Наличие конфигурации этого типа дает доступ к использованию методов из раздела "Платежи".
Складская система
(store)
Наличие конфигурации этого типа дает доступ к использованию метода {integrationModule["integrations"]["store"]["actions"]["inventoriesUpload"]} из раздела "Склад".
Система мгновенного обмена сообщениями
(mgTransport)
Наличие конфигурации этого типа предоставляет возможность интегрировать внешние мессенджеры с системой.
MessageGateway Бот
(mgBot)
Наличие конфигурации этого типа предоставляет возможность интегрировать MessageGateway Ботов.
Телефонии
(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 запрос.
В случае успешного создания или редактирования модуля в ответе в поле info[billingInfo] будет содержаться информация по стоимости модуля. Если модуль не опубликован в маркетплейсе, то информация не будет передана.
Параметры
Параметр
Тип
Формат
Описание
integrationModule
object (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, settings)
integrationModule[availableCountries]
array
Массив ISO кодов стран (ISO 3166-1 alpha-2) для которых доступен модуль (требуется, если модуль не опубликован в маркетплейсе)
integrationModule[accountUrl]
string
Адрес личного кабинета (при переходе по этой ссылке отправляется POST запрос с параметром clientId)
Допустимые типы плательщиков за доставку (receiver - покупатель сам расплачивается напрямую со службой доставки; sender - магазин может брать деньги с покупателя за доставку и потом расплачивается со службой доставки)
Статус ("isPreprocessing": true) указывает, что доставка находится в процессе оформления и любые изменения с заказом не желательны. Данный флаг может быть необходим для интеграций, где оформление доставки выполняется в асинхронном режиме
Тип поля. Возможны варианты (integer - числовое поле, text - текстовое поле, autocomplete - автокомплит поле, checkbox, choice - выпадающий список, date - поле с датой)
Указывается для типа поля choice. Список возможных вариантов в выпадающем списке (массив объеков {"value": "value", "label": "label"}). Обязателен если тип поля choice
Разрешено ли редактировать поле. Если "editable": false - поле информационное - заполняется только данными, полученными напрямую от службы доставки (например стоимость страховки - может заполняться после оформления доставки или при расчете стоимости)
На счете клиента недостаточно средств для активации интеграционного модуля
POST
/api/v5/integration-modules/{code}/update-scopes
Обновление разрешений для API ключа
Обновление разрешений для API ключа
Для доступа к методу необходимо разрешение integration_write.
Метод позволяет получить новый API ключ с разрешениями, которые были переданы в запросе, для интеграционного модуля.
Данный метод доступен для модулей с поддержкой простого подключения и может также быть использован для обновления API ключей модулями, которые были подключены устаревшим способом с созданием API ключей в интерфейсе системы.
Параметры
Параметр
Тип
Формат
Описание
requires
object (Requires)
requires[scopes][]
array of strings
Разрешения, необходимые API ключу для работы модуля
CallbackGET
{configUrl}
Получение данных для подключения модуля
Получение данных для подключения модуля
Callback для получения конфигурации подключения. Вызывается перед подключением модуля.
{configUrl} - URL для запроса конфигурации простого подключения. Указывается в партнерском кабинете, при регистрации модуля
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
scopes[]
array of strings
Разрешения, необходимые API ключу для работы модуля
registerUrl
string
URL для регистрации модуля
CallbackPOST
{integrationModule["baseUrl"]}/{integrationModule["actions"]["activity"]}
Оповещение об изменении статуса активности или заморозки модуля
Оповещение об изменении статуса активности или заморозки модуля
Callback вызывается при изменении статуса активности и заморозки модуля или при переименовании системы. В случае деактивации работа модуля должна быть прекращена. При заморозке - работа модуля должна быть приостановлена. При переименовании системы нужно обновить URL системы, на который отправляются запросы. Новый URL приходит с нового адреса системы, для определения аккаунта необходимо использовать clientId. При каждой инициации этого метода передаются все параметры.
Если модуль опубликован в маркетплейсе, то в поле billingInfo будет содержаться информация по стоимости модуля.
Параметры
Параметр
Тип
Формат
Описание
clientId
string
Идентификатор клиента во внешнем сервисе
activity
object (IntegrationModule)
Интеграционный модуль
activity[active]
boolean
Статус активности
activity[freeze]
boolean
Работа модуля заморожена
systemUrl
string
Актуальный URL системы, где активирован интеграционный модуль (пример: https://demo.retailcrm.ru )
billingInfo
object (IntegrationModuleBillingInfo)
Информация о стоимости модуля
billingInfo[price]
float
Стоимость модуля
billingInfo[priceWithDiscount]
float
Стоимость модуля со скидкой при её наличии
billingInfo[currency]
object (IntegrationModuleBillingInfoCurrency)
Валюта
billingInfo[currency][name]
string
Название валюты
billingInfo[currency][shortName]
string
Название валюты в сокращённом виде
billingInfo[currency][code]
string
Код валюты
billingInfo[billingType]
string
Тип оплаты (fixed - за модуль, byChannel - за канал)
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
CallbackPOST
{integrationModule["baseUrl"]}/{integrationModule["actions"]["settings"]}
Оповещение об изменении настроек системы
Оповещение об изменении настроек системы
Callback вызывается при изменении следующих настроек системы:
нерабочие дни
рабочее время
валюта по умолчанию
языка системы
часовой пояса системы
настройки чатов
В запросе всегда передаются значения всех указанных настроек.
Параметры
Параметр
Тип
Формат
Описание
clientId
string
Идентификатор клиента во внешнем сервисе
settings
object (Settings)
Настройки системы
settings[default_currency]
object (Value)
deprecated Валюта по умолчанию
settings[default_currency][value]
string
Значение настройки
settings[default_currency][updated_at]
DateTime
Y-m-d H:i:s
Время последнего изменения настройки
settings[system_language]
object (Value)
Язык системы
settings[system_language][value]
string
Значение настройки
settings[system_language][updated_at]
DateTime
Y-m-d H:i:s
Время последнего изменения настройки
settings[timezone]
object (Value)
Временная зона
settings[timezone][value]
string
Значение настройки
settings[timezone][updated_at]
DateTime
Y-m-d H:i:s
Время последнего изменения настройки
settings[work_times][]
array of objects (WorkTime)
Рабочее время
settings[work_times][][day_type]
string
День недели
settings[work_times][][start_time]
string
Начало рабочего времени
settings[work_times][][end_time]
string
Конец рабочего времени
settings[work_times][][lunch_start_time]
string
Время начала перерыва
settings[work_times][][lunch_end_time]
string
Время конца перерыва
settings[non_working_days][]
array of objects (NonWorkingDay)
Нерабочие дни
settings[non_working_days][][start_date]
DateTime
m.d
Начало нерабочих дней
settings[non_working_days][][end_date]
DateTime
m.d
Конец нерабочих дней
settings[mg]
object (IntegrationData)
Настройки чатов
settings[mg][order_creation]
object (OrderCreationSettings)
Параметры, которые будут автоматически указываться в заказе при оформлении из чатов
{registerUrl} - это URL, по которому будет отправлен запрос на подключение модуля. Подробнее в документации по callback методу {configUrl}.
Параметры
Параметр
Тип
Формат
Описание
register
object (Register)
register[token]
string
API-ключ в виде хэш-кода, сгенерированного на основе секретного токена с помощью алгоритма sha256 методом hmac для проверки подлинности запроса
register[systemUrl]
string
Технический домен системы, на который необходимо отправлять запросы
register[apiKey]
string
API-ключ для обращения к API системы
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
accountUrl
string
Адрес личного кабинета (при переходе по этой ссылке отправляется POST запрос с параметром clientId)
Лояльность
POST
/api/v5/loyalty/account/create
Добавление клиента в программу лояльности
Добавление клиента в программу лояльности
Для доступа к методу необходимо разрешение loyalty_write.
Метод проверяет возможность участия клиента в программе лояльности и добавляет его
В настройках к ПЛ возможно указать список полей обязательных для заполнения в Клиенте и в Участии.
Если не все указанные поля заполнены соответствующее сообщение выводится в ответе, в поле warnings.
Если настройка обязательных полей и требование подтверждения активации по смс отсутствует или переданы все необходимые поля то участие создается активным.
В обратном случае оно создается неактивным. Неактивному Участию недоступно списание бонусов и применение скидочных привилегий.
Также должно быть заполнено одно из полей phoneNumber или cardNumber
Параметры
Параметр
Тип
Формат
Описание
site
string
Символьный код магазина
loyaltyAccount
object (SerializedCreateLoyaltyAccount)
loyaltyAccount[phoneNumber]
string
Номер телефона
loyaltyAccount[cardNumber]
string
Номер карты
loyaltyAccount[customFields]
array
Ассоциативный массив пользовательских полей
loyaltyAccount[customer]
object (SerializedEntityCustomer)
Клиент
loyaltyAccount[customer][id]
integer
Внутренний ID клиента
loyaltyAccount[customer][externalId]
string
Внешний ID клиента
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
loyaltyAccount
object (LoyaltyAccount)
Участие в программе лояльности
loyaltyAccount[active]
boolean
Признак активности участия
loyaltyAccount[id]
integer
ID участия
loyaltyAccount[phoneNumber]
string
Номер телефона
loyaltyAccount[cardNumber]
string
Номер карты
loyaltyAccount[amount]
float
Количество активных бонусов
loyaltyAccount[level]
object (LoyaltyLevel)
Уровень участия
loyaltyAccount[level][id]
integer
ID уровня
loyaltyAccount[level][name]
string
Название уровня
loyaltyAccount[createdAt]
DateTime
Дата создания
loyaltyAccount[activatedAt]
DateTime
Дата активации участия
loyaltyAccount[confirmedPhoneAt]
DateTime
Дата верификации номера телефона
loyaltyAccount[lastCheckId]
string
ID последней СМС-верификации
loyaltyAccount[customFields]
array
Ассоциативный массив пользовательских полей
warnings
array
GET
/api/v5/loyalty/account/{id}
Получение информации об участии в программе лояльности
Получение информации об участии в программе лояльности
Для доступа к методу необходимо разрешение loyalty_read.
Параметры
Параметр
Тип
Формат
Описание
id
integer
Id участия в программе лояльности
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
loyaltyAccount
object (LoyaltyAccount)
Участие в программе лояльности
loyaltyAccount[active]
boolean
Признак активности участия
loyaltyAccount[id]
integer
ID участия
loyaltyAccount[loyalty]
object (Loyalty)
Программа лояльности
loyaltyAccount[loyalty][currency]
string
Валюта
loyaltyAccount[loyalty][id]
integer
ID программы лояльности
loyaltyAccount[customer]
object (Customer)
Клиент
loyaltyAccount[customer][id]
integer
ID клиента
loyaltyAccount[customer][externalId]
string
Внешний ID клиента
loyaltyAccount[customer][site]
string
Магазин, с которого пришел клиент
loyaltyAccount[customer][customFields]
array
Ассоциативный массив пользовательских полей
loyaltyAccount[customer][firstName]
string
Имя
loyaltyAccount[customer][lastName]
string
Фамилия
loyaltyAccount[customer][patronymic]
string
Отчество
loyaltyAccount[phoneNumber]
string
Номер телефона
loyaltyAccount[cardNumber]
string
Номер карты
loyaltyAccount[amount]
float
Количество активных бонусов
loyaltyAccount[ordersSum]
float
Сумма покупок (в валюте объекта)
loyaltyAccount[nextLevelSum]
float
Необходимая сумма покупок для перехода на след уровень
loyaltyAccount[level]
object (LoyaltyLevel)
Уровень участия
loyaltyAccount[level][type]
string
Тип уровня. Возможные значения: bonus_converting, bonus_percent, discount
loyaltyAccount[level][id]
integer
ID уровня
loyaltyAccount[level][name]
string
Название уровня
loyaltyAccount[level][sum]
custom handler result for (int)
Сумма, необходимая для перехода на данный уровень (в валюте объекта)
loyaltyAccount[level][privilegeSize]
float
Размер скидки, процент или курс начисления бонусов для товаров по обычной цене (в валюте объекта)
loyaltyAccount[level][privilegeSizePromo]
float
Размер скидки, процент или курс начисления бонусов для акционных товаров (в валюте объекта)
loyaltyAccount[createdAt]
DateTime
Дата создания
loyaltyAccount[activatedAt]
DateTime
Дата активации участия
loyaltyAccount[confirmedPhoneAt]
DateTime
Дата верификации номера телефона
loyaltyAccount[lastCheckId]
string
ID последней СМС-верификации
loyaltyAccount[status]
string
Статус участия. Возможные значения: not_confirmed, activated, deactivated
POST
/api/v5/loyalty/account/{id}/activate
Активация участия в программе лояльности
Активация участия в программе лояльности
Для доступа к методу необходимо разрешение loyalty_write.
Метод позволяет активировать созданное участие. Если включена настройка регистрации в программе
лояльности "Подтверждение регистрации по SMS", то необходимо, чтобы в участии программы лояльности был
указан номер телефона. На него будет выслано смс сообщение с подтверждением активации участия в программе.
Активация будет произведена только после подтверждения активации кодом из смс.
Для повторной отправки смс следует вызвать этот метод еще раз.
Повторная отправка доступна через 60 секунд. Срок жизни кода из смс - 5 минут.
В случае, если отправка смс для активации не требуется, активация будет произведена согласно
настройкам программы лояльности, и в ответе вернется только объект LoyaltyAccount. В случае подтверждения по
смс будет также возвращен объект SmsVerification.
Код, полученный по смс, необходимо отправить в методе подтверждения верификации, указав параметр checkId.
Параметры
Параметр
Тип
Формат
Описание
id
integer
Id участия в программе лояльности
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
loyaltyAccount
object (LoyaltyAccount)
Участие в программе лояльности
loyaltyAccount[active]
boolean
Признак активности участия
loyaltyAccount[id]
integer
ID участия
loyaltyAccount[phoneNumber]
string
Номер телефона
loyaltyAccount[cardNumber]
string
Номер карты
loyaltyAccount[amount]
float
Количество активных бонусов
loyaltyAccount[level]
object (LoyaltyLevel)
Уровень участия
loyaltyAccount[level][id]
integer
ID уровня
loyaltyAccount[level][name]
string
Название уровня
loyaltyAccount[createdAt]
DateTime
Дата создания
loyaltyAccount[activatedAt]
DateTime
Дата активации участия
loyaltyAccount[confirmedPhoneAt]
DateTime
Дата верификации номера телефона
loyaltyAccount[lastCheckId]
string
ID последней СМС-верификации
loyaltyAccount[customFields]
array
Ассоциативный массив пользовательских полей
verification
object (SmsVerification)
SMS-верификация
verification[createdAt]
DateTime
Дата создания (Y-m-d H:i:s)
verification[expiredAt]
DateTime
Дата окончания срока жизни (Y-m-d H:i:s)
verification[verifiedAt]
DateTime
Дата успешной верификации (Y-m-d H:i:s)
verification[checkId]
string
Идентификатор проверки кода
verification[actionType]
string
Тип действия
POST
/api/v5/loyalty/account/{id}/bonus/charge
Списание бонусов участию в программе лояльности
Списание бонусов участию в программе лояльности
Для доступа к методу необходимо разрешение loyalty_write.
Метод позволяет списать бонусы участию в программе лояльности.
Параметры
Параметр
Тип
Формат
Описание
amount
float
Количество бонусов к списанию
comment
string
Комментарий
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
POST
/api/v5/loyalty/account/{id}/bonus/credit
Начисление бонусов участию в программе лояльности
Начисление бонусов участию в программе лояльности
Для доступа к методу необходимо разрешение loyalty_write.
Метод позволяет начислить бонусы участию в программе лояльности.
Если не передана дата активации бонусов activationDate, активация бонусов произойдет в соответствии с настройками программы лояльности
Если не передана дата сгорания бонусов expireDate, сгорание бонусов произойдет в соответствии с настройками программы лояльности
Параметры
Параметр
Тип
Формат
Описание
amount
float
Количество бонусов к начислению
activationDate
DateTime
Y-m-d
Дата активации бонусов
expireDate
DateTime
Y-m-d
Дата сгорания бонусов
comment
string
Комментарий
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
loyaltyBonus
object (LoyaltyBonus)
loyaltyBonus[amount]
float
Количество начисленных бонусов
loyaltyBonus[activationDate]
DateTime
Дата активации бонусов
loyaltyBonus[expireDate]
DateTime
Дата сгорания бонусов
GET
/api/v5/loyalty/account/{id}/bonus/operations
История бонусного счета для конкретного участия
История бонусного счета для конкретного участия
Для доступа к методу необходимо разрешение loyalty_read.
Метод позволяет получить историю бонусного счета для участия в программе лояльности.
Поле bonusOperations[][type] содержит тип действия, которое привело к изменению бонусного счета.
Возможные значения:
credit_for_order - начисление за заказ
burn - сгорание
credit_for_event - начисление за событие
charge_for_order - списание за заказ
charge_manual - ручное списание
credit_manual - ручное начисление
cancel_of_charge - отмена списания
cancel_of_credit - отмена начисления
Поле bonusOperations[][amount] содержит количество списанных, сгоревших, либо начисленных бонусов.
Если бонусы были начислены, значение будет положительным, если списаны или сгорели - отрицательным.
Параметры
Параметр
Тип
Формат
Описание
limit
integer
{not blank}[20|50|100]}
Количество элементов в ответе (по умолчанию равно 20)
page
integer
{not blank}{range: {>=1}}}
Номер страницы с результатами (по умолчанию равно 1)
GET
/api/v5/loyalty/bonus/operations
История бонусного счета для всех участий
История бонусного счета для всех участий
Для доступа к методу необходимо разрешение loyalty_read.
Метод позволяет получить историю бонусного счета для всех участий во всех программах лояльности
Поле bonusOperations[][type] содержит тип действия, которое привело к изменению бонусного счета.
Возможные значения:
credit_for_order - начисление за заказ
burn - сгорание
credit_for_event - начисление за событие
charge_for_order - списание за заказ
charge_manual - ручное списание
credit_manual - ручное начисление
cancel_of_charge - отмена списания
cancel_of_credit - отмена начисления
Поле bonusOperations[][amount] содержит количество списанных, сгоревших, либо начисленных бонусов.
Если бонусы были начислены, значение будет положительным, если списаны или сгорели - отрицательным.
Параметры
Параметр
Тип
Формат
Описание
limit
integer
{not blank}[20|50|100]}
Количество элементов в ответе (по умолчанию равно 20)
cursor
string
Курсор элемента с которого начинается поиск
filter
object (LoyaltyBonusOperationsApiFilterType)
filter[loyalties][]
array of integers
Массив ID Программ лояльности
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
pagination
object (CursorPaginationResponse)
Пагинация с курсорами
pagination[nextCursor]
string
Курсор первого элемента на следующей странице
bonusOperations[]
array of objects (Operation)
Запись в истории бонусного счета
bonusOperations[][type]
string
Тип действия
bonusOperations[][createdAt]
DateTime
Дата действия
bonusOperations[][amount]
float
Количество бонусов
bonusOperations[][order]
object (OperationOrder)
Связанный заказ
bonusOperations[][order][id]
integer
ID заказа
bonusOperations[][order][externalId]
string
Внешний ID заказа
bonusOperations[][bonus]
object (OperationBonus)
Начисленные бонусы
bonusOperations[][bonus][activationDate]
DateTime
Дата активации бонусов
bonusOperations[][event]
object (OperationEvent)
Событие программы лояльности
bonusOperations[][event][id]
integer
ID события
bonusOperations[][event][type]
string
Тип события. Возможные значения: birthday, welcome
POST
/api/v5/loyalty/calculate
Расчёт максимальной скидки
Расчёт максимальной скидки
Для доступа к методу необходимо разрешение loyalty_read.
Метод рассчитывает максимальную скидку для клиента. Учитывая персональную скидку или уровень лояльности или событие.
В методе есть возможность передать расчетное кол-во бонусов для списания (только для расчетов), в параметре bonuses,
по умолчанию 0.
Поле privilegeType может содержать одно из следующих значений:
personal_discount - персональная скидка клиента;
loyalty_level - расчет скидки или начисление бонусов исходя из настроек уровня ПЛ клиента;
loyalty_event - расчет скидки по событию ПЛ;
none - не применять скидки ПЛ к заказу;
Параметры
Параметр
Тип
Формат
Описание
site
string
Символьный код магазина
order
object (SerializedOrder)
order[privilegeType]
string
Тип привилегии. Возможные значения: none, personal_discount, loyalty_level, loyalty_event
order[discountManualAmount]
double
Денежная скидка на весь заказ (в валюте объекта)
order[discountManualPercent]
double
Процентная скидка на весь заказ
order[customer]
object (SerializedRelationCustomer)
Клиент
order[customer][id]
integer
Внутренний ID клиента
order[customer][externalId]
string
Внешний ID клиента
order[items][]
array of objects (SerializedOrderProduct)
order[items][][initialPrice]
double
Цена товара/SKU (в валюте объекта)
order[items][][discountManualAmount]
double
Денежная скидка на единицу товара (в валюте объекта)
order[items][][discountManualPercent]
double
Процентная скидка на единицу товара
order[items][][quantity]
float
Количество
order[items][][offer]
object (SerializedOrderProductOffer)
Торговое предложение
order[items][][offer][id]
integer
ID торгового предложения
order[items][][offer][externalId]
string
Внешний ID торгового предложения
order[items][][offer][xmlId]
string
ID торгового предложения в складской системе
order[items][][priceType]
object (PriceType)
Тип цены
order[items][][priceType][code]
string
Код типа цены
order[delivery]
object (SerializedOrderDelivery)
Данные о доставке
order[delivery][cost]
double
Стоимость доставки
order[applyRound]
boolean
Применять настройку округления стоимости заказа
bonuses
float
Количество бонусов для списания
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
order
object (SerializedLoyaltyOrder)
order[bonusesCreditTotal]
double
Количество начисленных бонусов
order[bonusesChargeTotal]
double
Количество списанных бонусов
order[currency]
string
Валюта
order[privilegeType]
string
Тип привилегии. Возможные значения: none, personal_discount, loyalty_level, loyalty_event
order[totalSumm]
double
Общая сумма с учетом скидки (в валюте объекта)
order[personalDiscountPercent]
double
Персональная скидка на заказ
order[loyaltyAccount]
object (LoyaltyAccount)
Участие в программе лояльности
order[loyaltyAccount][id]
integer
ID участия
order[loyaltyAccount][amount]
float
Количество активных бонусов
order[loyaltyLevel]
object (LoyaltyLevel)
Уровень участия в программе лояльности
order[loyaltyLevel][id]
integer
ID уровня
order[loyaltyLevel][name]
string
Название уровня
order[loyaltyEventDiscount]
object (LoyaltyEventDiscount)
Скидка по событию программы лояльности
order[loyaltyEventDiscount][id]
integer
ID
order[customer]
object (Customer)
Клиент
order[customer][id]
integer
ID клиента
order[customer][externalId]
string
Внешний ID клиента
order[customer][personalDiscount]
double
Персональная скидка
order[delivery]
object (SerializedOrderDelivery)
Данные о доставке
order[delivery][cost]
double
Стоимость доставки
order[site]
string
Магазин
order[items][]
array of objects (OrderProduct)
Позиция в заказе
order[items][][bonusesChargeTotal]
double
Количество списанных бонусов
order[items][][bonusesCreditTotal]
double
Количество начисленных бонусов
order[items][][id]
integer
ID позиции в заказе
order[items][][externalIds][]
array of objects (CodeValueModel)
Внешние идентификаторы позиции в заказе
order[items][][externalIds][][code]
string
Код
order[items][][externalIds][][value]
string
Значение
order[items][][priceType]
object (PriceType)
Тип цены
order[items][][priceType][code]
string
Код типа цены
order[items][][initialPrice]
double
Цена товара/SKU (в валюте объекта)
order[items][][discounts][]
array of objects (AbstractDiscount)
Массив скидок
order[items][][discounts][][type]
string
Тип скидки. Возможные значения: manual_order - Разовая скидка на заказ; manual_product - Дополнительная скидка на товар; loyalty_level - Скидка по уровню программы лояльности; loyalty_event - Скидка по событию программы лояльности; personal - Персональная скидка; bonus_charge - Списание бонусов ПЛ; round - Скидка от округления
order[items][][discounts][][amount]
float
Сумма скидки
order[items][][discountTotal]
double
Итоговая денежная скидка на единицу товара c учетом всех скидок на товар и заказ (в валюте объекта)
order[items][][prices][]
array of objects (OrderProductPriceItem)
Набор итоговых цен реализации с указанием количества
order[items][][prices][][price]
float
Итоговая цена c учетом всех скидок на товар и заказ (в валюте объекта)
order[items][][prices][][quantity]
float
Количество товара по заданной цене
order[items][][vatRate]
string
Ставка НДС
order[items][][quantity]
float
Количество
order[items][][offer]
object (Offer)
Торговое предложение
order[items][][offer][id]
integer
ID торгового предложения
order[items][][offer][externalId]
string
ID торгового предложения в магазине
order[items][][offer][xmlId]
string
ID торгового предложения в складской системе
calculations[]
array of objects (LoyaltyCalculation)
calculations[][privilegeType]
string
Тип привилегии
calculations[][discount]
float
Денежная скидка на заказ с учетом списанных бонусов по курсу, заданному в настройках
calculations[][creditBonuses]
float
Бонусы к начислению
calculations[][loyaltyEventDiscount]
object (LoyaltyEventDiscount)
Скидка по событию программы лояльности
calculations[][loyaltyEventDiscount][id]
integer
ID
calculations[][maxChargeBonuses]
float
Бонусы, доступные для списания
calculations[][maximum]
boolean
Привилегия с максимальной выгодой
loyalty
object (SerializedLoyalty)
loyalty[currency]
string
Валюта
loyalty[name]
string
Название программы лояльности
loyalty[chargeRate]
float
Курс при списании бонусов (в валюте объекта)
GET
/api/v5/loyalty/loyalties
Список программ лояльности
Список программ лояльности
Для доступа к методу необходимо разрешение loyalty_read.
Метод возвращает список программ лояльности
Параметры
Параметр
Тип
Формат
Описание
limit
integer
{not blank}[20|50|100]}
Количество элементов в ответе (по умолчанию равно 20)
page
integer
{not blank}{range: {>=1}}}
Номер страницы с результатами (по умолчанию равно 1)
filter
object (LoyaltyApiFilterData)
filter[ids][]
array of integers
Массив ID программ лояльности
filter[sites][]
array of strings
Магазины
filter[active]
boolean
Активна
filter[blocked]
boolean
Заблокирована
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
pagination
object (PaginationResponse)
Постраничная разбивка
pagination[limit]
integer
Количество элементов в ответе
pagination[totalCount]
integer
Общее количество найденных элементов
pagination[currentPage]
integer
Текущая страница выдачи
pagination[totalPageCount]
integer
Общее количество страниц выдачи
loyalties[]
array of objects (Loyalty)
Программа лояльности
loyalties[][levels][]
array of objects (LoyaltyLevel)
Уровни программы лояльности
loyalties[][levels][][type]
string
Тип уровня. Возможные значения: bonus_converting, bonus_percent, discount
loyalties[][levels][][id]
integer
ID уровня
loyalties[][levels][][name]
string
Название уровня
loyalties[][levels][][sum]
custom handler result for (int)
Сумма, необходимая для перехода на данный уровень (в валюте объекта)
loyalties[][levels][][privilegeSize]
float
Размер скидки, процент или курс начисления бонусов для товаров по обычной цене (в валюте объекта)
loyalties[][levels][][privilegeSizePromo]
float
Размер скидки, процент или курс начисления бонусов для акционных товаров (в валюте объекта)
POST
/api/v5/notifications/send
Отправка оповещения
Отправка оповещения
Для доступа к методу необходимо разрешение notification_write.
Метод отправляет оповещения получателям, которые указаны во взаимоисключающих друг друга полях: notification[userIds], notification[userGroups].
Через notification[userIds] можно передать массив идентификаторов существующих в системе пользователей. Все элементы массива должны быть типа integer.
На данный момент единственным допустимым значением поля notification[userGroups] может быть код группы superadmins.
В запросе должно быть заполнено только одно из полей notification[userIds] или notification[userGroups].
Поле notification[type] может принимать следующие значения: api.info - информационное, api.error - ошибка.
В поле notification[message] допускается использование HTML-кода. В целях обеспечения безопасности использования оповещений в тексте сообщения разрешены только некоторые HTML-теги: <b></b>, <i></i>, <strong></strong>, <em></em>, <br>, <span>, <div>, <p>, <a href=""></a>.
Длина сообщения не должна превышать 160 символов без учета тегов.
При использовании этого метода нужно учитывать, что по каждому пользователю есть лимит оповещений, которые он может получить за период времени с одного апи-ключа. При отправке сразу нескольким получателям используется лимит пользователя с минимальным остатком оповещений. Отправка оповещений не производится, если в списке получателей присутствует пользователь с нулевым остатком доступных оповещений. В зависимости от типа оповещения имеются два ограничения:
для оповещения с типом api.error установлен лимит в 3 сообщения от модуля для пользователя за последний час;
для оповещения с типом api.info установлен лимит в 10 оповещений от модуля для пользователя за последние 30 минут.
Информация о лимитах возвращается в заголовках ответа:
X-RateLimit-Remaining - количество доступных оповещений;
X-RateLimit-Retry-After - время, когда снова будут доступны оповещения;
В фильтрах
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] можно указать одно из трех значений:
1 - возвращает заказы, у которых есть прикрепленные файлы и вложения к письмам;
2 - возвращает заказы, у которых есть прикрепленные файлы;
3 - возвращает заказы, у которых нет прикрепленных файлов.
В фильтре filter[tasksCounts] можно указать одно из трех значений:
1 - возвращает заказы, у которых нет невыполненных задач;
2 - возвращает заказы, у которых есть какие-либо невыполненные задачи (как просроченные, так и не просроченные);
3 - возвращает только те заказы, у которых среди невыполненных задач есть просроченные.
В фильтре filter[mgChannels] указывается массив внутренних ID каналов в системе. Фильтр выбирает заказы созданные через правый виджет чатов.
Пустые поля без значений не возвращаются.
В полях orderType, orderMethod,
payments[][type], payments[][status], status, site,
delivery[code] возвращается символьный код элемента.
В полях managerId, sourceId возвращается внутренний ID сущности в системе.
В поле customFields возвращается массив значений пользовательских полей.
Для полей типа «Справочник» указывается символьный код значения
в справочнике. Для полей типа «Дата» указывается дата в формате Y-m-d.
Для других типов полей указывается непосредственно значение.
Если адрес доставки указывался в строковом виде, то он будет возвращен в
delivery[address][text]. Если адрес указывался в детальном виде,
то будут возвращены все заполненные поля доставки, а в
delivery[address][text] будет находиться автоматически
сформированное текстовое представление адреса.
Поле privilegeType может содержать одно из следующих значений:
personal_discount - персональная скидка клиента;
loyalty_level - расчет скидки или начисление бонусов исходя из настроек уровня ПЛ клиента;
loyalty_event - расчет скидки по событию ПЛ;
none - не применять скидки ПЛ к заказу;
Параметры
Параметр
Тип
Формат
Описание
limit
integer
{not blank}[20|50|100]}
Количество элементов в ответе (по умолчанию равно 20)
page
integer
{not blank}{range: {>=1}}}
Номер страницы с результатами (по умолчанию равно 1)
filter
object (OrderFilterData)
filter[ids][]
array of integers
Массив ID заказов
filter[externalIds][]
array of strings
Массив externalID заказов
filter[numbers][]
array of strings
Массив номеров заказов
filter[customerId]
integer
{range: {>=0, <=100000000000}}
Внутренний ID клиента
filter[customerExternalId]
string
{length: {max: 255}}
Внешний ID клиента
filter[customer]
string
{length: {max: 255}}
Клиент (ФИО или телефон)
filter[customerType]
string
[customer|customer_corporate]
Тип клиента
filter[email]
string
{length: {max: 255}}
E-mail
filter[managers][]
array of integers
Менеджеры
filter[managerGroups][]
array of strings
Группы менеджеров
filter[paymentStatuses][]
array of strings
Статусы оплаты
filter[orderTypes][]
array of strings
Типы заказа
filter[orderMethods][]
array of strings
Способы оформления
filter[product]
string
{length: {max: 255}}
Товар (название или артикул)
filter[extendedStatus][]
array of strings
Статус заказа
filter[statusComment]
string
{length: {max: 255}}
filter[sites][]
array of strings
Магазины
filter[vip]
boolean
Важный клиент
filter[bad]
boolean
Плохой клиент
filter[expired]
boolean
Заказ просрочен
filter[call]
boolean
Требуется позвонить
filter[online]
boolean
Клиент на сайте
filter[paymentTypes][]
array of strings
Типы оплаты
filter[deliveryStates][]
array of strings
{choice of [cancel|cancel_force|error|none|processing|success]}
Статусы оформления
filter[deliveryTypes][]
array of strings
Типы доставки
filter[deliveryServices][]
array of strings
Службы доставки
filter[countries][]
array of strings
Страны
filter[region]
string
{length: {max: 255}}
Регион
filter[city]
string
{length: {max: 255}}
Город
filter[index]
string
Почтовый индекс
filter[metro]
string
{length: {max: 255}}
Метро
filter[sourceName]
string
{length: {max: 255}}
Источник
filter[mediumName]
string
{length: {max: 255}}
Канал
filter[campaignName]
string
{length: {max: 255}}
Кампания
filter[keywordName]
string
Ключевое слово
filter[adContentName]
string
Содержание кампании
filter[managerComment]
string
{length: {max: 255}}
Комментарий менеджера
filter[customerComment]
string
{length: {max: 255}}
Комментарий клиента
filter[trackNumber]
string
{length: {max: 255}}
Номер отправления в службе доставки
filter[deliveryExternalId]
string
Идентификатор в службе доставки
filter[couriers][]
array of integers
Курьеры
filter[contragentName]
string
{length: {max: 255}}
Полное наименование
filter[contragentTypes][]
array of strings
{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[companyName]
string
{length: {max: 255}}
Компания (название)
filter[deliveryAddressNotes]
string
{length: {max: 255}}
Примечания к адресу доставки
filter[shipmentStores][]
array of strings
Склады отгрузки
filter[shipped]
boolean
Отгружен
filter[attachments]
integer
[1|2|3]
Прикрепленные объекты (вложения)
filter[receiptFiscalDocumentAttribute]
string
{length: {max: 255}}
Фискальный признак документа
filter[receiptStatus]
string
[done|fail|wait]
Статус фискализации
filter[receiptOperation]
string
[sell|sell_refund]
Операция фискализации
filter[receiptOrderStatus]
string
[done|fail|wait]
Статус полной фискализации
filter[mgChannels][]
array of integers
Каналы чатов
filter[tasksCounts]
integer
[1|2|3]
Задачи
filter[createdAtFrom]
DateTime
Y-m-d
Дата оформления заказа (от)
filter[createdAtTo]
DateTime
Y-m-d
Дата оформления заказа (до)
filter[fullPaidAtFrom]
DateTime
Y-m-d
Дата полной оплаты (от)
filter[fullPaidAtTo]
DateTime
Y-m-d
Дата полной оплаты (до)
filter[deliveryDateFrom]
DateTime
Y-m-d
Дата доставки (от)
filter[deliveryDateTo]
DateTime
Y-m-d
Дата доставки (до)
filter[statusUpdatedAtFrom]
DateTime
Y-m-d
Дата последнего изменения статуса (от)
filter[statusUpdatedAtTo]
DateTime
Y-m-d
Дата последнего изменения статуса (до)
filter[shipmentDateFrom]
DateTime
Y-m-d
Дата отгрузки (от)
filter[shipmentDateTo]
DateTime
Y-m-d
Дата отгрузки (до)
filter[firstWebVisitFrom]
DateTime
Y-m-d
Первое посещение (от)
filter[firstWebVisitTo]
DateTime
Y-m-d
Первое посещение (до)
filter[lastWebVisitFrom]
DateTime
Y-m-d
Последнее посещение (от)
filter[lastWebVisitTo]
DateTime
Y-m-d
Последнее посещение (до)
filter[firstOrderFrom]
DateTime
Y-m-d
Первый заказ (от)
filter[firstOrderTo]
DateTime
Y-m-d
Первый заказ (до)
filter[lastOrderFrom]
DateTime
Y-m-d
Последний заказ (от)
filter[lastOrderTo]
DateTime
Y-m-d
Последний заказ (до)
filter[paidAtFrom]
DateTime
Y-m-d
Дата оплаты (от)
filter[paidAtTo]
DateTime
Y-m-d
Дата оплаты (до)
filter[deliveryTimeFrom]
DateTime
HH:MM:SS
Время доставки (с)
filter[deliveryTimeTo]
DateTime
HH:MM:SS
Время доставки (до)
filter[minPrice]
integer
Стоимость заказа (от)
filter[maxPrice]
integer
Стоимость заказа (до)
filter[minCostSumm]
integer
Сумма расходов (от)
filter[maxCostSumm]
integer
Сумма расходов (до)
filter[minPrepaySumm]
integer
Оплачено (от)
filter[maxPrepaySumm]
integer
Оплачено (до)
filter[minDeliveryCost]
integer
Стоимость доставки (от)
filter[maxDeliveryCost]
integer
Стоимость доставки (до)
filter[minDeliveryNetCost]
integer
Себестоимость доставки (от)
filter[maxDeliveryNetCost]
integer
Себестоимость доставки (до)
filter[minMarginSumm]
integer
Валовая прибыль заказа (от)
filter[maxMarginSumm]
integer
Валовая прибыль заказа (до)
filter[minPurchaseSumm]
integer
Закупочная стоимость заказа (от)
filter[maxPurchaseSumm]
integer
Закупочная стоимость заказа (до)
filter[customFields]
array
Фильтр по пользовательским полям
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
pagination
object (PaginationResponse)
Постраничная разбивка
pagination[limit]
integer
Количество элементов в ответе
pagination[totalCount]
integer
Общее количество найденных элементов
pagination[currentPage]
integer
Текущая страница выдачи
pagination[totalPageCount]
integer
Общее количество страниц выдачи
orders[]
array of objects (Order)
Заказ
orders[][bonusesCreditTotal]
double
Количество начисленных бонусов
orders[][bonusesChargeTotal]
double
Количество списанных бонусов
orders[][summ]
double
Сумма по товарам (в валюте объекта)
orders[][currency]
string
Валюта
orders[][id]
integer
ID заказа
orders[][number]
string
Номер заказа
orders[][externalId]
string
Внешний ID заказа
orders[][orderType]
string
Тип заказа
orders[][orderMethod]
string
Способ оформления
orders[][privilegeType]
string
Тип привилегии. Возможные значения: none, personal_discount, loyalty_level, loyalty_event
orders[][countryIso]
string
ISO код страны (ISO 3166-1 alpha-2)
orders[][createdAt]
DateTime
Дата оформления заказа
orders[][statusUpdatedAt]
DateTime
Дата последнего изменения статуса
orders[][totalSumm]
double
Общая сумма с учетом скидки (в валюте объекта)
orders[][prepaySum]
double
Оплаченная сумма (в валюте объекта)
orders[][purchaseSumm]
double
Общая стоимость закупки (в базовой валюте)
orders[][personalDiscountPercent]
double
Персональная скидка на заказ
orders[][loyaltyLevel]
object (LoyaltyLevel)
Уровень участия в программе лояльности
orders[][loyaltyLevel][id]
integer
ID уровня
orders[][loyaltyLevel][name]
string
Название уровня
orders[][loyaltyEventDiscount]
object (LoyaltyEventDiscount)
Скидка по событию программы лояльности
orders[][loyaltyEventDiscount][id]
integer
ID
orders[][mark]
integer
Оценка заказа
orders[][markDatetime]
DateTime
Дата и время получение оценки от покупателя
orders[][lastName]
string
Фамилия
orders[][firstName]
string
Имя
orders[][patronymic]
string
Отчество
orders[][phone]
string
Телефон
orders[][additionalPhone]
string
Дополнительный телефон
orders[][email]
string
E-mail
orders[][call]
boolean
Требуется позвонить
orders[][expired]
boolean
Просрочен
orders[][customerComment]
string
Комментарий клиента
orders[][managerComment]
string
Комментарий оператора
orders[][managerId]
integer
Менеджер, прикрепленный к заказу
orders[][customer]
КлиентКорпоративный клиент
orders[][customer][type]
string
Тип клиентаТип клиента
orders[][customer][id]
integer
ID клиентаID корпоративного клиента
orders[][customer][externalId]
string
Внешний ID клиентаВнешний ID корпоративного клиента
orders[][customer][isContact]
boolean
Клиент является контактным лицом (создан как контактное лицо и на него нет оформленных заказов)
orders[][customer][createdAt]
DateTime
СозданСоздан
orders[][customer][managerId]
integer
Менеджер клиентаМенеджер корпоративного клиента
orders[][customer][vip]
boolean
Важный клиентВажный клиент
orders[][customer][bad]
boolean
Плохой клиентПлохой клиент
orders[][customer][site]
string
Магазин, с которого пришел клиентМагазин, с которого пришел клиент
orders[][customer][contragent]
object (CustomerContragent)
deprecated Реквизиты (Поля объекта следует использовать только при неактивированной функциональности "Корпоративные клиенты")
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][tags][]
array of objects (CustomerTagLink)
[массив] Теги[массив] Теги
orders[][customer][tags][][name]
string
orders[][customer][tags][][colorCode]
string
orders[][customer][tags][][attached]
boolean
orders[][customer][firstClientId]
string
Первая метка клиента Google AnalyticsПервая метка клиента Google Analytics
orders[][customer][lastClientId]
string
Последняя метка клиента Google AnalyticsПоследняя метка клиента Google Analytics
Средняя валовая прибыль по заказам клиента (в базовой валюте)
orders[][company][marginSumm]
float
LTV (в базовой валюте)
orders[][company][totalSumm]
float
Общая сумма заказов (в базовой валюте)
orders[][company][averageSumm]
float
Средняя сумма заказа (в базовой валюте)
orders[][company][costSumm]
float
Сумма расходов (в базовой валюте)
orders[][company][ordersCount]
integer
Количество заказов
orders[][company][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]
Данные службы доставки, подключенной через APIДанные курьерской службы доставкиДанные службы доставки Новая ПочтаДанные службы доставки SafeRouteДанные службы доставки Казпочта
orders[][delivery][data][externalId]
string
Идентификатор в службе доставкиdeprecated Номер отправления (Используйте trackNumber)
orders[][delivery][data][trackNumber]
string
Номер отправления (поле deprecated на запись)Номер отправленияНомер отправленияНомер отправления
orders[][delivery][data][status]
string
Код статуса доставкиКод статуса доставкиКод статуса доставкиКод статуса доставки
orders[][delivery][data][locked]
boolean
Не синхронизировать со службой доставкиНе синхронизировать со службой доставкиНе синхронизировать со службой доставкиНе синхронизировать со службой доставкиНе синхронизировать со службой доставки
orders[][delivery][data][pickuppointAddress]
string
Адрес пункта самовывоза
orders[][delivery][data][days]
string
Ориентировочный срок доставкиОриентировочный срок доставкиОриентировочный срок доставки
orders[][delivery][data][statusText]
string
Наименование статуса доставкиНаименование статуса доставкиНаименование статуса доставки
orders[][delivery][data][statusDate]
DateTime
Дата статуса доставкиДата последнего изменения статуса доставки
orders[][delivery][data][tariff]
string
Код тарифа
orders[][delivery][data][tariffName]
string
Наименование тарифа
orders[][delivery][data][pickuppointId]
string
Идентификатор пункта самовывозаИдентификатор пункта самовывозаИдентификатор пункта самовывоза
orders[][delivery][data][pickuppointSchedule]
string
Режим работы пункта самовывозаРасписание работы пункта самовывоза
orders[][delivery][data][pickuppointPhone]
string
Телефон пункта самовывоза
orders[][delivery][data][payerType]
string
Плательщик за доставкуТип плательщика
orders[][delivery][data][statusComment]
string
Комментарий к статусу доставки
orders[][delivery][data][cost]
float
Стоимость доставки, полученная из службы доставки (в валюте объекта)Стоимость доставки, полученная из службы доставки (в валюте объекта)
orders[][delivery][data][minTerm]
integer
Минимальный срок доставки
orders[][delivery][data][maxTerm]
integer
Максимальный срок доставки
orders[][delivery][data][shipmentpointId]
string
Идентификатор терминала отгрузкиИдентификатор отделения, откуда будет производится отправка
Тип скидки. Возможные значения: manual_order - Разовая скидка на заказ; manual_product - Дополнительная скидка на товар; loyalty_level - Скидка по уровню программы лояльности; loyalty_event - Скидка по событию программы лояльности; personal - Персональная скидка; bonus_charge - Списание бонусов ПЛ; round - Скидка от округления
orders[][items][][discounts][][amount]
float
Сумма скидки
orders[][items][][discountTotal]
double
Итоговая денежная скидка на единицу товара c учетом всех скидок на товар и заказ (в валюте объекта)
orders[][items][][prices][]
array of objects (OrderProductPriceItem)
Набор итоговых цен реализации с указанием количества
orders[][items][][prices][][price]
float
Итоговая цена c учетом всех скидок на товар и заказ (в валюте объекта)
orders[][items][][prices][][quantity]
float
Количество товара по заданной цене
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][displayName]
string
Название SKU
orders[][items][][offer][id]
integer
ID торгового предложения
orders[][items][][offer][externalId]
string
ID торгового предложения в магазине
orders[][items][][offer][xmlId]
string
ID торгового предложения в складской системе
orders[][items][][offer][name]
string
Название
orders[][items][][offer][article]
string
Артикул
orders[][items][][offer][vatRate]
string
Ставка НДС
orders[][items][][offer][properties][]
array
Свойства SKU
orders[][items][][offer][unit]
object (Unit)
Единица измерения
orders[][items][][offer][unit][code]
string
Символьный код
orders[][items][][offer][unit][name]
string
Название
orders[][items][][offer][unit][sym]
string
Краткое обозначение
orders[][items][][offer][barcode]
string
Штрих-код
orders[][items][][isCanceled]
boolean
Данная позиция в заказе является отменной
orders[][items][][properties][]
array
[массив] Дополнительные свойства позиции в заказе
orders[][items][][properties][][code]
string
Код свойства (не обязательное поле, код может передаваться в ключе свойства)
Для доступа к методу необходимо разрешение order_write.
Позволяет объединить заказы.
Товары заказа в параметре resultOrder будут объединены с товарами заказа order,
после чего заказ order будет безвозвратно удален.
Операция выполняется в асинхронном режиме. Успешный ответ success=true означает, что операция принята к выполнению,
но еще не завершена. Фактический результат операции можно отслеживать при помощи метода /api/v5/orders/history
по тем заказам, которые будут удалены в процессе объединения (параметр ответа history[][combinedTo]).
В параметре technique можно указать стратегию объединения в случае одинаковых товаров в составах заказов
ours использовать количество товара из текущего заказа
summ суммировать количество товара обоих заказов
theirs использовать количество товара из объединяемого заказа
Параметры
Параметр
Тип
Формат
Описание
order
object (SerializedOrderReference)
Заказ будет удален в результате объединения
order[id]
integer
{not blank}{range: {>=1, <=4294967295}}}
Внутренний ID заказа
resultOrder
object (SerializedOrderReference)
Заказ, в который произойдет объединение
resultOrder[id]
integer
{not blank}{range: {>=1, <=4294967295}}}
Внутренний ID заказа
technique
string
Способ объединения в случае одинаковых товаров в составах заказов
Для доступа к методу необходимо разрешение order_write.
Метод создает заказ и возвращает внутренний 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[statusComment] без изменения статуса заказа order[status].
Товары заказа указываются в поле order[items][]. Не переданные в запросе на редактирование товары удаляются из заказа.
Если товар присутствует в каталоге, то необходимо установить значение одного из следующих полей:
order[items][][offer][id] – внутренний ID торгового предложения;
order[items][][offer][externalId] – внешний ID товара или торгового предложения (SKU);
order[items][][offer][xmlId] – ID торгового предложения в складской системе.
Если установлено значение нескольких полей, они будут обрабатываться в указанном выше порядке.
В случае, если ни один из идентификаторов товара не передан либо
товар не найден, то товар будет автоматически создан на основе данных полей
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] следует опустить.
Порядок позиций заказа order[items][] сохраняется в ответе.
Параметры order[items][][externalId] и order[items][][externalIds] являются не обязательными.
Одновременно можно указывать или значение внешнего идентификатора order[items][][externalId] или массив внешних идентификаторов order[items][][externalIds].
Значение внешнего идентификатора order[items][][externalId] будет записано в массив order[items][][externalIds] с кодом default.
Значения внешних идентификаторов order[items][][externalIds][][value] должны быть уникальны по коду order[items][][externalIds][][code] в пределах одного заказа.
Поле privilegeType может содержать одно из следующих значений:
personal_discount - персональная скидка клиента;
loyalty_level - расчет скидки или начисление бонусов исходя из настроек уровня ПЛ клиента;
loyalty_event - расчет скидки по событию ПЛ;
none - не применять скидки ПЛ к заказу;
Для применения Программы лояльности к заказу необходимо чтобы соблюдались условия:
магазин заказа совпадал с магазином нужной ПЛ;
у клиента в заказе было создано Участие в ПЛ;
указано поле privilegeType;
Если в privilegeType указано значение loyalty_event и событие дает скидку, то необходимо указать ID в поле loyaltyEventDiscountId
Параметры
Параметр
Тип
Формат
Описание
site
string
Символьный код магазина
order
object (SerializedOrder)
order[number]
string
Номер заказа
order[externalId]
string
Внешний ID заказа
order[privilegeType]
string
Тип привилегии. Возможные значения: none, personal_discount, loyalty_level, loyalty_event
order[countryIso]
string
ISO код страны (ISO 3166-1 alpha-2)
order[createdAt]
DateTime
Y-m-d H:i:s
Дата оформления заказа
order[statusUpdatedAt]
DateTime
Y-m-d H:i:s
Дата последнего изменения статуса
order[discountManualAmount]
double
Денежная скидка на весь заказ (в валюте объекта)
order[discountManualPercent]
double
Процентная скидка на весь заказ
order[mark]
integer
Оценка заказа
order[markDatetime]
DateTime
Y-m-d H:i:s
Дата и время получение оценки от покупателя
order[lastName]
string
Фамилия
order[firstName]
string
Имя
order[patronymic]
string
Отчество
order[phone]
string
Телефон
order[additionalPhone]
string
Дополнительный телефон
order[email]
string
E-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
Y-m-d
Дата свидетельства
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
Y-m-d
Дата отгрузки
order[shipped]
boolean
Заказ отгружен
order[dialogId]
object (MGDialog)
Идентификатор диалога Чатов
order[customFields]
array
Ассоциативный массив пользовательских полей
order[orderType]
string
Тип заказа
order[orderMethod]
string
Способ оформления
order[customer]
object (SerializedRelationCustomer)
Клиент
order[customer][id]
integer
Внутренний ID клиента
order[customer][externalId]
string
Внешний ID клиента
order[customer][browserId]
string
Идентификатор устройства в Collector
order[customer][site]
string
Код магазина, необходим при передаче externalId
order[customer][type]
string
Тип клиента (передаётся когда нужно создать нового клиента)
order[customer][nickName]
string
Наименование корпоративного клиента (передаётся когда нужно создать нового корпоративного клиента)
order[contact]
object (SerializedRelationAbstractCustomer)
Контактное лицо
order[contact][id]
integer
Внутренний ID клиента
order[contact][externalId]
string
Внешний ID клиента
order[contact][browserId]
string
Идентификатор устройства в Collector
order[contact][site]
string
Код магазина, необходим при передаче externalId
order[company]
object (EntityWithExternalIdInput)
Компания
order[company][id]
integer
ID
order[company][externalId]
string
Внешний ID
order[managerId]
integer
Менеджер, прикрепленный к заказу
order[status]
string
Статус заказа
order[items][]
array of objects (SerializedOrderProduct)
order[items][][markingCodes][]
array of strings
Коды маркировки
order[items][][initialPrice]
double
Цена товара/SKU (в валюте объекта)
order[items][][discountManualAmount]
double
Денежная скидка на единицу товара (в валюте объекта)
Код свойства (не обязательное поле, код может передаваться в ключе свойства)
order[items][][properties][][name]
string
{not blank}
Имя свойства
order[items][][properties][][value]
string
{not blank}
Значение свойства
order[items][][purchasePrice]
double
Закупочная цена (в базовой валюте)
order[items][][ordering]
integer
Порядок
order[items][][offer]
object (SerializedOrderProductOffer)
Торговое предложение
order[items][][offer][id]
integer
ID торгового предложения
order[items][][offer][externalId]
string
Внешний ID торгового предложения
order[items][][offer][xmlId]
string
ID торгового предложения в складской системе
order[items][][productName]
string
Название товара
order[items][][status]
string
Статус позиции в заказе
order[items][][priceType]
object (PriceType)
Тип цены
order[items][][priceType][code]
string
Код типа цены
order[items][][externalId]
string
deprecated Внешний ID позиции в заказе
order[items][][externalIds][]
array of objects (CodeValueModel)
Внешние идентификаторы позиции в заказе
order[items][][externalIds][][code]
string
Код
order[items][][externalIds][][value]
string
Значение
order[delivery]
object (SerializedOrderDelivery)
Данные о доставке
order[delivery][code]
string
Код типа доставки
order[delivery][data]
Данные службы доставки, подключенной через APIДанные курьерской службы доставкиДанные службы доставки Новая ПочтаДанные службы доставки SafeRouteДанные службы доставки Казпочта
order[delivery][data][externalId]
string
Идентификатор в службе доставки
order[delivery][data][trackNumber]
string
Номер отправления (поле deprecated на запись)Номер отправленияНомер отправления
order[delivery][data][locked]
boolean
Не синхронизировать со службой доставкиНе синхронизировать со службой доставкиНе синхронизировать со службой доставкиНе синхронизировать со службой доставкиНе синхронизировать со службой доставки
order[delivery][data][tariff]
string
Код тарифа
order[delivery][data][pickuppointId]
string
Идентификатор пункта самовывозаИдентификатор пункта самовывозаИдентификатор пункта самовывоза
order[delivery][data][payerType]
string
Плательщик за доставкуТип плательщика
order[delivery][data][shipmentpointId]
string
Идентификатор терминала отгрузкиИдентификатор отделения, откуда будет производится отправка
order[delivery][data][extraData]
array
Дополнительные данные доставки (deliveryDataField.code => значение)
Средняя валовая прибыль по заказам клиента (в базовой валюте)
order[company][marginSumm]
float
LTV (в базовой валюте)
order[company][totalSumm]
float
Общая сумма заказов (в базовой валюте)
order[company][averageSumm]
float
Средняя сумма заказа (в базовой валюте)
order[company][costSumm]
float
Сумма расходов (в базовой валюте)
order[company][ordersCount]
integer
Количество заказов
order[company][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]
Данные службы доставки, подключенной через APIДанные курьерской службы доставкиДанные службы доставки Новая ПочтаДанные службы доставки SafeRouteДанные службы доставки Казпочта
order[delivery][data][externalId]
string
Идентификатор в службе доставкиdeprecated Номер отправления (Используйте trackNumber)
order[delivery][data][trackNumber]
string
Номер отправления (поле deprecated на запись)Номер отправленияНомер отправленияНомер отправления
order[delivery][data][status]
string
Код статуса доставкиКод статуса доставкиКод статуса доставкиКод статуса доставки
order[delivery][data][locked]
boolean
Не синхронизировать со службой доставкиНе синхронизировать со службой доставкиНе синхронизировать со службой доставкиНе синхронизировать со службой доставкиНе синхронизировать со службой доставки
order[delivery][data][pickuppointAddress]
string
Адрес пункта самовывоза
order[delivery][data][days]
string
Ориентировочный срок доставкиОриентировочный срок доставкиОриентировочный срок доставки
order[delivery][data][statusText]
string
Наименование статуса доставкиНаименование статуса доставкиНаименование статуса доставки
order[delivery][data][statusDate]
DateTime
Дата статуса доставкиДата последнего изменения статуса доставки
order[delivery][data][tariff]
string
Код тарифа
order[delivery][data][tariffName]
string
Наименование тарифа
order[delivery][data][pickuppointId]
string
Идентификатор пункта самовывозаИдентификатор пункта самовывозаИдентификатор пункта самовывоза
order[delivery][data][pickuppointSchedule]
string
Режим работы пункта самовывозаРасписание работы пункта самовывоза
order[delivery][data][pickuppointPhone]
string
Телефон пункта самовывоза
order[delivery][data][payerType]
string
Плательщик за доставкуТип плательщика
order[delivery][data][statusComment]
string
Комментарий к статусу доставки
order[delivery][data][cost]
float
Стоимость доставки, полученная из службы доставки (в валюте объекта)Стоимость доставки, полученная из службы доставки (в валюте объекта)
order[delivery][data][minTerm]
integer
Минимальный срок доставки
order[delivery][data][maxTerm]
integer
Максимальный срок доставки
order[delivery][data][shipmentpointId]
string
Идентификатор терминала отгрузкиИдентификатор отделения, откуда будет производится отправка
Тип скидки. Возможные значения: manual_order - Разовая скидка на заказ; manual_product - Дополнительная скидка на товар; loyalty_level - Скидка по уровню программы лояльности; loyalty_event - Скидка по событию программы лояльности; personal - Персональная скидка; bonus_charge - Списание бонусов ПЛ; round - Скидка от округления
order[items][][discounts][][amount]
float
Сумма скидки
order[items][][discountTotal]
double
Итоговая денежная скидка на единицу товара c учетом всех скидок на товар и заказ (в валюте объекта)
order[items][][prices][]
array of objects (OrderProductPriceItem)
Набор итоговых цен реализации с указанием количества
order[items][][prices][][price]
float
Итоговая цена c учетом всех скидок на товар и заказ (в валюте объекта)
POST
/api/v5/orders/fix-external-ids
Массовая запись внешних ID заказов
Массовая запись внешних ID заказов
Для доступа к методу необходимо разрешение order_write.
Данный метод полезен в случае обратной синхронизации заказов, которые исходно оформлены в системе.
Рекомендуется реализовывать следующей сценарий обратной синхронизации заказов между интернет-магазином и системой.
Интернет-магазин периодически опрашивает метод /api/v*/orders/history.
На основе получаемых данных магазин применяет изменения к существующим заказам, а также создает новые заказы,
исходно оформленные в системе. При создании заказов в магазине формируются собственные ID заказов
(externalId заказов в нотации системы). Сразу после создания заказов интернет-магазин вызывает
метод /api/v*/orders/fix-external-ids, сохраняя в системе
собственные ID заказов.
GET
/api/v5/orders/history
Получение истории изменений заказов
Получение истории изменений заказов
Для доступа к методу необходимо разрешение order_read.
Возвращает изменения в заказах, произведенные в указанный диапазон дат
(используя фильтры filter[startDate] и filter[endDate]),
либо инкрементальные изменения (используя filter[sinceId]).
При реализации постоянной трансляции изменений во внешнюю систему рекомендуется использовать подход
с забором инкрементальных изменений через filter[sinceId] передавая id последней полученной записи истории.
Для записей создания и удаления заказа и товара в заказе возвращается полный набор полей в соответствующих
ключах order или item.
Добавление товара в заказ отражается записью истории с fieldName равным order_product,
при этом полная информация о товаре в заказе доступна в контексте item, а в newValue указываются только
поля-идентификаторы.
Результат возвращается постранично. В поле pagination содержится информация о постраничной разбивке.
Для постраничного перебора записей истории необходимо использовать filter[sinceId]. Параметр page использовать не рекомендуется.
Количество элементов в ответе (по умолчанию равно 20)
page
integer
{not blank}{range: {>=1}}}
Номер страницы с результатами (по умолчанию равно 1)
filter
object (OrderHistoryFilterV4Type)
filter[orderId]
integer
{range: {>=0, <=4294967295}}{not blank}}
ID заказа
filter[sinceId]
integer
{range: {>=0, <=4294967295}}{not blank}}
Начиная с ID истории заказов
filter[orderExternalId]
string
{length: {max: 255}}
Внешний ID заказа
filter[startDate]
DateTime
Y-m-d H:i:s
Дата/время изменения (от)
filter[endDate]
DateTime
Y-m-d H:i:s
Дата/время изменения (до)
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
generatedAt
DateTime
Время формирования ответа
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]
integer
ID пользователя
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[][apiKey][id]
integer
ID API-ключа
history[][order]
object (Order)
Заказ
history[][order][id]
integer
ID заказа
history[][order][externalId]
string
Внешний ID заказа
history[][order][managerId]
integer
Менеджер, прикрепленный к заказу
history[][order][site]
string
Магазин
history[][order][status]
string
Статус заказа
history[][ancestor]
object (Order)
Информация о заказе из которого был создан текущий заказ
history[][item]
object (OrderProduct)
Позиция в заказе
history[][item][externalId]
string
deprecated Внешний ID позиции в заказе
history[][item][id]
integer
ID позиции в заказе
history[][item][externalIds][]
array of objects (CodeValueModel)
Внешние идентификаторы позиции в заказе
history[][item][externalIds][][code]
string
Код
history[][item][externalIds][][value]
string
Значение
history[][item][discounts][]
array of objects (AbstractDiscount)
Массив скидок
history[][item][discounts][][type]
string
Тип скидки. Возможные значения: manual_order - Разовая скидка на заказ; manual_product - Дополнительная скидка на товар; loyalty_level - Скидка по уровню программы лояльности; loyalty_event - Скидка по событию программы лояльности; personal - Персональная скидка; bonus_charge - Списание бонусов ПЛ; round - Скидка от округления
history[][item][discounts][][amount]
float
Сумма скидки
history[][item][offer]
object (Offer)
Торговое предложение
history[][item][offer][id]
integer
ID торгового предложения
history[][item][offer][externalId]
string
ID торгового предложения в магазине
history[][item][offer][xmlId]
string
ID торгового предложения в складской системе
history[][item][offer][properties][]
array of strings
Свойства SKU
history[][item][ordering]
integer
Порядок
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)
Информация о заказе который получился после объединения с текущим заказом
POST
/api/v5/orders/loyalty/apply
Применение бонусов по программе лояльности
Применение бонусов по программе лояльности
Для доступа к методу необходимо разрешение order_write.
Метод применения бонусов по программе лояльности. Если включена настройка бонусного счета программы
лояльности "Подтверждать списание по СМС", то необходимо, чтобы в участии программы лояльности был
указан номер телефона. На него будет выслано смс сообщение с подтверждением списания бонусов.
Списание будет произведено только после подтверждения списания кодом из смс.
Для повторной отправки смс следует вызвать этот метод еще раз с актуальными параметрами.
Повторная отправка доступна через 60 секунд. Срок жизни кода из смс - 5 минут.
В случае, если отправка смс для подтверждения списания бонусов не требуется, бонусы будут списаны,
и в ответе вернется объект SerializedLoyaltyOrder. В случае подтверждения по
смс будет возвращен объект SmsVerification.
Параметры
Параметр
Тип
Формат
Описание
site
string
Символьный код магазина
order
object (SerializedEntityOrder)
Заказ
order[id]
integer
Внутренний ID заказа
order[externalId]
string
Внешний ID заказа
order[number]
string
Номер заказа
order[applyRound]
boolean
Применять настройку округления стоимости заказа
bonuses
float
Количество бонусов для списания
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
order
object (SerializedLoyaltyOrder)
order[bonusesCreditTotal]
double
Количество начисленных бонусов
order[bonusesChargeTotal]
double
Количество списанных бонусов
order[currency]
string
Валюта
order[privilegeType]
string
Тип привилегии. Возможные значения: none, personal_discount, loyalty_level, loyalty_event
order[totalSumm]
double
Общая сумма с учетом скидки (в валюте объекта)
order[personalDiscountPercent]
double
Персональная скидка на заказ
order[loyaltyAccount]
object (LoyaltyAccount)
Участие в программе лояльности
order[loyaltyAccount][id]
integer
ID участия
order[loyaltyAccount][amount]
float
Количество активных бонусов
order[loyaltyLevel]
object (LoyaltyLevel)
Уровень участия в программе лояльности
order[loyaltyLevel][id]
integer
ID уровня
order[loyaltyLevel][name]
string
Название уровня
order[loyaltyEventDiscount]
object (LoyaltyEventDiscount)
Скидка по событию программы лояльности
order[loyaltyEventDiscount][id]
integer
ID
order[customer]
object (Customer)
Клиент
order[customer][id]
integer
ID клиента
order[customer][externalId]
string
Внешний ID клиента
order[customer][personalDiscount]
double
Персональная скидка
order[delivery]
object (SerializedOrderDelivery)
Данные о доставке
order[delivery][cost]
double
Стоимость доставки
order[site]
string
Магазин
order[items][]
array of objects (OrderProduct)
Позиция в заказе
order[items][][bonusesChargeTotal]
double
Количество списанных бонусов
order[items][][bonusesCreditTotal]
double
Количество начисленных бонусов
order[items][][id]
integer
ID позиции в заказе
order[items][][externalIds][]
array of objects (CodeValueModel)
Внешние идентификаторы позиции в заказе
order[items][][externalIds][][code]
string
Код
order[items][][externalIds][][value]
string
Значение
order[items][][priceType]
object (PriceType)
Тип цены
order[items][][priceType][code]
string
Код типа цены
order[items][][initialPrice]
double
Цена товара/SKU (в валюте объекта)
order[items][][discounts][]
array of objects (AbstractDiscount)
Массив скидок
order[items][][discounts][][type]
string
Тип скидки. Возможные значения: manual_order - Разовая скидка на заказ; manual_product - Дополнительная скидка на товар; loyalty_level - Скидка по уровню программы лояльности; loyalty_event - Скидка по событию программы лояльности; personal - Персональная скидка; bonus_charge - Списание бонусов ПЛ; round - Скидка от округления
order[items][][discounts][][amount]
float
Сумма скидки
order[items][][discountTotal]
double
Итоговая денежная скидка на единицу товара c учетом всех скидок на товар и заказ (в валюте объекта)
order[items][][prices][]
array of objects (OrderProductPriceItem)
Набор итоговых цен реализации с указанием количества
order[items][][prices][][price]
float
Итоговая цена c учетом всех скидок на товар и заказ (в валюте объекта)
order[items][][prices][][quantity]
float
Количество товара по заданной цене
order[items][][vatRate]
string
Ставка НДС
order[items][][quantity]
float
Количество
order[items][][offer]
object (Offer)
Торговое предложение
order[items][][offer][id]
integer
ID торгового предложения
order[items][][offer][externalId]
string
ID торгового предложения в магазине
order[items][][offer][xmlId]
string
ID торгового предложения в складской системе
verification
object (SmsVerification)
SMS-верификация
verification[createdAt]
DateTime
Дата создания (Y-m-d H:i:s)
verification[expiredAt]
DateTime
Дата окончания срока жизни (Y-m-d H:i:s)
verification[verifiedAt]
DateTime
Дата успешной верификации (Y-m-d H:i:s)
verification[checkId]
string
Идентификатор проверки кода
verification[actionType]
string
Тип действия
POST
/api/v5/orders/loyalty/cancel-bonus-operations
Отмена бонусных операций по программе лояльности
Отмена бонусных операций по программе лояльности
Для доступа к методу необходимо разрешение order_write.
Метод отменяет совершенные действия с бонусами в заказе.
При отмене клиенту вернутся списанные в заказе бонусы и спишутся начисленные.
Если в заказе есть только списание или только начисление бонусов, то будет произведена отмена только совершенной операции.
Параметры
Параметр
Тип
Формат
Описание
site
string
Символьный код магазина
order
object (SerializedEntityOrder)
Заказ
order[id]
integer
Внутренний ID заказа
order[externalId]
string
Внешний ID заказа
order[number]
string
Номер заказа
order[applyRound]
boolean
Применять настройку округления стоимости заказа
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
order
object (Order)
Заказ
order[bonusesCreditTotal]
double
Количество начисленных бонусов
order[bonusesChargeTotal]
double
Количество списанных бонусов
order[currency]
string
Валюта
order[privilegeType]
string
Тип привилегии. Возможные значения: none, personal_discount, loyalty_level, loyalty_event
order[totalSumm]
double
Общая сумма с учетом скидки (в валюте объекта)
order[personalDiscountPercent]
double
Персональная скидка на заказ
order[loyaltyAccount]
object (LoyaltyAccount)
Участие в программе лояльности
order[loyaltyAccount][id]
integer
ID участия
order[loyaltyAccount][amount]
float
Количество активных бонусов
order[loyaltyLevel]
object (LoyaltyLevel)
Уровень участия в программе лояльности
order[loyaltyLevel][id]
integer
ID уровня
order[loyaltyLevel][name]
string
Название уровня
order[loyaltyEventDiscount]
object (LoyaltyEventDiscount)
Скидка по событию программы лояльности
order[loyaltyEventDiscount][id]
integer
ID
order[delivery]
object (SerializedOrderDelivery)
Данные о доставке
order[delivery][cost]
double
Стоимость доставки
order[site]
string
Магазин
order[items][]
array of objects (OrderProduct)
Позиция в заказе
order[items][][bonusesChargeTotal]
double
Количество списанных бонусов
order[items][][bonusesCreditTotal]
double
Количество начисленных бонусов
order[items][][id]
integer
ID позиции в заказе
order[items][][externalIds][]
array of objects (CodeValueModel)
Внешние идентификаторы позиции в заказе
order[items][][externalIds][][code]
string
Код
order[items][][externalIds][][value]
string
Значение
order[items][][priceType]
object (PriceType)
Тип цены
order[items][][priceType][code]
string
Код типа цены
order[items][][initialPrice]
double
Цена товара/SKU (в валюте объекта)
order[items][][discounts][]
array of objects (AbstractDiscount)
Массив скидок
order[items][][discounts][][type]
string
Тип скидки. Возможные значения: manual_order - Разовая скидка на заказ; manual_product - Дополнительная скидка на товар; loyalty_level - Скидка по уровню программы лояльности; loyalty_event - Скидка по событию программы лояльности; personal - Персональная скидка; bonus_charge - Списание бонусов ПЛ; round - Скидка от округления
order[items][][discounts][][amount]
float
Сумма скидки
order[items][][discountTotal]
double
Итоговая денежная скидка на единицу товара c учетом всех скидок на товар и заказ (в валюте объекта)
order[items][][prices][]
array of objects (OrderProductPriceItem)
Набор итоговых цен реализации с указанием количества
order[items][][prices][][price]
float
Итоговая цена c учетом всех скидок на товар и заказ (в валюте объекта)
order[items][][prices][][quantity]
float
Количество товара по заданной цене
order[items][][vatRate]
string
Ставка НДС
order[items][][quantity]
float
Количество
order[items][][offer]
object (Offer)
Торговое предложение
order[items][][offer][id]
integer
ID торгового предложения
order[items][][offer][externalId]
string
ID торгового предложения в магазине
order[items][][offer][xmlId]
string
ID торгового предложения в складской системе
POST
/api/v5/orders/payments/create
Добавление платежа
Добавление платежа
Для доступа к методу необходимо разрешение order_write.
Метод добавляет платеж к заказу и возвращает внутренний ID созданного платежа.
Указать к какому заказу должен быть привязан платёж, необходимо
установив значения одного из следующих полей:
POST
/api/v5/orders/payments/{id}/edit
Редактирование платежа
Редактирование платежа
Для доступа к методу необходимо разрешение order_write.
Метод позволяет вносить изменения в платёж.
Изменение payment[externalId] доступно только при обращении
к платежу по id (by=id), в противном случае
(by=externalId) переданное значение будет проигнорировано.
Параметры
Параметр
Тип
Формат
Описание
by
string
Указывается, что передается в параметре id: внутренний (by=id) или внешний (by=externalId) ID платежа. По умолчанию id.
site
string
Символьный код магазина. Указывается в случае обращения к платежу по externalId (by=externalId)
GET
/api/v5/orders/statuses
Получение списка статусов заказов
Получение списка статусов заказов
Для доступа к методу необходимо разрешение order_read.
Возвращает статусы (и группы статусов) для заказов, id или externalId
которых указаны в параметрах запроса ids[] и externalIds[].
Можно указывать суммарно до 500 идентификаторов. Если указаны и ids[], и externalIds[],
то производится поиск заказов по всем указанным идентификаторам.
Код свойства (не обязательное поле, код может передаваться в ключе свойства)
orders[][items][][properties][][name]
string
{not blank}
Имя свойства
orders[][items][][properties][][value]
string
{not blank}
Значение свойства
orders[][items][][purchasePrice]
double
Закупочная цена (в базовой валюте)
orders[][items][][ordering]
integer
Порядок
orders[][items][][offer]
object (SerializedOrderProductOffer)
Торговое предложение
orders[][items][][offer][id]
integer
ID торгового предложения
orders[][items][][offer][externalId]
string
Внешний ID торгового предложения
orders[][items][][offer][xmlId]
string
ID торгового предложения в складской системе
orders[][items][][productName]
string
Название товара
orders[][items][][status]
string
Статус позиции в заказе
orders[][items][][priceType]
object (PriceType)
Тип цены
orders[][items][][priceType][code]
string
Код типа цены
orders[][items][][externalId]
string
deprecated Внешний ID позиции в заказе
orders[][items][][externalIds][]
array of objects (CodeValueModel)
Внешние идентификаторы позиции в заказе
orders[][items][][externalIds][][code]
string
Код
orders[][items][][externalIds][][value]
string
Значение
orders[][delivery]
object (SerializedOrderDelivery)
Данные о доставке
orders[][delivery][code]
string
Код типа доставки
orders[][delivery][data]
Данные службы доставки, подключенной через APIДанные курьерской службы доставкиДанные службы доставки Новая ПочтаДанные службы доставки SafeRouteДанные службы доставки Казпочта
orders[][delivery][data][externalId]
string
Идентификатор в службе доставки
orders[][delivery][data][trackNumber]
string
Номер отправления (поле deprecated на запись)Номер отправленияНомер отправления
orders[][delivery][data][locked]
boolean
Не синхронизировать со службой доставкиНе синхронизировать со службой доставкиНе синхронизировать со службой доставкиНе синхронизировать со службой доставкиНе синхронизировать со службой доставки
orders[][delivery][data][tariff]
string
Код тарифа
orders[][delivery][data][pickuppointId]
string
Идентификатор пункта самовывозаИдентификатор пункта самовывозаИдентификатор пункта самовывоза
orders[][delivery][data][payerType]
string
Плательщик за доставкуТип плательщика
orders[][delivery][data][shipmentpointId]
string
Идентификатор терминала отгрузкиИдентификатор отделения, откуда будет производится отправка
orders[][delivery][data][extraData]
array
Дополнительные данные доставки (deliveryDataField.code => значение)
Средняя валовая прибыль по заказам клиента (в базовой валюте)
orders[][company][marginSumm]
float
LTV (в базовой валюте)
orders[][company][totalSumm]
float
Общая сумма заказов (в базовой валюте)
orders[][company][averageSumm]
float
Средняя сумма заказа (в базовой валюте)
orders[][company][costSumm]
float
Сумма расходов (в базовой валюте)
orders[][company][ordersCount]
integer
Количество заказов
orders[][company][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]
Данные службы доставки, подключенной через APIДанные курьерской службы доставкиДанные службы доставки Новая ПочтаДанные службы доставки SafeRouteДанные службы доставки Казпочта
orders[][delivery][data][externalId]
string
Идентификатор в службе доставкиdeprecated Номер отправления (Используйте trackNumber)
orders[][delivery][data][trackNumber]
string
Номер отправления (поле deprecated на запись)Номер отправленияНомер отправленияНомер отправления
orders[][delivery][data][status]
string
Код статуса доставкиКод статуса доставкиКод статуса доставкиКод статуса доставки
orders[][delivery][data][locked]
boolean
Не синхронизировать со службой доставкиНе синхронизировать со службой доставкиНе синхронизировать со службой доставкиНе синхронизировать со службой доставкиНе синхронизировать со службой доставки
orders[][delivery][data][pickuppointAddress]
string
Адрес пункта самовывоза
orders[][delivery][data][days]
string
Ориентировочный срок доставкиОриентировочный срок доставкиОриентировочный срок доставки
orders[][delivery][data][statusText]
string
Наименование статуса доставкиНаименование статуса доставкиНаименование статуса доставки
orders[][delivery][data][statusDate]
DateTime
Дата статуса доставкиДата последнего изменения статуса доставки
orders[][delivery][data][tariff]
string
Код тарифа
orders[][delivery][data][tariffName]
string
Наименование тарифа
orders[][delivery][data][pickuppointId]
string
Идентификатор пункта самовывозаИдентификатор пункта самовывозаИдентификатор пункта самовывоза
orders[][delivery][data][pickuppointSchedule]
string
Режим работы пункта самовывозаРасписание работы пункта самовывоза
orders[][delivery][data][pickuppointPhone]
string
Телефон пункта самовывоза
orders[][delivery][data][payerType]
string
Плательщик за доставкуТип плательщика
orders[][delivery][data][statusComment]
string
Комментарий к статусу доставки
orders[][delivery][data][cost]
float
Стоимость доставки, полученная из службы доставки (в валюте объекта)Стоимость доставки, полученная из службы доставки (в валюте объекта)
orders[][delivery][data][minTerm]
integer
Минимальный срок доставки
orders[][delivery][data][maxTerm]
integer
Максимальный срок доставки
orders[][delivery][data][shipmentpointId]
string
Идентификатор терминала отгрузкиИдентификатор отделения, откуда будет производится отправка
Тип скидки. Возможные значения: manual_order - Разовая скидка на заказ; manual_product - Дополнительная скидка на товар; loyalty_level - Скидка по уровню программы лояльности; loyalty_event - Скидка по событию программы лояльности; personal - Персональная скидка; bonus_charge - Списание бонусов ПЛ; round - Скидка от округления
orders[][items][][discounts][][amount]
float
Сумма скидки
orders[][items][][discountTotal]
double
Итоговая денежная скидка на единицу товара c учетом всех скидок на товар и заказ (в валюте объекта)
orders[][items][][prices][]
array of objects (OrderProductPriceItem)
Набор итоговых цен реализации с указанием количества
orders[][items][][prices][][price]
float
Итоговая цена c учетом всех скидок на товар и заказ (в валюте объекта)
Во время загрузки возникли ошибки. Часть заказов не загружена (в ответе также присутствует массив ошибок "errors")
GET
/api/v5/orders/{externalId}
Получение информации о заказе
Получение информации о заказе
Для доступа к методу необходимо разрешение order_read.
Метод возвращает полную информацию по заказу. Можно обращаться к заказу как по внешнему 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] будет находиться автоматически
сформированное текстовое представление адреса.
Поле privilegeType может содержать одно из следующих значений:
personal_discount - персональная скидка клиента;
loyalty_level - расчет скидки или начисление бонусов исходя из настроек уровня ПЛ клиента;
loyalty_event - расчет скидки по событию ПЛ;
none - не применять скидки ПЛ к заказу;
Параметры
Параметр
Тип
Формат
Описание
externalId
string
ID заказа
Параметры для фильтрации
Параметр
Описание
by
Шаблон
id|externalId
Значение по умолчанию
externalId
Описание
Указывается, что передается в параметре externalId: внутренний (by=id) или внешний (by=externalId) ID заказа. По умолчанию externalId.
site
Описание
Символьный код магазина
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
order
object (Order)
Заказ
order[bonusesCreditTotal]
double
Количество начисленных бонусов
order[bonusesChargeTotal]
double
Количество списанных бонусов
order[summ]
double
Сумма по товарам (в валюте объекта)
order[currency]
string
Валюта
order[id]
integer
ID заказа
order[number]
string
Номер заказа
order[externalId]
string
Внешний ID заказа
order[orderType]
string
Тип заказа
order[orderMethod]
string
Способ оформления
order[privilegeType]
string
Тип привилегии. Возможные значения: none, personal_discount, loyalty_level, loyalty_event
order[countryIso]
string
ISO код страны (ISO 3166-1 alpha-2)
order[createdAt]
DateTime
Дата оформления заказа
order[statusUpdatedAt]
DateTime
Дата последнего изменения статуса
order[totalSumm]
double
Общая сумма с учетом скидки (в валюте объекта)
order[prepaySum]
double
Оплаченная сумма (в валюте объекта)
order[purchaseSumm]
double
Общая стоимость закупки (в базовой валюте)
order[personalDiscountPercent]
double
Персональная скидка на заказ
order[loyaltyLevel]
object (LoyaltyLevel)
Уровень участия в программе лояльности
order[loyaltyLevel][id]
integer
ID уровня
order[loyaltyLevel][name]
string
Название уровня
order[loyaltyEventDiscount]
object (LoyaltyEventDiscount)
Скидка по событию программы лояльности
order[loyaltyEventDiscount][id]
integer
ID
order[mark]
integer
Оценка заказа
order[markDatetime]
DateTime
Дата и время получение оценки от покупателя
order[lastName]
string
Фамилия
order[firstName]
string
Имя
order[patronymic]
string
Отчество
order[phone]
string
Телефон
order[additionalPhone]
string
Дополнительный телефон
order[email]
string
E-mail
order[call]
boolean
Требуется позвонить
order[expired]
boolean
Просрочен
order[customerComment]
string
Комментарий клиента
order[managerComment]
string
Комментарий оператора
order[managerId]
integer
Менеджер, прикрепленный к заказу
order[customer]
КлиентКорпоративный клиент
order[customer][type]
string
Тип клиентаТип клиента
order[customer][id]
integer
ID клиентаID корпоративного клиента
order[customer][externalId]
string
Внешний ID клиентаВнешний ID корпоративного клиента
order[customer][isContact]
boolean
Клиент является контактным лицом (создан как контактное лицо и на него нет оформленных заказов)
order[customer][createdAt]
DateTime
СозданСоздан
order[customer][managerId]
integer
Менеджер клиентаМенеджер корпоративного клиента
order[customer][vip]
boolean
Важный клиентВажный клиент
order[customer][bad]
boolean
Плохой клиентПлохой клиент
order[customer][site]
string
Магазин, с которого пришел клиентМагазин, с которого пришел клиент
order[customer][contragent]
object (CustomerContragent)
deprecated Реквизиты (Поля объекта следует использовать только при неактивированной функциональности "Корпоративные клиенты")
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][tags][]
array of objects (CustomerTagLink)
[массив] Теги[массив] Теги
order[customer][tags][][name]
string
order[customer][tags][][colorCode]
string
order[customer][tags][][attached]
boolean
order[customer][firstClientId]
string
Первая метка клиента Google AnalyticsПервая метка клиента Google Analytics
order[customer][lastClientId]
string
Последняя метка клиента Google AnalyticsПоследняя метка клиента Google Analytics
Средняя валовая прибыль по заказам клиента (в базовой валюте)
order[company][marginSumm]
float
LTV (в базовой валюте)
order[company][totalSumm]
float
Общая сумма заказов (в базовой валюте)
order[company][averageSumm]
float
Средняя сумма заказа (в базовой валюте)
order[company][costSumm]
float
Сумма расходов (в базовой валюте)
order[company][ordersCount]
integer
Количество заказов
order[company][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]
Данные службы доставки, подключенной через APIДанные курьерской службы доставкиДанные службы доставки Новая ПочтаДанные службы доставки SafeRouteДанные службы доставки Казпочта
order[delivery][data][externalId]
string
Идентификатор в службе доставкиdeprecated Номер отправления (Используйте trackNumber)
order[delivery][data][trackNumber]
string
Номер отправления (поле deprecated на запись)Номер отправленияНомер отправленияНомер отправления
order[delivery][data][status]
string
Код статуса доставкиКод статуса доставкиКод статуса доставкиКод статуса доставки
order[delivery][data][locked]
boolean
Не синхронизировать со службой доставкиНе синхронизировать со службой доставкиНе синхронизировать со службой доставкиНе синхронизировать со службой доставкиНе синхронизировать со службой доставки
order[delivery][data][pickuppointAddress]
string
Адрес пункта самовывоза
order[delivery][data][days]
string
Ориентировочный срок доставкиОриентировочный срок доставкиОриентировочный срок доставки
order[delivery][data][statusText]
string
Наименование статуса доставкиНаименование статуса доставкиНаименование статуса доставки
order[delivery][data][statusDate]
DateTime
Дата статуса доставкиДата последнего изменения статуса доставки
order[delivery][data][tariff]
string
Код тарифа
order[delivery][data][tariffName]
string
Наименование тарифа
order[delivery][data][pickuppointId]
string
Идентификатор пункта самовывозаИдентификатор пункта самовывозаИдентификатор пункта самовывоза
order[delivery][data][pickuppointSchedule]
string
Режим работы пункта самовывозаРасписание работы пункта самовывоза
order[delivery][data][pickuppointPhone]
string
Телефон пункта самовывоза
order[delivery][data][payerType]
string
Плательщик за доставкуТип плательщика
order[delivery][data][statusComment]
string
Комментарий к статусу доставки
order[delivery][data][cost]
float
Стоимость доставки, полученная из службы доставки (в валюте объекта)Стоимость доставки, полученная из службы доставки (в валюте объекта)
order[delivery][data][minTerm]
integer
Минимальный срок доставки
order[delivery][data][maxTerm]
integer
Максимальный срок доставки
order[delivery][data][shipmentpointId]
string
Идентификатор терминала отгрузкиИдентификатор отделения, откуда будет производится отправка
Тип скидки. Возможные значения: manual_order - Разовая скидка на заказ; manual_product - Дополнительная скидка на товар; loyalty_level - Скидка по уровню программы лояльности; loyalty_event - Скидка по событию программы лояльности; personal - Персональная скидка; bonus_charge - Списание бонусов ПЛ; round - Скидка от округления
order[items][][discounts][][amount]
float
Сумма скидки
order[items][][discountTotal]
double
Итоговая денежная скидка на единицу товара c учетом всех скидок на товар и заказ (в валюте объекта)
order[items][][prices][]
array of objects (OrderProductPriceItem)
Набор итоговых цен реализации с указанием количества
order[items][][prices][][price]
float
Итоговая цена c учетом всех скидок на товар и заказ (в валюте объекта)
order[items][][prices][][quantity]
float
Количество товара по заданной цене
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][displayName]
string
Название SKU
order[items][][offer][id]
integer
ID торгового предложения
order[items][][offer][externalId]
string
ID торгового предложения в магазине
order[items][][offer][xmlId]
string
ID торгового предложения в складской системе
order[items][][offer][name]
string
Название
order[items][][offer][article]
string
Артикул
order[items][][offer][vatRate]
string
Ставка НДС
order[items][][offer][properties][]
array
Свойства SKU
order[items][][offer][unit]
object (Unit)
Единица измерения
order[items][][offer][unit][code]
string
Символьный код
order[items][][offer][unit][name]
string
Название
order[items][][offer][unit][sym]
string
Краткое обозначение
order[items][][offer][barcode]
string
Штрих-код
order[items][][isCanceled]
boolean
Данная позиция в заказе является отменной
order[items][][properties][]
array
[массив] Дополнительные свойства позиции в заказе
order[items][][properties][][code]
string
Код свойства (не обязательное поле, код может передаваться в ключе свойства)
POST
/api/v5/orders/{externalId}/delivery/cancel
Отмена интеграционной доставки
Отмена интеграционной доставки
Для доступа к методу необходимо разрешение order_write.
Метод позволяет отменить интеграционную доставку у конкретного заказа.
Если в заказе нет интеграционной доставки, либо она есть, но уже отменена, либо по какой-то причине
не может быть отменена - вернётся ошибка.
Примечание к параметру force: если значение true, то при возникновении
ошибки, при попытке отмены доставки в сервисе доставки, помечаем доставку как удалённую в нашей системе.
Если false, то статус доставки не перейдет в статус отмены, а также вернётся сообщение
об ошибке почему не удалось отменить доставку в сервисе доставки.
Параметры
Параметр
Тип
Формат
Описание
by
string
Поле для идентификации заказа, в котором нужно отменить доставку. Возможные значения id, externalId. По умолчанию externalId.
force
boolean
Если значение true - доставка будет помечена как отменённая, даже если не удалось её отменить в стороннем сервисе. Если false, то в случае ошибки от сервера службы доставки - отмена прерывается.
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
POST
/api/v5/orders/{externalId}/edit
Редактирование заказа
Редактирование заказа
Для доступа к методу необходимо разрешение order_write.
Метод позволяет вносить изменения в заказ. Можно обращаться к заказу как по внешнему ID заказа (by=externalId), так и по внутреннему ID (by=id).
В случае, если производится попытка отредактировать удаленный заказ,
система возвращает в ответе 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[statusComment] без изменения статуса заказа order[status].
Товары заказа указываются в поле order[items][]. Не переданные в запросе на редактирование товары удаляются из заказа.
Если товар присутствует в каталоге, то необходимо установить значение одного из следующих полей:
order[items][][offer][id] – внутренний ID торгового предложения;
order[items][][offer][externalId] – внешний ID товара или торгового предложения (SKU);
order[items][][offer][xmlId] – ID торгового предложения в складской системе.
Если установлено значение нескольких полей, они будут обрабатываться в указанном выше порядке.
В случае, если ни один из идентификаторов товара не передан либо
товар не найден, то товар будет автоматически создан на основе данных полей
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] следует опустить.
Порядок позиций заказа order[items][] сохраняется в ответе.
Параметры order[items][][externalId] и order[items][][externalIds] являются не обязательными.
Одновременно можно указывать или значение внешнего идентификатора order[items][][externalId] или массив внешних идентификаторов order[items][][externalIds].
Значение внешнего идентификатора order[items][][externalId] будет записано в массив order[items][][externalIds] с кодом default.
Значения внешних идентификаторов order[items][][externalIds][][value] должны быть уникальны по коду order[items][][externalIds][][code] в пределах одного заказа.
Поле privilegeType может содержать одно из следующих значений:
personal_discount - персональная скидка клиента;
loyalty_level - расчет скидки или начисление бонусов исходя из настроек уровня ПЛ клиента;
loyalty_event - расчет скидки по событию ПЛ;
none - не применять скидки ПЛ к заказу;
Для применения Программы лояльности к заказу необходимо чтобы соблюдались условия:
магазин заказа совпадал с магазином нужной ПЛ;
у клиента в заказе было создано Участие в ПЛ;
указано поле privilegeType;
Если в privilegeType указано значение loyalty_event и событие дает скидку, то необходимо указать ID в поле loyaltyEventDiscountId
Если в заказе есть позиции с одинаковыми торговыми предложениями, то для их редактирования требуется передавать идентификаторы (order[items][][id] или order[items][][externalId] или order[items][][externalIds]).
При редактировании позиции через идентификаторы (order[items][][id] или order[items][][externalId] или order[items][][externalIds]) нельзя изменять торговое предложение order[items][][offer].
При редактировании заказа обновление позиций происходит в следующей последовательности:
Если в запросе API указан идентификатор позиции order[items][][id], но он не существует в системе, то будет выдано соответствующее сообщение об ошибке.
Если в запросе API указан идентификатор позиции order[items][][id], который существует в системе, но относится к другому заказу, то будет выдано соответствующее сообщение об ошибке.
Если в запросе API указан идентификатор позиции order[items][][id], который существует в системе и относится к редактируемому заказу, то будет произведено обновление позиции.
Если в запросе API НЕ указан идентификатор позиции order[items][][id], но указан внешний идентификатор позиции order[items][][externalId], который существует в системе и относится к редактируемому заказу, то будет произведено обновление позиции.
Если в запросе API НЕ указан идентификатор позиции order[items][][id], но указан внешний идентификатор позиции order[items][][externalId], который НЕ существует в системе, то будет добавлена новая позиция.
Если в запросе API НЕ указаны идентификаторы позиции (order[items][][id] и order[items][][externalId]), но или в заказе или в запросе API есть позиции с одинаковыми торговыми предложениями, то будет выдано соответствующее сообщение об ошибке.
Если ни в заказе ни в запросе API нет позиций с одинаковыми торговыми предложениями, то для обновления позиции будет произведен поиск по идентификатору торгового предложения order[items][][offer][id], по внешнему идентификатору торгового предложения order[items][][offer][externalId], по идентификатору торгового предложения в складской системе order[items][][offer][xmlId], иначе будет добавлена новая позиция.
Обратите внимание, что редактировать заказ, у которого есть позиции с одинаковыми торговыми предложениями, будет возможно только при активной настройке "Возможность добавлять в заказ одинаковые торговые предложения как разные позиции".
Параметры
Параметр
Тип
Формат
Описание
by
string
Указывается, что передается в параметре externalId: внутренний (by=id) или внешний (by=externalId) ID заказа. По умолчанию externalId.
site
string
Символьный код магазина
order
object (SerializedOrder)
order[number]
string
Номер заказа
order[externalId]
string
Внешний ID заказа
order[privilegeType]
string
Тип привилегии. Возможные значения: none, personal_discount, loyalty_level, loyalty_event
order[countryIso]
string
ISO код страны (ISO 3166-1 alpha-2)
order[createdAt]
DateTime
Y-m-d H:i:s
Дата оформления заказа
order[discountManualAmount]
double
Денежная скидка на весь заказ (в валюте объекта)
order[discountManualPercent]
double
Процентная скидка на весь заказ
order[mark]
integer
Оценка заказа
order[markDatetime]
DateTime
Y-m-d H:i:s
Дата и время получение оценки от покупателя
order[lastName]
string
Фамилия
order[firstName]
string
Имя
order[patronymic]
string
Отчество
order[phone]
string
Телефон
order[additionalPhone]
string
Дополнительный телефон
order[email]
string
E-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
Y-m-d
Дата свидетельства
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
Y-m-d
Дата отгрузки
order[shipped]
boolean
Заказ отгружен
order[dialogId]
object (MGDialog)
Идентификатор диалога Чатов
order[customFields]
array
Ассоциативный массив пользовательских полей
order[orderType]
string
Тип заказа
order[orderMethod]
string
Способ оформления
order[customer]
object (SerializedRelationCustomer)
Клиент
order[customer][id]
integer
Внутренний ID клиента
order[customer][externalId]
string
Внешний ID клиента
order[customer][browserId]
string
Идентификатор устройства в Collector
order[customer][site]
string
Код магазина, необходим при передаче externalId
order[customer][type]
string
Тип клиента (передаётся когда нужно создать нового клиента)
order[customer][nickName]
string
Наименование корпоративного клиента (передаётся когда нужно создать нового корпоративного клиента)
order[contact]
object (SerializedRelationAbstractCustomer)
Контактное лицо
order[contact][id]
integer
Внутренний ID клиента
order[contact][externalId]
string
Внешний ID клиента
order[contact][browserId]
string
Идентификатор устройства в Collector
order[contact][site]
string
Код магазина, необходим при передаче externalId
order[company]
object (EntityWithExternalIdInput)
Компания
order[company][id]
integer
ID
order[company][externalId]
string
Внешний ID
order[managerId]
integer
Менеджер, прикрепленный к заказу
order[status]
string
Статус заказа
order[items][]
array of objects (SerializedOrderProduct)
order[items][][markingCodes][]
array of strings
Коды маркировки
order[items][][id]
integer
ID позиции в заказе
order[items][][initialPrice]
double
Цена товара/SKU (в валюте объекта)
order[items][][discountManualAmount]
double
Денежная скидка на единицу товара (в валюте объекта)
Код свойства (не обязательное поле, код может передаваться в ключе свойства)
order[items][][properties][][name]
string
{not blank}
Имя свойства
order[items][][properties][][value]
string
{not blank}
Значение свойства
order[items][][purchasePrice]
double
Закупочная цена (в базовой валюте)
order[items][][ordering]
integer
Порядок
order[items][][offer]
object (SerializedOrderProductOffer)
Торговое предложение
order[items][][offer][id]
integer
ID торгового предложения
order[items][][offer][externalId]
string
Внешний ID торгового предложения
order[items][][offer][xmlId]
string
ID торгового предложения в складской системе
order[items][][productName]
string
Название товара
order[items][][status]
string
Статус позиции в заказе
order[items][][priceType]
object (PriceType)
Тип цены
order[items][][priceType][code]
string
Код типа цены
order[items][][externalId]
string
deprecated Внешний ID позиции в заказе
order[items][][externalIds][]
array of objects (CodeValueModel)
Внешние идентификаторы позиции в заказе
order[items][][externalIds][][code]
string
Код
order[items][][externalIds][][value]
string
Значение
order[delivery]
object (SerializedOrderDelivery)
Данные о доставке
order[delivery][code]
string
Код типа доставки
order[delivery][data]
Данные службы доставки, подключенной через APIДанные курьерской службы доставкиДанные службы доставки Новая ПочтаДанные службы доставки SafeRouteДанные службы доставки Казпочта
order[delivery][data][externalId]
string
Идентификатор в службе доставки
order[delivery][data][trackNumber]
string
Номер отправления (поле deprecated на запись)Номер отправленияНомер отправления
order[delivery][data][locked]
boolean
Не синхронизировать со службой доставкиНе синхронизировать со службой доставкиНе синхронизировать со службой доставкиНе синхронизировать со службой доставкиНе синхронизировать со службой доставки
order[delivery][data][tariff]
string
Код тарифа
order[delivery][data][pickuppointId]
string
Идентификатор пункта самовывозаИдентификатор пункта самовывозаИдентификатор пункта самовывоза
order[delivery][data][payerType]
string
Плательщик за доставкуТип плательщика
order[delivery][data][shipmentpointId]
string
Идентификатор терминала отгрузкиИдентификатор отделения, откуда будет производится отправка
order[delivery][data][extraData]
array
Дополнительные данные доставки (deliveryDataField.code => значение)
Средняя валовая прибыль по заказам клиента (в базовой валюте)
order[company][marginSumm]
float
LTV (в базовой валюте)
order[company][totalSumm]
float
Общая сумма заказов (в базовой валюте)
order[company][averageSumm]
float
Средняя сумма заказа (в базовой валюте)
order[company][costSumm]
float
Сумма расходов (в базовой валюте)
order[company][ordersCount]
integer
Количество заказов
order[company][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]
Данные службы доставки, подключенной через APIДанные курьерской службы доставкиДанные службы доставки Новая ПочтаДанные службы доставки SafeRouteДанные службы доставки Казпочта
order[delivery][data][externalId]
string
Идентификатор в службе доставкиdeprecated Номер отправления (Используйте trackNumber)
order[delivery][data][trackNumber]
string
Номер отправления (поле deprecated на запись)Номер отправленияНомер отправленияНомер отправления
order[delivery][data][status]
string
Код статуса доставкиКод статуса доставкиКод статуса доставкиКод статуса доставки
order[delivery][data][locked]
boolean
Не синхронизировать со службой доставкиНе синхронизировать со службой доставкиНе синхронизировать со службой доставкиНе синхронизировать со службой доставкиНе синхронизировать со службой доставки
order[delivery][data][pickuppointAddress]
string
Адрес пункта самовывоза
order[delivery][data][days]
string
Ориентировочный срок доставкиОриентировочный срок доставкиОриентировочный срок доставки
order[delivery][data][statusText]
string
Наименование статуса доставкиНаименование статуса доставкиНаименование статуса доставки
order[delivery][data][statusDate]
DateTime
Дата статуса доставкиДата последнего изменения статуса доставки
order[delivery][data][tariff]
string
Код тарифа
order[delivery][data][tariffName]
string
Наименование тарифа
order[delivery][data][pickuppointId]
string
Идентификатор пункта самовывозаИдентификатор пункта самовывозаИдентификатор пункта самовывоза
order[delivery][data][pickuppointSchedule]
string
Режим работы пункта самовывозаРасписание работы пункта самовывоза
order[delivery][data][pickuppointPhone]
string
Телефон пункта самовывоза
order[delivery][data][payerType]
string
Плательщик за доставкуТип плательщика
order[delivery][data][statusComment]
string
Комментарий к статусу доставки
order[delivery][data][cost]
float
Стоимость доставки, полученная из службы доставки (в валюте объекта)Стоимость доставки, полученная из службы доставки (в валюте объекта)
order[delivery][data][minTerm]
integer
Минимальный срок доставки
order[delivery][data][maxTerm]
integer
Максимальный срок доставки
order[delivery][data][shipmentpointId]
string
Идентификатор терминала отгрузкиИдентификатор отделения, откуда будет производится отправка
Тип скидки. Возможные значения: manual_order - Разовая скидка на заказ; manual_product - Дополнительная скидка на товар; loyalty_level - Скидка по уровню программы лояльности; loyalty_event - Скидка по событию программы лояльности; personal - Персональная скидка; bonus_charge - Списание бонусов ПЛ; round - Скидка от округления
order[items][][discounts][][amount]
float
Сумма скидки
order[items][][discountTotal]
double
Итоговая денежная скидка на единицу товара c учетом всех скидок на товар и заказ (в валюте объекта)
order[items][][prices][]
array of objects (OrderProductPriceItem)
Набор итоговых цен реализации с указанием количества
order[items][][prices][][price]
float
Итоговая цена c учетом всех скидок на товар и заказ (в валюте объекта)
GET
/api/v5/orders/{externalId}/plates/{plateId}/print
Получение файла печатной формы для заказа
Получение файла печатной формы для заказа
Для доступа к методу необходимо разрешение order_read.
Метод позволяет скачать сгенерированную печатную форму для шаблона с id={plateId} в контексте указанного заказа.
При скачивании содержимое файла отдаётся в виде потока, название файла отдаётся в HTTP заголовке Content-Disposition.
Параметры
Параметр
Тип
Формат
Описание
externalId
string
ID заказа
plateId
int
ID печатной формы
Параметры для фильтрации
Параметр
Описание
by
Шаблон
id|externalId
Значение по умолчанию
externalId
Описание
Указывается, что передается в параметре externalId: внутренний (by=id) или внешний (by=externalId) ID заказа. По умолчанию externalId.
Для доступа к методу необходимо разрешение order_write.
Метод создает пак и возвращает внутренний ID созданного пака. Создание пака для отменённой товарной позиции и услуги не разрешено. В этом случае будет выведено сообщение об ошибке.
Для подтверждения оплаты при холдировании система инициирует POST вызов метода, указанного в integrationModule["integrations"]["payment"]["actions"]["approve"] конфигурации
Для отмены оплаты система инициирует POST вызов метода, указанного в integrationModule["integrations"]["payment"]["actions"]["cancel"] конфигурации
Параметры
Параметр
Тип
Формат
Описание
clientId
string
Идентификатор клиента во внешнем сервисе
cancel
object (ModuleApiRequest)
JSON с данными запроса
cancel[paymentId]
string
Внутренний идентификатор оплаты в модуле
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
errorMsg
string
Текст ошибки
errors
array
Массив с детализациями ошибок
CallbackPOST
{integrationModule["baseUrl"]}/{integrationModule["integrations"]["payment"]["actions"]["create"]}
Создание оплаты
Создание оплаты
Для создания оплаты система инициирует POST вызов метода, указанного в integrationModule["integrations"]["payment"]["actions"]["create"] конфигурации. Для товаров с введенными кодами маркировки, каждая единица товара будет передана отдельной строкой в create[items][]
Параметры
Параметр
Тип
Формат
Описание
clientId
string
Идентификатор клиента во внешнем сервисе
create
object (Create)
JSON с данными для создания оплаты
create[shopId]
string
ID магазина
create[invoiceUuid]
string
Идентификатор инвойса в системе(UUID). Все обращения к API системы совершаются через этот ID.
create[invoiceType]
string
Тип инвойса. Возможные значения: link
create[amount]
float
Сумма в выбранной валюте
create[currency]
string
Код валюты в формате ISO-4217
create[orderNumber]
string
Номер заказа
create[orderId]
integer
Внутренний ID заказа
create[siteUrl]
string
URL магазина
create[returnUrl]
string
URL, на который вернется пользователь после подтверждения или отмены платежа
Для осуществления возврата система инициирует POST вызов метода, указанного в integrationModule["integrations"]["payment"]["actions"]["refund"] конфигурации
Параметры
Параметр
Тип
Формат
Описание
clientId
string
Идентификатор клиента во внешнем сервисе
refund
object (ModuleApiRequest)
JSON с данными запроса
refund[paymentId]
string
Внутренний идентификатор оплаты в модуле
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
errorMsg
string
Текст ошибки
result
object (ModuleRefund)
JSON с данными возврата
result[status]
string
Статус возврата. Возможные значения: pending, succeeded, canceled
result[id]
string
Внутренний идентификатор возврата в модуле
result[comment]
string
Комментарий
result[amount]
float
Сумма возврата
errors
array
Массив с детализациями ошибок
Рекомендации
CallbackGET
{integrationModule["baseUrl"]}/{integrationModule["integrations"]["recommendation"]["actions"]["recommendation"]}
Запрос рекомендуемых товаров
Запрос рекомендуемых товаров
Для получения списка рекомендаций система инициирует GET запрос метода указанного в integrationModule[integrations][recommendation]["actions"]["recommendation"].
Система передает идентификаторы товара и тип запрашиваемых рекомендаций.
В ответе система ожидает получить список идентификаторов товаров и название поля по которому происходит идентификация.
Параметры
Параметр
Тип
Формат
Описание
clientId
string
Идентификатор клиента во внешнем сервисе
ids[]
array of integers
ID товаров
externalIds[]
array of strings
externalId товаров
mode
string
Тип рекомендаций: товары из серии «Покупают с» или товары из серии «Аналоги». Возможные значения buying_with, analogs
Ответ
Параметр
Тип
Описание
by
string
Название поля для идентификации товаров. Возможные значения id, externalId
ids[]
array of strings
Массив с идентификаторами товаров
Справочники
GET
/api/v5/reference/cost-groups
Получение списка групп расходов
Получение списка групп расходов
Для доступа к методу необходимо разрешение reference_read.
POST
/api/v5/reference/cost-items/{code}/edit
Редактирование статьи расходов
Редактирование статьи расходов
Для доступа к методу необходимо разрешение reference_write.
При создании или редактировании статьи расхода, принадлежащей группе Расходы на привлечение клиентов в полях costItem[source][...]
можно указать значения соответствующих меток. Данные метки будут по умолчанию установлены для всех расходов, принадлежащих данной статье.
Для указания типа статьи расхода доступны следующие значения:
GET
/api/v5/reference/currencies
Получение списка валют
Получение списка валют
Для доступа к методу необходимо разрешение reference_read.
Базовая валюта имеет признак currencies[][isBase]=true. Все прочие возвращаемые поля
относятся к настройкам дополнительных валют.
Если дополнительная валюта в режиме автоматической конвертации currencies[][isAutoConvert]=true,
также возвращается значение наценки currencies[][autoConvertExtraPercent].
Если дополнительная валюта в режиме ручной конвертации currencies[][isAutoConvert]=false,
также возвращаются значения номинала валюты currencies[][manualConvertNominal]
и курса конвертации currencies[][manualConvertValue].
POST
/api/v5/reference/currencies/create
Создание валюты
Создание валюты
Для доступа к методу необходимо разрешение reference_write.
Создавать можно только дополнительные валюты.
В поле currency[isAutoConvert] указывает режим конвертации
(true если автоматический и false если ручной).
Автоматический курс разрешено устанавливать, если базовая валюта относится к одной из следующих валют — Белорусский рубль, Казахский тенге, Российский рубль,
и Центральным банком соответствующей базовой валюты формируется курс целевой валюты.
При автоматическом режиме конвертации также можно указать величину наценки currency[autoConvertExtraPercent].
При ручном режиме конвертации можно указать номинал валюты currency[manualConvertNominal] и курс конвертации currency[manualConvertValue].
POST
/api/v5/reference/currencies/{id}/edit
Редактирование валюты
Редактирование валюты
Для доступа к методу необходимо разрешение reference_write.
Редактировать можно как базовую, так и дополнительные валюты, но отличается состав полей, который
принимается к редактированию. При редактировании базовой валюты можно изменять только
саму валюту currency[code]. При редактировании дополнительных валют
можно изменять все прочие поля, кроме currency[code].
В поле currency[isAutoConvert] указывает режим конвертации
(true если автоматический и false если ручной).
Автоматический курс разрешено устанавливать, если базовая валюта относится к одной из следующих валют — Белорусский рубль, Казахский тенге, Российский рубль,
и Центральным банком соответствующей базовой валюты формируется курс целевой валюты.
При автоматическом режиме конвертации также можно указать величину наценки currency[autoConvertExtraPercent].
При ручном режиме конвертации можно указать номинал валюты currency[manualConvertNominal] и курс конвертации currency[manualConvertValue].
POST
/api/v5/reference/delivery-types/{code}/edit
Создание/редактирование типа доставки
Создание/редактирование типа доставки
Для доступа к методу необходимо разрешение reference_write.
Для нового типа доставки необходимо указать название name и символьный код code.
Символьный код должен быть уникальным.
В поле integrationCode можно указывать код только той интеграционной службы доставки, которая
активирована в системе. В противном случае будет выдано сообщение об ошибке.
Параметры
Параметр
Тип
Формат
Описание
deliveryType
object (SerializedDeliveryType)
deliveryType[name]
string
{not blank}{length: {max: 255}}}
Название
deliveryType[code]
string
{length: {max: 255}}
Символьный код
deliveryType[defaultCost]
double
{not blank}{range: {>=0}}}
Стоимость по умолчанию (в валюте объекта)
deliveryType[defaultNetCost]
double
{not blank}{range: {>=0}}}
Себестоимость по умолчанию (в валюте объекта)
deliveryType[sites]
array
Массив символьных кодов магазинов, в которых доступен тип доставки
GET
/api/v5/store/inventories
Получение остатков и закупочных цен
Получение остатков и закупочных цен
Для доступа к методу необходимо разрешение store_read.
Метод позволяет получать информацию об остатках и закупочных ценах для торговых предложений. При указании параметра
filter[details]=1 будет также возвращена детализация остатков и закупочных цен
по складам. Данные возвращаются по магазинам, доступ к котором предоставлен используемому API-ключу, либо
по конкретному магазину, если указан параметр filter[sites][]=site-code.
По умолчанию возвращается информация как по активным, так и неактивным товарам и торговым предложениям. Для получения
информации только по активным используйте параметры filter[productActive]=1 и
filter[offerActive]=1.
Поле offers[][site] возвращается в ответе только, если данные возвращаются по нескольким
магазинам.
Параметры
Параметр
Тип
Формат
Описание
limit
choice
{not blank}[20|50|100|250]}
page
string
{not blank}{range: {>=1}}}
filter
object (InventoryAlternativeFilterData)
filter[ids][]
array of integers
Массив ID торговых предложений
filter[sites][]
array of strings
Магазины
filter[catalogs][]
array of integers
Массив ID каталогов
filter[productExternalId]
string
{length: {max: 255}}
Внешний ID товара
filter[productArticle][]
array of strings
Массив артикулов товаров
filter[productActive]
boolean
Возвращать остатки только по активным товарам
filter[offerExternalId][]
array of strings
Массив внешних ID торговых предложений
filter[offerXmlId][]
array of strings
Массив XmlId торговых предложений
filter[offerArticle][]
array of strings
Массив артикулов торговых предложений
filter[offerActive]
boolean
Возвращать остатки только по активным торговым предложениям
POST
/api/v5/store/inventories/upload
Обновление остатков и закупочных цен
Обновление остатков и закупочных цен
Для доступа к методу необходимо разрешение store_write.
Метод позволяет обновлять остатки и закупочные цены по складам для торговых предложений.
За один запрос можно обновить до 250 торговых предложений.
В одном торговом предложении можно указать остатки до 500 складов.
Поле offers[][stores][][available] может быть целочисленным или дробным.
При использовании фактического учета остатков следует передавать 0 - в случае отсутствия товара на складе, и 1 - в случае наличия.
У каждого торгового предложения должен быть указан хотя бы один из трех параметров: id, xmlId или externalId.
В случае указания нескольких или всех перечисленных параметров, поиск сначала осуществляется по полю id, затем по xmlId, а затем по externalId.
Если торговое предложение относится к услуге, то переданные данные будут проигнорированы.
Если c заданным xmlId найдено несколько товаров, остатки будут изменены у всех.
Параметры
Параметр
Тип
Формат
Описание
offers[]
array of objects (SerializedOffer)
offers[][id]
integer
ID торгового предложения
offers[][externalId]
string
ID торгового предложения в магазине
offers[][xmlId]
string
ID торгового предложения в складской системе
offers[][stores][]
array of objects (SerializedStore)
offers[][stores][][code]
string
Символьный код
offers[][stores][][available]
float
Количество доступного товара или факт наличия
offers[][stores][][purchasePrice]
float
Закупочная цена
site
string
Символьный код магазина. Указывается в случае идентификации торговых предложений по externalId
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
processedOffersCount
integer
Количество успешно обработанных торговых предложений
POST
/api/v5/store/product-groups/create
Добавление товарной группы
Добавление товарной группы
Для доступа к методу необходимо разрешение store_write.
Метод позволяет создавать товарные группы. В случае успеха возвращает внутренний ID созданной товарной группы.
Для установки магазина необходимо указать код магазина в параметре productGroup[site]. Будет выполнен поиск активного магазина по коду.
Для установки родительской товарной группы необходимо указать один из параметров: productGroup[parentId] или productGroup[parentExternalId]. Сначала будет выполнен поиск активной товарной группы по параметру productGroup[parentId], затем по productGroup[parentExternalId] и productGroup[site].
Если не указан параметр productGroup[active] будет установлено значение по-умолчанию true.
POST
/api/v5/store/product-groups/{externalId}/edit
Редактирование товарной группы
Редактирование товарной группы
Для доступа к методу необходимо разрешение store_write.
Метод позволяет вносить изменения в товарные группы. В случае успеха возвращает внутренний ID изменённой товарной группы.
Поиск товарной группы возможен как по внешнему ID (externalId), так и по внутреннему ID (id). Для этого необходимо указать соответствующее значение в параметре by (по умолчанию externalId). В случае поиска по внешнему ID необходимо передать параметр site.
Параметры
Параметр
Тип
Формат
Описание
by
string
Указывается, что передается в параметре externalId: внутренний (by=id) или внешний (by=externalId) ID товарной группы. По умолчанию externalId.
site
string
Символьный код магазина. Указывается в случае поиска товарной группы по externalId (by=externalId)
GET
/api/v5/store/products
Получение списка товаров с торговыми предложениями, удовлетворяющих заданному фильтру
Получение списка товаров с торговыми предложениями, удовлетворяющих заданному фильтру
Для доступа к методу необходимо разрешение store_read.
Метод позволяет получать информацию о товарах и их торговых предложениях. Данные возвращаются по магазинам, доступ к которым предоставлен используемому API-ключу, либо
по конкретному магазину, если указан параметр filter[sites][]=site-code.
При реализации постоянной трансляции изменений во внешнюю систему рекомендуется использовать подход с забором инкрементальных изменений через filter[sinceId] передавая id последнего полученного товара.
По умолчанию возвращается информация как по активным, так и неактивным товарам. Для получения
информации только по активным используйте параметр filter[active]
Результат возвращается постранично. В поле pagination содержится информация о постраничной разбивке.
Фильтры filter[minPrice], filter[maxPrice] фильтруют по ценам торговых предложений, конвертированных в базовую валюту.
Если же наряду с данными фильтрами указать фильтр по типу цены filter[priceType] (в который нужно передавать символьный код типа цены),
то будет осуществляться фильтрация по ценам торговых предложений данного типа цены и в валюте данного типа цены.
Фильтр 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 соответственно.
Параметры
Параметр
Тип
Формат
Описание
limit
integer
{not blank}[20|50|100]}
Количество элементов в ответе (по умолчанию равно 20)
page
integer
{not blank}{range: {>=1}}}
Номер страницы с результатами (по умолчанию равно 1)
filter
object (ProductFilterData)
filter[ids][]
array of integers
Массив ID товаров
filter[name]
string
{length: {max: 255}}
Название/артикул товара либо артикул/штрихкод торгового предложения
POST
/api/v5/store/products/batch/create
Пакетное добавление товаров и услуг
Пакетное добавление товаров и услуг
Для доступа к методу необходимо разрешение store_write.
За один запрос можно передавать суммарно до 50 товаров.
В параметре type можно указать, создается товар (product) или услуга (service). По умолчанию создается товар.
У каждого товара должны быть указаны параметры name и catalogId.
У каждой товарной группы должен быть указан один из параметров: id или externalId. В случае указания нескольких параметров поиск осуществляется сперва по id, но только в рамках каталога товара.
Для услуг игнорируются поля «Производитель» (manufacturer) и «Подлежит маркировке» (markable).
Ошибка при добавлении товаров, либо массив слишком большой
POST
/api/v5/store/products/batch/edit
Пакетное редактирование товаров и услуг
Пакетное редактирование товаров и услуг
Для доступа к методу необходимо разрешение store_write.
За один запрос можно передавать суммарно до 50 товаров.
У каждого товара должен быть указан параметр id, либо параметры externalId и site. В случае указания нескольких или всех перечисленных параметров, поиск сначала осуществляется по полю id, затем по externalId и site.
В редактировании участвуют только те параметры товара, которые были переданы в запросе. При редактировании каталога товара выполняется очистка присвоенных товарных групп, свойств и опций.
У каждой товарной группы должен быть указан один из параметров: id или externalId. Поиск осуществляется аналогично товарам, но только в рамках каталога товара. Если в параметре groups передан пустой массив, выполнится очистка присвоенных товарных групп.
Для услуг игнорируются поля «Производитель» (manufacturer) и «Подлежит маркировке» (markable).
Параметры
Параметр
Тип
Формат
Описание
products[]
array of objects (ProductEditInput)
products[][catalogId]
integer
ID каталога
products[][id]
integer
ID товара
products[][article]
string
Артикул
products[][name]
string
Название
products[][url]
string
Ссылка на страницу товара в магазине
products[][description]
string
Описание
products[][popular]
boolean
Метка Лидер продаж
products[][stock]
boolean
Метка Лучшая цена
products[][novelty]
boolean
Метка Новинка
products[][recommended]
boolean
Метка Рекомендуем
products[][groups][]
array of objects (ProductEditGroupInput)
Товарные группы, которым принадлежит товар
products[][groups][][externalId]
string
Внешний ID товарной группы
products[][groups][][id]
integer
ID товарной группы
products[][externalId]
string
Внешний ID товара
products[][manufacturer]
string
Производитель
products[][active]
boolean
Активность
products[][markable]
boolean
Подлежит маркировке
products[][site]
string
Код магазина, необходим при передаче externalId товара
Для доступа к методу необходимо разрешение store_read.
Метод позволяет получать информацию о свойствах товаров.
Данные возвращаются по магазинам, доступ к которым предоставлен используемому API-ключу, либо
по конкретным магазинам, если указан параметр filter[sites][]=site-code.
Поле visible определяет видимость характеристики товара для покупателя.
Если поле имеет значение false, то характеристика рекомендуется для отображения только внутри системы.
Поле variative определяет, задействована ли характеристика при построении вариаций.
Если поле имеет значение true, то характеристика задействована при построении вариативности товара.
Результат возвращается постранично. В поле pagination содержится информация о постраничной разбивке.
Свойства товаров можно отфильтровать по идентификаторам filter[ids],
наименованию filter[name] (частичное совпадение), символьному коду
filter[code], видимости filter[visible] и вариативности filter[variative].
Параметры
Параметр
Тип
Формат
Описание
limit
integer
{not blank}[20|50|100]}
Количество элементов в ответе (по умолчанию равно 20)
page
integer
{not blank}{range: {>=1}}}
Номер страницы с результатами (по умолчанию равно 1)
CallbackPOST
{integrationModule["baseUrl"]}/{integrationModule["integrations"]["store"]["actions"]["inventoriesActualize"]}
Актуализация остатков после обращения к складской системе
Актуализация остатков после обращения к складской системе
Метод позволяет актуализировать остатки по складам для торговых предложений.
Для актуализации остатков система инициирует POST запрос метода, указанного в integrationModule["integrations"]["store"]["actions"]["inventoriesActualize"].
Торговые предложения, отсутствующие в запросе будут игнорироваться в ответе.
У каждого торгового предложения должен быть указан хотя бы один из трех параметров: id, xmlId или externalId.
В случае указания нескольких или всех перечисленных параметров, поиск сначала осуществляется по полю id, затем по xmlId, а затем по externalId.
В случае возникновения ошибки во внешнем ресурсе, к которому обращается callback-метод, данные по ошибке будут внесены в журнал действий (Настройки > Системные > Журнал действий).
В случае отмены резервирования будет инициирован POST запрос метода, указанного в integrationModule["integrations"]["store"]["actions"]["inventoriesActualize"] с параметром packs[][quantity] равным 0.
Параметры
Параметр
Тип
Формат
Описание
order
object (OrderDataModel)
Заказ
order[id]
integer
ID заказа
order[externalId]
string
Внешний ID заказа
order[site]
string
Магазин
packs[]
array of objects (PackDataModel)
Упаковки товаров
packs[][item]
object (PackItemModel)
Позиция в заказе
packs[][item][id]
integer
ID позиции в заказе
packs[][item][externalIds][]
array of objects (CodeValueModel)
Внешние идентификаторы позиции в заказе
packs[][offer]
object (OfferDataModel)
Торговое предложение
packs[][offer][id]
integer
ID торгового предложения
packs[][offer][externalId]
string
Внешний ID торгового предложения
packs[][offer][xmlId]
string
Xml ID торгового предложения
packs[][quantity]
float
Количество товара в упаковке
packs[][store]
string
Склад
packs[][purchasePrice]
float
Закупочная цена пака
packs[][shipmentDate]
DateTime
Дата забора пака
packs[][invoiceNumber]
string
Номер счет-фактуры
packs[][deliveryNoteNumber]
string
Номер товарной накладной
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
errorMsg
string
Текст ошибки
inventories[]
array of objects (InventoriesDataModel)
Остатки
inventories[][offers][]
array of objects (SerializedOffer)
inventories[][offers][][id]
integer
ID торгового предложения
inventories[][offers][][externalId]
string
ID торгового предложения в магазине
inventories[][offers][][xmlId]
string
ID торгового предложения в складской системе
inventories[][offers][][stores][]
array of objects (SerializedStore)
inventories[][offers][][stores][][code]
string
Символьный код
inventories[][offers][][stores][][available]
float
Количество доступного товара или факт наличия
inventories[][offers][][stores][][purchasePrice]
float
Закупочная цена
CallbackPOST
{integrationModule["baseUrl"]}/{integrationModule["integrations"]["store"]["actions"]["inventoriesUpload"]}
Обновление остатков и закупочных цен
Обновление остатков и закупочных цен
Метод позволяет обновлять остатки и закупочные цены по складам для торговых предложений.
Для обновления остатков система инициирует POST запрос метода, указанного в integrationModule["integrations"]["store"]["actions"]["inventoriesUpload"].
Система передает перечень торговых предложений для которых необходимо передать информацию об остатках, в зависимости от контекста вызова метода.
Торговые предложения, отсутствующие в запросе, будут игнорироваться в ответе.
Точки вызова метода настраиваются в конфигурации в поле integrationModule["integrations"]["store"]["actions"]["inventoriesUpload"]["callPoints"].
У каждого торгового предложения должен быть указан хотя бы один из трех параметров: id, xmlId или externalId.
В случае указания нескольких или всех перечисленных параметров, поиск сначала осуществляется по полю id, затем по xmlId, а затем по externalId.
Поле offers[][stores][][available] может быть целочисленным или дробным.
При использовании фактического учета остатков следует передавать 0 - в случае отсутствия товара на складе, и 1 - в случае наличия.
В случае возникновения ошибки во внешнем ресурсе, к которому обращается callback-метод, данные по ошибке будут внесены в журнал действий (Настройки > Системные > Журнал действий).
Параметры
Параметр
Тип
Формат
Описание
clientId
string
offers[]
array of objects (SerializedOffer)
offers[][id]
integer
ID торгового предложения
offers[][externalId]
string
ID торгового предложения в магазине
offers[][xmlId]
string
ID торгового предложения в складской системе
offers[][site]
string
deprecated Магазин. Используйте getCatalog()
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
errorMsg
string
Текст ошибки
offers[]
array of objects (SerializedOffer)
offers[][id]
integer
ID торгового предложения
offers[][externalId]
string
ID торгового предложения в магазине
offers[][xmlId]
string
ID торгового предложения в складской системе
offers[][stores][]
array of objects (SerializedStore)
offers[][stores][][code]
string
Символьный код
offers[][stores][][available]
float
Количество доступного товара или факт наличия
offers[][stores][][purchasePrice]
float
Закупочная цена
offers[][site]
string
deprecated Магазин. Используйте getCatalog()
Задачи
GET
/api/v5/tasks
Получение списка задач
Получение списка задач
Для доступа к методу необходимо разрешение task_read.
Результат возвращается постранично. В поле pagination содержится информация о постраничной разбивке.
В фильтре filter[ids][] передаётся массив внутренних идентификаторов задач.
В фильтре filter[creators][] передаётся массив внутренних идентификаторов пользователей.
В фильтре filter[performers][] передаётся массив внутренних идентификаторов пользователей или групп.
Фильтр filter[status] позволяет получить задачи, находящиеся в определенном статусе. Доступны следующие значения:
completed - завершённые задачи;
performing - незавершённые задачи.
Фильтром filter[customer] можно производить поиск по ФИО, email или телефону клиента.
Параметры
Параметр
Тип
Формат
Описание
limit
integer
{not blank}[20|50|100]}
Количество элементов в ответе (по умолчанию равно 20)
page
integer
{not blank}{range: {>=1}}}
Номер страницы с результатами (по умолчанию равно 1)
Для доступа к методу необходимо разрешение task_write.
Метод создает задачу и возвращает внутренний ID созданной задачи.
Если требуется установить дату выполнения задачи, необходимо передать дату в формате Y-m-d H:i в поле task[datetime].
Дату необходимо указать в будущем времени.
В поле task[performerId] необходимо передать внутренний ID пользователя или группы, которой необходимо назначить задачу.
Если требуется привязать задачу к существующему клиенту, то необходимо установить значение одного из следующих полей:
task[customer][id] – внутренний ID клиента;
task[customer][externalId] – внешний ID клиента.
Если установлено значение нескольких полей, они будут обрабатываться в указанном выше порядке. Поиск клиента будет осуществляться
в рамках магазинов, к которым есть доступ у используемого API-ключа. Если клиент не будет найден, связь не будет установлена.
Если требуется привязать задачу к существующему заказу, то необходимо установить значение одного из следующих полей:
task[order][id] – внутренний ID заказа;
task[order][externalId] – внешний ID заказа;
task[order][number] – номер заказа.
Если установлено значение нескольких полей, они будут обрабатываться в указанном выше порядке. Поиск заказа будет осуществляться
в рамках магазинов, к которым есть доступ у используемого API-ключа. Если заказ не будет найден, связь не будет установлена.
При связывании задачи с существующим заказом, задача будет автоматически привязана к клиенту, к которому относится заказ.
При связывании задачи с клиентом/заказом, необходимо указать данные либо заказа, либо клиента.
При создании задачи на перезвон необходимо в поле task[phone] указать номер телефона, по которому следует перезвонить.
В поле task[phoneSite] желательно указать символьный код магазина, чтобы иметь возможность осуществить перезвон с номера указанного магазина.
Данная возможность зависит от используемой телефонии и её настроек.
GET
/api/v5/tasks/history
Получение истории изменения задач
Получение истории изменения задач
Для доступа к методу необходимо разрешение task_read.
Возвращает изменения в задачах, произведенные в указанный диапазон дат (используя фильтры filter[startDate] и filter[endDate]),
либо инкрементальные изменения (используя filter[sinceId]).
При реализации постоянной трансляции изменений во внешнюю систему рекомендуется использовать подход
с забором инкрементальных изменений через filter[sinceId] передавая id последней полученной записи истории.
Для записей создания задачи возвращается полный набор полей в контексте task.
Результат возвращается постранично. В поле pagination содержится информация о постраничной разбивке.
Для постраничного перебора записей истории необходимо использовать filter[sinceId]. Параметр page использовать не рекомендуется.
POST
/api/v5/tasks/{id}/edit
Редактирование задачи
Редактирование задачи
Для доступа к методу необходимо разрешение task_write.
Метод позволяет вносить изменения в задачу
Если требуется изменить задачу, которая не была выполнена и время выполнения которой истекло, необходимо так же изменить и время выполнения задачи.
Если при изменении такой задачи в поле task[complete] установлено значение true, время выполнения задачи изменять не требуется.
Если требуется изменить дату выполнения задачи, необходимо передать дату в формате Y-m-d H:i в поле task[datetime].
Дату необходимо указать в будущем времени.
В поле task[performerId] необходимо передать внутренний ID пользователя или группы, которой необходимо переназначить задачу.
Если требуется привязать задачу к существующему клиенту, то необходимо установить значение одного из следующих полей:
task[customer][id] – внутренний ID клиента;
task[customer][externalId] – внешний ID клиента.
Если установлено значение нескольких полей, они будут обрабатываться в указанном выше порядке. Поиск клиента будет осуществляться
в рамках магазинов, к которым есть доступ у используемого API-ключа. Если клиент не будет найден, связь не будет установлена.
Если требуется привязать задачу к существующему заказу, то необходимо установить значение одного из следующих полей:
task[order][id] – внутренний ID заказа;
task[order][externalId] – внешний ID заказа;
task[order][number] – номер заказа.
Если установлено значение нескольких полей, они будут обрабатываться в указанном выше порядке. Поиск заказа будет осуществляться
в рамках магазинов, к которым есть доступ у используемого API-ключа. Если заказ не будет найден, связь не будет установлена.
При связывании задачи с существующим заказом, задача будет автоматически привязана к клиенту, к которому относится заказ.
При связывании задачи с клиентом/заказом, необходимо указать данные либо заказа, либо клиента.
При редактировании задачи на перезвон необходимо в поле task[phone] указать номер телефона, по которому следует перезвонить.
В поле task[phoneSite] желательно указать символьный код магазина, чтобы иметь возможность осуществить перезвон с номера указанного магазина.
Данная возможность зависит от используемой телефонии и её настроек.
Для доступа к методу необходимо разрешение telephony_write.
Метод фиксирует события вызова для пользователей 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. Если указаны оба поля, они будут обработаны в следующем порядке:
site
externalPhone
Параметры
Параметр
Тип
Формат
Описание
event
object (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
Поисковый запрос
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
notExistCodes
array
Массив добавочных кодов, которые отсутствуют в системе
POST
/api/v5/telephony/calls/upload
Загрузка телефонных звонков
Загрузка телефонных звонков
Для доступа к методу необходимо разрешение telephony_write.
Метод позволяет сохранять историю звонков. За один запрос можно отправить до 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[][userId]
calls[][code]
Звонок может быть связан с магазином. Для этого необходимо указать символьный код магазина в поле calls[][site], или внешний номер магазина в поле calls[][externalPhone]. Если указаны оба поля, они будут обработаны в следующем порядке:
calls[][site]
calls[][externalPhone]
Параметры
Параметр
Тип
Формат
Описание
calls[]
array of objects (Call)
Звонок
calls[][date]
DateTime
{not blank}
Дата/время звонка
calls[][type]
string
[in|out], {not blank}
Тип звонка
calls[][phone]
string
{not blank}{length: {max: 255}}}
Номер телефона
calls[][code]
string
{length: {max: 255}}
Внутренний номер пользователя, который обрабатывал звонок
GET
/api/v5/telephony/manager
Получение ответственного менеджера
Получение ответственного менеджера
Для доступа к методу необходимо разрешение telephony_read.
Метод возвращает ответственного менеджера, для клиента с телефоном phone, который в данный момент Онлайн в системе и в статусе Свободен. Менеджер не будет возвращен, если для него не задан добавочный код в системе.
Если ответственный менеджер не найден, поле manager в ответе будет отсутствовать.
Если поле ignoreStatus равно 1, в ответе будет присутствовать поле manager независимо от нахождения ответственного менеджера Онлайн в системе и в статусе Свободен.
Если поле details равно 1, в ответе будут присутствовать поля links, customer. В противном случае, поля будут отсутствовать.
Если клиент найден, поля links[newCustomerLink], links[newOrderLink] в ответе будет отсутствовать.
Если клиент не найден, поля customer, links[lastOrderLink], links[customerLink] в ответе будет отсутствовать.
Если в настройках телефонии задано поле makeCallUrl, при инициации звонка по заданному адресу будет отправлен GET запрос. Ожидается код возврата 200, в противном случае пользователю будет выведена ошибка.
CallbackPOST
{integrationModule["baseUrl"]}/{integrationModule["integrations"]["telephony"]["personalAccountUrl"]}
Переход в личный кабинет
Переход в личный кабинет
Если задано поле personalAccountUrl, в карточке телефонии будет доступна кнопка «Личный кабинет телефонии», при нажатии на которую по заданному адресу будет отправлен POST запрос с параметром clientId.
Параметры
Параметр
Тип
Формат
Описание
clientId
string
{not blank}{length: {max: 255}}}
Id клиента
CallbackGET
{recordUrl}
Прослушивание звонка
Прослушивание звонка
Если у звонка задано поле recordUrl, при попытке прослушать звонок по заданному адресу будет отправлен GET запрос. Ожидается код возврата 200, в противном случае пользователю будет выведена ошибка.
Для корректного воспроизведения аудиозаписи необходимо указывать верный заголовок Content-Type
Метод позволяет получить онлайн-статус собеседника чата.
Для получения данных система инициирует GET запрос метода, указанного в integrationModule["integrations"]["mgTransport"]["actions"]["online"].
clientId связанного модуля интеграции передается в заголовке X-Client-Id.
Параметры
Параметр
Тип
Формат
Описание
externalUserId
string
GET-параметр с внешним идентификатором клиента чата
Ответ
Параметр
Тип
Описание
lastOnline
DateTime
Дата последнего онлайн-статуса пользователя
CallbackGET
{integrationModule["baseUrl"]}/{integrationModule["integrations"]["mgTransport"]["actions"]["visits"]}
Получение данных визитов для указанного чата
Получение данных визитов для указанного чата
Метод позволяет получить данные о визитах для указанного чата.
Для получения данных система инициирует GET запрос метода, указанного в integrationModule["integrations"]["mgTransport"]["actions"]["visits"].
clientId связанного модуля интеграции передается в заголовке X-Client-Id.
Параметры
Параметр
Тип
Формат
Описание
externalChatId
string
GET-параметр с внешним идентификатором чата
Ответ
Параметр
Тип
Описание
lastVisit
object (ChatLastVisit)
Данные последнего посещения
lastVisit[source]
string
Источник визита
lastVisit[createdAt]
DateTime
Дата начала визита
lastVisit[endedAt]
DateTime
Дата окончания визита (текущая дата если визит не окончен)
lastVisit[duration]
integer
Продолжительность визита в секундах
lastVisit[pages][]
array of objects (ChatVisitedPage)
Посещенные в рамках визита страницы
lastVisit[pages][][dateTime]
DateTime
Дата и время посещения страницы
lastVisit[pages][][url]
string
URL страницы
lastVisit[pages][][title]
string
Заголовок страницы
countVisits
custom handler result for (int)
Количество посещений
device
object (ChatDevice)
Информация об устройстве пользователя
device[lang]
string
Язык на устройстве пользователя (в формате en_US)
device[browser]
string
Название и версия браузера
device[os]
string
Тип ОС пользователя
utm
object (ChatUtm)
UTM-метки пользователя
utm[source]
string
Значение метки utm_source
utm[medium]
string
Значение метки utm_medium
utm[campaign]
string
Значение метки utm_campaign
country
string
Страна пользователя
city
string
Город пользователя
Пользователи
GET
/api/v5/user-groups
Получение списка групп пользователей
Получение списка групп пользователей
Для доступа к методу необходимо разрешение user_read.
Параметры
Параметр
Тип
Формат
Описание
limit
integer
{not blank}[20|50|100]}
Количество элементов в ответе (по умолчанию равно 20)
page
integer
{not blank}{range: {>=1}}}
Номер страницы с результатами (по умолчанию равно 1)
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
pagination
object (PaginationResponse)
Постраничная разбивка
pagination[limit]
integer
Количество элементов в ответе
pagination[totalCount]
integer
Общее количество найденных элементов
pagination[currentPage]
integer
Текущая страница выдачи
pagination[totalPageCount]
integer
Общее количество страниц выдачи
groups[]
array of objects (Group)
Группа пользователей
groups[][id]
integer
ID группы
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
Магазины, заказы которых видны менеджерам данной группы
Для доступа к методу необходимо разрешение user_read.
Параметры
Параметр
Тип
Формат
Описание
limit
integer
{not blank}[20|50|100]}
Количество элементов в ответе (по умолчанию равно 20)
page
integer
{not blank}{range: {>=1}}}
Номер страницы с результатами (по умолчанию равно 1)
filter
object (ApiUserFilter)
filter[email]
string
{length: {max: 255}}
Email пользователя
filter[status]
string
[break|busy|dinner|free]
Статус пользователя в системе. При использовании фильтра filter[status] в выборку попадают только пользователи, у которых в поле online указано значение true.
GET
/api/v5/users/{id}
Получение информации о пользователе
Получение информации о пользователе
Для доступа к методу необходимо разрешение user_read.
Получение информации о пользователе
Поле user[status] содержит статус пользователя в системе, может принимать следующие значения:
free - свободен; busy - занят;dinner - на обеде; break - перерыв.
POST
/api/v5/users/{id}/status
Смена статуса пользователя
Смена статуса пользователя
Для доступа к методу необходимо разрешение user_write.
Параметры
Параметр
Тип
Формат
Описание
status
string
[free|busy|dinner|break]
Статус пользователя в системе. При использовании фильтра filter[status] в выборку попадают только пользователи, у которых в поле online указано значение true.
POST
/api/v5/verification/sms/confirm
Подтверждение верификации
Подтверждение верификации
Для доступа к методу необходимо разрешение verification_write.
Метод подтверждает верификацию
Параметры
Параметр
Тип
Формат
Описание
verification
object (SmsVerificationConfirm)
verification[code]
string
Проверочный код
verification[checkId]
string
Идентификатор проверки кода
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
verification
object (SmsVerification)
SMS-верификация
verification[createdAt]
DateTime
Дата создания (Y-m-d H:i:s)
verification[expiredAt]
DateTime
Дата окончания срока жизни (Y-m-d H:i:s)
verification[verifiedAt]
DateTime
Дата успешной верификации (Y-m-d H:i:s)
verification[checkId]
string
Идентификатор проверки кода
verification[actionType]
string
Тип действия
GET
/api/v5/verification/sms/{checkId}/status
Проверка статуса верификации
Проверка статуса верификации
Для доступа к методу необходимо разрешение verification_read.
Метод получает статус текущего состояния верификации
Поле actionType возвращает тип действия для которого проводится подтверждение телефона. Возможные значения:
verify_loyalty_account - подтверждение при активации участия в ПЛ;
verify_loyalty_account_phone - подтверждение телефона участия в ПЛ;
confirm_loyalty_charge - списание бонусов в ПЛ;
Параметры
Параметр
Тип
Формат
Описание
checkId
string
Идентификатор проверки кода
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
verification
object (SmsVerification)
SMS-верификация
verification[createdAt]
DateTime
Дата создания (Y-m-d H:i:s)
verification[expiredAt]
DateTime
Дата окончания срока жизни (Y-m-d H:i:s)
verification[verifiedAt]
DateTime
Дата успешной верификации (Y-m-d H:i:s)
verification[checkId]
string
Идентификатор проверки кода
verification[actionType]
string
Тип действия
Веб-аналитика
POST
/api/v5/web-analytics/client-ids/upload
Пакетная загрузка clientId веб-аналитики
Пакетная загрузка clientId веб-аналитики
Для доступа к методу необходимо разрешение web_analytics_write.
Метод позволяет загрузить до 100 меток clientId веб-аналитики. Поле clientIds содержит JSON-массив.
Значение clientId передается в обязательном поле clientIds[][value].
Метка может быть связана с заказом или клиентом. Для загрузки в заказ используется поле clientIds[][order]. Для этого необходимо установить значение одного из следующих полей:
clientIds[order][id] – внутренний ID заказа; clientIds[order][externalId] – внешний ID заказа; clientIds[order][number] – номер заказа.
Для загрузки в клиента используется одно из полей:
clientIds[customer][id] – внутренний ID клиента; clientIds[customer][externalId] – внешний ID клиента;
Если установлено значение нескольких полей, они будут обрабатываться в указанном выше порядке. Поиск по externalId/number будет осуществляться в рамках магазина, указанного в необязательном параметре clientIds[][site].
При добавлении clientId в заказ он также будет добавлен в список clientId связанного клиента, если ещё не добавлен. При необходимости изменяются поля первого и последнего clientId клиента.
Дату установки clientId можно указать в необязательном поле clientIds[][createdAt] (если оно не заполнено, будет использована текущая дата).
Поле value, а также любое из полей order и customer обязательны.
Параметры
Параметр
Тип
Формат
Описание
clientIds[]
array of objects (ClientId)
{not blank}
Массив clientId для загрузки
clientIds[][value]
string
{not blank}{length: {min: 1, max: 255}}}
Значение добавляемого clientId
clientIds[][createdAt]
DateTime
Дата добавления clientId
clientIds[][order]
object (SerializedEntityOrder)
Заказ
clientIds[][order][id]
integer
Внутренний ID заказа
clientIds[][order][externalId]
string
Внешний ID заказа
clientIds[][order][number]
string
Номер заказа
clientIds[][customer]
object (SerializedEntityCustomer)
Клиент
clientIds[][customer][id]
integer
Внутренний ID клиента
clientIds[][customer][externalId]
string
Внешний ID клиента
clientIds[][site]
string
{length: {min: 1, max: 255}}
Символьный код магазина, в котором ищется заказ или клиент
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
failedClientIds[]
array of objects (ClientId)
Массив clientId для загрузки
failedClientIds[][value]
string
Значение добавляемого clientId
failedClientIds[][createdAt]
DateTime
Дата добавления clientId
failedClientIds[][order]
object (SerializedEntityOrder)
Заказ
failedClientIds[][order][id]
integer
Внутренний ID заказа
failedClientIds[][order][externalId]
string
Внешний ID заказа
failedClientIds[][order][number]
string
Номер заказа
failedClientIds[][customer]
object (SerializedEntityCustomer)
Клиент
failedClientIds[][customer][site]
string
Символьный код магазина
failedClientIds[][customer][id]
integer
Внутренний ID клиента
failedClientIds[][customer][externalId]
string
Внешний ID клиента
failedClientIds[][customer][type]
string
Тип клиента
failedClientIds[][site]
string
Символьный код магазина, в котором ищется заказ или клиент
Во время загрузки возникли ошибки. Часть clientId не загружена (в ответе также присутствует массив ошибок "errors")
POST
/api/v5/web-analytics/sources/upload
Пакетная загрузка источников
Пакетная загрузка источников
Для доступа к методу необходимо разрешение web_analytics_write.
Метод позволяет загрузить до 100 источников веб-аналитики. Поле sources содержит JSON-массив.
Данные источника передаются в полях sources[][source], sources[][medium], sources[][campaign],
sources[][keyword], sources[][content];
должно быть передано как минимум одно из полей.
Источник может быть связан с заказом или клиентом. Для загрузки в заказ используется поле sources[][order]. Для этого необходимо установить значение одного из следующих полей:
source[order][id] – внутренний ID заказа; source[order][externalId] – внешний ID заказа; source[order][number] – номер заказа.
Для загрузки в клиента используется одно из полей:
source[customer][id] – внутренний ID клиента; source[customer][externalId] – внешний ID клиента;
Если при записи источника в заказ у клиента нет источника, он будет установлен в клиента.
Также может быть передано поле sources[][clientId] со значением clientId веб-аналитики: если он найден в системе, источник будет привязан к клиенту, связанному с этим clientId.
Если установлено значение нескольких полей, они будут обрабатываться в указанном выше порядке. Поиск по externalId/number будет осуществляться в рамках магазина, указанного в необязательном параметре source[site].
Обязательно минимум одно из трёх полей order, customer, clientId, а также минимум одно из полей источника.
Параметры
Параметр
Тип
Формат
Описание
sources[]
array of objects (Source)
{not blank}
Массив источников для загрузки
sources[][source]
string
Источник
sources[][medium]
string
Канал
sources[][campaign]
string
Кампания
sources[][keyword]
string
Ключевое слово
sources[][content]
string
Содержание кампании
sources[][clientId]
string
{length: {min: 1, max: 255}}
clientId веб-аналитики, к которому будет привязан источник
sources[][order]
object (SerializedEntityOrder)
Заказ
sources[][order][id]
integer
Внутренний ID заказа
sources[][order][externalId]
string
Внешний ID заказа
sources[][order][number]
string
Номер заказа
sources[][customer]
object (SerializedEntityCustomer)
Клиент
sources[][customer][id]
integer
Внутренний ID клиента
sources[][customer][externalId]
string
Внешний ID клиента
sources[][site]
string
{length: {min: 1, max: 255}}
Символьный код магазина, в котором ищется заказ или клиент
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
failedSources[]
array of objects (Source)
Массив источников для загрузки
failedSources[][source]
string
Источник
failedSources[][medium]
string
Канал
failedSources[][campaign]
string
Кампания
failedSources[][keyword]
string
Ключевое слово
failedSources[][content]
string
Содержание кампании
failedSources[][clientId]
string
clientId веб-аналитики, к которому будет привязан источник
failedSources[][order]
object (SerializedEntityOrder)
Заказ
failedSources[][order][id]
integer
Внутренний ID заказа
failedSources[][order][externalId]
string
Внешний ID заказа
failedSources[][order][number]
string
Номер заказа
failedSources[][customer]
object (SerializedEntityCustomer)
Клиент
failedSources[][customer][site]
string
Символьный код магазина
failedSources[][customer][id]
integer
Внутренний ID клиента
failedSources[][customer][externalId]
string
Внешний ID клиента
failedSources[][customer][type]
string
Тип клиента
failedSources[][site]
string
Символьный код магазина, в котором ищется заказ или клиент
Во время загрузки возникли ошибки. Часть источников не загружена (в ответе также присутствует массив ошибок "errors")
POST
/api/v5/web-analytics/visits/upload
Пакетная загрузка визитов
Пакетная загрузка визитов
Для доступа к методу необходимо разрешение web_analytics_write.
Метод позволяет загрузить до 50 визитов веб-аналитики. Поле visits содержит JSON-массив.
Визит связывается с клиентом. В визите для этого указывается одно из полей:
visit[customer][id] – внутренний ID клиента; visit[customer][externalId] – внешний ID клиента; visit[][clientId] – значение clientId веб-аналитики: если он найден в системе, источник будет привязан к клиенту, связанному с этим clientId.
Каждый визит обязательно должен содержать поле site, которое указывает на магазин, связанный с визитом.
Параметры
Параметр
Тип
Формат
Описание
visits[]
array of objects (Visit)
{not blank}
Массив визитов для загрузки
visits[][createdAt]
string
{DateTime YYYY-MM-DD HH:MM:SS}
Дата-время начала визита
visits[][visitLength]
integer
Длительность визита в секундах
visits[][exitPage]
string
Страница выхода
visits[][landingPage]
string
Страница входа
visits[][pageViews]
integer
Количество страниц, просмотренных в ходе визита
visits[][pageDepth]
integer
Глубина просмотра
visits[][customer]
object (SerializedEntityCustomer)
Клиент
visits[][customer][id]
integer
Внутренний ID клиента
visits[][customer][externalId]
string
Внешний ID клиента
visits[][source]
object (SerializedSource)
Данные по источнику клиента
visits[][source][source]
string
Источник
visits[][source][medium]
string
Канал
visits[][source][campaign]
string
Кампания
visits[][source][keyword]
string
Ключевое слово
visits[][source][content]
string
Содержание кампании
visits[][pages][]
array of objects (Page)
Массив страниц для загрузки
visits[][pages][][url]
string
{not blank}
URL страницы
visits[][pages][][title]
string
Заголовок страницы
visits[][pages][][countViews]
integer
Количество просмотров страницы
visits[][pages][][timeOnPage]
integer
Время, проведенное на странице в миллисекундах
visits[][clientId]
string
{length: {min: 1, max: 255}}
clientId веб-аналитики, к которому будет привязан визит
visits[][site]
string
{length: {min: 1, max: 255}}
Символьный код магазина, в котором ищутся страницы или клиент
Ответ
Параметр
Тип
Описание
success
boolean
Результат запроса (успешный/неуспешный)
failedVisits[]
array of objects (Visit)
Массив визитов для загрузки
failedVisits[][createdAt]
string
Дата-время начала визита
failedVisits[][visitLength]
integer
Длительность визита в секундах
failedVisits[][exitPage]
string
Страница выхода
failedVisits[][landingPage]
string
Страница входа
failedVisits[][pageViews]
integer
Количество страниц, просмотренных в ходе визита
failedVisits[][pageDepth]
integer
Глубина просмотра
failedVisits[][customer]
object (SerializedEntityCustomer)
Клиент
failedVisits[][customer][site]
string
Символьный код магазина
failedVisits[][customer][id]
integer
Внутренний ID клиента
failedVisits[][customer][externalId]
string
Внешний ID клиента
failedVisits[][customer][type]
string
Тип клиента
failedVisits[][source]
object (SerializedSource)
Данные по источнику клиента
failedVisits[][source][source]
string
Источник
failedVisits[][source][medium]
string
Канал
failedVisits[][source][campaign]
string
Кампания
failedVisits[][source][keyword]
string
Ключевое слово
failedVisits[][source][content]
string
Содержание кампании
failedVisits[][pages][]
array of objects (Page)
Массив страниц для загрузки
failedVisits[][pages][][url]
string
URL страницы
failedVisits[][pages][][title]
string
Заголовок страницы
failedVisits[][pages][][countViews]
integer
Количество просмотров страницы
failedVisits[][pages][][timeOnPage]
integer
Время, проведенное на странице в миллисекундах
failedVisits[][clientId]
string
clientId веб-аналитики, к которому будет привязан визит
failedVisits[][site]
string
Символьный код магазина, в котором ищутся страницы или клиент