Формат обмена данными «Твой Курьер» - Интернет-Магазин Спецификация требований Версия 1.2 «Твой Курьер» cтр. 1 из 33 Содержание 1. Общее описание ................................................................................................................................. 3 2. Протокол обмена ................................................................................................................................ 3 3. Список пунктов выдачи заказов (ПВЗ) .............................................................................................. 6 4. Список заказов на доставку ............................................................................................................... 7 5. Список заказов на самовывоз .........................................................................................................12 6. Список заказов на отправку Почтой России ...................................................................................15 7. Список заказов на доставку через постаматы ...............................................................................18 8. Список заказов на удаление ............................................................................................................21 9. Отчет «Статусы заказов» .................................................................................................................22 10. Отчет «Запрос статуса заказа от ИМ к ТК» ..................................................................................24 11. Запрос от ИМ в ТК данных о дисконтной карте ТК ......................................................................25 12. Запрос от ИМ к ТК о стоимости доставки или самовывоза (калькулятор) ................................26 13. Список постаматов .........................................................................................................................28 14. Коды ошибок ...................................................................................................................................29 15. Приложение ....................................................................................................................................32 «Твой Курьер» cтр. 2 из 33 1. Общее описание В документе представлен порядок и формат обмена данными между Компанией «Твой Курьер» и клиентом Интернет-Магазином (далее ИМ). 2. Протокол обмена 1. Обмен данными осуществляется по протоколу HTTP. Кодировка всех запросов CP1251. Адрес сервера Твой Курьер для отправки запросов: http://tvoykurier.ru/ishop/xml/ Данные передаются в формате XML, кодировка CP1251. 2. secure. Идентификация ИМ осуществляется параметром учетной записи account и секретным кодом Для обеспечения безопасности при передаче/запросе данных ИМ должен передавать значение поля secure, вычисляемое по алгоритму: secure = md5(date.'&'.secure_password), где secure_password — секретный код, передаваемый компанией Твой Курьер (его можно видеть в личном кабинете на сайте компании «Твой Курьер»), date — дата документа. Дата передается в формате “d.m.Y”, например: 01.01.2014 Учетная запись и секретный код назначаются автоматически при создании личного кабинета. Учетная запись и секретный код не меняются, поэтому, во избежание возможных проблем, не сообщайте его посторонним лицам. Программисту, который занимается интеграцией можно сообщить тестовый код, а затем самостоятельно его сменить на актуальный. 3. На этапе тестирования интернет-магазину назначается тестовая учетная запись. По завершению отладки ИМ сообщает о готовности переключиться на реальную учетную запись. 4. ИМ имеет возможность получать уведомления о результате отправки данных на электронную почту. Уведомления содержат информацию как об удачной загрузке заказов, так и об ошибках импорта. Список e-mail адресов Вы можете указать в личном кабинете в разделе «Прочее» >>> «Настройки». Если нужно указать несколько ящиков, указывайте их через запятую. 5. Для формирования списка заказов на доставку необходим список городов с идентификационными номерами по базе Твой Курьер. Список предоставляется вместе с регламентом обмена данными в виде xml по адресу http://tvoykurier.ru/ishop/xml/city_list.php 6. Твой Курьер принимает семь типов документов на обработку: «Список заказов на доставку», «Список заказов на самовывоз», «Заявка на забор товара с Вашего склада», «Заявка на привоз товара на наш склад», «Список заказов на отправку Почтой России», «Список заказов на отправку через постаматы», «Список заказов на удаление». Из них, на сегодняшний день, работают только те интерфейсы, которые подчеркнуты. «Список заказов на доставку» - документ, содержащий данные по заказам, которые Заказчик поручает Исполнителю доставить. «Список заказов на самовывоз» - документ, содержащий данные по заказам на самовывоз, которые Заказчик поручает Исполнителю выдать покупателю в пунктах выдачи Исполнителя. Список пунктов самовывоза в виде xml можно получить по адресу: http://tvoykurier.ru/ishop/xml/pvzlist.php (информация об этом будет далее). «Заявка на забор с Вашего склада» - документ, содержащий информацию по вызову курьера, если необходимо забрать товары со склада ИМ. Груз доставляется до склада Твой Курьер. Условия формирования документа: на один день возможно не более одного вызова курьера в одном городе; диапазон времени для приезда курьера не должен быть меньше 3 часов; «Твой Курьер» cтр. 3 из 33 Список товаров (или заказов) не может быть пустым. «Заявка на привоз товара на наш склад» - документ, содержащий информацию о времени приезда Вашего представителя на склад Твой Курьер, а так же списке товаров или заказов, которые он привезет. Список товаров или заказов не может быть пустым. «Список заказов на отправку Почтой России» - документ, содержащий информацию по заказам, которые Заказчик поручает Исполнителю доставить на Почту России. «Список заказов на отправку через постаматы» - документ, содержащий информацию по заказам, которые Заказчик поручает Исполнителю доставить до постаматов. «Список заказов на удаление» - документ, содержащий перечень заказов, которые необходимо удалить из базы Твой Курьер в случае их ошибочного импорта. Условием возможности удаления заказа является отсутствие какой-либо выполненной работы по данному заказу (статус заказа «В обработке»). ИМ отправляет POST запрос на адрес: для документа «Список заказов на доставку»: http://tvoykurier.ru/ishop/xml/im_integrator_neworder.php; для документа «Список заказов на самовывоз»: http://tvoykurier.ru/ishop/xml/im_integrator_newcarry.php; для документа «Заявка на забор товара с Вашего склада»: http://tvoykurier.ru/ishop/xml/im_integrator_newexport.php; для документа «Заявка на привоз товара на наш склад»: http://tvoykurier.ru/ishop/xml/im_integrator_newselfexport.php; для документа «Список заказов на отправку Почтой России»: http://tvoykurier.ru/ishop/xml/im_integrator_newrp.php; для документа «Список заказов на отправку через постаматы»: http://tvoykurier.ru/ishop/xml/im_integrator_newpostamat.php; для документа «Список заказов на удаление»: http://tvoykurier.ru/ishop/xml/delete_orders.php. с заполненной переменной $_POST['xml_request'], в которой передается содержимое XML фaйла. Сервер Твой Курьер вернет результат в виде: при удачной обработке данных header("http/1.0 200 Ok"); и XML в виде: <?xml version="1.0" encoding="CP1251"?> <response><Order Msg="Добавлено заказов CntOrder"/><response/> при ошибке: header("http/1.0 200 server error") и XML в виде: <?xml version="1.0" encoding="CP1251"?> <response><Order Msg="Error: описание ошибки"/><response/> Код состояния HTTP не говорит о результате загрузки, необходимо обрабатывать возвращаемый XML. Если были указаны электронные адреса для отправки уведомлений, будет отправлено письмо c результатом обработки документов с электронного адреса: noreply@tvoykurier.ru. Не забудьте добавить этот адрес в белый список адресов, чтобы письма с этого адреса не уходили в СПАМ. Важно: При возникновении ошибки на любом этапе обработки документа, заказы, не имеющие ошибок, импортируются, по остальным - передается информация в формате XML и на email (в случае, если он указан в Вашем личном кабинете). «Твой Курьер» cтр. 4 из 33 Изменения в базе Твой Курьер происходят сразу после удачной обработки запроса. Ограничений на количество запросов в сутки нет. При работе тестового аккаунта изменения, переданные в тестовом режиме, будут аннулированы автоматически в 23.00 по московскому времени. 7. По запросу ИМ формируется шесть видов документов: «Список пунктов выдачи заказов (ПВЗ)», «Статусы заказов», «Информация по заказам», «Список городов и их номеров в базе», «Список регионов и их номеров в базе», «Список стран и их номеров в базе». Документ «Список пунктов выдачи заказов (ПВЗ)» предоставляет список ПВЗ, действующих на момент запроса. ИМ отправляет запрос на http://tvoykurier.ru/ishop/xml/pvzlist.php?cityid=994, переменная cityid – код города для которого необходим список ПВЗ, необязательный параметр. При отсутствии параметра cityid список ПВЗ содержит данные по всем городам. Атрибут ПВЗ используется в документе «Список заказов на самовывоз». Отчет «Статусы заказов» передает информацию последнего статуса заказа, по которому были изменения от даты_времени datefirst включительно по текущий момент или даты_времени datelast. Всю историю изменений статусов заказов, выбранных по вышеописанным условиям, можно получить при значении переменной showhistory = 1. В отчете также предоставляются данные по неудавшимся попыткам доставки в разрезе расписания доставки, предоставленного Интернет-Магазином. ИМ отправляет запрос на http://tvoykurier.ru/status_report_h.php?account=123&secure=c3b51896d86675dc3205a8d7ef833a15&datefirst=1 362782757&showhistory=1 Сервер Твой Курьер вернет XML фaйл в виде «Отчет «Статусы заказов». Запрос статусов можно делать не чаще одного раза в одну минуту. Рекомендуем выставлять интервал один раз в 5 или 10 минут. Отчет «Информация по заказам» предоставляет данные: по ключевым параметрам заказа, формирующим стоимость услуг Твой Курьер; о дате последнего изменения суммы заказа. ИМ отправляет запрос на http://tvoykurier.ru/ishop/xml/info_report.php с заполненной переменной $_POST['xml_request'], в которой передается содержимое XML фaйла (описание см. ниже). В результате также возвращается XML (описание см. ниже) Список «Список городов и их номеров в базе» выдает все города с индексами, в формате XML, содержавшиеся в базе Твой Курьер. ИМ отправляет запрос на http://tvoykurier.ru/ishop/xml/city_list.php Дополнительный параметр id_country (метод GET), который содержит ID страны, по которому нужно вывести города. Если параметр пуст, то выводятся все города по России. Дополнительный параметр id_region (метод GET), по которому можно вывести все города и населенные пункты в конкретном регионе любой страны. Список «Список регионов и их номеров в базе» выдает все регионы с индексами, в формате XML, содержавшиеся в базе Твой Курьер. ИМ отправляет запрос на http://tvoykurier.ru/ishop/xml/region_list.php Дополнительный параметр id_country, который содержит ID страны, по которому нужно вывести регионы. Если параметр пуст, то выводятся все регионы по России. Список «Список стран и их номеров в базе» выдает все города с индексами, в формате XML, содержавшиеся в базе Твой Курьер. ИМ отправляет запрос на http://tvoykurier.ru/ishop/xml/country_list.php Метод GET. Обязательные параметры: account, secure. «Твой Курьер» cтр. 5 из 33 Отчет «Запрос статуса заказа от ИМ к ТК» (п. 10): ИМ отправляет запрос на http://tvoykurier.ru/ishop/xml/get_order_status.php с параметрами account и secure и заполненными параметрами id или num_order (ID заказа по базе Твой Курьер или номер заказа по базе Твой Курьер соответственно). Запрос «Запрос от ИМ в ТК о стоимости доставки или самовывоза (калькулятор)» ИМ отправляет запрос на http://tvoykurier.ru/ishop/xml/im_calc.php с параметрами account и secure, а так же дополнительными параметрами, описанными в п. 12. Всё передаётся методом GET. Все запросы/вопросы необходимо присылать на e-mail integrator@tvoykurier.ru с темой письма «Интеграция Твой Курьер, клиент Название_Вашей_Компании, Номер_Договора,_если_есть». «Твой Курьер» cтр. 6 из 33 3. Список пунктов выдачи заказов (ПВЗ) № Тэг/Атрибут Описание Тип поля Обяз. для заполн. 1. PvzList Заголовок документа да 2. Pvz ПВЗ да 2.1. Code ID пункта выдачи 2.2. Name Название 2.3. CountryCode 2.4. number да varchar(50) да Код страны по базе Твой Курьер number да CityCode Код города по базе Твой Курьер number да 2.5. City Название города varchar(50) да 2.6. WorkTime Режим работы varchar(100) да 2.7. Address Адрес varchar(255) да 2.8. Phone Телефон varchar(100) да 2.9. GPSlong GPS координата ПВЗ float да 2.10. GPSlat GPS координата ПВЗ float да 2.10. Term Сроки доставки в ПВЗ text да 2.12. Desc Описание, как пройти до пункта выдачи text Нет 2.13 Type Тип ПВЗ. Буква английского алфавита varchar(1) да Пример: Документ содержит список ПВЗ в городе Москва. <?xml version="1.0" encoding="UTF-8" ?> <pvzList> <pvz code="231" name="Волгоградка" countrycode="1" citycode="994" city="Москва" worktime="пн.пт. 10-19, сб. 10-17, вс 11-18" address="Волгоградский проспект, д. 32, корп. 13" phone="(495) «Твой Курьер» cтр. 7 из 33 9-433-433, (495) 642-5466" gpslong="51.35478" gpslat="34.78945" term="пн-пт с 11 до 23” desc="Пройти от метро Волгоградский проспект 100 метров" type="A"/></pvz> </pvzList> 4. Список заказов на доставку № Тэг/Атрибут Описание Тип поля Обяз. для заполн. 1. Orders Заголовок документа 1.1. Type Тип заказов, передаваемых в документе varchar(255) да 1.2. Number Номер акта приема-передачи/ТТН. Если товар не находится на складе Твой Курьер и его необходимо передать, то позже Вы будете создавать заказ на забор товара или заказ на привоз товара, в котором Ваш внутренний номер должен совпадать с данным номером. varchar(20) Да 1.3. Date Дата документа date да 1.4. OrderCount Общее количество заказов в документе number да 2. Order да Заказ да 2.1. Number Номер отправления клиента или внутренний номер заказа (должен быть уникален в пределах акта приемапередачи). Он не может содержать русские буквы и пробелы, знаки + / \ ? & varchar(20) да 2.2. Places Количество мест (коробок, упаковок), передаваемых вместе с этим заказом number да 2.3. Sendercity Код города отправителя из базы Твой Курьер number да 2.4. Recipcity Код города получателя из базы Твой Курьер number да 2.5. D_date Дата, на которую идет доставка. Если отправление идет в регион или другую страну и Вы не знаете сроки доставки, то пишите день, когда товар будет на складе. Пример значения: 27.01.2013 d.m.Y да 2.6. B_time РЕКОМЕНДУЕМОЕ время доставки товара ( с ). Значения могут быть только от 10 до 18 включительно number да 2.7. E_time РЕКОМЕНДУЕМОЕ время доставки товара ( по ). Значения могут быть только от 13 до 22 включительно. Имейте ввиду, что на данный момент доставка осуществляется до 19 часов. Временной промежуток должен быть не менее 3 часов, то есть с 10 до 13 или с 11 до 20, но не с 10 до 11 или с 18 до 19 number да «Твой Курьер» cтр. 8 из 33 2.8. Dim_x Габариты груза. Длина (в сантиметрах)* number нет 2.9. Dim_y Габариты груза. Ширина (в сантиметрах)* number нет 2.10. Dim_z Габариты груза. Высота (в сантиметрах)* number Нет 2.11. TK_card_num Номер дисконтной карты ТК, по которой покупатель получил скидку. ВНИМАНИЕ!!! Данное поле либо остается пустым, либо в него пишется только номер дисконтной карты ТК (карта, организатором которой является компания Твой Курьер). Просим не писать в это поле номер любой Вашей дисконтной карты. varchar(100) Нет 2.12. Comments Комментарий по заказу text нет 2.13. Incl_delivery Включить в бланк цену доставки да 2.13.1. Val Значение 1 или 0 – включить или не включать number да 2.13.2. Price Стоимость доставки для клиента в рублях double да Goods Товары. Минимум один товар в заказе должен присутствовать 3. 3.1. Number Порядок сортировки товаров для отображения в сопроводительных документах 3.2. Barcode Штрих-код упаковки 3.3. Name Наименование вложения 3.4. Weight 3.5. да number да varchar(100) да text да Вес в кг (за единицу) double да Quantity Количество единиц number да 3.6. Сost Стоимость товара, закупочная цена (за единицу) double да 3.7. Price Стоимость товара для покупателя (за единицу) double да 3.8. Bundling Комплектация данной единицы товара. Значение 1 или 0 – комплектовать или не комплектовать number да 4. 4.1. Service Cash Дополнительные услуги Услуга «наложенный платеж». Включается всегда (значение 1), когда требуется забрать денежные средства от покупателя. Если услуга выключена (значение 0), то денежные средства с покупателя браться не будут. Рекомендуем включать услугу автоматически, если «Твой Курьер» да number cтр. 9 из 33 да стоимость товара по данному заказу более 0 рублей. 4.2. Cheque Услуга «кассовое обслуживание». В системе управления магазином рекомендуем эту настройку вывести в раздел Настройки в виде галочки. Помните, что товары без чеков не доставляются. Не включать эту услугу Вы можете только тогда, когда сами выбиваете кассовые чеки для покупателей и прикладываете их к товару. Услуга может быть включена только если у Вас подписан агентский договор. Значения 0 или 1. number да 4.3. Dcall Услуга «доп. прозвон получателя». Значения 0 или 1. number нет 4.4. Sms Услуга «SMS уведомление» о результатах выполнения заказа, то есть о конечном статусе заказа. Значение 0 или 1 number нет 4.5. Sms_phone Номер телефона для услуги 4.4., строго в формате 7ХХХХХХХХХХ, где Х – цифры от 0 до 9. Если услуга 4.4. включена, то данное поле обязательно для заполнения. varchar(11) нет 4.6. Express Услуга «экспресс доставка» (доставка день в день). Данная услуга будет введена в начале осени 2013 года. Значение 0 или 1. number нет 4.7. Pack Услуга упаковки. Значение 0 или 1. number нет Contacts Контактные данные покупателя 5. да 5.1. Name Получатель (ФИО) varchar(255) да 5.2. Compname Название компании получателя varchar(255) нет 5.2. Country Код страны получателя из базы Твой Курьер number да 5.3. City Код города получателя из базы Твой Курьер number да 5.4. Ul Улица получателя. varchar(200) да 5.5. Home Дом получателя varchar(100) нет 5.6. Corp Корпус получателя varchar(100) нет 5.7. Flat Квартира или офис получателя. Если квартира, то очень рекомендуем до цифры подставлять кв. varchar(100) нет 5.8. Flour Этаж получателя varchar(100) нет «Твой Курьер» cтр. 10 из 33 5.9. Kod Код домофона получателя 5.10. Phones Телефоны получателя. Если несколько, то через запятую. varchar(100) нет text да * Габариты упаковки необходимо указывать, если упаковка представляет собой коробку. С учетом габаритов вычисляется объемный вес по формуле А * В * С/5000, где A, B, C – длина, ширина, высота упаковки. Расчет стоимости доставки идет из максимального значения между фактическим и объемным весом. Рекомендуем в системах управления ИМ сделать доп. поля к каждому товару с длиной, шириной и высотой и заполнять их по необходимости. Пример: Файл содержит данные по двум заказам. В первом заказе наложенный платеж не включает стоимость за доставку, которую ИМ берет с покупателя. Второй заказ содержит два места, один товар в подарок и скидку на 500 рублей. <?xml version="1.0" encoding="UTF-8" ?> <orders type="delivery" number="1575" date="2013-01-27 15:53:49" ordercount="2"> <order number="R87512" places="1" sendercity="994" recipcity="994" d_date="27.01.2013" b_time="11" e_time="14" dim_x="20" dim_y="43" dim_z="25" tk_card_num="0000-0001-1234" comments="комментарий к заказу"> <goods number="1" barcode="158575" name="Телефон Sampsung 3310" weight="1.2" quantity="2" cost="2020.00" price="3157.40" bundling="1"></goods> <goods number="2" barcode="1902" name="Телевизор TV P7956RT" weight="7.1" quantity="1" cost="4530.00" price="7150.00" bundling="0"></goods> <goods number="3" barcode="1585" name="Приставка 652" weight="2.0" quantity="1" cost="530.00" price="1530.50" bundling="1"></goods> <incl_delivery val="0" price="0"></incl_delivery> <service cash="1" cheque="1" dcall="0" sms="1" sms_phone="79151234567" pack="0" express="0"></service> <contacts name="Иванов Иван Иванович" country="1" city="994" ul="Тверская" home="20/1" corp="2" flat="110" flour="3" kod="30K2596" phones="8-495-1234567, +7 916 1234567"></contacts> </order> <order number="R87513" places="2" sendercity="994" recipcity="994" d_date="27.01.2013" b_time="11" e_time="14" dim_x="20" dim_y="43" dim_z="25" tk_card_num="0000-0001-1234" comments="комментарий к заказу"> <goods number="1" barcode="158575" name="Телефон Sampsung 3310" weight="1.2" quantity="2" cost="2020.00" price="3157.40" bundling="1"></goods> <goods number="2" barcode="1902" name="Телевизор TV P7956RT" weight="7.1" quantity="1" cost="4530.00" price="7150.00" bundling="0"></goods> <!-- если приставка - это подарок, то цена (price)= 0, cost в данном случае для материальной ответственности за данный товар --> <goods number="3" barcode="1585" name="Приставка 652" weight="2.0" quantity="1" cost="530.00" price="0.00" bundling="1"></goods> <!-- например, если Вы хотите сделать скидку покупателю на 1000 рублей, то добавляете товар "скидка" с отрицательной стоимостью, название товара в этом случае ОБЯЗАНО быть «скидка» или «Скидка», иначе программа не пропустит отрицательную стоимость! --> <goods number="3" barcode="0" name="Скидка" weight="0.1" quantity="1" cost="0.00" price="1000.00" bundling="0"></goods> <incl_delivery val="1" price="350.50"></incl_delivery> <service cash="1" cheque="1" dcall="1" sms="0" sms_phone="0" pack="1" express="0"></service> <contacts name="Иванов Иван Иванович" compname="Ромашка" country="1" city="994" ul="Тверская" home="20/1" corp="2" flat="110" flour="3" kod="30K2596" phones="8-495-1234567, +7 916 1234567"></contacts> </order> </orders> «Твой Курьер» cтр. 11 из 33 5. Список заказов на самовывоз № Тэг/Атрибут Описание Тип поля Обяз. для заполн. 1. Orders Заголовок документа 1.1. Type Тип заказов, передаваемых в документе varchar(255) да 1.2. Number Номер акта приема-передачи/ТТН. Если товар не находится на складе Твой Курьер и его необходимо передать, то позже Вы будете создавать заказ на забор товара или заказ на привоз товара, в котором Ваш внутренний номер должен совпадать с данным номером. varchar(20) Да 1.3. Date Дата документа Date да 1.4. OrderCount Общее количество заказов в документе number да 2. Order да Заказ да 2.1. Number Номер отправления клиента или внутренний номер заказа (должен быть уникален в пределах акта приемапередачи). Он не может содержать русские буквы и пробелы, знаки + / \ ? & varchar(20) да 2.2. Places Количество мест (коробок, упаковок), передаваемых вместе с этим заказом number да 2.3. Sendercity Код города отправителя из базы Твой Курьер number да 2.4. Recipcity Код города получателя из базы Твой Курьер number да 2.5. D_date Начальная дата самовывоза. Если отправление идет в регион или другую страну и Вы не знаете сроки доставки, то пишите день, когда товар будет на складе. Пример значения: 27.01.2013 d.m.Y да 2.6. E-date Конечная дата самовывоза. Срок не более 2-х недель. d.m.Y да 2.7. Id_pvz Номер пункта самовывоза по базе Твой Курьер. number да 2.8. Dim_x Габариты груза. Длина (в сантиметрах)* number нет 2.9. Dim_y Габариты груза. Ширина (в сантиметрах)* number нет 2.10. Dim_z Габариты груза. Высота (в сантиметрах)* number нет 2.11. TK_card_num Номер дисконтной карты ТК, по которой покупатель получил скидку. ВНИМАНИЕ!!! Данное поле либо остается пустым, либо в него пишется varchar(100) Нет «Твой Курьер» cтр. 12 из 33 только номер дисконтной карты ТК (карта, организатором которой является компания Твой Курьер). Просим не писать в это поле номер любой Вашей дисконтной карты. 2.12. 2.13. Comments Incl_delivery Комментарий по заказу нет Text Включить в бланк цену доставки да 2.13.1. Val Значение 1 или 0 – включить или не включать number да 2.13.2. Price Стоимость доставки для клиента в рублях double да Goods Товары. Минимум один товар в заказе должен присутствовать 3. 3.1. Number Порядок сортировки товаров для отображения в сопроводительных документах 3.2. Barcode Штрих-код упаковки 3.3. Name Наименование вложения 3.4. Weight 3.5. да number да varchar(100) да Text да Вес в кг (за единицу) double да Quantity Количество единиц number да 3.6. Сost Стоимость товара, закупочная цена (за единицу) double да 3.7. Price Стоимость товара для покупателя (за единицу) double да 3.8. Bundling Комплектация данной единицы товара. Значение 1 или 0 – комплектовать или не комплектовать number да 4. Service Дополнительные услуги да 4.1. Cash Услуга «наложенный платеж». Включается всегда (значение 1), когда требуется забрать денежные средства от покупателя. Если услуга выключена (значение 0), то денежные средства с покупателя браться не будут. Рекомендуем включать услугу автоматически, если стоимость товара по данному заказу более 0 рублей. number да 4.2. Cheque Услуга «кассовое обслуживание». В системе управления магазином рекомендуем эту настройку вывести в раздел Настройки в виде галочки. Помните, что товары без чеков не доставляются. Не включать эту услугу Вы можете только тогда, когда сами number да «Твой Курьер» cтр. 13 из 33 выбиваете кассовые чеки для покупателей и прикладываете их к товару. Услуга может быть включена только если у Вас подписан агентский договор. Значения 0 или 1. 4.3. Dcall Услуга «доп. прозвон получателя». Значения 0 или 1. number нет 4.4. Sms Услуга «SMS уведомление» о результатах выполнения заказа, то есть о конечном статусе заказа. Значение 0 или 1 number нет 4.5. Sms_phone Номер телефона для услуги 4.4., строго в формате 7ХХХХХХХХХХ, где Х – цифры от 0 до 9. Если услуга 4.4. включена, то данное поле обязательно для заполнения. varchar(11) Нет 4.6. Pack Услуга упаковки. Значение 0 или 1. number нет Contacts Контактные данные покупателя 5. 5.1. Name Получатель (ФИО) 5.2. Phones Телефоны получателя. Если несколько, то через запятую. да varchar(255) да Text да * Габариты упаковки необходимо указывать, если упаковка представляет собой коробку. С учетом габаритов вычисляется объемный вес по формуле А * В * С/5000, где A, B, C – длина, ширина, высота упаковки. Расчет стоимости доставки идет из максимального значения между фактическим и объемным весом. Рекомендуем в системах управления ИМ сделать доп. поля к каждому товару с длиной, шириной и высотой и заполнять их по необходимости. Пример: <?xml version="1.0" encoding="UTF-8" ?> <orders type="carry" number="1575" date="2013-01-27 15:53:49" ordercount="1"> <order number="100058745" places="2" sendercity="994" recipcity="994" d_date="27.01.2013" e_date="30.01.2011" dim_x="20" dim_y="43" dim_z="25" tk_card_num="0000-0001-1234" id_pvz="21" comments="комментарий"> <goods number="1" barcode="158575" name="Телефон Sampsung 3310" weight="1.2" quantity="2" cost="2020.00" price="3157.40" bundling="1"></goods> <goods number="2" barcode="1902" name="Телевизор TV P7956RT" weight="7.1" quantity="1" cost="4530.00" price="7150.00" bundling="0"></goods> <goods number="3" barcode="1585" name="Приставка 652" weight="2.0" quantity="1" cost="530.00" price="1529.90" bundling="1"></goods> <incl_delivery val="1" price="350"></incl_delivery> <service cash="1" cheque="1" dcall="0" sms="0" sms_phone="" pack="0"></service> <contacts name="Иванов Иван Иванович" phones="8-495-1234567, +7 916 1234567"></contacts> </order> </orders> «Твой Курьер» cтр. 14 из 33 6. Список заказов на отправку Почтой России № Тэг/Атрибут Описание Тип поля Обяз. для заполн. 1. Orders Заголовок документа 1.1. Type Тип заказов, передаваемых в документе varchar(255) да 1.2. Number Номер акта приема-передачи/ТТН. Если товар не находится на складе Твой Курьер и его необходимо передать, то позже Вы будете создавать заказ на забор товара или заказ на привоз товара, в котором Ваш внутренний номер должен совпадать с данным номером. varchar(20) Да 1.3. Date Дата документа date да 1.4. OrderCount Общее количество заказов в документе number да 2. Order да Заказ да 2.1. Number Номер отправления клиента или внутренний номер заказа (должен быть уникален в пределах акта приемапередачи). Он не может содержать русские буквы и пробелы, знаки + / \ ? & varchar(20) да 2.2. Places Количество мест (коробок, упаковок), передаваемых вместе с этим заказом number да 2.3. Sendercity Код города отправителя из базы Твой Курьер number да 2.4. Type Тип отправки, значения: 1-посылка; 2бандероль, 1-й класс. number да 2.5. D_date Дата, когда нужно отправить. Дата должна быть не ранее, чем товар поступит на склад Твой Курьер. Пример значения: 27.01.2013 d.m.Y да 2.6. Dim_x Габариты груза. Длина (в сантиметрах)* number нет 2.7. Dim_y Габариты груза. Ширина (в сантиметрах)* number нет 2.8. Dim_z Габариты груза. Высота (в сантиметрах)* number нет 2.9. TK_card_num Номер дисконтной карты ТК, по которой покупатель получил скидку. ВНИМАНИЕ!!! Данное поле либо остается пустым, либо в него пишется только номер дисконтной карты ТК (карта, организатором которой является компания Твой Курьер). Просим не писать в это поле номер любой Вашей дисконтной карты. varchar(100) Нет 2.10. Incl_delivery Включить в бланк цену доставки «Твой Курьер» да cтр. 15 из 33 2.10.1. Val Значение 1 или 0 – включить или не включать number да 2.10.2. Price Стоимость доставки для клиента в рублях double да Goods Товары. Минимум один товар в заказе должен присутствовать 3. 3.1. Number Порядок сортировки товаров для отображения в сопроводительных документах 3.2. Barcode Штрих-код упаковки 3.3. Name Наименование вложения 3.4. Weight 3.5. да number да varchar(100) да text да Вес в кг (за единицу) double да Quantity Количество единиц number да 3.6. Сost Стоимость товара, закупочная цена (за единицу) double да 3.7. Price Стоимость товара для покупателя (за единицу) double да 3.8. Bundling Комплектация данной единицы товара. Значение 1 или 0 – комплектовать или не комплектовать number да 4. Service Дополнительные услуги Почты России да 4.1. Cash Услуга «наложенный платеж». Включается всегда (значение 1), когда требуется забрать денежные средства от покупателя. Если услуга выключена (значение 0), то денежные средства с покупателя браться не будут. number нет 4.2. Declare_cost Услуга «Объявленная стоимость». В системе управления магазином рекомендуем эту настройку вывести в раздел Настройки в виде галочки. Значения 0 или 1. number нет 4.3. Fragile Услуга «Хрупкий груз». Значения 0 или 1. number нет 5. Contacts Контактные данные покупателя 5.1. Name Получатель (ФИО) 5.2. Index Индекс Почты России 5.2. Region 5.3. City да varchar(255) да number да Регион покупателя НЕ из базы Твой Курьер varchar(255) да Город получателя НЕ из базы Твой Курьер varchar(255) да «Твой Курьер» cтр. 16 из 33 5.4. Address Адрес получателя text да 5.6. Phones Телефоны получателя. Если несколько, то через запятую. text да * Габариты упаковки необходимо указывать, если упаковка представляет собой коробку. С учетом габаритов вычисляется объемный вес по формуле А * В * С/5000, где A, B, C – длина, ширина, высота упаковки. Расчет стоимости доставки идет из максимального значения между фактическим и объемным весом. Рекомендуем в системах управления ИМ сделать доп. поля к каждому товару с длиной, шириной и высотой и заполнять их по необходимости. Пример: <?xml version="1.0" encoding="UTF-8" ?> <orders type="rp" number="1575" date="2013-01-27 15:53:49" OrderCount="1"> <order number="R87512" type="1" places="2" sendercity="994" d_date="27.01.2013" dim_x="20" dim_y="43" dim_z="25" tk_card_num="0000-0001-1234"> <goods number="1" barcode="158575" name="Телефон Sampsung 3310" weight="1.2" quantity="2" cost="2020.00" price="3157.40" bundling="1"></goods> <goods number="2" barcode="1902" name="Телевизор TV P7956RT" weight="7.1" quantity="1" cost="4530.00" price="7150.00" bundling="0"></goods> <incl_delivery val="1" price="350.30"></incl_delivery> <service cash="1" declare_cost="1" fragile="1"></service> <contacts name="Иванов Иван Иванович" index="104578" region="Камчатский край" city="Петропавловск Камчатский" address="ул. Парковая д. 23, кв. 10" phones="8-495-1234567, +7 916 1234567"></contacts> </order> </orders> «Твой Курьер» cтр. 17 из 33 7. Список заказов на доставку через постаматы № Тэг/Атрибут Описание Тип поля Обяз. для заполн. 1. Orders Заголовок документа 1.1. Type Тип заказов, передаваемых в документе varchar(255) да 1.2. Number Номер акта приема-передачи/ТТН. Если товар не находится на складе Твой Курьер и его необходимо передать, то позже Вы будете создавать заказ на забор товара или заказ на привоз товара, в котором Ваш внутренний номер должен совпадать с данным номером. varchar(20) Да 1.3. Date Дата документа date да 1.4. OrderCount Общее количество заказов в документе number да 2. Order да Заказ да 2.1. Number Номер отправления клиента или внутренний номер заказа (должен быть уникален в пределах акта приемапередачи). Он не может содержать русские буквы и пробелы, знаки + / \ ? & varchar(20) да 2.2. Places Количество мест (коробок, упаковок), передаваемых вместе с этим заказом number да 2.3. Sendercity Код города отправителя из базы Твой Курьер number да 2.4. id_postamat ID постамата по базе Твой Курьер number да 2.5. D_date Дата, когда нужно отправить. Дата должна быть не ранее, чем товар поступит на склад Твой Курьер. Пример значения: 27.01.2013 d.m.Y да 2.6. Dim_x Габариты груза. Длина (в сантиметрах)* number да 2.7. Dim_y Габариты груза. Ширина (в сантиметрах)* number да 2.8. Dim_z Габариты груза. Высота (в сантиметрах)* number да 2.9. TK_card_num Номер дисконтной карты ТК, по которой покупатель получил скидку. ВНИМАНИЕ!!! Данное поле либо остается пустым, либо в него пишется только номер дисконтной карты ТК (карта, организатором которой является компания Твой Курьер). Просим не писать в это поле номер любой Вашей дисконтной карты. varchar(100) Нет 2.10. Incl_delivery Включить в бланк цену доставки «Твой Курьер» да cтр. 18 из 33 2.10.1. Val Значение 1 или 0 – включить или не включать number да 2.10.2. Price Стоимость доставки для клиента в рублях double да Goods Товары. Минимум один товар в заказе должен присутствовать 3. 3.1. Number Порядок сортировки товаров для отображения в сопроводительных документах 3.2. Barcode Штрих-код упаковки 3.3. Name Наименование вложения 3.4. Weight 3.5. да number да varchar(100) да text да Вес в кг (за единицу) double да Quantity Количество единиц number да 3.6. Сost Стоимость товара, закупочная цена (за единицу) double да 3.7. Price Стоимость товара для покупателя (за единицу) double да 3.8. Bundling Комплектация данной единицы товара. Значение 1 или 0 – комплектовать или не комплектовать number да 4. Service Дополнительные услуги да 4.1. Cash Услуга «наложенный платеж». Включается всегда (значение 1), когда требуется забрать денежные средства от покупателя. Если услуга выключена (значение 0), то денежные средства с покупателя браться не будут. number нет 4.2. Declare_cost Услуга «Объявленная стоимость». В системе управления магазином рекомендуем эту настройку вывести в раздел Настройки в виде галочки. Значения 0 или 1. number нет 4.3. Fragile Услуга «Хрупкий груз». Значения 0 или 1. number нет 5. Contacts Контактные данные покупателя 5.1. Name Получатель (ФИО) 5.2. Phones Телефоны получателя. Если несколько, то через запятую. да varchar(255) да text да * Габариты упаковки необходимо указывать, если упаковка представляет собой коробку. С учетом габаритов вычисляется объемный вес по формуле А * В * С/5000, где A, B, C – длина, ширина, высота упаковки. Расчет стоимости доставки идет из максимального значения между фактическим и объемным весом. Рекомендуем в системах управления ИМ сделать доп. поля к каждому товару с длиной, шириной и высотой и заполнять их по необходимости. «Твой Курьер» cтр. 19 из 33 Пример: <?xml version="1.0" encoding="UTF-8" ?> <orders type="postamat" number="1575" date="2013-01-27 15:53:49" OrderCount="1"> <order number="R87512" places="2" sendercity="994" d_date="27.01.2013" dim_x="20" dim_y="43" dim_z="25" tk_card_num="0000-0001-1234" id_postamat="10"> <goods number="1" barcode="158575" name="Телефон Sampsung 3310" weight="1.2" quantity="2" cost="2020.00" price="3157.40" bundling="1"></goods> <goods number="2" barcode="1902" name="Телевизор TV P7956RT" weight="7.1" quantity="1" cost="4530.00" price="7150.00" bundling="0"></goods> <incl_delivery val="1" price="350.30"></incl_delivery> <service cash="1" declare_cost="1" fragile="1"></service> <contacts name="Иван Иванович" phones="8-495-1234567, +7 916 1234567"></contacts> </order> </orders> «Твой Курьер» cтр. 20 из 33 8. Список заказов на удаление № Тэг/Атрибут Описание 1. DeleteRequest Заголовок документа 1.1. Number Номер акта 1.2. Date Дата документа (дата заказа) 1.5. OrderCount Общее количество заказов для удаления в документе 2. Order Отправление (заказ) 2.1. Number Номер отправления по базе ТК Тип поля Обяз. для заполн. да varchar(20) да date да number да да varchar(20) да Удалить можно только те заказы, которые не находятся в конечных или промежуточных статусах, то есть фактически только в статусах «В обработке» или «Отмена». Пример: Документ содержит данные для удаления двух заказов. <?xml version="1.0" encoding="UTF-8" ?> <deleterequest number="236" date="2013-08-05" ordercount=”2”> <order number="01-12345" /> <order number="01-12344" /> </deleterequest> «Твой Курьер» cтр. 21 из 33 9. Отчет «Статусы заказов» Твой Курьер в момент изменения статуса заказа информирует об этом ИМ. Для этого необходимо в личном кабинете в разделе «API интеграция» включить соответствующую опцию и прописать адрес скрипта, который отвечает за это на стороне ИМ. Твой Курьер в момент смены статуса заказа посылает запрос по адресу: http://адрес_из_настроек_личного_кабинета Передаваемые параметры (методом POST): account=ID_аккаунта secure=API ключ Так же дополнительно передаются через POST переменные order_id=номер внутреннего заказа ИМ order_status=ID статуса для более упрощенной формы, но мы не рекомендуем пользоваться этими параметрами, так как в этом случае Вы не сможете видеть, от каких именно товаров отказались и в каком количестве. Отправляемые Твоим Курьером данные: xml, аналогичный п. 4-7, в зависимости от типа заказа. Примеры ниже. Примечание: статусы заказов, отправленных через Почту России не отслеживаются. Как только заказ передан на почту, статус заказа будет «Выполнен». Дополнительные параметры: № Тэг/Атрибут Описание Тип поля Обяз. для заполн. да 1. Order 1.1. Status ID статуса данного заказа по базе Твой Курьер в настоящее время Number да 1.2. Price Стоимость услуг компании Твой Курьер Double да 2. Goods 2.1. Status Статус данного товара: 0 – нет на складе, 1 – поступил на склад ТК, 2 – отгружен на доставку, 3 – возвращен заказчику, 4 – куплен, 5 – отказ покупателем и возврат на склад. Рекомендуем эти опции сделать настраиваемыми в личном кабинете интернет-магазина. Эти опции могут меняться крайне редко, но при их изменении статусы товаров могут меняться не корректно. Number да 2.2. Quantity_back Количество единиц товара, от которых отказались. Если купили все, то 0. Number да да Примеры: 1. Тип заказа – доставка «Твой Курьер» cтр. 22 из 33 <?xml version="1.0" encoding="UTF-8" ?> <order number="R87512" places="2" sendercity="994" recipcity="994" d_date="27.01.2013" b_time="11" e_time="14" dim_x="20" dim_y="43" dim_z="25" status="12" price="217.40"> <goods number="1" barcode="158575" name="Телефон Sampsung 3310" weight="1.2" quantity="2" cost="2020.00" price="3157.40" bundling="1" status=”5” quantity_back="1"></goods> <goods number="2" barcode="1902" name="Телевизор TV P7956RT" weight="7.1" quantity="1" cost="4530.00" price="7150.00" bundling="0" status=”5” quantity_back="1"></goods> <goods number="3" barcode="1585" name="Приставка 652" weight="2.0" quantity="1" cost="530.00" price="0.00" bundling="1" status=”4” quantity_back="0"></goods> <goods number="3" barcode="0" name="Скидка" weight="0.1" quantity="1" cost="-1000.00" price="0.00" bundling="0" status=”4” quantity_back="0"></goods> <incl_delivery val="1" price="350.30"></incl_delivery> <service cash="1" cheque="1" dcall="1" sms="1" pack="0" sms_phone="79151234567" express="0"></service> <contacts name="Иванов Иван Иванович" compname="Ромашка" country="1" city="994" ul="Тверская" home="20/1" corp="2" flat="110" flour="3" kod="30K2596" phones="8-495-1234567, +7 916 1234567"></contacts> </order> 2. Тип заказа – самовывоз <?xml version="1.0" encoding="UTF-8" ?> <order number="100058745" places="2" sendercity="994" recipcity="994" d_date="27.01.2013" e_date="30.01.2011" dim_x="20" dim_y="43" dim_z="25" id_pvz="21" status="12" price="110.40"> <goods number="1" barcode="158575" name="Телефон Sampsung 3310" weight="1.2" quantity="2" cost="2020.00" price="3157.40" bundling="1" status=”5” quantity_back="1"></goods> <goods number="2" barcode="1902" name="Телевизор TV P7956RT" weight="7.1" quantity="1" cost="4530.00" price="7150.00" bundling="0" status=”5” quantity_back="1"></goods> <goods number="3" barcode="1585" name="Приставка 652" weight="2.0" quantity="1" cost="530.00" price="1529.90" bundling="1" status=”4” quantity_back="0"></goods> <incl_delivery val="1" price="350"></incl_delivery> <service cash="1" cheque="1" dcall="0" sms="0" pack="0" sms_phone=""></service> <contacts name="Иванов Иван Иванович" phones="8-495-1234567, +7 916 1234567"></contacts> </order> 3. Тип заказа – Почта России <?xml version="1.0" encoding="UTF-8" ?> <order number="R87512" type="1" places="2" sendercity="994" d_date="27.01.2013" dim_x="20" dim_y="43" dim_z="25" status="11" price="110.40"> <goods number="1" barcode="158575" name="Телефон Sampsung 3310" weight="1.2" quantity="2" cost="2020.00" price="3157.40" bundling="1" status=”4” quantity_back="0"></goods> <goods number="2" barcode="1902" name="Телевизор TV P7956RT" weight="7.1" quantity="1" cost="4530.00" price="7150.00" bundling="0" status=”4” quantity_back="0"></goods> <incl_delivery val="1" price="350.30"></incl_delivery> <service cash="1" declare_cost="1" fragile="1"></service> <contacts name="Иванов Иван Иванович" index="104578" region="Камчатский край" city="Петропавловск Камчатский" address="ул. Парковая д. 23, кв. 10" phones="8-495-1234567, +7 916 1234567"></contacts> </order> 4. Тип заказа – постаматы <?xml version="1.0" encoding="UTF-8" ?> <order number="R87512" places="2" sendercity="994" d_date="27.01.2013" dim_x="20" dim_y="43" dim_z="25" id_postamat="10" status="11" price="310.20"> <goods number="1" barcode="158575" name="Телефон Sampsung 3310" weight="1.2" quantity="2" cost="2020.00" price="3157.40" bundling="1" status=”4” quantity_back="0"></goods> <goods number="2" barcode="1902" name="Телевизор TV P7956RT" weight="7.1" quantity="1" cost="4530.00" price="7150.00" bundling="0" status=”4” quantity_back="0"></goods> <incl_delivery val="1" price="350.30"></incl_delivery> <service cash="1" declare_cost="1" fragile="1"></service> <contacts name="Иван Иванович" phones="8-495-1234567, +7 916 1234567"></contacts> </order> «Твой Курьер» cтр. 23 из 33 10. Отчет «Запрос статуса заказа от ИМ к ТК» Магазин отправляет запрос на сервер Твой Курьер по адресу: http://tvoykurier.ru/ishop/xml/get_order_status.php с параметрами account и secure и заполненными параметрами: id=ID заказа по базе Твой Курьер ИЛИ (именно ИЛИ) num_order=номер заказа по базе Твой Курьер В ответ скрипт возвращает одну цифру – ID статуса данного заказа. Все переменные отправляются методом GET. «Твой Курьер» cтр. 24 из 33 11. Запрос от ИМ в ТК данных о дисконтной карте ТК Если Вы участвуете в программе «Дисконтная карта ТК», необходимо в настройках Вашего магазина сделать соответствующую галочку под названием «Участвовать в программе «Дисконтная карта ТК». В случае если данная опция участия в программе дисконтной карты ТК включена, в общедоступной части Вашего магазина, при оформлении заказа Вашим покупателем, программа обязательно должна предлагать покупателю ввести номер дисконтной карты ТК и ФИО владельца. После того, как покупатель ввел номер карты, программа должна: 1. Сделать запрос на сервер Твой Курьер о существовании такой карты и размере скидки, которую Вы предлагаете Вашему клиенту по данной карте. В запросе необходимо указать полную сумму заказа без учета стоимости доставки, для возможности делать магазином переменного процента скидки от суммы заказа. Например: В личном кабинете Твой Курьер Вы можете указать фиксированный процент скидки по карте ТК, например 5%. Так же Вы можете указать переменный процент скидки по карте ТК. Например, на заказ итоговой суммой от 0 до 5000 скидка 3%, на заказ от 5001 до 8000 скидка 5%, на заказ от 8001 до 15000 скидка 7%, на заказ свыше 15001 скидка 10% и т. д.; 2. В случае если от сервера ТК придет положительный результат, программа ИМ должна пересчитать покупателю стоимость его заказа в соответствии с той скидкой, которую рассчитал сервер ТК и запомнить в свою базу знаний данные карты и размер скидки. 3. В случае если от сервера ТК придет отрицательный результат, программа ИМ должна сообщить покупателю фразу, полученную с сервера ТК из поля reply. Рекомендуем все вышеперечисленные запросы реализовывать с помощью технологии AJAX (без перезагрузки страницы). Номер, указанный покупателем в заказе обязан быть передан серверу ТК при передаче данных о заказе для того, чтобы сервер ТК мог вести сводную статистику о накопительных бонусах на картах покупателей и об итоговых суммах совершенных заказов по любой карте ТК. По правилам участия в программе «Дисконтная карта ТК», картой ТК может воспользоваться любой, в том числе, не только ее владелец, то есть ФИО владельца карты не обязана совпадать с ФИО покупателя товара. Адрес запроса: http://tvoykurier.ru/ishop/xml/im_integrator_tkcardinfo.php Параметры запроса: num=номер_дисконтной_карты_ТК (только цифры и допускается символ ‘-‘) account=ID_аккаунта secure=API _ключ_из_личного_кабинета order_summ=итоговая_сумма_по_заказу Пример ответа сервера в случае, если карта зарегистрирована в базе: <?xml version="1.0" encoding="UTF-8" ?> <card number="0000-0001-1234" fio="Иванов Иван Иванович" discount="3" date_register="27.01.2013" status="1" reply=""> Пример ответа сервера в случае, если карта НЕ зарегистрирована в базе: <?xml version="1.0" encoding="UTF-8" ?> <card number="0000-0001-1234" fio="" discount="0" date_register="00.00.0000" status="0" reply="Вы ввели не верный номер карты. Пожалуйста, проверьте введенные Вами данные."> «Твой Курьер» cтр. 25 из 33 12. Запрос от ИМ в ТК о стоимости доставки или самовывоза (калькулятор) Запрос отправляется по адресу: http://tvoykurier.ru/ishop/xml/im_calc.php Крайне Вам рекомендуем пользоваться калькулятором в пользовательской части магазина на этапе, когда Ваш клиент переходит к оформлению заказа в корзине, выбирает способ доставки, после чего Вы можете ему рассчитать итоговую стоимость доставки и, при необходимости, прибавить к ней свою. Все переменные передаются методом GET. Помимо основных переменных account и secure так же присутствуют дополнительные: № Переменная Описание Тип поля Обяз. для заполн. 1. quantity Количество товаров (массив через запятую и без пробелов). Пример: 10,1,12 String да 2. weight Вес товаров (массив через запятую и без пробелов) Пример: 0.01,1,5 String да 3. price Массив цен товаров (через запятую и без пробелов) String Да String да Пример: 1200,100.5,500 4. bundling Комплектация (через запятую и без пробелов) Пример: 1,0,1 5. incl_deliv Включить в бланк цену доставки (1 или 0) Boolean Нет 6. client_d_price Цена доставки для клиента (1 или 0) Integer нет, если incl_deliv 0 7. cheque Услуга ЧЕК или Кассовое обслуживание (1 или 0) Boolean нет 8. cash Услуга Наложенный платеж (1 или 0) Boolean нет 9. sms Услуга SMS (1 или 0) Boolean нет 10. dcall Услуга дополнительного прозвона клиента (1 или 0) Boolean нет 11. pack Услуга дополнительной упаковки (1 или 0) Boolean нет 12. express Услуга экспресс доставки день в день (1 или 0) Boolean нет Пока не введена и калькулятором не обрабатывается. «Твой Курьер» cтр. 26 из 33 13. b_time* Время доставки С (например с 10) Integer нет 14. e_time* Время доставки ДО (например до 18) Integer нет 15. weekend Доставка в выходной день (1 или 0) Boolean нет 16. carry Самовывоз или доставка (ВНИМАНИЕ!!!) Boolean нет Если 0, то самовывоз, если 1, то доставка. Это не ошибка, именно всё наоборот. 17. office ID пункта выдачи заказов Integer нет, если carry=1 18. city_from ID города, откуда идет доставка Integer да 19. city_to ID города, куда идет доставка Integer да 20. dist_country Расстояние от города (км) Integer нет 21. country ID страны. На данный момент значение всегда 1. Integer да * эти параметры могут стать обязательными, как только введется услуга вечерней доставки (с 19 до 22) за дополнительную плату. Рекомендуем эти параметры пока забить статично с 10 до 18 Возвращаемые значения: Double;Double;Double – стоимость услуги Твоего Курьера;Общая сумма для получения от покупателя;Общий вес всех товаров Пример: 405.11;12900.50;2.1 «Твой Курьер» cтр. 27 из 33 13. Список постоматов № Тэг/Атрибут Описание Тип поля Обяз. для заполн. 1. PostomatList Заголовок документа да 2. Postomat Постомат да 2.1. Code ID постамата 2.2. Name Название 2.3. CountryCode 2.4. number да varchar(50) да Код страны по базе Твой Курьер number да CityCode Код города по базе Твой Курьер number да 2.5. City Название города varchar(50) да 2.6. WorkTime Режим работы varchar(100) да 2.7. Address Адрес varchar(255) да 2.9. GPSlong GPS координата ПВЗ float да 2.10. GPSlat GPS координата ПВЗ float да 2.11. Desc Описание, как пройти до постамата text Нет Пример: Документ содержит список ПВЗ в городе Москва. <?xml version="1.0" encoding="UTF-8" ?> <postomatlist> <postomat code="231" name="Волгоградка" countrycode="1" citycode="994" city="Москва" worktime="круглосуточно" address="Волгоградский проспект, д. 32, корп. 26" gpslong="51.35478" gpslat="34.78945" desc="Первый вагон из центра, метро Волгоградский проспект, 10 метров от метро с правой стороны"/></pvz> </postomatlist> «Твой Курьер» cтр. 28 из 33 14. Коды ошибок Код ошибки Расшифровка ошибки ERR_INVALID_XML Неверный формат XML. #var1 Интернет-магазин не идентифицирован: Account=#var1, Secure=#var2 ERR_AUTH ERR_NEED_ATTRIBUTE ERR_SENDCITYCODE ERR_RECCITYCODE ERR_SENDCITYPOSTCODE ERR_RECCITYPOSTCODE ERR_SENDCITYPOSTCODE_DUBL ERR_RECCITYPOSTCODE_DUBL ERR_NOT_FOUND_SENDCITY ERR_NOT_FOUND_RECCITY ERR_INVALID_TARIFFTYPECODE ERR_INVALID_SERVICECODE ERR_NOT_FOUND_TARIFFTYPECODE ERR_NOT_EQUAL_ORDERCOUNT ERR_NOT_EQUAL_CALLCOUNT ERR_ORDER_DUBL ERR_SCHEDULE_DUBL ERR_CALL_DUBL ERR_ORDER_DUBL_EXISTS ERR_FIRST_DUBL_EXISTS ERR_CASH_LIMIT ERR_CASH_NO ERR_INVALID_WEIGHT Отсутствие обязательного атрибута: #var1 Код города отправителя отсутствует в базе ТВОЙ КУРЬЕР: SendCityCode=#var1 Код города получателя отсутствует в базе ТВОЙ КУРЬЕР: RecCityCode=#var1 Почтовый индекс города отправителя отсутствует в базе ТВОЙ КУРЬЕР: SendCityPostCode=#var1 Почтовый индекс города получателя отсутствует в базе ТВОЙ КУРЬЕР: RecCityPostCode=#var1 Невозможно однозначно идентифицировать город отправителя по почтовому индексу: SendCityPostCode=#var1 Невозможно однозначно идентифицировать город получателя по почтовому индексу: RecCityPostCode=#var1 Отсутствуют параметры для идентификации города отправителя: SendCityCode, SendCityPostCode Отсутствуют параметры для идентификации города получателя: RecCityCode, RecCityPostCode Тариф не идентифицирован по коду: TariffTypeCode=#var1 Дополнительная услуга не идентифицирована по коду: ServiceCode=#var1 Тариф по переданному направлению не существует: TariffTypeCode=#var1 Количество передаваемых заказов не соответствует контрольному значению: OrderCount=#var1 Количество передаваемых заявок на вызов курьера не соответствует контрольному значению: CallCount=#var1 Дублирование заказа в документе: Number=#var1 Дублирование номеров заказов в документе: Number=#var1 Дублирование вызова курьера на одну дату : Date=#var1 Заказ существует в базе ТВОЙ КУРЬЕР: Number=#var1 Заявка на вызов курьера существует в базе ТВОЙ КУРЬЕР на дату: Date=#var1 Ограничение суммы наложенного платежа в городе получателя в размере: #var1 Получение наложенного платежа в городе невозможно: #var1 Значение веса должно быть положительным: Weight= #var1 «Твой Курьер» cтр. 29 из 33 ERR_INVALID_PAYMENT ERR_INVALID_COST ERR_INVALID_AMOUNT ERR_INVALID_DELIVERYRECIPIENTCOST Невалидное значение габаритов: #var1=#var2 Ошибка обращение к базе данных ТВОЙ КУРЬЕР. #var1 ERR_INVALID_SIZE ERR_DATABASE Заказ не может быть изменен в статусе: #var1 Отсутствует упаковка в базе ТВОЙ КУРЬЕР: Number=#var1 Отсутствует вложение в базе ТВОЙ КУРЬЕР с артикулом: WareKey=#var1 ERR_SCHEDULE_CHANGE ERR_PACKAGE_NOTFIND ERR_ITEM_NOTFIND Невозможно удалить заказ: Number=#var заказ не найден в базе ТВОЙ КУРЬЕР: Number=#var1, Date=#var2 Недостаточно параметров для формирования отчета. Отсутствуют тэг ChangePeriod или Order. Превышено ограничение количества заказов в одном запросе для формирования файла (max=100) Невозможно получить файл. Сервер не отвечает. Заказ не найден в базе ТВОЙ КУРЬЕР: DispachNumber=#var1 Временной диапазон ожидания приезда курьера указан некорректно: TimeBeg>TimeEnd Временной диапазон обеденного перерыва указан некорректно: LunchBeg>LunchEnd Вызов курьера возможно сделать только на будущую дату:Date=#var1 На текущую дату уже есть вызов курьера: Date=#var1 Дата вызова курьера дублируется в файле: Date=#var1 Невозможно удалить заказ, т. к. есть движение на складе: Number=#var1 ERR_ORDER_DELETE ERR_INVALID_NUMBER ERR_INFOREQUEST ERR_ORDER_COUNT ERR_FILE_NOTEXISTS ERR_INVALID_DISPACHNUMBER ERR_CALLCOURIER_TIME ERR_CALLCOURIER_TIMELUNCH ERR_CALLCOURIER_DATETIME ERR_CALLCOURIER_DATE_EXISTS ERR_CALLCOURIER_DATE_DUBL ERR_DELETEREQUEST_ORDER ERR_DELETEREQUEST_ORDER_DELETED ERR_CALLCOURIER_TIME_INTERVAL ERR_CALLCOURIER_COUNT ERR_CALLCOURIER_CITY ERR_INFOREQUEST_DATEBEG ERR_PVZ_NOTFOUND ERR_PVZCODE Значение атрибута должно быть неотрицательным: Payment=#var1 Значение атрибута должно быть неотрицательным: Cost=#var1 Невалидное значение количества вложений: Amount=#var1 Значение доп. сбора за доставку должно быть неотрицательным: DeliveryRecipientCost=#var1 Заказ удален ранее: Number=#var1 Интервал ожидания курьера между TimeBeg и TimeEnd должен составлять не менее 3 непрерывных часов Количество передаваемых заявок не соответствует контрольному значению: CallCount=#var1 Вызов курьера в выбранном городе невозможен:SendCityCode=#var1 Недостаточно параметров для формирования отчета. Отсутствует параметр DateBeg В выбранном городе ПВЗ отсутствуют: cityid=#var1 Код ПВЗ отсутствует в базе ТВОЙ КУРЬЕР: PvzCode=#var1 «Твой Курьер» cтр. 30 из 33 ERR_ATTRIBUTE_EMPTY Не задано значение атрибута:#var1 «Твой Курьер» cтр. 31 из 33 15. Приложение Таблица 1. Статусы заказов Идентификатор Статус Комментарий Конечный 0 в обработке Заказ зарегистрирован в базе данных Твой Курьер, но еще не был принят оператором нет 1 Отклонена Заявка отклонена оператором. Причиной может быть некорректное заполнение адреса или заявки да 2 заявка принята Заявка была проверена оператором и принята в обработку нет 3 в процессе Заявка в процессе исполнения нет 4 Комплектация Заявка передана на склад и находится в стадии комплектации нет 5 Сортировка Товар передан на склад и находится в стадии сортировки нет 6 товар на складе Товар поступил на склад нет 7 нет товара Товар не поступил на склад, заявка не может быть выполнена да 8 на доставке Заказ передан водителю и доставляется до покупателя нет 9 перенос доставки Заявка перенесена на другой день нет 10 Отмена Заявка отменена да 11 Выполнен Заказ был выполнен, весь товар по заказу был куплен покупателем да 12 частичный отказ Заказ был выполнен, покупатель отказался от части заказов да 13 полный отказ Заказ был выполнен, покупатель отказался от всех заказов да 14 получатель не найден Получатель не был найден по данному адресу. Заказ считается выполненным да 15 телефон не доступен Телефон покупателя не был доступен, заказ будет перенесен на следующий рабочий день нет 16 телефон не верный Телефон, переданный Заказчиком, был не верный. Заказ подлежит оплате. да 17 не верный адрес Адрес, переданный заказчиком, был не верный. Заказ подлежит оплате. да 18 перенос по просьбе получателя Заказ перенесен, по просьбе получателя, на другой день нет 19 Удален Заказ отменен ИМ после регистрации в системе до прихода груза на склад Твой Курьер в городе-отправителе да 20 возвращен на склад отправителя Повторно оформлен приход в городе-отправителе (не удалось передать перевозчику по какой-либо причине) нет 21 выдан на отправку в г.- Оформлен расход со склада Твой Курьер в городе-отправителе. Груз отправителе подготовлен к отправке (консолидирован с другими посылками) нет 22 сдан перевозчику в г.отправителе Зарегистрирована отправка в городе-отправителе. Консолидированный груз передан на доставку (в аэропорт/загружен машину) нет 23 отправлен в г.-транзит Зарегистрирована отправка в город-транзит. Проставлены дата и время отправления у перевозчика нет 24 встречен в г.-транзите Зарегистрирована встреча в городе-транзите нет 25 принят на склад транзита Оформлен приход в городе-транзите нет 26 возвращен на склад транзита Повторно оформлен приход в городе-транзите (груз возвращен на склад) нет 27 выдан на отправку в г.- Оформлен расход в городе-транзите транзите нет 28 сдан перевозчику в г.транзите Зарегистрирована отправка у перевозчика в городе-транзите нет 29 отправлен в г.получатель Зарегистрирована отправка в город-получатель, груз в пути нет 30 встречен в г.получателе Зарегистрирована встреча груза в городе-получателе нет «Твой Курьер» cтр. 32 из 33 Идентификатор Статус Комментарий Конечный 31 принят на склад доставки Оформлен приход на склад города-получателя., ожидает доставки до двери нет 32 Принят на склад до востребования Оформлен приход на склад города-получателя. Посылка ожидает забора клиентом - покупателем ИМ нет 33 Возвращен на склад доставки Оформлен повторный приход на склад в городе-получателе. Доставка не удалась по какой-либо причине, ожидается очередная попытка доставки нет 34 Не вручен, возврат Возврат заказа ИМ или комплектация на повторную доставку по другому заказу да Таблица 2. Дополнительные статусы заказов Идентификатор Доп.статус Услуга доставки оказана(0-нет, 1- да) 1 Не должен выполняться: вес отличается от заявленного более, чем на X г. 0 Не вручен, возврат 2 Не должен выполняться: фактически нет отправления (на бумаге есть) 0 Не вручен, возврат 3 Не должен выполняться: дубль номера заказа в одном акте приема-передачи 0 Не вручен, возврат 4 Не должен выполняться: не доставляем в данный город/регион 0 Не вручен, возврат 5 Повреждение упаковки, при приемке от отправителя 0 Не вручен, возврат 6 Повреждение упаковки, у перевозчика 0 Не вручен, возврат 7 Повреждение упаковки, на нашем складе/доставке у курьера 0 Не вручен, возврат 8 Отказ от получения: Без объяснения 1 Не вручен, возврат 9 Отказ от получения: Претензия к качеству товара 1 Не вручен, возврат 10 Отказ от получения: Недовложение 1 Не вручен, возврат 11 Отказ от получения: Пересорт 1 Не вручен, возврат 12 Отказ от получения: Не устроили сроки 1 Не вручен, возврат 13 Отказ от получения: Уже купил 1 Не вручен, возврат 14 Отказ от получения: Передумал 1 Не вручен, возврат 15 Отказ от получения: Ошибка оформления 1 Не вручен, возврат 16 Отказ от получения: Повреждение упаковки, у получателя 1 Не вручен, возврат 17 Отказ от получения: Нет денег 1 Не вручен, возврат 18 Отказ от получения: Товар не подошел/не понравился 1 Не вручен, возврат «Твой Курьер» Соответсвующий статус cтр. 33 из 33