Атрибут | Обяз. | Тип | Комментарии |
products | O | Массив string (an..50) | Список кодов товаров. |
templates | O | Массив string (an..50) | Список масок кодов товаров. |
classifiers | O | Массив ProductClassifier | Список классификаций кодов товаров. |
Структура ProductClassifier
Структура предназначена для передачи параметров классификации.
Атрибут | Обяз. | Тип | Комментарии |
name | M | string (an..50) | Наименование свойства. |
value | M | string (an..50) | Значение свойства. |
Структура предназначена для передачи запроса на гашение купонов.
Атрибут | Обяз. | Тип | Комментарии |
transaction | M | TransactionData | Ключевая информация об операции. |
deals | M | Массив Deal | Список купонов, которые требуется погасить на ПЦ. |
Форматирование текстовой информации
Некоторые текстовые поля, возвращаемые в ответе от ПЦ, могут содержать правила форматирования. Используется ограниченный набор правил из HTML.
Правило | Описание | Пример |
<br> | Перенос строки | После данной фразы будет перевод строки<br> |
<b>…</b> | Жирный шрифт | <b>Данный текст должен быть напечатан жирным шрифтом</b> |
<i>…</i> | Курсив | <i>Данный текст должен быть напечатан курсивом</i> |
<u>…</u> | Подчеркивание | <u>Данный текст должен быть подчеркнут</u> |
<center>…</center> | Центрированный текст | <center>Данный текст должен быть центрирован</center> |
Протоколы транспортного уровня и аутентификация
Коммуникации АС или POS’ов Участника с ПЦ Лояльности могут быть основаны на протоколах HTTP или HTTPS (HTTP + SSL) с взаимной аутентификацией.
В случае использования HTTPS участники взаимодействия должны использовать X.509 сертификаты, полученные в Центре Доверия ЦФТ.
Реализация интерфейса в виде Web Service
Технологически интерфейс основан на технологии WebServices и специфицирован в файлах “CFTLoyaltyPCPoints. wsdl” и “CFTLoyaltyPCPoints_Types. xsd”.
Платформа реализации интерфейса на ПЦ
Данный интерфейс реализуется в ПЦ на базе Apache Tomcat версии 5.5.17 и Apache Axis версии 1.4.
Дополнительная информация Идентификация операций
Каждая прямая операция (активация, запрос информации, авторизация покупки, авторизация возврата, регистрация покупки в составе батча, прямое изменение бонусного остатка) однозначно идентифицируется по идентификатору, присвоенному ПЦ. Это глобальный идентификатор, который уникален в рамках всей системы. Данный идентификатор возвращается в ответе на соответствующий запрос в элементе AuthResponseData. pcId. ВНИМАНИЕ! Данный элемент обязателен только для успешно авторизованных операций. Если ПЦ отказал в авторизации операции, то данный элемент может отсутствовать.
Если интерфейс используется для подключения “интеллектульной” Автоматизированной Системой, то прямая операция также идентифицируется по атрибуту TransactionData. id. Значение данного атрибута должно быть присвоено Автоматизированной Системой. Автоматизированная Система обеспечивает его уникальность, которая проверяется в ПЦ.
Если интерфейс используется для прямого подключения “интеллектуальных” рабочих мест (касс, POS’ов), прямая операция также идентифицируется по четырем ключевым атрибутам:
При этом:
- каждый партнер идентифицируется по partnerId; каждый location уникален в рамках partnerId; каждый terminal уникален в рамках location; каждый terminal ведет счетчик операций и обеспечивает уникальность “своего” TransactionData. id.
Какой тип подключения используется (через АС или прямое подключение кассы) определяется один раз при регистрации подключения в ПЦ.
Операция возврата является ПРЯМОЙ операцией, на которую распространяется все вышесказанное. Дополнительно с “собственным” идентификаторам в операции возврата указываются идентификаторы оригинальной операции покупки (атрибуты RefundRequestData. orig*).
Откаты собственных идентификаторов не имеют.
При совершении авторизации возможна дополнительная проверка подлинности владельца карты с помощью разового пароля (токена). Пароль имеет ограниченный срок действия и высылается SMS-сообщением клиенту перед основной авторизацией по специальному запросу от кассы.
Информация на чекеДля проведения операции возврата или для решения каких-либо вопросов по совершенной операции, рекомендуется на чек выводить следующую информацию:
для случая прямого подключения POS’а к ПЦ
- дата и время совершения операции в часовом поясе POS’а; идентификатор операции, присвоенный POS’ом; идентификатор POS’а; идентификатор места установки POS’а; идентификатор Участника, под которым он зарегистрирован в ПЦ; общая сумма покупки; сумма наличных и безналичных денег, которую заплатил покупатель; перечень купленных товаров с указанием количества и цены; сообщение для печати на чеке, полученное от ПЦ (или сформированное POS/АС при offline-начислении); идентификатор операции в ПЦ.
для случая подключения через АС состав чека определяется исходя из возможностей АС.
Включение в чек идентификатора операции, присвоенного ПЦ, настоятельно рекомендуется для обеих типов подключений.
HTTP-заголовки и SOAP-конверты Запросы к ПЦВ запросах к ПЦ должны присутствовать следующие HTTP-заголовки:
POST [URL] HTTP/1.0
Host: [Host]:[Port]
SOAPAction: [Action]
User-Agent: [UserAgent]
Content-Type: text/xml; charset=utf-8
Content-Length: [BodyLength]
Вместо слов, заключенных в квадратные скобки, заголовки должны содержать актуальные для запроса значения. Значение для заголовка User-Agent должно быть отдельно согласовано для каждой реализации протокола.
После заголовков, отделенные от них пустой строкой, следуют данные запроса в формате XML, представляющие собой SOAP-конверт.
Виды конвертов вместе с соответствующими значениями заголовка SOAPAction см. ниже. Вместо многоточий должны идти реальные данные, формат которых описан в файле CFTLoyaltyPCPoints_Types. xsd. XML-сообщение лучше передавать одной строкой.
SOAPAction: "urn:#echo"
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas. xmlsoap. org/soap/envelope/" xmlns:xsd="http://www. w3.org/2001/XMLSchema" xmlns:xsi="http://www. w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<echo>
<request>...</request>
</echo>
</soapenv:Body>
</soapenv:Envelope>
SOAPAction: "urn:#getInfo"
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas. xmlsoap. org/soap/envelope/" xmlns:xsd="http://www. w3.org/2001/XMLSchema" xmlns:xsi="http://www. w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<getInfo>
<transaction>
...
</transaction>
</getInfo>
</soapenv:Body>
</soapenv:Envelope>
SOAPAction: "urn:#activate"
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas. xmlsoap. org/soap/envelope/" xmlns:xsd="http://www. w3.org/2001/XMLSchema" xmlns:xsi="http://www. w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<activate>
<request>
<transaction>
...
</transaction>
<amount>...</amount>
<currency>...</currency>
</request>
</activate>
</soapenv:Body>
</soapenv:Envelope>
SOAPAction: "urn:#authPoints"
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas. xmlsoap. org/soap/envelope/" xmlns:xsd="http://www. w3.org/2001/XMLSchema" xmlns:xsi="http://www. w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<authPoints>
<request>
<transaction>
...
</transaction>
<amount>...</amount>
<currency>...</currency>
<payment>
...
</payment>
<cheque>
...
</cheque>
< authentication>
...
< /authentication>
</request>
</authPoints>
</soapenv:Body>
</soapenv:Envelope>
SOAPAction: "urn:#authGift"
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas. xmlsoap. org/soap/envelope/" xmlns:xsd="http://www. w3.org/2001/XMLSchema" xmlns:xsi="http://www. w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<authGift>
<request>
<transaction>
...
</transaction>
<amount>...</amount>
<currency>...</currency>
</request>
</authGift>
</soapenv:Body>
</soapenv:Envelope>
SOAPAction: "urn:#refund"
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas. xmlsoap. org/soap/envelope/" xmlns:xsd="http://www. w3.org/2001/XMLSchema" xmlns:xsi="http://www. w3.org/2001/XMLSchema-instance">
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 |


