Пример:
<?xml version="1.0" encoding="UTF-8" ?>
<orders type="postamat" number="1575" date=" 15:53:49" OrderCount="1">
<order number="R87512" places="2" sender_id_sklad="1" sendercity="994" d_date="27.01.2013" dim_x="20" dim_y="43" dim_z="25" TK_card_num="234" 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="67, +7 "></contacts>
</order>
</orders>
8. Список заказов на удаление
№ | Тэг/Атрибут | Описание | Тип поля | Обяз. для заполн. |
1. | DeleteRequest | Заголовок документа | да | |
1.1. | Number | Номер акта | varchar(20) | да |
1.2. | Date | Дата документа (дата заказа) | date | да |
1.5. | OrderCount | Общее количество заказов для удаления в документе | number | да |
2. | Order | Отправление (заказ) | да | |
2.1. | Number | Номер отправления по базе ТК | varchar(20) | да |
Удалить можно только те заказы, которые не находятся в конечных или промежуточных статусах, то есть фактически только в статусах «В обработке» или «Отмена».
Пример:
Документ содержит данные для удаления двух заказов.
<?xml version="1.0" encoding="UTF-8" ?>
<DeleteRequest number="236" date="" OrderCount=”2”>
<order number="" />
<order number="" />
</DeleteRequest>
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. Тип заказа – доставка
<?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="" express="0"></service>
<contacts name="Иванов Иван Иванович" compname="Ромашка" country="1" city="994" ul="Тверская" home="20/1" corp="2" flat="110" flour="3" kod="30K2596" phones="67, +7 "></contacts>
</order>
2. Тип заказа – самовывоз
<?xml version="1.0" encoding="UTF-8" ?>
<order number="" 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="67, +7 "></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="67, +7 "></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="67, +7 "></contacts>
</order>
10. Отчет «Запрос статуса заказа от ИМ к ТК»
Магазин отправляет запрос на сервер Твой Курьер по адресу:
http://*****/ishop/xml/get_order_status. php с параметрами account и secure и заполненными параметрами:
id=ID заказа по базе Твой Курьер
ИЛИ (именно ИЛИ)
num_order=номер заказа по базе Твой Курьер
В ответ скрипт возвращает одну цифру – ID статуса данного заказа.
Все переменные отправляются методом GET.
Лимит на использование данного скрипта: 50 запросов в день для одного ИМ. Просим Вас пользоваться данным скриптом только в крайних случаях. Основным скриптом для выяснения статусов заказов служит скрипт из раздела 9.
11. Запрос от ИМ в ТК данных о дисконтной карте ТК
Если Вы участвуете в программе «Дисконтная карта ТК», необходимо в настройках Вашего магазина сделать соответствующую галочку под названием «Участвовать в программе «Дисконтная карта ТК».
В случае если данная опция участия в программе дисконтной карты ТК включена, в общедоступной части Вашего магазина, при оформлении заказа Вашим покупателем, программа обязательно должна предлагать покупателю ввести номер дисконтной карты ТК и ФИО владельца. После того, как покупатель ввел номер карты, программа должна:
1. Сделать запрос на сервер Твой Курьер о существовании такой карты и размере скидки, которую Вы предлагаете Вашему клиенту по данной карте. В запросе необходимо указать полную сумму заказа без учета стоимости доставки, для возможности делать магазином переменного процента скидки от суммы заказа. Например:
В личном кабинете Твой Курьер Вы можете указать фиксированный процент скидки по карте ТК, например 5%.
Так же Вы можете указать переменный процент скидки по карте ТК. Например, на заказ итоговой суммой от 0 до 5000 скидка 3%, на заказ от 5001 до 8000 скидка 5%, на заказ от 8001 до 15000 скидка 7%, на заказ свыше 15001 скидка 10% и т. д.;
2. В случае если от сервера ТК придет положительный результат, программа ИМ должна пересчитать покупателю стоимость его заказа в соответствии с той скидкой, которую рассчитал сервер ТК и запомнить в свою базу знаний данные карты и размер скидки.
3. В случае если от сервера ТК придет отрицательный результат, программа ИМ должна сообщить покупателю фразу, полученную с сервера ТК из поля reply.
Рекомендуем все вышеперечисленные запросы реализовывать с помощью технологии AJAX (без перезагрузки страницы).
Номер, указанный покупателем в заказе обязан быть передан серверу ТК при передаче данных о заказе для того, чтобы сервер ТК мог вести сводную статистику о накопительных бонусах на картах покупателей и об итоговых суммах совершенных заказов по любой карте ТК.
По правилам участия в программе «Дисконтная карта ТК», картой ТК может воспользоваться любой, в том числе, не только ее владелец, то есть ФИО владельца карты не обязана совпадать с ФИО покупателя товара.
Адрес запроса: http://*****/ishop/xml/im_integrator_tkcardinfo. php
Параметры запроса:
num=номер_дисконтной_карты_ТК (только цифры и допускается символ ‘-‘)
account=ID_аккаунта
secure=API _ключ_из_личного_кабинета
order_summ=итоговая_сумма_по_заказу
Пример ответа сервера в случае, если карта зарегистрирована в базе:
<?xml version="1.0" encoding="UTF-8" ?>
<card number="234" fio="Иванов Иван Иванович" discount="3" date_register="27.01.2013" status="1" reply="">
Пример ответа сервера в случае, если карта НЕ зарегистрирована в базе:
<?xml version="1.0" encoding="UTF-8" ?>
<card number="234" fio="" discount="0" date_register="00.00.0000" status="0" reply="Вы ввели не верный номер карты. Пожалуйста, проверьте введенные Вами данные.">
12. Запрос от ИМ в ТК о стоимости доставки или самовывоза (калькулятор)
Запрос отправляется по адресу: http://*****/ishop/xml/im_calc. php
Крайне Вам рекомендуем пользоваться калькулятором в пользовательской части магазина на этапе, когда Ваш клиент переходит к оформлению заказа в корзине, выбирает способ доставки, после чего Вы можете ему рассчитать итоговую стоимость доставки и, при необходимости, прибавить к ней свою.
Все переменные передаются методом GET. Помимо основных переменных account и secure так же присутствуют дополнительные:
№ | Переменная | Описание | Тип поля | Обяз. для заполн. |
1. | quantity | Количество товаров (массив через запятую и без пробелов). Пример: 10,1,12 | String | да |
2. | weight | Вес товаров (массив через запятую и без пробелов) Пример: 0.01,1,5 | String | да |
3. | price | Массив цен товаров (через запятую и без пробелов) Пример: 1200,100.5,500 | String | Да |
4. | bundling | Комплектация (через запятую и без пробелов) Пример: 1,0,1 | String | да |
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 | нет |
13. | b_time* | Время доставки С (например с 10) | Integer | нет |
14. | e_time* | Время доставки ДО (например до 18) | Integer | нет |
15. | weekend | Доставка в выходной день (1 или 0) | Boolean | нет |
16. | carry | Самовывоз или доставка (ВНИМАНИЕ!!!) Если 0, то самовывоз, если 1, то доставка. Это не ошибка, именно всё наоборот. | Boolean | нет |
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
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 |


