849
правок
Изменения
API
,→Описание элементов для оформления заказа
|[[Файл:prestashop.png|center|x60px]]
|style="text-align: center;"|[https://courierexe.ru/download/api/prestashop.zip Скачать]
|Поддерживает версии 1.5.2.0 и выше. Инструкция в архивеПодробнее см. [[PrestaShop|описание]].
|-
|[[Файл:OpencartOCStore.png|center|x60px]]
|[[Файл: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/ Установить плагин]
|Модуль предназначен для отправки заявок в КС, а плагин для расчета стоимости доставки при оформлении заказа. Инструкции есть в маркете, а также см. [[Webasyst|описание]].
|-
<!--|[[Файл:advantshop.png|center|x44px]]
|-
|[[Файл:Amocrm.png|center|x44px]]
|style="text-align: center;"|[https://www.amocrm.ru/extensions/courier2008 Установитьmeasoft Описание на сайте amoCRM]|Подробнее см. Подробное описание настроек читайте [[amoCRM|описаниетут]].
|-
|rowspan="2"|[[Файл:MoySclad.jpg|center|x30px]]
|style="height:50px; text-align: center;"|[https://home.courierexe.ru/moysklad/step1 Настроить интеграцию с MeaSoft]
|[[МойСклад|Инструкция]]
|-
|Поддерживает версии 4.10 и выше.<br>[[CS-Cart|Инструкция]]
|-
|style="text-align: center;"|Читайте описание [[Webhook|на этой странице]]
|Передача информации о статусах и заказах в вашу систему
|-
|[[Файл:Logo_tilda_black.png|center|x100px]]
|style="text-align: center;"|Читайте описание [[Tilda|на этой странице]]
|Работает только на платных тарифах
|-
|}
* при запросе измененных статусов ОБЯЗАТЕЛЬНО нужно подтверждать успешное получение запросом [[#Передача только изменившихся статусов|commitlaststatus]].
* вы должны знать номера заказов, которые вы отправили. Не нужно перебирать номера всех заказов или брутфорсом перебирать все возможные номера.
* нужно проверять с каким ответом возвращаются ваши АПИ-запросы. Если мы отвечаем ошибкой, то даже запрос на создание нового заказа учитывается в количестве запросов.
Мы абсолютно уверены, что данные ограничения на порядки превосходят необходимые объемы предоставления сервиса для решения любых задач. Если у вас возникают проблемы, вы не знаете, как уложиться в эти рамки — спросите у нас, мы обязательно поможем!
<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="ООО "Рога и копыта"" suppphone="79161234567" suppINN="1112223334" govType="2" governmentCode="11223311" extraTags="">Мяч</item>
</advprice>
</advprices>
<extrafields>
<extrafield>
<name>courier_car</name>
<value>ВАЗ 2106, бежевый</value>
</extrafield>
</extrafields>
<overall_volume>81</overall_volume>
<userid>user123</userid>
* '''order''' — Контейнер для описания одного заказа, обязательный элемент. В одном контейнере '''neworder''' может быть много контейнеров '''order''' для создания нескольких заказов одним запросом.
:* '''''orderno''''' — Номер заказа. Если присваивается клиентом — указывается здесь. Если не присваивается — можно оставить пустым, система сгенерирует свой номер, и вернет его в ответе. Система проверяет '''у клиента''' наличие заказов с указанным номером в '''пределах текущего календарного года''', которые '''не являются недоставленными''', и в случае их существования — заказ создан не будет, а в ответе вернется ошибка 17 «Such number exists». Если не указан штрихкод (поле barcode), и значение поля подходит для использования его в качестве штрихкода, данное значение будет скопировано в поле «Штрихкод». Это накладывает ограничения в частности, на длину указанного поля (25 знаков, чтобы работали стандартные печатные формы).
* '''barcode''' — Штрихкод заказа. Если клиент штрихкодирует свои отправления и штрихкод отличается от номера заказа, в этом поле указывается штрихкод. Если ШК содержит кириллицу или малое количество символов, то формируется ШК в формате EAN13.
:* код ПВЗ в нашей системе
:* код ПВЗ в системе подрядчика
:* наименование ПВЗ в виде строки "ПВЗ " + «Наименование ПВЗ». При указании ПВЗ в поле адреса необходимо проверять значение поля город получателя (он должен соответствовать данным ПВЗ) либо не передавать его вообще.
Для тега города '''town''' можно указать код региона в атрибуте '''''regioncode''''' из [[#Справочник регионов|справочника регионов]]. Поиск будет производиться в указанном регионе.
* '''weight''' — Общий вес заказа в килограммах.
* '''quantity''' — Количество мест.
* '''service''' — Режим доставки (тип услуги) передается код из справочника «[[#Справочник Видов Виды срочности|Виды срочности]]».
* '''type''' — Тип корреспонденции (отправления) передается код из справочника «Типы корреспонденции».
* '''return''' — Признак необходимости возврата. Принимает значения:
* '''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>. Атрибуты:
:: 6 — Оплата кредитом. Указывается сумма. Поле quantity игнорируется, всегда «1». В заказе сумма будет отрицательной независимо от знака в запросе.
:: 7 — Забор товара. Если товар нужно у получателя забрать, возможно — вернуть деньги, или его стоимость вычтется из суммы других товаров. У такого товара в заказе будет отрицательное количество независимо от знака в запросе.
:: 9 — Код подтверждения. Используется для вложения, в котором сохраняется регулярное выражение для проверки кодов вложений. См. '''''extraTags'''''
:* '''''extcode''''' — Внешний код строки. Используется для идентификации строк заказов при получении статусов. Необязательное поле.
:* '''''origincountry''''' — Код страны-производителя в соответствии со [https://ru.wikipedia.org/wiki/ISO_3166-1 стандартом ISO_3166-1], например, «RU», «RUS» или «643» для России.
:: 2 — ГИИС ДМДК.
:: 3 — Серийный номер.
:* '''''message''''' — Строка сообщения.:* '''''extraTags''''' — Строка в формате JSON для отправки в ОФДразличных целей.
:: Тэг 1265 - значение отраслевого реквизита = код места деятельности аптеки
:: Тэг 1212 - Признак предмета расчета
:: Маска валидации - регулярное выражение для проверки кодов вложений курьером. Указывается во вложении с типом 9 (см. атрибут вложения '''''type''''')
:: Пример:
"item_industry_props":{"tag1262":"020","tag1263":"14.12.2018","tag1264":"1556","tag1265":"tm=mdlp&sid=00000000XXXXXX"},
"tag1212": "1"
"ValidationMask": "(A-Z0-9){6,8}"
</source>
Для клиентов из '''Узбекистана''' необходимо указывать код ИКПУ и код упаковки в следующем формате:
<source lang="json">
"ikpu":"123123123","packageCode":"123456"
</source>
:* '''''code''''' — код услуги.
:* '''''value''''' — значение услуги. Если тип услуги bool, то в значении передаем true.
* '''extrafields''' — Контейнер для описания расширенных полей. Необязательный элемент. Может содержать несколько элементов extrafield
* '''extrafield''' — Контейнер для описания расширенного поля.
:* '''''name''''' — наименование переменной. Может содержать только латинские буквы, цифры и знак подчеркивания "_", но начинаться может только с буквы. Максимальная длина - 20 символов.
:* '''''value''''' — значение переменной. Максимальная длина - 250 символов.
* '''overall_volume''' — Общий объем, м3. Виртуальное поле. Необязательное. Из этого поля рассчитывается длина/высота/ширина места. Расчет срабатывает только если в каждом месте есть нулевые значения длины или высоты или ширины.
|-
|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.||Дублирование кода дополнительной услуги в заказе
|-
|144||Incorrect extrafields.||Некорректные расширенные поля.
|-
|}
<ordercode>34234</ordercode>
<givencode>234534</givencode>
<uid>af11c7c6-6645-4a20-9604-be911a75722d</uid>
<datefrom>2016-07-21</datefrom>
<dateto>2016-07-21</dateto>
<namestarts/>
</conditions>
<limit>500</limit>
</statusreq>
</source>
* '''orderno''' — Идентификатор заказа у клиента (шифр). Необязательный элемент.
* '''ordercode''' — Внутренний код заказа. Необязательный элемент.
* '''orderno2''' — Номер заказа из срочных. Необязательный элемент.* '''uid''' — Уникальный идентификатор, если он был добавлен при создании заказа. Необязательный элемент. Запрос информации по uid возможен в течении суток после создания заказа
* '''datefrom''' — Дата заказа «с». Необязательный элемент.
* '''dateto''' — Дата заказа «по». Необязательный элемент.
:* '''namestarts''' — Поиск по номеру заказа(шифр), который начинается с «orderno».
* '''limit''' — Необязательный параметр. Дает возможность получить не все измененные заказы, а только какое-то определенное количество. Помогает на случай, если у вас скопилось очень много измененных заказов и нужно их грузить лимитировано. После каждой итерации нужно вызывать commitlaststatus с контейнером списка обработанных кодов, [[#Лимитирование запросов|читать подробнее]]
<div style="color: #a94442; background-color: #f2dede; border: 1px solid #ebccd1; padding: 3px 10px 10px;">
<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>
<return_weight>5.1</return_weight>
<return_message>Доставлено в целости</return_message>
<return_date>2026-01-19</return_date>
<return_time>13:18:00</return_time>
<pickup>NO</pickup>
<print_check>YES</print_check>
<receipt fdNum="124555" fnSn="9289000100295555" kktNum="0001611984048555" inn="7722756555" fdValue="2899551555" summ="387.5" ofdUrl="gate.ofd.ru">https://ofd.ru/rec/7722756555/0001611984048555/9289000100295555/124555/2899551555</receipt>
<items>
<item code="34533" extcode="abc123" quantity="1" mass="0.2" retprice="37.5" VATrate="0" barcode="2345625213125" article="1" returns="0" origincountry="040" GTD="" excise="0.00" governmentCode="11223311" govType="1" suppcompany="Поставщик" suppINN="1112223334" suppphone="79161234567">Мяч</item> <item code="34456" extcode="abc124" quantity="2" mass="2" retprice="100" VATrate="10" barcode="4645625213138" article="2" returns="0" governmentCode="" govType="1">Обруч</item> <item code="34421" extcode="abc125" quantity="3" mass="0.3" retprice="50" VATrate="18" barcode="2345625213126" itemcode="44123" article="3" returns="0" governmentCode="" govType="1">Погремушка желтая</item>
</items>
<packages>
<package code="33332" strbarcode="ORD0000002" mass="2.5" message="" got="NO"></package>
</packages>
<extrafields>
<extrafield>
<name>courier_car</name>
<value>ВАЗ 2106, бежевый</value>
</extrafield>
</extrafields>
</order>
</statusreq>
:* '''''ordercode''''' — внутренний код заказа в системе, применяется для некоторых внутренних операций.
:* '''''givencode''''' — внутренний код заказа в системе, применяется для некоторых внутренних операций.
*'''paytype''' - Тип оплаты заказа получателем. Принимает значения:
:: CASH - Наличными при получении (по-умолчанию)
:: CARD - Картой при получении
:: NO - Без оплаты.
:: OTHER - Прочее (Предусмотрен для того, чтобы оплата поступала непосредственно в курьерскую службу посредством прочих типов оплаты - таких как: вебмани, яденьги, картой на сайте, прочие платежные системы и т.д.)
* Атрибуты контейнера '''paytype''':
** '''''code''''' - (integer) внутренний код типа оплаты заказа в системном справочнике "Типы оплаты корреспонденции". Не обязательный элемент.
* атрибут '''''code''''' контейнера '''item''' — внутренний код строки заказа в системе, применяется для некоторых внутренних операций.
:* '''''returns''''' — количество данного товара, от которого отказался получатель. Не нулевое только в случае частичного отказа.
* '''''area''''' в контейнере '''receiver''' — район/метро получателя.
* '''''coords''''' в контейнере '''receiver''' — координаты получателя.
* '''''deliveryPIN''''' в контейнере '''receiver''' — Пин-код.
* '''partner''' — текущий филиал/подрядчик.
* '''return_message''' — информация о возврате
* '''return_date''' - дата возврата
* '''return_time''' - время возврата
* '''department''' — Подразделение, в котором оформляется заказ.
: TRANSACCEPTED — Прибыл на склад перевозчика.
: PICKUPTRANS — Забран у перевозчика.
: WITHDRAWN_FROM_PICKUP_POINT - Изъят.: CUSTOMSDELAY - Задержка отправления таможенным органом.: DEPARTUREDELAY - Задержка отправления перевозчиком.: STORETAKE - Принят в работу на складе.
'''Примечание.''' В будущем возможно дополнение используемого набора статусов.
# Контейнер '''statushistory''' и '''deliveryprice''' заполняется для тарифов [[Личный кабинет курьерской службы#Функции личного кабинета|Премиум и Максимум]].
# Контейнер '''packages''' не возвращает более 1000 элементов.
# Система никогда не гарантирует последовательность прохождения заказом набора статусов. То есть Вы можете получить статус «COMPLETE», а следующим запросом — «NEW» — такое может произойти, например, если оператор ошибочно отметил заказ выполненным, а затем исправил ошибку.
</div>
<br>
=== Лимитирование запросов ===Дает возможность получить не все измененные заказы, а только какое-то определенное количество. Помогает на случай, если у вас скопилось очень много измененных заказов и нужно их грузить лимитировано. После успешной обработки получнных заказов, '''обязательно''' нужно вызвать commitlaststatus с кодами обработанных заказов. '''Пример запроса:''' Для получения ограниченного числа изменившихся заказов отправьте запрос:
<source lang="xml">
<?xml version="1.0" encoding="UTF-8" ?><statusreq> <auth extra="8" login="login" pass="pass"></auth> <changes>ONLY_LAST</changes> <limit>5</limit></statusreq></source> После успешной обработки ответа необходимо отметить полученные статусы успешно полученными, отправив запрос:<source lang="xml"><?xml version="1.0" encoding="UTF-8" ?><commitlaststatus> <auth extra="8" login="login" pass="pass"></auth> <acs> <ac>11111</ac> <ac>22222</ac> <ac>33333</ac> <ac>44444</ac> <ac>55555</ac> </acs></commitlaststatus></source> * '''acs''' — контейнер. Обязательный элемент.* '''ac''' — атрибут''' ordercode''' контейнера '''order''' полученного на этапе запроса '''statusreq'''. Помимо приведенных в примере параметров, вы также можете передавать и остальные, описанные ранее, например '''streamid'''. == Трекинг заказа по номеру ==Запрос трекинга по номеру предназначен для выдачи минимальной обезличенной информации о конкретном заказе не авторизованному пользователю. Наша система имеет для этого интерфейс по адресу «home.courierexe.ru/{код экстра}/tracking». Вы можете либо сделать ссылку на такую страницу на своем сайте, либо разместить ее [[#Размещение страниц на своем сайте (iframe)|iframe’ом]] у себя, либо сделать свою и пользоваться нашим API. Этот интерфейс создан специально для выдачи информации живому пользователю сайта. Для получения статусов заказов в свою информационную систему нужно использовать запрос «statusreq», желательно с параметром changes=ONLY_LAST! '''Пример запроса:'''<source lang="xml"><?xml version="1.0" encoding="UTF-8"?><tracking>
<extra>8</extra>
<orderno>1234</orderno>
<?xml version="1.0" encoding="UTF-8"?>
<tracking>
<order orderno="111111" ordercode="12345">
<barcode>111111</barcode>
<AWB>111111</AWB>
<item code="34421" extcode="abc125" quantity="3" mass="0.3" retprice="50" VATrate="18" barcode="2345625213126" article="3" returns="0" governmentCode="">Погремушка желтая</item>
</items>
<acquirers>
<acquirer code="2" name="Ibox"/>
<acquirer code="5" name="Payme"/>
<acquirer code="6" name="Click"/>
</acquirers>
</order>
</tracking>
</source>
где,
* '''acquirers''' / '''acquirer''' - эквайринг, доступный для получения ссылки на оплату заказа
** '''acquirers''' / '''acquirer''' / ''code'' - внутренний код эквайринга
** '''acquirers''' / '''acquirer''' / ''name'' - наименование эквайринга
"time":"2016-06-02 17:22:00",
"location":"RU",
"town":"Москва",
"store":"Москва Главный",
"content":"Complete"
},
"time":"2016-06-02 17:22:00",
"location":"RU",
"town":"Москва",
"store":"Москва Главный",
"content":"Courierdelivered"
},
"time":"2016-06-02 09:17:00",
"location":"RU",
"town":"Москва",
"store":"Москва Главный",
"content":"Delivery"
},
"time":"2016-06-02 07:41:00",
"location":"RU",
"town":"Москва",
"store":"Москва Главный",
"content":"Accepted"
},
"time":"2016-06-01 19:53:00",
"location":"RU",
"town":"Горький",
"store":"Горький Автозавод",
"content":"Departure"
},
"time":"2016-06-01 17:38:00",
"location":"RU",
"town":"Горький",
"store":"Горький Автозавод",
"content":"Departuring"
},
"time":"2016-05-30 10:20:00",
"location":"RU",
"town":"Горький",
"store":"Горький Автозавод",
"content":"New"
}
Описание контейнеров ответа аналогично описанию [[API#.D0.97.D0.B0.D0.BF.D1.80.D0.BE.D1.81 .D1.81.D1.82.D0.B0.D1.82.D1.83.D1.81.D0.B0 .D0.B7.D0.B0.D0.BA.D0.B0.D0.B7.D0.BE.D0.B2|Запроса статусов заказов]].
== Изменение = Получение ссылки для оплаты заказа ==Запрос предназначен для изменения заказов, по которым не было произведено изменений статуса корреспонденции, времени доставки — то есть заказов, которые ещё не в работе. Изменять заказы могут курьерские службы с тарифами «Премиум» и «Максимум». Чтобы разрешить изменение заказов, в личном кабинете курьерской службы перейдите в '''Параметры''' > '''Расширенные''' и установите флажок '''Разрешить отмену и изменение заказов'''.=
<div style="color: #a94442; background-color: #f2dede; border: 1px solid #ebccd1; padding: 3px 10px 10px;">
'''Обратите внимание!'''
</div>
'''Пример запроса:'''<source lang="xml"><?xml version="1.0" encoding="UTF-8"?><acqlink> <extra>8</extra> <acq> <code>2</code> </acq> <order> <code>12345</code> </order></acqlink></source> где*'''extra''' - код экстраклиента в системе Measoft.*acq.'''code''' - внутренний код платформы эквайринга в системе Measoft. (известен в МП из [https://wiki.courierexe.ru/index.php/API#.D0.A2.D1.80.D0.B5.D0.BA.D0.B8.D0.BD.D0.B3_.D0.B7.D0.B0.D0.BA.D0.B0.D0.B7.D0.B0_.D0.BF.D0.BE_.D0.BD.D0.BE.D0.BC.D0.B5.D1.80.D1.83 Трекинга]) *order.'''ordercode''' - внутренний код заказа, типа ''int'', уникальный в пределах экстраклиента '''Пример ответа:'''<source lang="xml"><?xml version="1.0" encoding="UTF-8"?><acqlink error="0" amount="2000" extid="161083231">https://qr.nspk.ru/AD10001A7GLVGA9YDO2I0789SIOPV3?type=02&bank=1000011&sum=2000&cur=RUB&crc=7E9C</acqlink></source> где*'''acqlink''' - ссылка на оплату заказа*acqlink.'''amount''' - тип integer сумма платежа в копейках в общем случае, в других случаях в соответствии с типом валюты*acqlink.'''extid''' - идентификатор счета на стороне платежной системы*acqlink.'''error'' - код ошибки, если отличается от 0, означает невозможность получения ссылки на оплату, в этом случае ссылки на оплату не будет и ответ будет выглядеть так:<source lang="xml"><?xml version="1.0" encoding="UTF-8"?><acqlink error="2" message="Ошибка авторизации: Invalid token" amount="2000" extid=""/></source> где*acqlink.'''message''' - текст ошибки возвращаемой эквайрингом Возможные типы ошибок получения ссылки:* '''1''' - не настроен эквайринг, либо не найден заказ* '''2''' - ошибка на стороне эквайринга* '''3''' - запрещающий статус курьера (заказ доставлен, частично доставлен)* '''4''' - оплата заказа не разрешена == Изменение заказа ==Запрос предназначен для изменения заказов. Изменять заказы могут курьерские службы с тарифами «Премиум» и «Максимум». Чтобы разрешить изменение заказов, в личном кабинете курьерской службы перейдите в '''Настройки''' > '''Заказы''' и в разделе '''Отмена и редактирование''' установите флажок '''Разрешить отмену и изменение заказов'''. Вы также можете пометить в списке '''Статусы для отмены и редактирования заказов''' галками статусы корреспонденции, для которых возможны отмена и изменение заказов. По умолчанию (когда в этом списке ничего не выбрано) редактирование и отмена разрешены для статуса «Новый» <div style="color: #a94442; background-color: #f2dede; border: 1px solid #ebccd1; padding: 3px 10px 10px;">'''Обратите внимание!'''# Данные запроса изменения указываются '''полностью''', как если бы заказ создавался впервые.# При отсутствии вложения в запросе изменения данное вложение '''не удаляется''' из заказа, но его количество становится равным 0.# При одновременном изменении заказа в API и системе курьерской службы приоритет отдается данным системы курьерской службы. То есть изменения в API приняты не будут.</div> При редактировании заказа может быть отменен запланированный курьер. Это зависит от значения переменной '''Справочники''' > '''Переменные''' > '''Корреспонденция''' > '''Автоматически устанавливать заплан. курьера по району''':* '''Нет''' — при редактировании заказа по АПИ курьер не изменяется;* '''Район''' — если изменен адрес доставки, курьер сбрасывается;* '''Район или дата план. доставки''' — если изменен адрес доставки или плановая дата вручения, курьер сбрасывается. === Описание полей запроса изменения ===
Все поля запроса соответствуют структуре order при создании заказа за исключением:
== Отмена заказа ==
Запрос предназначен для отмены заказов, по которым не было произведено изменений статуса доставки, статуса корреспонденции, времени доставки, то есть заказов, которые ещё не в работе.
Отменять заказы могут курьерские службы с тарифами «Премиум» и «Максимум». Чтобы разрешить отмену Разрешения для отмены заказов, и статусы в личном кабинете курьерской службы перейдите которых заказы можно отменять описаны в разделе '''Параметры''' > '''Расширенные''' и установите флажок '''Разрешить отмену и изменение Изменение заказов'''.
При отмене заказа поле «Инфо о доставке» получает значение «Отменено заказчиком», поле «Дата доставки» — текущую дату, а «Вручил курьер» — системную запись «ОТМЕНА».
<?xml version="1.0" encoding="UTF-8"?>
<attachments>
<item name="doc1.docx" timestamp="2025-01-01 12:00:00" size="35654">JVBERi0xLjMNJVBERixLjMN JUBQREYwMTIzNDU2Nzg5IDI NMyAwIG9iag08PA0vVHlwZSAUwLJdLwIDKxTn+AScMjKqor7Xm3sp1yj1k6BzlPdX2Qsiit6yg3g1fCI4YVAgclUOIY5tDra2LvAcIS U3VidHlwZSAvSW1hZ2UNL1d pZHRoIDE4MDgNL0hlaWdodCA5/+8PsL/sXb0+aoper/9kL/4Ov/YE9QsHwyg7YZTtKICy0YVIYb4Nt7L1tPUMfaX9NpuTsvFCtBAvYG ggNCAwIFINL0JpdHNQZXJDb 21wb25lbnQgMQ0vRGVjb2RlUeJVZoZ2tm6+fZVqAavZpeLizVLtct1a+xvG0+bTSkw3Ac8PhdNfL4smrT2hSgPJLfyaVGyA2ndyW22t ENL0NvbHVtbnMgMTgwOA0sFtTP5knktPNumSZ56QsFRPJkaU8ExDxAcMYMDIoBiIoR4/dDjHMbMW/EW4fiB1pvWmV2ONWIl1Xdub Xg1ob0qWX9W4qagsqzGhjRLsEGeJGVXg9oVC+XkJa9esrhGUmC0tuKEla+AplVO/OtHwXcW0FWui1z7 6KHrtobuWV0xa9sCEiSvb91w3ePHOvfcveo5xt9o4ZevHF7ZOeKxV5qmVx2MI44a1L+Mhk5YuGT12xd Ibsb7r+j9bff/unQlv0al6HBnoD5G89q4+tkjgDtvwwARmqm2aa2Jgvmth8mrXquTNtl2u467vbF/5r vnMt9uesu21Me1bjeNJGlVfAaCtw+/jfenJ/fWjqa7ygExx+P g0vSW1hZ2VNYXNrIHRydWUNLL0BcTGroxrKexQXIQ1ImfEW7ZRJZa+O XhEZWNvZGUNPj4Nc3RyZWFt DQ<ip7xJmmNESMxrgu/item>dquBbGypjJpFDJVRH1rVPR1Ifl4aFS5IEdDWZFSdyBBWKWhVSVu517ZgzOCFAwp wwbFph29g4fTaxnvn/3X78x+Tt56ZNffArgULt+HByvy7+yz6U6XWMawCi3+6gJXN0S+jf4t+HT34wg <item name="photo2.jpg" size="74861">VBERi0xLjMN km7/HDp55YTSWMoCMgZsvZkBrXtIv4WA7xgkT4YpYpxjwLvnsWKkGE+pDbxER0UUWlpVFRY4oilTfM4 JUBQREYwMTIzNDU2Nzg5IDI NMyAwIG9iag08PA0vVHlwZSAMIzgCPgxjOlZ87ceA7ceRJrgpipFGyugPQ4OTI2S8lWJoqTpHJlJbNOeYM7zTcoVxSNyJXiYWSAMklT vWE9iamVjdA0vU3VidHlwZS AvSW1hZ2UNL1dpZHRoIDEzNj q/xd+3fd3/USq2V1rJ7RyBLHsuDSiLwgaOFc5LUCRGI+QWuBAsIwPlZrgRpSMseJyTzD15PKiIRE7bc gNL0hlaWdodCAxMzMzDS9MZ W5ndGggNCAwIFINL0JpdHNQZ Rggk5ijXAPpqISetD4wVm0AD2LHuBZdaxmK3HOKIZoG0QLmiZdVqspXnFIJwVyCKhWiDCI4bzH8Y76w XJDb21wb25lbnQgMQ0vRGVj b2RlUGFybXMgPDwNL0sgLTEN TAnwM67HIqMISOkmJXY8mlYhpiNa7g2oTBkKxo4wgnvETQIUUrlFOn9KdOreDiKQx071rN4N61yRAi1 L0NvbHVtbnMgMTM2OA07EGRhSOgoeLYv+k41+KZ1SVBXAuDjB+xuxnQmm8wJDcP5IRn+Pg0 vSW5penzbR/ivm7qleHK5o790w8ejXchI vOHIPWtWwYhtAO34LdDXqFqWxZEBLNstMCwwITBTWirxk12zuUppp</item>
</attachments>
</source>
<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" />
</items>
<image attachments> <attachment filename="filename1.jpg"> /9j/4AAQSkZJRgA BAQAAAQABAAD/2wBDAA0JCg sKCA0LCgsODg0PEyAVExISEy ccHhcgLikxMC4pLSwzOko+M zZGNywtQFdBRkxOUlNSMj5aY VpQYEpRUk//2wBDAQ4ODhMR EyYVFSZPNS01T09PT09PT09P T09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09 PT09PT0//wAARCAYACAADAS IA</attachment> <attachment filename="filename2.jpg"> /9j/4AAQSkZJRgA BAQAAAQABAAD/2wBDAA0JCg sKCA0LCgsODg0PEyAVExISEy ccHhcgLikxMC4pLSwzOko+M zZGNywtQFdBRkxOUlNSMj5aY VpQYEpRUk//2wBDAQ4ODhMR EyYVFSZPNS01T09PT09PT09P T09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09 PT09PT0//wAARCAYACAADAS IA</imageattachment> </attachments>
</order>
</setorderinfo>
* '''outstrbarcode''' — код у подрядчика (код заказа во внешней системе). Используется в интеграциях с внешними системами.
* '''paytype''' — Тип оплаты заказа. Допустимые значения CASH/CARD.
* '''storeprice''' — Агентское вознаграждение.
* '''items''' — Контейнер для описания вложений '''item''' . Атрибуты:
:* '''''code''''' — Код вложения.
:* '''''quantity''''' — Количество доставленных единиц вложения.
:* '''''reason''''' — Причина недоставки, выбирается из соответствующего списка статусов.
:* '''image''governmentCode''''' — Указание кода ТН для вложения при необходимости.* '''attachments''' — Контейнер прикрепляемого изображенияприкрепляемых изображений. Содержит текст файла изображения, закодированный по стандарту Может содержать несколько контейнеров ''base64'attachment'. Контейнер '':* 'order''attachment' может содержать более одного контейнера '' — Контейнер изображения. Содержит текст файла изображения, закодированный по стандарту 'image'base64''. Атрибут:::* '''''filename''''' — Имя файла.
<waybill>
<auth extra="8" login="login" pass="pass" />
<client>CLIENT</client>
<orders>
<order orderno="1234567" ordercode="33331" />
</orders>
<form>1</form>
<start>5</start>
<integration>21</integration>
</waybill>
</source>
'''waybill''' — Корневой контейнер. Обязательный элемент
* '''auth''' — Авторизация. Обязательный элемент
* '''client''' — Признак клиента или агента. Необязательный элемент.
:* CLIENT — Признак клиента, значение по умолчанию
:* AGENT — Признак агента. В ответ отдается информация по заказам, переданным агенту на доставку
* '''orders''' — Список заказов для получения печатных форм. Содержит тэги '''order''' с атрибутами:
:* '''''orderno''''' — шифр заказа
:* 3 — Наклейки на страницу формата А4
:* 4 — Акты приема-передачи
* '''start''' — Имеет смысл только для form = 3. Начальная позиция первой наклейки. Используется для пропуска наклеек на листе для их экономии.
* '''integration''' - Получение наклеек от подрядчика. Не обязательный элемент, имеет смысл при наличии кода подрядчика в карточке заказа. Принимает значение:
:* 21 - подрядчик GTD
<?xml version="1.0" encoding="UTF-8"?>
<waybill>
<integration code="21">
<order code="33331">
<content>JVBERi0xLjYNJeLjz9MNC...</content>
</order>
<order code="33332">
<content>JVBERi0xLjYNJeLjz9MNC...</content>
</order>
</integration>
<content>EODIcaI8KSBlwQ 4MnEOR7Px8U8EBAyGICBnwpw
IZhQgz0ZxuPs8EBM/GcbjzB AwhBl8hwQYIO00GmEwg1CeEG
В тэге content возвращаются бинарные данные (файл pdf), закодированные в base64.
При записи в файл необходимо использовать двоичный формат записи!
Блок integration содержит отдельные наклейки для заказов, предоставленные подрядчиком, так же закодированные в base64. '''Обратите внимание''', что печатные Лимит количества при единовременном получении печатных форм - 1000 штук. Если нужно получить больше - делайте это несколькими запросами. '''Обратите внимание''' Печатные формы для заборов не формируются.
<message></message>
</document>
<serials>
<serial>123456789</serial>
</serials>
</itemmovements>
</itemlist>
:* '''message''' — комментарий
== Серийные номера =='''Пример запроса справочника тарифов по городамдвижения номенклатуры с серийным номером:'''
<source lang="xml">
<?xml version="1.0" encoding="UTF-8"?><tariffsserialmovements> <auth extra="8" login="login" pass="pass" /> <townfrom>Москва</townfrom> <service>1</serviceauth> <mainonlyserial>1123456789</mainonlyserial> </tariffsserialmovements>
</source>
* '''authserial''' — атрибут '''extra''' обязателен, по нему определяется курьерская служба.* '''townfrom''' — город-отправитель. Если не передан, то городом будет «Москва».* '''service''' — режим доставки. Обязательный элемент.* '''mainonly''' — необязательный элемент. Если передан, то в ответе будут данные только по городам из справочника '''Межгород''' > '''Зоны'''серийный номер единицы номенклатуры.
'''Пример ответа справочника тарифов по городамдвижения номенклатуры с серийным номером:'''<source lang="jsonxml">{ <?xml version="townfrom1.0": encoding="0c5b2444-70a0-4932-980cUTF-b4dc0d3f02b58",?> <serialmovements count="service16": 1,> <serialmovement> "tariffs": [<code>151500</code> { <serial>123456789</serial> "towntofias": "0c5b2444 <date>2017-70a005-4932-980c-b4dc0d3f02b5",26</date> "towntocode": 1, "towntoname": "Москва город", "townregion": "Город Москва", "distance": <delivered>0,</delivered> "pricedistance": 0, <item> "pricesnew": { <code>4259</code> "before": [ <name>Настольная игра Дженга</name> { </item> "price": 100, <status> "every": 0, <code>5</code> "mass": 1 <name>Возврат от покупателя</name> }, </status> { <order> "price": 150, <ordercode>3374830</ordercode> "every": <number>123660-0,</number> "mass": 5 <date>2017-05-24</date> } <orderno>14123</orderno> ], <barcode>0000000670</barcode> "after": [ <company>ТОВАР</company> { "price": 0 <address>Кравченко ул., "every": 1,</address> "mass": 38.01 <delivereddate>2017-05-29</delivereddate> }, { "price" <deliveredtime>12: 15, "every"00: 1,00</deliveredtime> "mass": 51.01 <deliveredto /> } </order> ] <document> }, <code>21991</code> "deliveryPeriodMin": 1, <number>318</number> "deliveryPeriodMax": 2 <date>2017-05-26</date> } <message></message> ]</document> </serialmovement>}</serialmovements>
</source>
''' Описание полей ответа '''
Описание аналогично описанию полей [[#Движение номенклатуры|движения номенклатуры]] == Номенклатура приходной накладной Серийные номера по заказу =='''Пример запроса номенклатуры приходной накладнойдвижения серийных номеров заказа:'''
<source lang="xml">
<?xml version="1.0" encoding="UTF-8" ?>
<itemdocorderserials> <auth extra="8" login="login" pass="pass"></auth> <codeordercode>21991123456789</codeordercode> <orderno>123456789</orderno> <barcode>123456789</barcode></itemdocorderserials>
</source>
* '''codeordercode''' — внутренний код документа приходной накладной (смзаказа. предыдущий запрос)* '''orderno''' — шифр заказа.* '''barcode''' — штрих-код заказа.Указывать необходимо один из идентификаторов заказа.
'''Пример ответа движения номенклатурысерийных номеров заказа:'''
<source lang="xml">
<?xml version="1.0" encoding="UTF-8" ?>
<itemdocorderserials> <order> <code>219913374830</code> <orderno>14123</orderno> <numberbarcode>3180000000670</numberbarcode> <datedelivereddate>20172024-0507-2620</datedelivereddate> <deliveredtime>10:04:00</deliveredtime> <assemblydate>2024-07-19 07:05:34<message/assemblydate> </messageorder>
<items>
<item > <code=">4259" quantity="1" barcode="200300" article="123555"</code> <name>Настольная игра Дженга</name> <article>123000</article> <state>Delivered</state> <serials> <serial>123456789</serial> </serials> </item> </items></itemdocorderserials>
</source>
''' Описание полей ответа '''
* '''itemorder''' — контейнер товараблок заказа::* '''code''' — внутренний код товара:* '''orderno''' — шифр:* '''barcode''' — штрихкод товараштрих-код:* '''delivereddate''' — дата доставки факт:* '''articledeliveredtime''' — артикул товаравремя доставки факт:* '''quantityassemblydate''' — количество поступившего товарадата сборки
'''Пример ответа:запроса справочника тарифов по городам'''
<source lang="xml">
<?xml version="1.0" encoding="UTF-8" ?><storelist counttariffs> <auth extra="8" login="2login" pass="pass"> <store> <code>123</code> <name>ABC </nametownfrom> Москва</storetownfrom> <storeservice> <code>4561</codeservice> <namemainonly>Филиал 21</name> </storemainonly> </storelisttariffs>
</source>
* '''codeauth''' — Код филиалаатрибут '''extra''' обязателен, по нему определяется курьерская служба.* '''townfrom''' — город-отправитель. Если не передан, то городом будет «Москва».* '''service''' — режим доставки. Обязательный элемент.* '''namemainonly''' — Наименование филиаланеобязательный элемент.Если передан, то в ответе будут данные только по городам из справочника '''Межгород''' > '''Зоны'''.
'''Пример запроса пунктов самовывоза:ответа справочника тарифов по городам'''<source lang="xmljson"><?xml version={ "townfrom": "0c5b2444-70a0-4932-980c-b4dc0d3f02b5", "service": 1.0, "tariffs": [ { "towntofias" encoding=: "UTF0c5b2444-870a0-4932-980c-b4dc0d3f02b5", "towntocode": 1, "towntoname": "Москва город", "townregion": "Город Москва" ?>,<pvzlist> "distance": 0, <auth extra= "8pricedistance" login=: 0, "loginpricesnew" pass=: { "passbefore"></auth>: [ <code>1234</code> { <client_code>7890</client_code> "price": 100, <city>Свердловская область</city> "every": 0, <town regioncode= "66mass" country=: 1 }, { "RUprice">Нижний Тагил</town>: 150, <address>Щёлковское шоссе</address> "every": 0, <house>77</house> "mass": 5 <parentcode>6</parentcode> } <acceptcash>YES</acceptcash> ], <acceptcard>YES</acceptcard> "after": [ <acceptfitting>YES</acceptfitting> { <maxweight>30</maxweight> "price": 0, <acceptindividuals>YES</acceptindividuals> "every": 1, <lt>57 "mass": 38.924737</lt>01 }, { <lg>59.940019</lg> "price": 15, <rt>57.905682</rt> "every": 1, <rg>59 "mass": 51.984669</rg>01 <json>YES</json> } <with_coords>YES</with_coords> ] <limit> }, <limitfrom>30</limitfrom> "deliveryPeriodMin": 1, <limitcount> "deliveryPeriodMax": 2</limitcount> } <countall>YES</countall>] </limit></pvzlist>}
</source>
''' Описание полей ответа '''* '''townfrom''' — код ФИАС города-отправителя.* '''authservice''' — Атрибут режим доставки.* '''extratariffs''' — обязателен, cписок тарифов по нему определяется курьерская служба, городу.:* '''logintownregion''' и — регион города-получателя.:* '''passtowntofias''' позволяют авторизоваться под клиентом — код ФИАС города-получателя.: для отдельного клиента могут быть ограничения по доступности некоторых ПВЗ, и в этом случае они будут учтены* '''towntocode''' — внутренний код города-получателя.:* '''codetowntoname''' — Внутренний коднаименование города-получателя.:* '''client_codedistance''' — Код клиента курьерской службыдистанция в км до города от МКАД, если в запросе townfrom — Москва.:* '''citypricedistance''' — Регион получателясумма за километраж до города от МКАД, если в запросе townfrom — Москва. Можно указать код региона или полное наименование региона :* '''pricesnew''' — ваши настройки тарифов из [[#Справочник регионов|справочника регионов]]'''Межгород''' > '''Тарифы по зонам'''.::* '''townbefore/after''' — Город получателяконтейнеры ДО/ОТ.Для тега города :::* '''townprice''' можно указать код региона — цена. Если ответ идет по «before», то в атрибуте цену также плюсуется сумма pricedistance:::* '''every''' — за каждые.:::* '''mass''' — масса.:* '''prices''' — устаревший элемент, не используется.:* '''deliveryPeriodMin''' — минимальный срок доставки.:* '''deliveryPeriodMax''' — максимальный срок доставки. == Номенклатура приходной накладной =='regioncode''Пример запроса номенклатуры приходной накладной:''' из [[#Справочник регионов|справочника регионов]]<source lang="xml"><?xml version="1.0" encoding="UTF-8" ?><itemdoc> <auth extra="8" login="login" pass="pass"></auth> <code>21991</code></itemdoc></source> * '''code''' — внутренний код документа приходной накладной (см. Поиск будет производиться в указанном регионепредыдущий запрос).
<source lang="xml">
<?xml version="1.0" encoding="UTF-8" ?>
<pvzlist count="2" totalcount="40465"itemdoc> <pvz> <code>12621991</code> <clientcodenumber>3318</clientcodenumber> <namedate>Нижний Тагил2017-05-26</namedate> <parentcodemessage>6</parentcodemessage> <parentname>Интеграция</parentnameitems> <town item code="1242674259" regioncodequantity="661" regionnamebarcode="Свердловская область200300" article="123555">Нижний Тагил городНастольная игра Дженга</townitem> <address>622036, г. Нижний Тагил, ул. Циолковского, д. 17 </addressitems> <phone>+73435417709, +73435254989</phoneitemdoc> <comment>Новый пункт доставки</commentsource> <worktime>Вс 10:00-16:00, Сб 10:00-16:00, Пн-Пт 10:00-20:00</worktime> <traveldescription>Жилое 5-ти этажное здание, торцом к дороге, второе здание от перекрестка Пархоменко-Циолковского</traveldescription>''' Описание полей ответа ''' <maxweight>10</maxweight>* '''code''' — внутренний код приходной накладной <acceptcash>YES</acceptcash>* '''number''' — номер документа <acceptcard>YES</acceptcard>* '''date''' — дата документа <acceptfitting>YES</acceptfitting>* '''message''' — комментарий <acceptindividuals>YES</acceptindividuals> <latitude>57.93457</latitude>* '''item''' — контейнер товара <longitude>59.95131</longitude>:* '''code''' — внутренний код товара <uid>40606d00-9c51-11eb-b2c9-cfd6c1111392</uid>:* '''barcode''' — штрихкод товара </pvz>:* '''article''' — артикул товара <pvz>:* '''quantity''' — количество поступившего товара <code>245</code> <clientcode>NTG1</clientcode>== Справочник филиалов == <name>На Красноармейской</name>'''Пример запроса списка филиалов:''' <parentcode>6</parentcodesource lang="xml"> <parentname>Интеграция</parentname> <town code?xml version="1242671.0" regioncodeencoding="66" regionname="Свердловская областьUTF-8">Нижний Тагил город</town?> <address>КРАСНОАРМЕЙСКАЯ, д.79</addressstorelist> <phone>+7(3435)379-044</phone> <comment>Возможность примерки отсутствует</comment> <worktime>Вс 10:00-16:00, Сб 10:00-16:00, Пн-Пт 10:00-20:00</worktime> <traveldescription>Напротив ТЦ Пирамида</traveldescription> <maxweight>20</maxweight> <acceptcash>YES</acceptcash> <acceptcardauth extra="8">YES</acceptcardauth> <acceptfitting>NO</acceptfitting> <acceptindividualsjson>YES</acceptindividualsjson> <latitudeclient_code>57.93468</latitude> <longitude>60.55476</longitude> <uid>41116853-9c51-11eb-b2c9-cfd6c1451392</uid> 7890</pvzclient_code></pvzliststorelist>
</source>
* '''codeauth''' — Код ПВЗ в системе. Используется в запросе [[API#Оформление заказа|оформления заказов]]* Атрибут '''clientcodeextra''' — Код ПВЗ используемый компанией-подрядчиком.обязателен, по нему определяется курьерская служба* '''namejson''' — Наименование ПВЗ.Признак вывода ответа в виде JSON YES/NO* '''parentcodeclient_code''' — Код родительского элемента.клиента курьерской службы * '''parentnameПример ответа:''' — Наименование родительского элемента.* '''town''' — Населенный пункт с кодом из [[#Справочник городов|справочника городов]], а также с кодом и наименованием региона<source lang="xml"><?xml version="1.0" encoding="UTF-8" ?>* '''address''' — Адрес ПВЗ.<storelist count="2">* '''phone''' — Телефоны ПВЗ. <store>* '''comment''' — Дополнительная информация. <code>123</code> * '''worktime''' — Режим работы ПВЗ. <name>ABC</name> * '''traveldescription''' — Описание местонахождения ПВЗ или пути к нему. </store>* '''maxweight''' — Максимальный вес, с которым работает ПВЗ. <store>* '''acceptcash''' — Признак приема наличных <code>456</code> * '''acceptcard''' — Признак приема банковских карт <name>Филиал 2</name> * '''acceptfitting''' — Наличие примерки </store>* '''latitude''' — Широта</storelist>* '''longitude''' — Долгота</source>* '''uid''' — Уникальный идентификатор ПВЗ в системе Measoft* '''countcode''' — Количество записей в ответеКод филиала.* '''totalcountname''' — Общее количество записей, отвечающее параметрам запросаНаименование филиала.
== Получение фискальных данных заказа Справочник пунктов самовывоза ==Для отображения списка пунктов выдачи (ПВЗ) есть '''Пример запроса получения фискальных данных:готовый JavaScript модуль'''<source lang="xml"><?xml version="1: https://home.courierexe.0" encoding="UTF-8"?><receiptdata> <auth extra="8" login="login" pass="pass" ru/> <orders> <order orderno="123456" js/> <order orderno="890111C" measoft_map.js Инструкция по использованию — внутри. Посмотреть пример работы можно [https:/> </orders><home.courierexe.ru/receiptdata>pvz_test.html Здесь]
Уникальные запросы списка ПВЗ кешируются на стороне личного кабинета и хранятся до 7 часов утра по московскому времени следующего дня. Например, если уникальный запрос с массой 2 кг был отправлен сегодня в 10 часов, то завтра в 7 утра он сбросится. Если сегодня в 18 часов в этом же запросе вы укажете массу 2 кг, в ответе вернется тот же список ПВЗ. Если передадите массу 3 кг, список может быть другим.
'''Пример ответа получения фискальных данныхзапроса пунктов самовывоза:'''
<source lang="xml">
<?xml version="1.0" encoding="UTF-8"?><receipts countpvzlist> <auth extra="8" login="login" pass="1pass"></auth> <receiptcode>1234</code> <ordernoclient_code>1234567890</ordernoclient_code> <fdDatetimecity>2020-06-07 12:14:00Свердловская область</fdDatetimecity> <fdValuetown regioncode="66" country="RU">123Нижний Тагил</fdValuetown> <fdNumaddress>456Щёлковское шоссе</fdNumaddress> <fnSnhouse>78977</fnSnhouse> <kktNumadvanced_search>100Строка поиска</kktNumadvanced_search> <innparentcode>2226</innparentcode> <ofdUrlacceptcash>gate.ofd.ruYES</ofdUrlacceptcash> <fullUrlacceptcard>https:YES</acceptcard> <acceptfitting>YES</check.ofd.ru/123acceptfitting> <maxweight>30</fullUrlmaxweight> <priceacceptindividuals>12345YES</priceacceptindividuals> <lines count="1"respstores> YES<line/respstores> <itemlt>111176457.924737</itemlt> <namelg>Сапоги59.940019</namelg> <qtyrt>157.905682</qtyrt> <pricerg>100059.984669</pricerg> <vatRatejson>20YES</vatRatejson> <governmentCodewith_coords>Z16513LK2YES</governmentCodewith_coords> <itemTypelimit>1 <limitfrom>30</itemTypelimitfrom> <limitcount>2</linelimitcount> <countall>YES</linescountall> </receiptlimit></receiptspvzlist>
</source>
<source lang="xml">
<?xml version="1.0" encoding="UTF-8"?><advpricespvzlist count="2" totalcount="40465"> <pvz> <code>126</code> <clientcode>3</clientcode> <name>Нижний Тагил</name> <parentcode>6</parentcode> <parentname>Интеграция</parentname> <auth extratown code="8124267" loginregioncode="login66" passregionname="passСвердловская область" >Нижний Тагил город</town> <address>622036, г. Нижний Тагил, ул. Циолковского, д. 17</address> <phone>+73435417709, +73435254989</phone> <comment>Новый пункт доставки</comment> <worktime>Вс 10:00-16:00, Сб 10:00-16:00, Пн-Пт 10:00-20:00</advpricesworktime> <traveldescription>Жилое 5-ти этажное здание, торцом к дороге, второе здание от перекрестка Пархоменко-Циолковского</sourcetraveldescription> <maxweight>10</maxweight>'''advprices''' — Корневой контейнер. Обязательный элемент. <acceptcash>YES</acceptcash> <acceptcard>YES</acceptcard> <acceptfitting>YES</acceptfitting>'''Пример ответа справочника дополнительных услуг:''' <acceptindividuals>YES</acceptindividuals> <latitude>57.93457<source lang="xml"/latitude> <?xml version="1longitude>59.0" encoding="UTF95131</longitude> <uid>40606d00-9c51-11eb-b2c9-8" ?cfd6c1111392</uid> <advprices/pvz> <advpricepvz> <code>1245</code> <clientcode>NTG1</clientcode> <name>Этажей в домеНа Красноармейской</name> <parentcode>6</parentcode> <typeparentname>intИнтеграция</typeparentname> <town code="124267" regioncode="66" regionname="Свердловская область">Нижний Тагил город</advpricetown> <advpriceaddress>КРАСНОАРМЕЙСКАЯ, д.79</address> <codephone>+7(3435)379-044</phone> <comment>Возможность примерки отсутствует</comment> <worktime>Вс 10:00-16:00, Сб 10:00-16:00, Пн-Пт 10:00-20:00</worktime> <traveldescription>2Напротив ТЦ Пирамида</codetraveldescription> <namemaxweight>Коэффициент надбавки20</namemaxweight> <typeacceptcash>floatYES</typeacceptcash> <acceptcard>YES</advpriceacceptcard> <acceptfitting>NO<advprice/acceptfitting> <codeacceptindividuals>YES</acceptindividuals> <latitude>357.93468</codelatitude> <namelongitude>Расписаться на упаковке60.55476</namelongitude> <typeuid>bool41116853-9c51-11eb-b2c9-cfd6c1451392</typeuid> </advpricepvz></advpricespvzlist>
</source>
== Расчет стоимости доставки Получение фискальных данных заказа =='''Пример запроса стоимости доставкиполучения фискальных данных:'''
<source lang="xml">
<?xml version="1.0" encoding="UTF-8" ?><calculatorreceiptdata> <auth extra="8" login="login" pass="pass" /> <orderorders> <pricetypeorder orderno="123456" />CUSTOMER <order orderno="890111C" /pricetype> <sender/orders> <town/receiptdata>Санкт-Петербург </townsource> '''Пример ответа получения фискальных данных:'''<address>Петровка 38 офис 35</addresssource lang="xml"> <coords lat?xml version="551.6803270" lonencoding="37.604456UTF-8"?><receipts count="1"> <receipt> <orderno>123456</coordsorderno> <fdDatetime>2020-06-07 12:14:00</senderfdDatetime> <fdValue>123<receiver/fdValue> <zipcodefdNum>125480456</zipcodefdNum> <town regioncode="78" country="RU"fnSn>Санкт-Петербург789</townfnSn> <addresskktNum>Петровка 38 офис 35100</addresskktNum> <pvzinn>124222</pvzinn> <coords lat="55ofdUrl>gate.680327" lon="37ofd.604456">ru</coordsofdUrl> <fullUrl>https://check.ofd.ru/123</receiverfullUrl> <weightprice>5.112345</weightprice> <servicepayType>2</servicepayType> <paytypelines count="1">CASH </paytypeline> <priceitem>387.51111764</priceitem> <deliverypricename>150Сапоги</deliverypricename> <inshpriceextcode>387.527113415</inshpriceextcode> <qty>1<packages/qty> <package mass="1" quantity="5"price>1000</packageprice> <package mass="2.5" length="10" width="vatRate>20" height="30"></packagevatRate> <governmentCode>Z16513LK2</packagesgovernmentCode> <useriditemType>user1231</useriditemType> <groupid/line>customer </groupidlines> </orderreceipt></calculatorreceipts>
</source>
Параметры ответа:
* '''orderno''' — Номер заказа
* '''fdDatetime''' — Дата и время пробития фискального чека
* '''fdValue''' — ФПД (фискальный признак документа)
* '''fdNum''' — ФИСКАЛЬНЫЙ ДОКУМЕНТ (фискальный номер чека)
* '''fnSn''' — ФН (номер фискального накопителя)
* '''kktNum''' — РН (регистрационный номер кассы)
* '''inn''' — ИНН
* '''ofdUrl''' — URL адрес (доменное имя) ОФД
* '''price''' — Сумма чека
* '''paytype''' — Тип оплаты чека. Принимает значения:
:* CASH — Наличными (по-умолчанию)
:* CARD — Безналичным способом
* '''fullUrl''' — URL чека для просмотра онлайн
* '''lines''' — Позиции чека
:* '''item''' — код товара
:* '''name''' — наименование товара
:* '''extcode''' — код товара во внешних системах
:* '''qty''' — количество товара
:* '''price''' — цена товара
:* '''governmentCode''' — считанная последовательность, которая в дальнейшем преобразуется по алгоритму тега 1162
:* '''vatRate''' — НДС товара
:* '''itemType''' — тип товара (товар, доставка и т. д.)
'''Пример ответа стоимости доставкисправочника дополнительных услуг:'''
<source lang="xml">
<?xml version="1.0" encoding="UTF-8"?><calculatoradvprices> <calcadvprice> <townfrom code=">1">Москва город</townfromcode> <townto code="56603"name>Иркутск городЭтажей в доме</towntoname> <masstype>3.7int</masstype> <service name="Экспресс">1 </serviceadvprice> <zone>2</zoneadvprice> <pricecode>11132</pricecode> <mindeliverydaysname>1Коэффициент надбавки</mindeliverydaysname> <maxdeliverydaystype>3float</maxdeliverydaystype> <mindeliverydate>2020-05-13 </mindeliverydateadvprice> <intervalsadvprice> <workdayscode> <interval>10:00-16:003</intervalcode> <intervalname>16:00-22:00Расписаться на упаковке</intervalname> </workdaystype> bool<holidays/type> <interval>12:00-16:00 </intervaladvprice> </holidaysadvprices> </intervalssource> <deliveryprice> <advprice code="1" price="1000">База</advprice>Параметры: <advprice * '''code="4" price="100">Процент от суммы руб</advprice>''' — внутренний код услуги <advprice code="5" price="63">Процент от объявленной стоимости</advprice>* '''name''' — наименование услуги. Если поле «название в ЛК» в настройках услуги не пусто, то возвращает значение поля «название в ЛК». <advprice code="6" price="-50">Скидка при доставке</advprice>* '''hine''' — подсказка по доп услуге для пользователя </deliveryprice>* '''type''' — тип услуги. Может иметь значения: </calc>:* '''bool''' — для услуг вида «чекбокс», «Да»</calculator>:* '''float''' — для числа с плавающей точкой</source>:* '''int''' — для целого числа
<source lang="xml">
<?xml version="1.0" encoding="UTF-8" ?>
<clientcalculator> <auth extra="8" login="login" pass="pass" /> <order> <pricetype>CUSTOMER</pricetype> <sender> <town>Санкт-Петербург</town> <address>Петровка 38 офис 35</address> <coords lat="55.680327" lon="37.604456"></coords> </sender> <receiver> <zipcode>125480</zipcode> <town regioncode="78" country="RU">Санкт-Петербург</town> <address>Петровка 38 офис 35</address> <pvz>124</pvz> <coords lat="55.680327" lon="37.604456"></coords> </receiver> <weight>5.1</weight> <service>2</service> <paytype>CASH</paytype> <price>387.5</price> <deliveryprice>150</deliveryprice> <inshprice>387.5</inshprice> <packages> <package mass="1" quantity="5"></package> <package mass="2.5" length="10" width="20" height="30"></package> </packages> <userid>user123</userid> <groupid>customer</groupid> </order> </clientcalculator>
</source>
Параметры:Структура данных и заполнение полей аналогичны и совместимы с [[#Оформление заказа]]. Дополнительные поля:* '''Пример ответа на запрос получения информации о клиенте:pricetype'''<source lang="xml"><?xml version="1 — тип требуемой цены.0" encoding="UTFВозможные значения: «CUSTOMER» (по-8" ?>умолчанию) — [[Личный кабинет клиента#Цена доставки для получателя|цена для конечного получателя]], «CLIENT» — цена курьерской службы для клиента.<client> <code>1082<* '''userid''' — Идентификатор пользователя, строковый или числовой тип. Виртуальное поле. Необязательное. Данное поле используется совместно с настройками «Цена доставки для получателя», определяя приоритет правила. Можно использовать в различных CMS/code>CRM системах, настраивая цены для определенного покупателя.<* '''groupid''' — Идентификатор группы пользователя, строковый или числовой тип. Виртуальное поле. Необязательное. Данное поле используется совместно с настройками «Цена доставки для получателя», определяя приоритет правила. Можно использовать в различных CMS/client></source>CRM системах, настраивая цены для определенной группы покупателей.
'''Пример ответа на запрос списка актов передачи денегстоимости доставки:'''
<source lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<smalist countcalculator> <calc> <townfrom code="1"> Москва город<sma/townfrom> <townto code="56603">6278Иркутск город</codetownto> <numbermass>39923.7</numbermass> <actdateservice name="Экспресс">2016-02-121</actdateservice> <datepayzone>2</datepayzone> <datetoprice>2016-02-121113</datetoprice> <promiseddatepaymindeliverydays>1</promiseddatepaymindeliverydays> <pricemaxdeliverydays>637.003</pricemaxdeliverydays> <pricecorrmindeliverydate>113.002020-05-13</pricecorrmindeliverydate> <rurintervals> <workdays>13430. <interval>10:00-16:00</rurinterval> <pricekurinterval>570.16:00-22:00</pricekurinterval> </workdays> <holidays> <priceaginterval>67.12:00-16:00</priceaginterval> <payno/holidays>42423 </paynointervals> <paytypedeliveryprice> <advprice code="1" price="1000">База</advprice> <advprice code="4" price="100">Процент от суммы руб</paytypeadvprice> <paytypenameadvprice code="5" price="63">БезналПроцент от объявленной стоимости</paytypenameadvprice> <advprice code="6" price="-50">Скидка при доставке<signedcopyreceived/advprice>NO </signedcopyreceiveddeliveryprice> </smacalc></smalistcalculator>
</source>
Параметры:* '''codetownfrom''' — Код акта* Город-отправитель так, как система его распознала и привязала к справочнику. Атрибут '''numbercode''' — Номер акта в системекод из справочника городов системы.* '''actdatetownto''' — Дата акта* Город-получатель так, как система его распознала и привязала к справочнику. Атрибут '''datepaycode''' — Дата оплаты по актукод из справочника городов системы.* '''datetomass''' — Дата конечного периода для формирования АПДМасса в килограммах* '''promiseddatepayservice''' — Плановая дата оплатыРежим доставки — число, указывающее на запись в справочнике видов срочности (см описание на этой странице).* '''pricezone''' — Стоимость услугномер тарифной зоны, по которой рассчиталась стоимость. В зависимости от зоны выбирается тарифная сетка. Так же к цене могут применяться повышающие или понижающие коэффициенты при доставке не из/в региональный центр.* '''pricecorrprice''' — Сумма корректировкирассчитанная стоимость доставки в валюте прайс-листа курьерской службы. Рекомендуется к использованию в отличие от одноименного атрибута родительского контейнера.* '''rurmaxdeliverydays''' — Сумма заказамаксимальный срок доставки в рабочих днях.* '''pricekurmindeliverydate''' — Стоимость курьерской минимальная дата доставкив учетом выходных дней.* '''priceagintervals''' — Агентское вознаграждениесписок интервалов доставки для соответствующей зоны и режима срочности.* '''paynodeliveryprice''' — Номер платежного порученияДанные по составляющим ценам доставки * '''paytype''Обратите внимание:''''' — Тип оплатыВ реальном ответе сервера в теге calc присутствует атрибут «price». Он оставлен для обратной совместимости, не используйте его. Пользуйтесь вложенным тегом price. === Коды и описание ошибок ==={|class=wikitable!Код ошибки!Английское описание!Русское описание!Примечание|-|15||tarif not found||Тариф не найден||Ошибка получения тарифов: 1 — безналдля клиента не указан тариф|-|19||field [town to] cannot be empty||Поле [город получателя] не может быть пустым||Необходимо указать город получателя или ПВЗ|-|20||field [weight] is incorrect||Некорректное значение [масса]||Значение массы некорректное, например, 2 — наличными курьеромне является числом. Его необходимо исправить|-|21||town from not found||Город отправителя не найден||Системе не удалось найти указанный населенный пункт отправителя|-|22||town to not found||Город получателя не найден||Системе не удалось найти указанный населенный пункт отправителя|-|23||field [weight] cannot be empty||Поле [масса] не может быть пустым||Необходимо указать значение массы отправления, 3 — наличными поле [weight]|-|36||subtown not found||Город в регионе не найден||Не настроено направление доставки до города в регионе: не добавлен регион или указанный город отсутствует в офисесписке региона|-|37||zoneprice not found||Тариф зоны не найден||Отсутствуют зоны тарификации или для них не указаны стоимости|-|38||tarif not found - 1||Тариф не найден 1||Результаты расчета отсутствуют: общая ошибка в случае, 4 — перевод на картуесли других ошибок нет, но результат пустой |-|39||tarif not found - 2||Тариф не найден 2||Ошибка получения тарифов: для клиента не настроен тариф или тарификация от количества заказов|-|82||field [weight] exceeded limit PVZ||Значение [weight] превышает ограничение ПВЗ||Указанное значение массы больше, чем максимально допустимое для указанного ПВЗ|-* '''paytypename''' — Строковое представление типа |83||attribute [paytype] not allowed PVZ||Значение [paytype] не допустимо для ПВЗ||В ПВЗ не допустим указанный тип оплаты* '''signedcopyreceived''' — Признак факта возврата акта YES/NO|-|}
== Детализация актов передачи денег Получение информации о клиенте =='''Пример запроса детализации актов передачи денегполучения информации о клиенте:'''
<source lang="xml">
<?xml version="1.0" encoding="UTF-8" ?>
<smadetailclient> <auth extra="8" login="login" pass="pass" /> <code>6278</code></smadetailclient>
</source>
'''smadetailclient''' — Корневой контейнер. Обязательный элемент.
* '''auth''' — Авторизация. Обязательный элемент.
'''Пример ответа на запрос детализации актов передачи денегполучения информации о клиенте:'''
<source lang="xml">
<?xml version="1.0" encoding="UTF-8"?><smadetail count="2"client> <specialsma> <code>424941082</code> <ordercode>14424</ordercode> <orderno>11111</orderno> <orderdate>2018-01-01</orderdate> <delivereddate>2018-10-01</delivereddate> <company>Компания</company> <price>314.00</price> <rur>8800.00</rur> <inshprice>314.00</inshprice> <pricekur>270.00</pricekur> <priceag>44.00</priceag> <pricecalc>8486.00</pricecalc> <paytype>2</paytype> <paytypename>наличными курьером</paytypename> <weight>0.400</weight> <distance>0.0</distance> <status>Доставлено</status> </specialsma></smadetailclient>
</source>
* '''code''' — Код записи.* '''ordercode''' — Код заказа.* '''orderno''' — Шифр заказа.* '''orderdate''' — Дата заказа.* '''delivereddate''' — Дата доставки.* '''company''' — Получатель.* '''price''' — Стоимость услуг.* '''rur''' — Сумма заказа.* '''inshprice''' — Стоимость заказа.* '''pricekur''' — Стоимость курьерской доставки.* '''priceag''' — Агентское вознаграждение.* '''pricecalc''' — Сумма для передачи агенту.* '''paytype''' — Тип оплаты: 1 — безнал, 2 — наличными курьером, 3 — наличными в офисе, 4 — перевод на карту.* '''paytypename''' — Строковое представление типа оплаты* '''weight''' — Вес заказа.* '''distance''' — Дистанция по заказу* '''status''' — Статус заказа.клиента == Генерация коротких ссылок Список актов передачи денег ==В некоторых случаях, например, при использовании в СМС, может потребоваться использование коротких ссылок на ЛК.Для этого, необходимо отправить запрос с полной ссылкой, в ответ на который придёт хэш-код для ссылки. '''Пример запроса генерации коротких ссылоксписка актов передачи денег:'''
<source lang="xml">
<?xml version="1.0" encoding="UTF-8" ?>
<shortlinksmalist> <link shortauth extra="08" login="login" pass="pass"/> <datefrom> https:2016-02-10<//home.courierexe.ru/8/site/orders datefrom> <dateto>2016-03-10</linkdateto></shortlinksmalist>
</source>
'''smalist''' — Корневой контейнер. Обязательный элемент.* '''auth''' — Авторизация. Обязательный элемент.* '''datefrom''' — Дата «с». Необязательный элемент.* '''dateto''' — Дата «по». Необязательный элемент.Если интервал дат не указан, то возвращаются акты передачи денег за последний месяц. '''Пример ответа на запрос списка актов передачи денег:'''<source lang="xml"><?xml version="1.0" encoding="UTF-8"?><smalist count="1"> <sma> <code>6278</code> <number>3992</number> <actdate>2016-02-12</actdate> <datepay></datepay> <dateto>2016-02-12</dateto> <promiseddatepay></promiseddatepay> <price>637.00</price> <pricecorr>113.00</pricecorr> <rur>13430.00</rur> <pricekur>570.00</pricekur> <priceag>67.00</priceag> <payno>42423</payno> <paytype>1</paytype> <paytypename>Безнал</paytypename> <signedcopyreceived>NO</signedcopyreceived> </sma></smalist></source> * '''code''' — Код акта* '''number''' — Номер акта в системе* '''actdate''' — Дата акта* '''datepay''' — Дата оплаты по акту* '''dateto''' — Дата конечного периода для формирования АПД* '''promiseddatepay''' — Плановая дата оплаты* '''price''' — Стоимость услуг* '''pricecorr''' — Сумма корректировки* '''rur''' — Сумма заказа* '''pricekur''' — Стоимость курьерской доставки* '''priceag''' — Агентское вознаграждение* '''payno''' — Номер платежного поручения* '''paytype''' — Тип оплаты: 1 — безнал, 2 — наличными курьером, 3 — наличными в офисе, 4 — перевод на карту* '''paytypename''' — Строковое представление типа оплаты* '''signedcopyreceived''' — Признак факта возврата акта YES/NO == Детализация актов передачи денег =='''Пример запроса детализации актов передачи денег:'''<source lang="xml"><?xml version="1.0" encoding="UTF-8" ?><smadetail> <auth extra="8" login="login" pass="pass" /> <code>6278</code></smadetail></source> '''smadetail''' — Корневой контейнер. Обязательный элемент.* '''auth''' — Авторизация. Обязательный элемент.* '''code''' — Код акта передачи денег (см. запрос списка АПД). Обязательный элемент. '''Пример ответа на запрос детализации актов передачи денег:'''<source lang="xml"><?xml version="1.0" encoding="UTF-8"?><smadetail count="2"> <specialsma> <code>42494</code> <ordercode>14424</ordercode> <orderno>11111</orderno> <orderdate>2018-01-01</orderdate> <delivereddate>2018-10-01</delivereddate> <company>Компания</company> <price>314.00</price> <rur>8800.00</rur> <inshprice>314.00</inshprice> <pricekur>270.00</pricekur> <priceag>44.00</priceag> <pricecalc>8486.00</pricecalc> <paytype>2</paytype> <paytypename>наличными курьером</paytypename> <weight>0.400</weight> <distance>0.0</distance> <status>Доставлено</status> </specialsma></smadetail></source> * '''code''' — Код записи.* '''ordercode''' — Код заказа.* '''orderno''' — Шифр заказа.* '''orderdate''' — Дата заказа.* '''delivereddate''' — Дата доставки.* '''company''' — Получатель.* '''price''' — Стоимость услуг.* '''rur''' — Сумма заказа.* '''inshprice''' — Стоимость заказа.* '''pricekur''' — Стоимость курьерской доставки.* '''priceag''' — Агентское вознаграждение.* '''pricecalc''' — Сумма для передачи агенту.* '''paytype''' — Тип оплаты: 1 — безнал, 2 — наличными курьером, 3 — наличными в офисе, 4 — перевод на карту.* '''paytypename''' — Строковое представление типа оплаты* '''weight''' — Вес заказа.* '''distance''' — Дистанция по заказу* '''status''' — Статус заказа. == Установка статуса согласования заказа ==Для возможности клиентом установки статуса согласования заказа необходимо включить переменную [[Личный кабинет курьерской службы#Заказы|Разрешить менять статус согласования]] '''Пример запроса установки статуса согласования заказа'''<source lang="xml"><?xml version="1.0" encoding="UTF-8"?><setapprovalstatus> <auth extra="8" login="login" pass="pass" /> <order ordercode="1234561"> <confirmstate>1</confirmstate> <message>Сообщение статуса</message> </order> <order ordercode="1234562"> <confirmstate>2</confirmstate> <message>Согласовано</message> </order> <order ordercode="1234563"> <confirmstate>3</confirmstate> <message>Не согласовано</message> </order></setapprovalstatus></source> * '''order''' — Контейнер заказа. Обязателен как минимум один элемент.:* '''ordercode''' — Внутренний код заказа.* '''confirmstate''' — Код статуса заказа. Все статусы с кодами можно получить запросом [[#Получение списка статусов согласования заказа|Получение списка статусов согласования заказа]]* '''message''' — Дополнительный комментарий, который отобразится в поле ''Инфо о доставке''. == Получение списка статусов согласования заказа =='''Пример запроса списка статусов согласования заказа'''<source lang="xml"><?xml version="1.0" encoding="UTF-8"?><approvalstatuses> <auth extra="8" login="login" pass="pass" /></approvalstatuses></source> '''Пример ответа списка статусов согласования заказа'''<source lang="xml"><?xml version="1.0" encoding="UTF-8" ?><approvalstatuses count="6"> <status> <code>1</code> <name>Неизвестно</name> </status> <status> <code>2</code> <name>Согласование запрошено</name> </status> <status> <code>3</code> <name>Доставка полностью согласована</name> </status> <status> <code>4</code> <name>Согласовано с изменением времени</name> </status> <status> <code>5</code> <name>Перенос на другую дату</name> </status> <status> <code>6</code> <name>Отказ</name> </status></approvalstatuses></source> == Генерация коротких ссылок ==В некоторых случаях, например, при использовании в СМС, может потребоваться использование коротких ссылок на ЛК.Для этого, необходимо отправить запрос с полной ссылкой, в ответ на который придёт хэш-код для ссылки. '''Пример запроса генерации коротких ссылок:'''<source lang="xml"><?xml version="1.0" encoding="UTF-8" ?><shortlink> <link short="0"> https://home.courierexe.ru/8/site/orders </link></shortlink></source> '''shortlink''' — Корневой контейнер. Обязательный элемент.* '''link''' — Полная ссылка, для которой необходимо получить код. Обязательный элемент. Если атрибут '''short''' равен 1, то ответ не будет содержать XML, а только хэш-код.
'''Пример ответа на запрос генерации коротких ссылок:'''
<source lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<shortlink> <hash>35AF350C</hash></shortlink></source> * '''hash''' — Хэш-код ссылки. Далее, можно использовать ссылку на ЛК: <nowiki>https://home.courierexe.ru/35AF350C или curie.ru/35AF350C</nowiki> '''Примечание!''' Сервис коротких ссылок работает только для ресурсов компании MeaSoft. == Проверка надежности покупателя ==Проверка надежности работает только для тарифа «Максимум» личного кабинета. <source lang="xml"><?xml version="1.0" encoding="UTF-8" ?><mcheck> <auth extra="8" login="login" pass="pass" /> <phones> <phone>89161147992</phone> </phones></mcheck></source> Ответ: <source lang="xml"><?xml version="1.0" encoding="UTF-8" ?><mcheck> <phones> <phone rate="90">89161147992</phone> </phones></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> <div style="color: #a94442; background-color: #f2dede; border: 1px solid #ebccd1; padding: 3px 10px 10px;">'''Обратите внимание!'''# При использовании iFrame могут не работать некоторые функции, например, подписка на push-уведомления на странице трекинга или отслеживания.# Если язык не указать, то на страницах калькулятора и трекинга отображается свой переключатель языка. Если язык указан, то переключатель не отображается. Поддерживаемые языки и их коды::'''1''' — русский:'''2''' — английский:'''4''' — узбекский</div> == Оформление манифеста == '''Пример запроса на создание манифеста:'''<source lang="xml"><?xml version="1.0" encoding="UTF-8" ?><manifest> <auth extra="8" login="login" pass="pass" /> <store_from>1</store_from> <store_to>2</store_to> <trn_code>3</trn_code> <sentdate>2024-11-07</sentdate> <places> <place> <number>1</number> <seal>7890AABBB</seal> </place> <place> <number>2</number> <seal>123456ABC</seal> </place> </places> <addresses> <address> <code>12345</code> <place>1</place> </address> <address> <code>67890</code> <place>2</place> </address> </addresses></manifest></source> '''manifest''' - Корневой контейнер. Обязательный элемент.*'''auth''' - Авторизация. Обязательный элемент.*'''store_from''' - код филиала отправителя. Обязательный элемент.*'''store_to''' - код филиала получателя. Обязательный элемент.*'''trn_code''' - код перевозчика. Обязательный элемент.*'''sentdate''' - дата отправки манифеста. Не обязательный элемент.*'''addresses''' - корневой элемент для списка заказов.*:'''address''' - корневой элемент для заказа.*::'''code''' - наш внутренний номер заказа. Обязательный элемент.*::'''place''' - номер места заказа. Обязательный элемент, если переданы места.*'''places''' - корневой элемент для списка мест.*::'''place''' - корневой элемент для места.*::'''number''' - номер места. Обязательный элемент.*::'''seal''' - номер пломбы. Необязательный элемент. '''Пример успешного ответа'''<source lang="xml"><?xml version="1.0" encoding="UTF-8"?><manifest> <result>OK</result></manifest></source> '''Пример ответа с ошибкой'''<source lang="xml"><?xml version="1.0" encoding="UTF-8"?><manifest> <result error="Текст ошибки">ERROR</result></manifest>
</source>