Пересылка данных на внешние сайты (скрипты)

Уровень сложности освоения: Специалист

Независимо от включенной или выключенной опции "Разрешить API взаимодействие", предусматривающей двунаправленный обмен данными, OnWiz.ru может дополнительно пересылать методом POST запросов информацию о заказах и товарах на внешний адрес (скрипт на вашем сервере) для последующей обработки.

Системные требования
Производите настройку только если на вашем сайте разработан и имеется скрипт, который получает информацию от OnWiz.ru и проводит последующую обработку, в противном случае эта функция бессмысленна. OnWiz.ru только лишь пересылает информацию и не несет ответственность за последующую обработку данных на стороне вашего сайта и корректную работу ваших программных решений по управлению доступом.

За разработкой подобных решений обратитесь к сторонним разработчикам или наймите фрилансера. OnWiz.ru не предоставляет услуги по написанию подобных скриптов.

Почему OnWiz.ru не предоставляет готового скрипта для размещения на вашем сайте?
Потому что это в принципе невозможно и мы понятия не имеем, какие функции должен выполнять этот скрипт и что вы планируете делать с получаемыми данными. Именно по этой причине вы должны сами разрабатывать подобные скрипты в точном соответствии со спецификой вашего сайта и товаров, будь это доступ в закрытый раздел, высылка товаров и еще десятки других аспектов, известных только самому продавцу.

Примеры использования
Например, скрипт на вашем сервере получает информацию об оплате и генерирует уникальный пинкод, открывает доступ в защищенный раздел и т.д. Или же, ваш скрипт получает информацию об изменении свойств товара и вносит нужные корректировки в базу данных на вашем сервере и т.д.

Технические особенности
1 Пересылка информации от OnWiz.ru является односторонней, поэтому для проверки подписи запроса, в вашем скрипте нужно использовать "Ключ для получения информации от OnWiz.ru".

2 Для формирования и проверки подписи запроса используется общепризнанный алгоритм MD5.

3 В отличие от API команд, которые требуется инициировать, описанные здесь уведомления на внешний скрипт
пересылаются автоматически сразу же после выбранного действия, а именно:
- после оформления заказа клиентом;
- после перевода заказа в оплаченный статус администратором магазина;
- после перевода заказа в оплаченный статус автоматическим обработчиком OnWiz.ru (автодоставка);
- после добавления или редактирования товара;

action - тип уведомления, может иметь следующие варианты:
neworderинформация о только что оформленном заказе
paidorderинформация об оплаченном заказе
itemaddинформация о добавлении товара
itemeditинформация о редактировании товара
itemremoveинформация об удалении товара

В зависимости от типа запроса, пересылаются следующие переменные:
orderstatusстатус заказа. 1 - предварительный. 2 - оплаченный.
resend(значение: 0 или 1) - повторная пересылка информации об оплаченном заказе. Ваш скрипт должен проверять значение этой переменной во избежание генерации новых данных (например, ключей для продления лицензии).
userваш аккаунт в OnWiz.ru
hashMD5 подпись текущего запроса
orderidномер заказа
emailемайл покупателя
amountсумма заказа
currencyвалюта
itemsзаказанные товары. формат: "id товара-количество-стоимость на момент оформления;"
paybyметод оплаты
dateдата оплаты
refidRefID партнера
ipIP покупателя
nameимя покупателя
courierпочтовый курьер
destinationстрана
totalweightвес
shippingcostстоимость доставки
totaldiscountvalueобщая сумма скидки
addressадрес доставки
couponкод введенного подарочного сертификата или купона
accessdataлогин и пароль для купленного товара
channelканал продаж
userdata1 ... userdata7Дополнительные поля с информацией клиента (поля создаются в разделе "Настройки" - "Страница заказа"
subscribed(значение: 0 или 1) - человек дал согласие на автоматическую подписку на вашу рассылку. См. функцию "Предлагать подписку на рассылку при оформлении заказа" в разделе "Настройки" - "Основные параметры"


Пример информации по пересылке пар логин-пароль для выбранных товаров:
accessdata=010:user@yahoo.com:u295kx2nad:30;011:jugejki5:u9r0epapxm:60;
разделитель ":" между логином и паролем.
разделитель ";" между разными товарами.
формат: itemid:login:password:period;

в приведенном примере пересылается следующая информация:
Для товара «010» - логин «user@yahoo.com», пароль «u295kx2nad», период действия 30 суток.
Для товара «011» - логин «jugejki5», пароль «u9r0epapxm», период действия 60 суток.

Если информация о периоде не передается (пусто), значит у данного товара нет временных ограничений.

Для проверки подлинности, склейте в своей программе следующие переменные:
$action.$user.$key.INFO
$action - Тип запроса (neworder,paidorder, и т.д.)
$user - Ваше имя пользователя в сервисе OnWiz.ru
$key - Ваш "Ключ для получения информации от OnWiz.ru"
INFO - Данные в зависимости от типа уведомления.
В уведомлениях neworder/paidorder используйте номер заказа (переменная $orderid).
В уведомлениях itemadd/itemedit/itemremove используется идентификатор товара ($itemid)


Пример:
Строка хеширования для оплаченного заказа:
$action.$user.$key.$orderid

Строка хеширования для предварительного заказа:
$action.$user.$key.$orderid

Готовая строка на Perl для проверки подлинности данных:
my $INFO=$orderid;
my $controlhash=md5_hex($action.$user.$key.$INFO);





Перечень маркеров автозамены:
%EMAIL%емайл покупателя
%ORDERID%номер заказа
%TOTALCOST%сумма заказа
%CURRENCY%валюта заказа
%ORDERDATE%дата оплаты
%REFID%RefID партнера
%TOTALDISCOUNTVALUE%общая сумма скидки
%CUSTOMERIP%IP покупателя
%CHANNEL%канал продаж
%PAYBY%метод оплаты
%ITEMS%заказанные товары. формат: "id товара-количество-стоимость на момент оформления;"
%NAME%имя покупателя
%COUNTRY%страна
%AREA%область
%CITY%город
%ZIP%почтовый индекс
%ADDRESS%адрес доставки
%PHONE%телефон
%FAX%факс
%COURIER%почтовый курьер
%DESTINATION%статус
%WEIGHT%вес
%SHCOST%стоимость доставки
%USERDATA1% ... %USERDATA7%Дополнительные поля с информацией клиента (поля создаются в разделе "Настройки" - "Страница заказа"

После получения данных и проверки MD5 подписи, ваш скрипт должен передать ответ сервера HTTP 200 OK.



Вернуться к оглавлению руководства пользователя OnWiz.ru