Изменения

Перейти к: навигация, поиск

API

12 байт добавлено, 09:49, 31 августа 2017
Нет описания правки
*'''order''' - Контейнер для описания одного заказа, обязательный элемент. В одном контейнере '''neworder''' может быть много контейнеров '''order''' для создания нескольких заказов одним запросом.
*:* '''''orderno''''' - Номер заказа. Если присваивается клиентом - указывается здесь. Если не присваивается - можно оставить пустым, система сгенерирует свой номер, и вернет его в ответе.
*'''barcode''' - Штрих-код заказа. В случае, если клиент штрих-кодирует свои отправления, и штрих-код отличается от номера заказа, в этом поле указывается штрих-код. В случае наличия нескольких мест, и раздельной их маркировки, в этом поле допустимы маски в виде символов подчеркивания, говорящие о позициях штрих-кода, переменных для разных мест в рамках одного заказа.<br />
Поле '''Город''' контейнеров '''sender''' и '''receiver''' можно указать одним из следующих способов:
*:* код населенного пункта из справочника городов*:* 13-ти значный код адресного классификатора КЛАДР*:* 36-ти значный код адресной системы ФИАС*:* название города (не рекомендуется!)
*'''paytype''' - Тип оплаты заказа получателем. Принимает значения:
*:* CASH - Наличными при получении (по-умолчанию)*:* CARD - Картой при получении*:* NO - Без оплаты. Поле Price будет проигнорировано. (Этот тип оплаты передается, если заказ уже оплачен и не требует инкассации, API добавит в систему товары по нулевой цене. Если необходимо передать общую сумму заказа - можно это сделать в поле <inshprice>, указав объявленную ценность)*:* OTHER - Прочее (Предусмотрен для того, чтобы оплата поступала непосредственно в курьерскую службу посредством прочих типов оплаты - таких как: вебмани, яденьги, картой на сайте, прочие платежные системы и т.д.)*:* OPTION - На выбор получателя. Этот тип оплаты нельзя передавать с заказом. Он выставляется автоматически в зависимости от настройки клиента.
*'''zipcode''' - Почтовый индекс.
*'''items''' - Контейнер для описания вложенных товаров. Не обязательный контейнер. Атрибуты:
*:* '''''item''''' - Название товара.*:* '''''quantity''''' - Количество единиц товара.*:* '''''mass''''' - Масса единицы товара в килограммах.*:* '''''retprice''''' - Цена единицы товара.*:* '''''VATrate''''' - Ставка НДС - целое число процентов. Если значение не указано, подставляется значение "18".*:* '''''barcode''''' - Штрих-код товара. [[Файл:Article.png|thumb|100px|right]]*:* '''''article''''' - Артикул товара. ''Внимание!'' Указание артикула используется только тогда, когда товар хранится на ответственном хранении в службе доставки, и необходима комплектация. В этом случае система пытается привязать товар к [[API#Справочник номенклатуры|справочнику номенклатуры]]. Если товар в справочнике не найден - система выдаст соответствующую ошибку. Если по артикулу найдено несколько товаров - система выберет один из них случайным образом, что может привести к ошибочной комплектации! Если товар НЕ на ответственном хранении - артикул указывать НЕ нужно. Позиция попадет в систему просто текстом.*:* '''''extcode''''' - Внешний код строки. Используется для идентификации строк заказов при получении статусов. Не обязательное поле. ПОКА НЕ ПОДДЕРЖИВАЕТСЯ.
В случае необходимости указания, помимо товаров, дополнительных услуг (например, ДОСТАВКА, комплектация, подъем на этаж и т.д.) - их нужно указать в том же контейнере items как товары, без артикула.
*'''target''' - Строка поиска. Позволяет указать текст, который содержится в названии компании или адресе получателя.
*'''done''' - Может принимать значения:
*:* ONLY_NOT_DONE - Только не доставленные*:* ONLY_DONE - Только доставленные*:* ''Пусто'' - все корреспонденции
*'''changes''' - может принимать значение только ONLY_LAST. Если указан этот параметр, все остальные, кроме quickstatus, игнорируются. Описание данного режима приведено здесь: [[#Передача только изменившихся статусов|Передача только изменившихся статусов]]
* Атрибуты контейнера '''order''':
*:* '''''ordercode''''' - внутренний код заказа в системе, применяется для некоторых внутренних операций.*:* '''''givencode''''' - внутренний код заказа в системе, применяется для некоторых внутренних операций.*:* '''''returns''''' - количество данного товара, от которого отказался получатель. Не нулевое только в случае частичного отказа.
* атрибут '''''code''''' контейнера '''item''' - внутренний код строки заказа в системе, применяется для некоторых внутренних операций.
* '''''coords''''' в контейнере '''receiver''' - координаты получателя.
* '''currcoords''' - текущие координаты заказа. Атрибуты:
*:* '''''lat''''' - широта*:* '''''lon''''' - долгота*:* '''''accuracy''''' - точность в метрах*:* '''''RequestDateTime''''' - дата/время последнего обновления координат.
* '''deliveryprice''' - стоимость доставки в валюте расчетов с клиентом.
* '''status''' - статус доставки (список статусов см. ниже). Атрибуты:
*:* '''''eventstore''''' - филиал, к которому относится текущий статус*:* '''''eventtime''''' - время изменения статуса (время зависит от местонахождения филиала)*:* '''''createtimegmt''''' - время фактического изменения статуса (GMT)*:* '''''message''''' - наименование филиала-получателя, при передаче между филиалами*:* '''''title''''' - русское наименование статуса
* '''statushistory''' - история статусов доставки. Содержит список контейнеров '''status'''.
Внутри контейнера townlist все элементы могут как отсутствовать, так и комбинироваться. Поиск не чувствителен к регистру.
*'''codesearch''' - Поиск по кодам. В случае использования - контейнеры conditions и limit игнорируются.
:* '''zipcode''' - Поиск по индексу. Обратите внимание на то, что один почтовый индекс может распространяться на несколько населенных пунктов. В этом случае система вернет несколько записей. :* '''kladrcode''' - Поиск по 13-ти значному коду КЛАДР. :* '''code''' - Поиск по коду в системе.
*'''conditions''' - Задает условия поиска. Все вложенные элементы одновременно накладывают условие "И".
:* '''city''' - Поиск по всем населенным пунктам региона. :* '''namecontains''' - Поиск населенных пунктов, название которых содержит указанный текст. :* '''namestarts''' - Поиск населенных пунктов, название которых начинается с указанного текста. :* '''name''' - Поиск населенных пунктов, название которых соответствует указанному тексту. :* '''fullname''' - Поиск населенных пунктов, название вместе с типом населенного пункта которых соответствует указанному тексту. :* '''country''' - Поиск только по стране с указанным кодом.
*'''limit''' - Ограничивает вывод результата.
:* '''limitfrom''' - Задает номер записи результата, начиная с которой выдавать ответ. По-умолчанию - 0. :* '''limitcount'''- Задает количество записей результата, которые нужно вернуть. По-умолчанию - 10000. :* '''countall''' - YES указывает на необходимость подсчета общего количества найденных совпадений. Это может замедлять выполнение запроса. Если отключено - в ответе не указываются totalcount и totalpages.
'''Пример ответа:'''
*'''conditions''' - Задает условия поиска. Все вложенные элементы одновременно накладывают условие "И".
*:* '''town''' - Обязательное поле. Название или код населенного пункта.*:* '''namecontains''' - Поиск населенных пунктов, название которых содержит указанный текст.*:* '''namestarts''' - Поиск населенных пунктов, название которых начинается с указанного текста.*:* '''name''' - Поиск населенных пунктов, название которых соответствует указанному тексту.*:* '''fullname''' - Поиск населенных пунктов, название вместе с типом населенного пункта которых соответствует указанному тексту.
*'''limit''' - Ограничивает вывод результата.
*:* '''limitfrom''' - Задает номер записи результата, начиная с которой выдавать ответ. По-умолчанию - 0.*:* '''limitcount'''- Задает количество записей результата, которые нужно вернуть. По-умолчанию - 10000.*:* '''countall''' - YES указывает на необходимость подсчета общего количества найденных совпадений. Это может замедлять выполнение запроса. Если отключено - в ответе не указываются totalcount и totalpages.
'''Пример ответа:'''
Внутри контейнера itemlistвсе элементы могут как отсутствовать, так и комбинироваться. Поиск не чувствителен к регистру.
*'''codesearch''' - Поиск по кодам. В случае использования - контейнеры conditions и limit игнорируются.
*:* '''code''' - Поиск по внутреннему коду системы.*:* '''article''' - Поиск по артикулу.*:* '''barcode''' - Поиск по штрих-коду.
*'''conditions''' - Задает условия поиска. Все вложенные элементы одновременно накладывают условие "И".
*:* '''namecontains''' - Поиск товаров, название которых содержит указанный текст.*:* '''namestarts''' - Поиск товаров, название которых начинается с указанного текста.*:* '''name''' - Поиск товаров, название которых соответствует указанному тексту.*:* '''quantity''' - Наличие на складе. Принимает значения EXISTING_ONLY - Только в наличии, NOT_EXISTING_ONLY - Только не в наличии, ALL - Все. ''Это поле может быть недоступным в некоторых установках.''
*'''limit''' - Ограничивает вывод результата.
*:* '''limitfrom''' - Задает номер записи результата, начиная с которой выдавать ответ.*:* '''limitcount''' - Задает количество записей результата, которые нужно вернуть.
'''Пример ответа:'''

Навигация