Страница, которую вы читаете, не существует. Проверьте написание адреса — может быть, вы просто ошиблись при наборе или кто-то дал вам ссылку с опечаткой либо ссылку на свой почтовый ящик. А может быть, ранее существовавшая страница была удалена.
Интеграция DC с системой партнера заключается в настройке на стороне партнера специальных обработчиков запросов. Один из которых принимает запрос от DC содержащий данные заказа (запрос на создание заказа), обрабатывает их, а другой возвращает в ответ на запрос, содержащий идентификатор заказа, информацию о заказе (запрос статуса заказа).
1. Отправка заказов в систему партнера
DC отправляет заказ в систему партнера в виде POST-запроса на указанный партнером URL. Запрос содержит в себе два параметра: Order и OrderText. Order содержит в себе параметры заказа в формате XML, OrderText содержит текстовое описание заказа.
Значения обоих параметров обработаны php-функцией urlencode.
Стандарт XML учитывает порядок следования элементов, поэтому важно соблюдать его в соответствии с прилагаемым DTD или примерами, приведенными ниже.
Стандарт XML не допускает использования в текстовых данных непечатаемых символов с ASCII-кодами в диапазоне значений от 0 до 31 (за исключением символов с кодами 9, 10, 13 - табуляция, перевод строки, возврат каретки). Также этот стандарт требует обязательной замены некоторых символов (см. таблицу) на эквивалентные им символьные примитивы.
Таблица 2. Условия замены в текстовых полях
Текстовый символ
Замена (символьный примитив)
"
"
&
&
>
>
<
<
'
'
Описание формата полного списка товаров
Заголовок документа (XML header)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dc_catalog SYSTEM "http://www.delivery-club.ru/xml/dc.dtd">
Стандартный XML-заголовок со ссылкой на файл описания формата (DTD). Заголовок должен начинаться с первой строки, с нулевого символа. Вторая строка заголовка XML-документа определяет ссылку на файл описания формата данных (DTD).
Элемент dc_catalog
<dc_cataloglast_update="2000-11-16 20:17">
<delivery_service>
...
</delivery_service>
</dc_catalog>
Любой XML-документ может содержать только один корневой элемент. Формат YML в качестве корневого использует элемент dc_catalog. Атрибут date элемента dc_catalog должен соответствовать дате и времени генерации XML-файла на стороне магазина. Дата должна иметь формат YYYY-MM-DD HH:mm. Ежедневно система автоматически проверяет изменения в дате после последнего обновления данных и в случае изменения даты производит выгрузку обновленных данных на сайт delivery-club.ru.
Элемент delivery_service
<delivery_service >
<categories> ... </categories>
<products> ... </products>
</delivery_service >
В элементе delivery_service содержится описание продуктов.
В элементе categories содержится список категорий службы доставки. Каждая категория описывается отдельным элементом category. Описание категории должно включать ее идентификатор (параметр id) для всех категорий и идентификатор категории более высокого уровня для подкатегорий.
Идентификатор категории должен быть уникальным положительным целым числом. Ни у одной категории параметр id не может быть равен "0". Если элемент parentId не указан, то категория считается корневой.
Параметры:
id - идентификатор Вашей категории продуктов
parentId - идентификатор предыдущей по иерархии категории продуктов
*после каждой родительской категории должны идти дочерние, либо сначала необходимо описать родительские категории, а после описывать дочерние. В любом случае, если сначала идет описание дочерней категории, а после – родительской, то корректное отображение дерева невозможно.
Элемент products
<products>
<product>...</product>
...
</products>
В элементе products содержится список предложений службы доставки. Каждое предложение описывается отдельным элементом product.
Таблица 3. Описание элементов, входящих в элемент <product>
Элементы
Описание
id
Внутренний идентификатор продукта в системе. Важно передавать его в Delivery Club для корректного получения продуктов в передаваемых заказах.
name
Наименование продукта.
description
Описание продукта.
price
Стоимость продукта. Округление происходит в большую сторону.
ingredients
Дополнительные ингредиенты, которые можно добавить по желанию. Должны содержать ID, название и стоимость.
variants
Обязательные для выбора модификаторы. Могут быть сгруппированы в одну или несколько групп. Должны содержать ID, название и стоимость.
picture
По указанному URL-адресу должна находиться картинка формата jpeg или png наилучшего качества. Ресайз происходит автоматически на стороне Delivery Club. Ссылка на HTML с картинкой недопустима.
При добавлении Еды За Баллы
необходимо создать блюдо с нулевой ценой и другим ID.
Клиенту показываем основное блюдо, а передаем в систему ресторана блюдо с нулевой ценой.
Они просят сделать какую-то доработку системы https://docs.google.com/document/d/1ZnHJ3KkHmXalWOUiwQL6ToxJE3MzR_UrnhzfLF6FN30/edit
здравствуйте, сейчас с вами по телефону общались
ссылка не работает
Несуществующая страница
Страница, которую вы читаете, не существует.
Проверьте написание адреса — может быть, вы просто ошиблись при наборе или кто-то дал вам ссылку с опечаткой либо ссылку на свой почтовый ящик. А может быть, ранее существовавшая страница была удалена.
Отправлял файл с теми же данными в феврале на info@mobidel.ru
К сожалению, ответа по возможности реализации не получил.
Тоже интересует вопрос интеграции с DC
интеграция возможна, создайте отдельный топик для подключения
Топик, это отдельный отзыв?
да
Интеграция с системой заказов Delivery Club
Введение.
Интеграция DC с системой партнера заключается в настройке на стороне партнера специальных обработчиков запросов. Один из которых принимает запрос от DC содержащий данные заказа (запрос на создание заказа), обрабатывает их, а другой возвращает в ответ на запрос, содержащий идентификатор заказа, информацию о заказе (запрос статуса заказа).
1. Отправка заказов в систему партнера
DC отправляет заказ в систему партнера в виде POST-запроса на указанный партнером URL. Запрос содержит в себе два параметра: Order и OrderText. Order содержит в себе параметры заказа в формате XML, OrderText содержит текстовое описание заказа.
Значения обоих параметров обработаны php-функцией urlencode.
Пример запроса:
POST http://server-name.ru/some_path/AddOrder
Content-Type: application/x-www-form-urlencoded
Order:
<?xml version="1.0" encoding="UTF-8" ?>
<Order Brand="BRANDNAME" DiscountPercent="0" PayMethod="100000001" QtyPerson="1" Type="Доставка" RemarkMoney="0" TimePlan="03.06.2016 03:29:00">
<LinkOk>Ok</LinkOk>
<LinkCancel>Cancel</LinkCancel>
<Customer FIO="Семенов Михаил Иванович" />
<Address CityName="Новосибирск" StationName="Ленинский" StreetName="улица Ленина" House="1" Corpus="2" Building="3" Flat="4" Porch="5" Floor="6" DoorCode="555">
<Remark>
<![CDATA[ Новосибирск, м. Ленинский, улица Ленина, 1, корпус 2, строение 3,подъезд 5, эт. 6, кв. 4 ]]>
</Remark>
</Address>
<Phone Code="915" Number="5555555" />
<Products>
<Product ID="PRODUCT_IDENTIFIER" Qty="1">
<Modificator Code="MODIFICATOR_IDENTIFIER" ID="MODIFICATOR_IDENTIFIER" Qty="1" Price="0" Title="Стандартное тесто 40см"/>
<Modificator Code="MODIFICATOR_IDENTIFIER" ID="MODIFICATOR_IDENTIFIER" Qty="1" Price="95" Title="Доп.ингред. 40 см Сырное ассорти"/>
</Product>
<Product ID="PRODUCT_IDENTIFIER" Qty="1">
</Product>
</Products>
<Remark>
Комментарий к заказу
</Remark></Order>
Атрибуты тега Order:
Brand - уникальный идентификатор ресторана. Любой на ваш выбор
DiscountPercent - скидка в процентах
PayMethod - способ оплаты. Карта, наличные - Любые значения на ваш выбор
QtyPerson - количество персон
Type - способ доставки (pickup|delivery). Самовывоз или доставка.
RemarkMoney - требуется сдача с
TimePlan - ожидаемое время доставки dd.mm.YYYY hh:mm:ss
LinkOk - не используется
LinkCancel - не используется
Customer атрибуты
FIO - ФИО пользователя
Address - в атрибутах адрес, в дочернем элементе дублируется в виде текста
Phone - содержит в атрибутах телефон (Code и Number)
Products - содержит множество заказанных продуктов
Product атрибуты
ID - идентификатор на стороне партнера, полученный через импортирование меню
Qty — количество
Modificator - дочерний для Product, содержит модификаторы (доп сыр, соус и тому подобное). Подобен по структуре Product
Remark - комментарий к заказу
Система партнера должна ответить на запрос строкой в формате XML:
Пример ответа:
<?xml version="1.0" encoding="UTF-8"?>
<string xmlns="www.fast-operator.ru">
<Order Status="Ok" Code="1079690"/>
</string>
Тег string, должен содержать тег Order, со следующими атрибутами:
Status — статус заказа
Code — идентификатор заказа на стороне партнера
2. Опрос статуса заказа.
Опрос статуса заказа в системе партнера, производится DC путем отправки GET-запроса на указанный партнером URL. Запрос содержит параметр OrderCode.
Пример запроса:
GET http://server-name.ru/some-page/GetOrders?OrderCode=ORDER_ID
где ORDER_ID — идентификатор заказа в системе партнера (полученный в атрибуте Code тега Order XML ответа описанного в п.1).
Ожидается ответ в формате XML. Cодержимое тега <string> должно быть кодированной строкой, пропущена например через: http://php.net/manual/en/function.htmlentities.php
Пример ответа:
<?xml version="1.0" encoding="UTF-8"?>
<string xmlns="www.fast-operator.ru">
<Orders RC="1">
<Order RN="1" OrderID="100121858" State="Исполнен" StateCode="4" Code="201288" DateCreate="03.07.2016 13:36:23" PhoneCode="916" PhoneNum="4444444" BonusAmount="0.00" Amount="1540.00" DiscountPercent="0.00" DiscountAmount="0.00" DeliverySum="0.00" TotalClearAmount="0.00" Remark="DeliveryClub, в течении часа" Address="Новосибирск, м. Ленинский, улица Ленина, 1, корпус 2, строение 3, подъезд 5, эт. 6, кв. 4" AddressRemark="" QtyPerson="2" Department="Пр.Вернадского" DepartmentCode="1" TypeCode="1" Long="57.477992000" Lat="57.671387000" Courier="Иванов Иван" CourierCode="1" CourierType="1" CourierPhone="4444444">
<Products>
<Product Code="PRODUCT_IDENTIFIER" Name="Плов" Qty="1.00" UnitName="порция" Price="10.00" IsBonus="0" Remark="" DiscountPercent="0.00" DiscountAmount="0.00" Packet="0" />
</Products>
</Order>
</Orders>
</string>
CancelName = “Причина отказа “ надо добавить в GetOrders если заказ с неуспешными статусами. Отклонен, отказан и т.д.
Стандартные причины отказа:
Клиент недоступен
Не устроило время доставки
Изменились планы клиента
Шутка
Тест
Клиент хочет оплатить картой
Клиента не устроила стоимость доставки
Дубль
Изменились данные заказа
Некорректная стоимость доставки
В настоящее время ресторан закрыт
Ресторан не доставляет по данному адресу
Высокая нагрузка
Блюда нет в наличии
У ресторана тех. проблемы
Нет курьеров
Изменилась стоимость блюда
Заказ менее минимальной суммы
Другое (укажите причину)
Таблица 1. Возможные значения атрибута State
Значение
Описание
Новый
Принят к исполнению. Нефинален.
Новый заказ
Принят к исполнению. Нефинален.
Новый с сайта
Принят к исполнению. Нефинален.
Новый on-line
Принят к исполнению. Нефинален.
Принят логистом
Принят к исполнению. Нефинален.
Принят
Принят к исполнению. Нефинален.
Отложен
Принят к исполнению. Нефинален.
Отложен: уточнение
Принят к исполнению. Нефинален.
Маршрутизация
Принят к исполнению. Нефинален.
Оформление
Принят к исполнению. Нефинален.
Дозаказ
Принят к исполнению. Нефинален.
ИНТЕРНЕТ ЗАКАЗ
Принят к исполнению. Нефинален.
В работе
Принят к исполнению. Нефинален.
В работе (R-Keeper)
Принят к исполнению. Нефинален.
Готов
Принят к исполнению. Нефинален.
Собран
Принят к исполнению. Нефинален.
Отправлен
Принят к исполнению. Нефинален.
Курьер выехал
Принят к исполнению. Нефинален.
Отправлен с курьером
Принят к исполнению. Нефинален.
Курьер выехал
Принят к исполнению. Нефинален.
Доставляется
Принят к исполнению. Нефинален.
Оплачен
Принят к исполнению. Нефинален.
Отдан
Клиент забрал сам. Финальный успешный.
Доставлен
Доставлен. Финальный успешный.
Исполнен
Доставлен. Финальный успешный.
Отказан
Отменен поставщиком. Финальный неуспешный.
Корзина
Отменен клиентом. Финальный неуспешный.
Импорт меню
Для принятия и публикации информации в базе данных Delivery Club используется специальный формат XML.
XML документ должен соответствовать следующему формату (DTD):
<!ELEMENT dc_catalog ((delivery_service))>
<!ATTLIST dc_catalog
last_update CDATA #REQUIRED
>
<!ELEMENT delivery_service ((categories, products))>
<!ELEMENT categories ((category+))>
<!ELEMENT category (#PCDATA)>
<!ATTLIST category
id CDATA #REQUIRED
parentId CDATA "0"
>
<!ELEMENT products ((product+))>
<!ELEMENT product ((category_id, name, description?, price, picture?, byWeight?, ingredients?))>
<!ATTLIST product
id CDATA #IMPLIED
>
<!ELEMENT price (#PCDATA)>
<!ELEMENT picture (#PCDATA)>
<!ELEMENT byWeight (#PCDATA)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT description (#PCDATA)>
<!ELEMENT category_id (#PCDATA)>
<!ELEMENT ingredients ((ingredient+))>
<!ELEMENT ingredient (#PCDATA)>
<!ATTLIST ingredient
title CDATA #REQUIRED
price CDATA #REQUIRED
>
Стандарт XML учитывает порядок следования элементов, поэтому важно соблюдать его в соответствии с прилагаемым DTD или примерами, приведенными ниже.
Стандарт XML не допускает использования в текстовых данных непечатаемых символов с ASCII-кодами в диапазоне значений от 0 до 31 (за исключением символов с кодами 9, 10, 13 - табуляция, перевод строки, возврат каретки). Также этот стандарт требует обязательной замены некоторых символов (см. таблицу) на эквивалентные им символьные примитивы.
Таблица 2. Условия замены в текстовых полях
Текстовый символ
Замена (символьный примитив)
"
"
&
&
>
>
<
<
'
'
Описание формата полного списка товаров
Заголовок документа (XML header)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dc_catalog SYSTEM "http://www.delivery-club.ru/xml/dc.dtd">
Стандартный XML-заголовок со ссылкой на файл описания формата (DTD). Заголовок должен начинаться с первой строки, с нулевого символа. Вторая строка заголовка XML-документа определяет ссылку на файл описания формата данных (DTD).
Элемент dc_catalog
<dc_catalog last_update="2000-11-16 20:17">
<delivery_service>
...
</delivery_service>
</dc_catalog>
Любой XML-документ может содержать только один корневой элемент. Формат YML в качестве корневого использует элемент dc_catalog. Атрибут date элемента dc_catalog должен соответствовать дате и времени генерации XML-файла на стороне магазина. Дата должна иметь формат YYYY-MM-DD HH:mm. Ежедневно система автоматически проверяет изменения в дате после последнего обновления данных и в случае изменения даты производит выгрузку обновленных данных на сайт delivery-club.ru.
Элемент delivery_service
<delivery_service >
<categories> ... </categories>
<products> ... </products>
</delivery_service >
В элементе delivery_service содержится описание продуктов.
Элемент categories
<categories>
<category id="1">Завтраки</category>
<category id="2">Пицца</category>
<category id="3" parentId="2">Пицца 23 см</category>
<category id="4" parentId="2">Пицца 36 см</category>
<category id="5">Напитки</category>
</categories>
В элементе categories содержится список категорий службы доставки. Каждая категория описывается отдельным элементом category. Описание категории должно включать ее идентификатор (параметр id) для всех категорий и идентификатор категории более высокого уровня для подкатегорий.
Идентификатор категории должен быть уникальным положительным целым числом. Ни у одной категории параметр id не может быть равен "0". Если элемент parentId не указан, то категория считается корневой.
Параметры:
id - идентификатор Вашей категории продуктов
parentId - идентификатор предыдущей по иерархии категории продуктов
*после каждой родительской категории должны идти дочерние, либо сначала необходимо описать родительские категории, а после описывать дочерние. В любом случае, если сначала идет описание дочерней категории, а после – родительской, то корректное отображение дерева невозможно.
Элемент products
<products>
<product>...</product>
...
</products>
В элементе products содержится список предложений службы доставки. Каждое предложение описывается отдельным элементом product.
Описание элемента product
<product id="6015">
<category_id>0</category_id>
<name>Морепродукты в соусе Том Ям</name>
<price>250</price> <picturepicture>
<ingredients>
<ingredient id="179" title="Свинина" price="95"/>
<ingredient id="169" title="Шампиньоны" price="30"/>
<ingredient id="174" title="Курица" price="95"/>
<ingredient id="9150" title="Морепродукты" price="95"/>
<ingredient id="1168" title="Креветки "Коктейль"" price="145"/>
</ingredients>
<variants>
<variants_group title="Выберите основу">
<variant title="Лапша яичная" price="0" id="9030"/>
<variant title="Лапша стеклянная" price="0" id="9010"/>
<variant title="Лапша пшеничная" price="0" id="9020"/>
<variant title="Лапша гречневая" price="0" id="9000"/>
<variant title="Пропаренный рис" price="0" id="9040"/>
</variants_group>
<variants_group title="Выберите остроту">
<variant title="Не острый" price="0" id="3027"/>
<variant title="Острее" price="0" id="3021"/>
<variant title="Очень остро" price="0" id="3022"/>
</variants_group>
<variants_group title="И вот еще что">
<variant title="Кунжут" price="0" id="3028"/>
<variant title="Зеленый лук" price="0" id="3030"/>
<variant title="Без овощей" price="0" id="3020"/>
<variant title="Без посыпки" price="0" id="3031"/>
</variants_group>
</variants>
</product>
Таблица 3. Описание элементов, входящих в элемент <product>
Элементы
Описание
id
Внутренний идентификатор продукта в системе. Важно передавать его в Delivery Club для корректного получения продуктов в передаваемых заказах.
name
Наименование продукта.
description
Описание продукта.
price
Стоимость продукта. Округление происходит в большую сторону.
ingredients
Дополнительные ингредиенты, которые можно добавить по желанию. Должны содержать ID, название и стоимость.
variants
Обязательные для выбора модификаторы. Могут быть сгруппированы в одну или несколько групп. Должны содержать ID, название и стоимость.
picture
По указанному URL-адресу должна находиться картинка формата jpeg или png наилучшего качества. Ресайз происходит автоматически на стороне Delivery Club. Ссылка на HTML с картинкой недопустима.
При добавлении Еды За Баллы
необходимо создать блюдо с нулевой ценой и другим ID.
Клиенту показываем основное блюдо, а передаем в систему ресторана блюдо с нулевой ценой.