Пересылка данных на внешние сайты (скрипты) Уровень сложности освоения: Специалист Независимо от включенной или выключенной опции "Разрешить 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.