Пример:

<?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=5quantity_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=5quantity_back="1"></goods>

<goods number="3" barcode="1585" name="Приставка 652" weight="2.0" quantity="1" cost="530.00" price="0.00" bundling="1" status=4quantity_back="0"></goods>

<goods number="3" barcode="0" name="Скидка" weight="0.1" quantity="1" cost="-1000.00" price="0.00" bundling="0" status=4quantity_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=5quantity_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=5quantity_back="1"></goods>

<goods number="3" barcode="1585" name="Приставка 652" weight="2.0" quantity="1" cost="530.00" price="1529.90" bundling="1" status=4quantity_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