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

advertisement
Пересылка данных на внешние сайты (скрипты)
Уровень сложности освоения: Специалист
Независимо от включенной или выключенной опции "Разрешить API взаимодействие",
предусматривающей двунаправленный обмен данными, EcommTools может дополнительно
пересылать методом POST запросовинформацию о заказах и товарах на внешний адрес (скрипт на
вашем сервере) для последующей обработки.
Системные требования
Производите настройку только если на вашем сайте разработан и имеется скрипт, который получает
информацию от EcommTools и проводит последующую обработку, в противном случае эта функция
бессмысленна. EcommTools только лишь пересылает информацию и не несет ответственность за
последующую обработку данных на стороне вашего сайта и корректную работу ваших программных
решений по управлению доступом.
За разработкой подобных решений обратитесь к сторонним разработчикам или наймите фрилансера.
EcommTools не предоставляет услуги по написанию подобных скриптов.
Почему EcommTools не предоставляет готового скрипта для размещения на вашем сайте?
Потому что это в принципе невозможно и мы понятия не имеем, какие функции должен выполнять
этот скрипт и что вы планируете делать с получаемыми данными. Именно по этой причине вы должны
сами разрабатывать подобные скрипты в точном соответствии со спецификой вашего сайта и товаров,
будь это доступ в закрытый раздел, высылка товаров и еще десятки других аспектов, известных
только самому продавцу.
Примеры использования
Например, скрипт на вашем сервере получает информацию об оплате и генерирует уникальный
пинкод, открывает доступ в защищенный раздел и т.д. Или же, ваш скрипт получает информацию об
изменении свойств товара и вносит нужные корректировки в базу данных на вашем сервере и т.д.
Технические особенности
1 Пересылка информации от EcommTools является односторонней, поэтому для проверки подписи
запроса, в вашем скрипте нужно использовать "Ключ для получения информации от
EcommTools.com".
2 Для формирования и проверки подписи запроса используется общепризнанный алгоритм MD5.
3 В отличие от API команд, которые требуется инициировать, описанные здесь уведомления на
внешний скрипт
пересылаются автоматически сразу же после выбранного действия, а именно:
- после оформления заказа клиентом;
- после перевода заказа в оплаченный статус администратором магазина;
- после перевода заказа в оплаченный статус автоматическим обработчиком EcommTools
(автодоставка);
- после добавления или редактирования товара;
action - тип уведомления, может иметь следующие варианты:
neworder
информация о только что оформленном заказе
paidorder
информация об оплаченном заказе
itemadd
информация о добавлении товара
itemedit
информация о редактировании товара
itemremove
информация об удалении товара
В зависимости от типа запроса, пересылаются следующие переменные:
orderstatus
статус заказа. 1 - предварительный. 2 - оплаченный.
resend
(значение: 0 или 1) - повторная пересылка информации об
оплаченном заказе. Ваш скрипт должен проверять значение
этой переменной во избежание генерации новых данных
(например, ключей для продления лицензии).
user
ваш аккаунт в EcommTools
hash
MD5 подпись текущего запроса
orderid
номер заказа
email
емайл покупателя
amount
сумма заказа
currency
валюта
items
заказанные товары. формат: "id
стоимость на момент оформления;"
payby
метод оплаты
date
дата оплаты
refid
RefID партнера
ip
IP покупателя
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 - Ваше имя пользователя в сервисе ecommtools.com
$key - Ваш "Ключ для получения информации от ecommtools.com"
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);
Описанные выше данные передаются по умолчанию на указанные вами URL для пересылки.
Однако вы можете использовать свой формат передаваемых данных используя служебные маркеры,
которые впоследствии будут заменены нужной информацией.
Для включения пользовательского формата данных, используйте ссылки с флагом &notifymode=2
Указав в качестве адреса для уведомления URL вида http://site.com/process/
будет использован формат уведомления по умолчанию с пересылкой всех вышеописанных
параметров.
Если же вы введете URL вида http://site.com/process/?notifymode=2
то EcommTools не будет высылать стандартный набор данных, а проанализирует ваш адрес для
пересылки
и заменит только указанные вами маркеры.
Пример пересылки только номера заказа и стоимости:
http://site.com/process/?notifymode=2&order=%ORDERID%&cost=%TOTALCOST%
т.е вы можете использовать любые названия ключей в строке запроса.
Перечень маркеров автозамены:
%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.
Download