Изменения

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

API

13 888 байт добавлено, 8 май
м
Коды и описание ошибок
'''Модули распространяются бесплатно, без гарантий со стороны разработчика''', и не являются средством полной автоматизации взаимодействия с курьерской службой. Модули — это помощь разработчикам интернет-магазинов в построении интеграции с курьерскими службами. '''Ответственность за корректность передачи данных лежит на интернет-магазине.'''
Модули сторонних разработчиков обслуживаются и разрабатываются сторонними компаниями. Все вопросы по их приобретению и поддержке необходимо задавать им.
Сообщайте нам свои пожелания по работе наших модулей. Мы учтем их в новых версиях.
|[[Файл:prestashop.png|center|x60px]]
|style="text-align: center;"|[https://courierexe.ru/download/api/prestashop.zip Скачать]
|Поддерживает версии 1.5.2.0 и выше.Инструкция в архиве
|-
|[[Файл:OpencartOCStore.png|center|x60px]]
|style="text-align: center;"|[https://courierexe.ru/download/api/opencart.zip Скачать для версии 1.5.5.1]<br>[https://courierexe.ru/download/api/measoft_oc2.ocmod.zip Скачать для версии 2.0]<br>[https://courierexe.ru/download/api/measoft_oc2.3.ocmod.zip Скачать для версии 2.3]<br>[https://courierexe.ru/download/api/measoft_ос3measoft_oc3.ocmod.zip Скачать для версии 3.0]|Поддерживает версии с 1.5.5.1.<br>Скачивайте модули для своей версии OpenCart.<br>Подробнее см. [[OpenCart|описание]].<br>[https://opencartforum.com/files/file/2906-avtomatizaciya-otpravki-i-otslezhivanie-dostavok-courierexe-dlya-opencart-15x/ Альтернативный модуль сторонних разработчиков]
|-
|[[Файл:webasyst-shopscript.png|center|x44px]]
|style="text-align: center;"|[https://www.webasyst.ru/store/plugin/shop/measoftcourier/ Установить модуль]<br>[https://www.webasyst.ru/store/plugin/shipping/measoftcourier/ Установить плагин]
|Модуль предназначен для отправки заявок в КС, а плагин для расчета стоимости доставки при оформлении заказа.Инструкции в маркете
|-
<!--|[[Файл:advantshop.png|center|x44px]]
|style="text-align: center;"|Настраивается в [[Личный кабинет клиента|ЛК пользователя]]
|[[InSales|Инструкция по настройке]]
|-
|[[Файл:iiko.jpg|center|x80px]]
|style="text-align: center;"|Настраивается в [[Личный кабинет клиента|ЛК пользователя]]
|[[Iiko|Инструкция по настройке]]
|-
|[[Файл:Leadvertex.png|center|x44px]]
|[[Файл:Joomla2.jpg|center|x60px]]
|style="text-align: center;"|[https://courierexe.ru/download/api/com_measoft.zip Скачать]
|Работает только с компонентом Virtuemart.Инструкция в архиве
|-
|[[Файл:Amocrm.png|center|x44px]]
|-
|[[Файл:wordpress.jpg|center|x80px]]
|style="text-align: center;"|[https://courierexe.ru/download/apiwordpress/wordpress.zip php Скачать]
|[[Wordpress|Инструкция]]
|-
|Поддерживает версии 4.10 и выше.<br>[[CS-Cart|Инструкция]]
|-
|style="height:100px; text-align[[Файл: webhooks.jpg|center;"|'''Webhook'''x100px]]
|style="text-align: center;"|Читайте описание [[Webhook|на этой странице]]
|Передача информации о статусах и заказах в вашу систему
* '''extra''' — экстра-код, уникальный идентификатор компании, с которой вы интегрируетесь.
* '''login''' — логин клиента;
* '''pass''' — пароль клиента;* '''measoftid''' — системная переменная, используемая системой.
Запросите эти данные у курьерской службы, к которой вы подключаетесь. Курьерская служба передает временный пароль, его нужно сменить после первого входа в [[Личный кабинет клиента|ЛК клиента]].
<costcode>cc12345</costcode>
<respstore>4</respstore>
<uid>af11c7c6-6645-4a20-9604-be911a75722d</uid>
<items>
<item extcode="abc123" quantity="1" mass="0.2" retprice="37.5" VATrate="0" barcode="2345625213125" textArticle="1" article="1" volume="3" origincountry="AUT" GTD="321546654" excise="15.20" suppcompany="ООО &quot;Рога и копыта&quot;" suppphone="79161234567" suppINN="1112223334" govType="2" governmentCode="11223311" extraTags="">Мяч</item>
<item extcode="abc124" quantity="2" mass="2" retprice="100" inshprice="100" VATrate="10" barcode="4645625213138" article="2" length="10" width="20" height="30" origincountry="004">Обруч</item>
<item extcode="abc125" quantity="3" mass="0.3" retprice="50" inshprice="50" barcode="2345625213126" itemcode="44123" article="3" type="1">Погремушка желтая</item>
:* '''''orderno''''' — Номер заказа. Если присваивается клиентом — указывается здесь. Если не присваивается — можно оставить пустым, система сгенерирует свой номер, и вернет его в ответе. Система проверяет наличие заказов с указанным номером в пределах текущего календарного года, и в случае их существования — заказ создан не будет, а в ответе вернется ошибка 17 «Such number exists». Если не указан штрихкод (поле barcode), и значение поля подходит для использования его в качестве штрихкода, данное значение будет скопировано в поле «Штрихкод». Это накладывает ограничения в частности, на длину указанного поля (25 знаков, чтобы работали стандартные печатные формы).
* '''barcode''' — Штрихкод заказа. Если клиент штрихкодирует свои отправления и штрихкод отличается от номера заказа, в этом поле указывается штрихкод. Если ШК содержит кириллицу или малое количество символов, то формируется ШК в формате EAN13. <spoiler text="Заполнение номера заказа (шифра) и штрих-кода">Шифр и штрих-код заполняются исходя из начальных значений: # Если шифр и ШК пустые - оба поля заполняются автоматически значением вида XXX#YYY, а после ШК проверяется на корректность (валидируется)# Если ШК пустой, а шифр заполнен - ШК заполняется значением из шифра и валидируется# Если шифр пустой, а ШК заполнен - шифр заполняется значением из ШК, после чего ШК валидируется# Если оба непустые - валидируется ШК, шифр не проверяется Корректный (валидный) ШК отвечает следующим требованиям:* длина не меньше 5 символов* значение не меньше значения переменной <mparam code="MinPrePrintedNum"/>* содержит символы, которые можно использовать для формирования штрих-код а формате Code128 (т.е.все печатные символы, кроме кириллицы) Если ШК не прошел проверку, то:* если переменная <mparam code="StoreInvLength"/> равна 0, ШК заполняются автоматически значением вида XXX#YYY (или приравнивается шифру в том же формате)* если переменная <mparam code="StoreInvLength"/> больше 0, ШК заполняются автоматически сквозным номером (если шифр в формате XXX#YYY, то шифр приравнивается ШК)</spoiler> В случае наличия нескольких мест и раздельной их маркировки в этом поле допустимы маски в виде символов подчеркивания, говорящие о позициях штрихкода, переменных для разных мест в рамках одного заказа.<br>
''Например'': В заказе номер 123 имеется 20 товарных вложений, которые упакованы в 3 транспортных места. Клиент формирует 3 штрихкода на транспортные места: CLNT0012301, CLNT0012302, CLNT0012303, где CLNT — префикс клиента, 00123 — номер заказа, 01-03 — номер транспортного места в заказе. В поле barcode нужно указать CLNT00123__ (система поймет, что 2 последних символа могут быть любыми и будут отражать штрихкоды к одному заказу). Если вы не сами печатаете накладные с указанным штрихкодом, то указанный штрихкод не должен быть длиннее 25 знаков, иначе он не поместится на стандартных печатных формах.
* '''zipcode''' — Почтовый индекс.
* '''price''' — Сумма заказа(наложенный платеж) - денежные средства, которые курьер должен забрать у получателя в пользу заказчика. В случае наличия контейнера items значение этого параметра будет проигнорировано и рассчитано автоматически.
* '''inshprice''' — Объявленная ценность. Если явно не указана сумма — автоматически считается как сумма по товарам.
* '''deliveryprice''' — Сумма Стоимость доставки, которая устанавливается заказчиком и будет взиматься с получателя в пользу заказчика. Не имеет отношения к стоимости доставки самой курьерской службы, которая рассчитывается в соответствии с тарифамии, не указывается при оформлении заказа и добавляется в заказ автоматически при его обработке курьерской службой. В случае наличия контейнера items в него будет добавлено вложение «Доставка».
:* '''''VATrate''''' — Ставка НДС — целое число процентов.
* '''discount''' — Сумма скидки. Скидка «размазывается» по товарным вложениям, сумма НП уменьшается на сумму скидки. При этом вложение Скидка не создается. ВНИМАНИЕ, при использовании этого тега общая сумма может расходиться на копейки из-за округления! Старайтесь не использовать этот тег, а указывать цену товаров уже с учетом скидок.
* '''department''' — Подразделение, в котором оформляется заказ.
* '''costcode''' — Кост-код сотрудника.
* '''respstore''' — Код ответственного филиала.Для ответственного филиала в который передается заказ, требуется включение параметра "Разрешить клиенту передавать заказы в этот филиал"
* '''pickup''' — Признак оформления забора YES/NO. Если стоит YES, то весь заказ считается заданием на забор груза, а не на доставку! Применяется для вызова курьера к отправителю для забора других отправлений. ''Внимание!'' при добавлении в забор складских товаров, их тип '''''type''''' всегда должен быть установлен как [7] Забор товара, если будет указан другой тип, то он будет исправлен в момент добавления заказа на [7] Забор товара
* '''acceptpartially''' — Признак возможности частичного выкупа товаров отправления YES/NO.
* '''uid''' - Универсальный идентификатор заказа на стороне отправителя. Не обязательный параметр, ограниченного по времени действия. Время хранения в системе, - сутки.
* '''items''' — Контейнер для описания вложений. <rspoiler text="Необязательный контейнер">Если для поставщика товара в системе MeaSoft не указаны полное наименование компании и ИНН в карточке клиента, заполните параметры <code>suppcompany</code> и <code>suppINN</code> в этом контейнере. Отсутствие информации о поставщике приведет к [[Настройка модуля печати кассовых чеков#Ошибка фискализации (ошибка программирования реквизита 1226)|ошибке фискализации]].</rspoiler>. Атрибуты:
:* '''''retprice''''' — Цена единицы товара. Округляется до копеек. Должна быть с учетом всех скидок и наценок. Для вложений типов 1, 2, 3 не может быть отрицательной. <!-- , либо мы сами посчитаем скидку при указании тега order->discount -->
:* '''''inshprice''''' — Объявленная ценность единицы товара. Округляется до копеек. Если не указана принимается равной '''''retprice'''''.
:* '''''VATrate''''' — Ставка НДС — целое число процентов. Если товар хранится в КС (смотрите '''article''' ниже), значение берется из номенклатуры. Иначе, если значение не указано, подставляется берется указанное значение, если нет - значение «20»из настроек фирмы КС. Значение «0» означает ставку «Без НДС», ставка «0%» на данный момент не поддерживается.
:* '''''barcode''''' — Штрихкод вложения.
:* '''''article''''' — Артикул вложения. ''Внимание!'' Указание артикула используется только тогда, когда товар хранится на ответственном хранении в службе доставки, и необходима комплектация. В этом случае система пытается привязать товар к [[API#Справочник номенклатуры|справочнику номенклатуры]]. Если товар в справочнике не найден — система выдаст соответствующую ошибку. Если по артикулу найдено несколько товаров — система выберет один из них случайным образом, что может привести к ошибочной комплектации! Если товар НЕ на ответственном хранении — артикул указывать НЕ нужно. Позиция попадет в систему просто текстом.
:* '''''suppphone''''' — Номер телефона компании поставщика, если отличается от заказчика.
:* '''''suppINN''''' — ИНН компании поставщика, если отличается от заказчика.
:* '''''governmentCode''''' — Код товарной номенклатуры. Используется для [[Маркировка|маркированных товаров , например («Честный знак»)]]. Для кода '''Честный знак''' Нужно указывать все данные из нанесенного QR-кода кроме не читаемых символов (#29). Если код не известен — укажите знак вопроса «?», тогда курьер отсканирует код фактически передаваемого покупателю товара. Для некоторых процессов может использоваться значение «!» — в этом случае курьер сканирует серийный номер товара, но это не считается кодом маркировки. При этом, если указано значение «?» или «!» и quantity больше 1, то такое вложение растиражируется quantity раз.:* '''''govType''''' — Тип маркировки товара. В данный момент существуют следующие типы маркировки::: 1 — Честный знак. По-умолчанию.:: 2 — ГИИС ДМДК.:: 3 — Серийный номер. :* '''''extraTags''''' — Строка в формате JSON для отправки в ОФД. :: Тэг 1265 - значение отраслевого реквизита = код места деятельности аптеки :: Тэг 1262 – идентификатор ФОИВ = "020" (константа ФОИВ МИНЗДРАВа) :: Тэг 1263 - дата нормативного акта федерального органа исполнительной власти = "14.12.2018" (константа) :: Тэг 1264 - номер нормативного акта федерального органа исполнительной власти = "1556"(константа) :: Тэг 1212 - Признак предмета расчета :: Пример: <source lang="json">"item_industry_props":{"tag1262":"020","tag1263":"14.12.2018","tag1264":"1556","tag1265":"tm=mdlp&sid=00000000XXXXXX"},"tag1212": "1"</source> 
* '''packages''' — Контейнер для описания мест. Необязательный контейнер. Атрибуты:
|-
|130||Specify a valid respstore code.||Укажите код ответственного филиала.
|-
|131||Cannot edit, order has not been synchronized.||Невозможно изменить заказ пока он не синхронизирован.
|-
|132||Specify a valid "Recipient city/town" field value.||Укажите город получателя
|-
|133||Specify a valid "weight" for the town.||Укажите корректный вес для города
|-
|134||Specify a valid "paytype" for the town.||Укажите тип оплаты для города
|-
|135||Specify the correct SKU ID/code for item.||Укажите артикул/код вложения
|-
|136||Specify warehouse goods in the order.||Укажите вложения в заказе
|-
|137||The order's date of creation is more than 60 days ago.||Заказ создан более 60 дней назад
|-
|138||Specify a valid "Package dimension" field value.||Укажите корректные габариты места
|-
|139||Wrong type of XML query||Ошибка запроса
|-
|140||Duplicate item code in the order.||Дублирование кода вложения в заказе
|-
|141||Duplicate additional service in the order.||Дублирование кода дополнительной услуги в заказе
|-
|}
 
=== Передача значений полей в форме создания заказа в Личном Кабинете через GET параметры ===
Если вам требуется передавать значения полей в форме создания заказа в Личном Кабинете через GET параметры, то вы можете подробно ознакомиться с этим на данной странице - [[Личный_кабинет_клиента#Передача и подстановка значений полей формы создания заказа через GET параметры]]
== Запрос статуса заказов ==
<ordercode>34234</ordercode>
<givencode>234534</givencode>
<uid>af11c7c6-6645-4a20-9604-be911a75722d</uid>
<datefrom>2016-07-21</datefrom>
<dateto>2016-07-21</dateto>
:* CLIENT — Признак клиента, значение по умолчанию
:* AGENT — Признак агента. В ответ отдается информация по заказам, переданным агенту на доставку
* '''orderno''' — Номер Идентификатор заказау клиента (шифр). Необязательный элемент.
* '''ordercode''' — Внутренний код заказа. Необязательный элемент.
* '''orderno2''' — Номер заказа из срочных. Необязательный элемент.* '''uid''' — Уникальный идентификатор, если он был добавлен при создании заказа. Необязательный элемент. Запрос информации по uid возможен в течении суток после создания заказа
* '''datefrom''' — Дата заказа «с». Необязательный элемент.
* '''dateto''' — Дата заказа «по». Необязательный элемент.
<town code="153361" regioncode="78" regionname="Санкт-Петербург город">Санкт-Петербург город</town>
<address>Петровка 38 офис 35</address>
<area>Район 1</area>
<pvz>
<code>126</code>
<price>387.5</price>
<inshprice>387.5</inshprice>
<paytypecode="1">CASH</paytype>
<weight>5.1</weight>
<quantity>2</quantity>
<receiverpays>NO</receiverpays>
<acceptpartially>NO</acceptpartially>
<status eventstore="филиал в Санкт-Петербурге" eventtime="2016-06-02 17:22:00" createtimegmt="2016-06-03 16:14:44" message="" title="Доставлен" eventtown="Санкт-Петербург город" color="16777215">COMPLETE</status>
<statushistory>
<status eventstore="Офис в Москве" eventtime="2016-05-30 10:20:00" createtimegmt="2016-06-03 16:14:44" message="" title="Новый" eventtown="Москва город" country="RU">NEW</status> <status eventstore="Офис в Москве" eventtime="2016-06-01 17:38:00" createtimegmt="2016-06-03 16:14:44" message="филиал в Санкт-Петербурге" title="Планируется отправка" eventtown="Москва город" country="RU">DEPARTURING</status> <status eventstore="Офис в Москве" eventtime="2016-06-01 19:53:00" createtimegmt="2016-06-03 16:14:44" message="филиал в Санкт-Петербурге" title="Отправлено со склада" eventtown="Москва город" country="RU">DEPARTURE</status> <status eventstore="филиал в Санкт-Петербурге" eventtime="2016-06-02 07:41:00" createtimegmt="2016-06-03 16:14:44" message="" title="Получен складом" eventtown="Санкт-Петербург город" country="RU">ACCEPTED</status> <status eventstore="филиал в Санкт-Петербурге" eventtime="2016-06-02 09:17:00" createtimegmt="2016-06-03 16:14:44" message="" title="Выдан курьеру на доставку" eventtown="Санкт-Петербург город" country="RU">DELIVERY</status> <status eventstore="филиал в Санкт-Петербурге" eventtime="2016-06-02 17:22:00" createtimegmt="2016-06-03 16:14:44" message="" title="Доставлен (предварительно)" eventtown="Санкт-Петербург город" country="RU">COURIERDELIVERED</status> <status eventstore="филиал в Санкт-Петербурге" eventtime="2016-06-02 17:22:00" createtimegmt="2016-06-03 16:14:44" message="" title="Доставлен" eventtown="Санкт-Петербург город" country="RU">COMPLETE</status>
</statushistory>
<customstatecode>2<customstatecode>
:* '''''ordercode''''' — внутренний код заказа в системе, применяется для некоторых внутренних операций.
:* '''''givencode''''' — внутренний код заказа в системе, применяется для некоторых внутренних операций.
 
*'''paytype''' - Тип оплаты заказа получателем. Принимает значения:
:: CASH - Наличными при получении (по-умолчанию)
:: CARD - Картой при получении
:: NO - Без оплаты.
:: OTHER - Прочее (Предусмотрен для того, чтобы оплата поступала непосредственно в курьерскую службу посредством прочих типов оплаты - таких как: вебмани, яденьги, картой на сайте, прочие платежные системы и т.д.)
* Атрибуты контейнера '''paytype''':
** '''''code''''' - (integer) внутренний код типа оплаты заказа в системном справочнике "Типы оплаты корреспонденции". Не обязательный элемент.
 
* атрибут '''''code''''' контейнера '''item''' — внутренний код строки заказа в системе, применяется для некоторых внутренних операций.
:* '''''returns''''' — количество данного товара, от которого отказался получатель. Не нулевое только в случае частичного отказа.
* '''''area''''' в контейнере '''receiver''' — район/метро получателя.
* '''''coords''''' в контейнере '''receiver''' — координаты получателя.
* '''''deliveryPIN''''' в контейнере '''receiver''' — Пин-код.
* '''delivereddate''' — дата вручения.
* '''deliveredtime''' — время вручения. В случае недоставки может быть пустым.
* '''arrival''' — плановая дата прибытия в формате гггг-мм-дд чч: мм: сс. Заполняется только при использовании автоматических систем планирования (Максоптра, Яндекс доставка), во всех остальных случаях - пустое.
* '''outstrbarcode''' — код у подрядчика (код заказа во внешней системе). Используется в интеграциях с внешними системами.
* '''partner''' — текущий филиал/подрядчик.
== Трекинг заказа по номеру ==
Запрос трекинга по номеру предназначен для выдачи минимальной обезличенной информации о конкретном заказе не авторизованному пользователю. Наша система имеет для этого интерфейс по адресу «home.courierexe.ru/{код экстра}/tracking». Вы можете либо сделать ссылку на такую страницу на своем сайте, либо разместить ее [[#Размещение страниц на своем сайте (iframe)|iframe’ом ]] у себя, либо сделать свою и пользоваться нашим API. Этот интерфейс создан специально для выдачи информации живому пользователю сайта. Для получения статусов заказов в свою информационную систему нужно использовать запрос «statusreq», желательно с параметром changes=ONLY_LAST!
'''Пример запроса:'''
== Изменение заказа ==
Запрос предназначен для изменения заказов, по которым не было произведено изменений статуса корреспонденции, времени доставки — то есть заказов, которые ещё не в работе.
Изменять заказы могут курьерские службы с тарифами «Премиум» и «Максимум». Чтобы разрешить изменение заказов, в личном кабинете курьерской службы перейдите в '''ПараметрыНастройки''' > '''РасширенныеЗаказы''' и в разделе '''Отмена и редактирование''' установите флажок '''Разрешить отмену и изменение заказов'''. Вы также можете пометить в списке '''Статусы для отмены и редактирования заказов''' галками статусы корреспонденции, для которых возможны отмена и изменение заказов. По умолчанию (когда в этом списке ничего не выбрано) редактирование и отмена разрешены для статуса «Новый»
<div style="color: #a94442; background-color: #f2dede; border: 1px solid #ebccd1; padding: 3px 10px 10px;">
* значение '''orderno''' данным методом изменить нельзя.
* значение '''barcode''' изменяется в случае явного его указания. В случае отсутствия или пустого значения - остается прежним.
* вместо корневого тэга '''neworder''' указывается '''editorder''';
* тэг курьера '''courier''' можно изменить только при включенной настройке '''Разрешить изменение курьера по АПИ''';
== Отмена заказа ==
Запрос предназначен для отмены заказов, по которым не было произведено изменений статуса доставки, статуса корреспонденции, времени доставки, то есть заказов, которые ещё не в работе.
Отменять заказы могут курьерские службы с тарифами «Премиум» и «Максимум». Чтобы разрешить отмену Разрешения для отмены заказов, и статусы в личном кабинете курьерской службы перейдите которых заказы можно отменять описаны в разделе '''Параметры''' > '''Расширенные''' и установите флажок '''Разрешить отмену и изменение Изменение заказов'''.
При отмене заказа поле «Инфо о доставке» получает значение «Отменено заказчиком», поле «Дата доставки» — текущую дату, а «Вручил курьер» — системную запись «ОТМЕНА».
<message>Клиент отказался от покупки</message>
<paytype>CASH</paytype>
<storeprice>123</storeprice>
<items>
<item code="34533" quantity="1" reason="0" governmentCode="11223311" />
<item code="34456" quantity="0" reason="0" />
<item code="34421" quantity="2" reason="0" />
* '''outstrbarcode''' — код у подрядчика (код заказа во внешней системе). Используется в интеграциях с внешними системами.
* '''paytype''' — Тип оплаты заказа. Допустимые значения CASH/CARD.
* '''storeprice''' — Агентское вознаграждение.
* '''items''' — Контейнер для описания вложений '''item''' . Атрибуты:
:* '''''code''''' — Код вложения.
:* '''''quantity''''' — Количество доставленных единиц вложения.
:* '''''reason''''' — Причина недоставки, выбирается из соответствующего списка статусов.
:* '''''governmentCode''''' — Указание кода ТН для вложения при необходимости.
* '''image''' — Контейнер прикрепляемого изображения. Содержит текст файла изображения, закодированный по стандарту ''base64''. Контейнер '''order''' может содержать более одного контейнера '''image'''. Атрибут:
:* '''''filename''''' — Имя файла.
</orders>
<form>1</form>
<start>5</start>
</waybill>
</source>
:* 3 — Наклейки на страницу формата А4
:* 4 — Акты приема-передачи
* '''start''' — Имеет смысл только для form = 3. Начальная позиция первой наклейки. Используется для пропуска наклеек на листе для их экономии.
В тэге content возвращаются бинарные данные (файл pdf), закодированные в base64.
При записи в файл необходимо использовать двоичный формат записи!
'''Обратите внимание''', что печатные формы для заборов не формируются.
 
'''Пример ответа с ошибкой:'''
<source lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<waybill>
<error>Текст ошибки</error>
</waybill>
</source>
== Справочник городов ==
<city>Краснодарский край</city>
<namecontains>новгород</namecontains>
<namecontainsparts>молоково моск</namecontainsparts>
<namestarts>Моск</namestarts>
<name>Москва</name>
* '''conditions''' — Задает условия поиска. Все вложенные элементы одновременно накладывают условие «И».
:* '''city''' — Поиск по всем населенным пунктам региона.
:* '''namecontainsparts''' — Поиск населенных пунктов, название которых содержит все указанные слова, с разбиением поисковой фразы через пробел. Например "моск моло" найдет деревню "Молоково" в Московской области.
:* '''namecontains''' — Поиск населенных пунктов, название которых содержит указанный текст.
:* '''namestarts''' — Поиск населенных пунктов, название которых начинается с указанного текста.
== Получение справочника тарифов по городам ==
<br>
<div style="color: #a94442; background-color: #f2dede; border: 1px solid #ebccd1; padding: 3px 10px 10px;">
'''Обратите внимание!'''
Если в запросе отсутствует параметр nofederal, то Москва будет обрабатываться иначе, чем остальные города. В ответе будут города Москвы и МО, с добавленной ценой за километраж
</div>
<br>
'''Пример запроса справочника тарифов по городам'''
<service>1</service>
<mainonly>1</mainonly>
<nofederal>1</nofederal>
</tariffs>
</source>
* '''service''' — режим доставки. Обязательный элемент.
* '''mainonly''' — необязательный элемент. Если передан, то в ответе будут данные только по городам из справочника '''Межгород''' > '''Зоны'''.
* '''nofederal''' — необязательный элемент. Если передан, то в ответе город федерального значения Москва будет обрабатываться как обычный город.
"towntocode": 1,
"towntoname": "Москва город",
"townregion": "Город Москва",
"distance": 0,
"pricedistance": 0,
* '''service''' — режим доставки.
* '''tariffs''' — cписок тарифов по городу.
:* '''townregion''' — регион города-получателя.
:* '''towntofias''' — код ФИАС города-получателя.
:* '''towntocode''' — внутренний код города-получателя.
Уникальные запросы списка ПВЗ кешируются на стороне личного кабинета и хранятся до 7 часов утра по московскому времени следующего дня. Например, если уникальный запрос с массой 2 кг был отправлен сегодня в 10 часов, то завтра в 7 утра он сбросится. Если сегодня в 18 часов в этом же запросе вы укажете массу 2 кг, в ответе вернется тот же список ПВЗ. Если передадите массу 3 кг, список может быть другим.
 
Обратите внимание, что если в выборке количество ПВЗ больше '''10000''' и не указаны параметры '''code''', '''json''' или '''limitcount''', то будет возвращаться ошибка. В этом случае необходимо использовать блок '''limit'''.
'''Пример запроса пунктов самовывоза:'''
<city>Свердловская область</city>
<town regioncode="66" country="RU">Нижний Тагил</town>
<address>Щёлковское шоссе</address>
<house>77</house>
<parentcode>6</parentcode>
<acceptcash>YES</acceptcash>
<rg>59.984669</rg>
<json>YES</json>
<with_coords>YES</with_coords>
<limit>
<limitfrom>30</limitfrom>
Также можно указать страну получателя в атрибуте '''''country''''' в соответствии с [https://ru.wikipedia.org/wiki/ISO_3166-1 стандартом ISO_3166-1], например, «RU», «RUS» или «643» для России.
Для формата запроса JSON фильтрация по городу работает только в связке с фильтром по адресу.
* '''address''' — Фильтр по адресу, работает только в связке с фильтром по городу
* '''house''' — Фильтр по номеру дома, работает только в связке с фильтрами по адресу и городу
* '''parentcode''' — Фильтр по родительскому [[#Справочник филиалов|филиалу]]
* '''acceptcash''' — Фильтр по приему наличных YES/NO
* '''rg''' — Долгота правого нижнего угла
* '''json''' — Признак вывода ответа в виде JSON YES/NO
* '''with_coords''' — Признак вывода ПВЗ только с наличием координат YES/NO
* '''limit''' — Ограничивает вывод результата.
:* '''limitfrom''' — Задает номер записи результата, начиная с которой выдавать ответ. По-умолчанию — 0.
<advprices>
<auth extra="8" login="login" pass="pass" />
<visible>NO</visible>
</advprices>
</source>
'''advprices''' — Корневой контейнер. Обязательный элемент.
* '''visible''' — Признак возврата '''только''' тех услуг, что доступны для отображения в ЛК YES/NO. Необязательный элемент. По-умолчанию NO
<maxdeliverydays>3</maxdeliverydays>
<mindeliverydate>2020-05-13</mindeliverydate>
<intervals>
<workdays>
<interval>10:00-16:00</interval>
<interval>16:00-22:00</interval>
</workdays>
<holidays>
<interval>12:00-16:00</interval>
</holidays>
</intervals>
<deliveryprice>
<advprice code="1" price="1000">База</advprice>
* '''maxdeliverydays''' — максимальный срок доставки в рабочих днях.
* '''mindeliverydate''' — минимальная дата доставки в учетом выходных дней.
* '''intervals''' — список интервалов доставки для соответствующей зоны и режима срочности.
* '''deliveryprice''' — Данные по составляющим ценам доставки
</mcheck>
</source>
 
 
== Размещение страниц на своем сайте (iframe) ==
 
В некоторых случаях имеет смысл разметить те или иные страницы на своем сайте.
 
Например, чтобы клиенты могли рассчитать стоимость доставки не переходя по внешней ссылке, а там же, на сайте, калькулятор можно разместить прямо на странице такого сайта посредством так называемого фрейма — '''iframe'''.
 
[https://ya.ru/search/?text=iframe Фрейм] — контейнер внутри обычной страницы, который позволяет загружать сторонние страницы. Пример загрузки калькулятора:
 
<source lang="html">
<iframe id="frame" src="https://home.courierexe.ru/8/calculator">
Здесь должен отобразиться калькулятор
</iframe>
</source>
 
Для удобства пользователей вашего сайта можно указать язык интерфейса (который переключается непосредственно на сайте) параметром '''lang''':
 
<source lang="html">
<iframe id="frame" src="https://home.courierexe.ru/8/calculator?lang=2">
Здесь должен отобразиться калькулятор
</iframe>
</source>
 
Обратите внимание! Если язык не указать, то на страницах калькулятора и трекинга отображается свой переключатель языка. Если язык указан, то переключатель не отоборажается.
 
Поддерживаемые языки и их коды:
:'''1''' — русский
:'''2''' — английский
:'''4''' — узбекский

Навигация