Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление

Описание

Модуль процессинга Set Retail 10 предоставляет набор методов для работы с бонусными счетами клиентов торговой сети из любых внешних систем. Примерами таких систем могут быть CRM-модуль, личный кабинет на сайте торговой сети, стороннее кассовое решение. Описанные ниже методы позволяют обеспечить полный цикл управления бонусными баллами заказчика: получать информацию о текущем состоянии счетов клиента, начислять и списывать бонусные баллы, возвращать в случае необходимости и даже блокировать на время, если такой сценарий подразумевается бизнес-сценариями обслуживания клиента.

...

Якорь
wsbonus
wsbonus

URLhttp://IP-адрес_сервера:8090/SET-Cards/SET/Cards/ExternalSystemCardsProcessing
WSDLhttp://IP-адрес_сервера:8090/SET-Cards/SET/Cards/ExternalSystemCardsProcessing?wsdl

...

Информация по номеру карты размера и даты следующей активации бонусных баллов на счету

Также можно получить размер и дату следующего сгорания бонусных баллов.
МетодgetBonusAccountsInformation

Поле

Тип данных

Описание

Обязательное

Принимаемые параметры

cardNumber

String

Номер карты. 

Допустимые значения: буквы или цифры.

Без специальных символов.

Да

Возвращаемые параметры

return

Комплексный

Коллекция элементов с данными по бонусному счёту.

Да

errorCodeLong

Код ошибки при вызове метода.

Базовый список кодов ошибок для всех методов:

  • 0 - <НЕТ ОШИБКИ> - запрос выполнен успешно;
  • 1CARD_NOT_FOUND_ERROR - карта не найдена (номер карты не принадлежит к рабочим диапазонам);
  • 2INCORRECT_CARD_ARGUMENT_ERROR - неправильный номер карты;
  • 3INCORRECT_CHECK_UID_ARGUMENTS_ERROR - неправильный идентификатор (номер) чека;
  • 4INCORRECT_ACCRUAL_SUM_ARGUMENT_ERROR - неправильный формат суммы начилсения;
  • 5INCORRECT_EXPIRATION_DATE_ARGUMENT_ERROR - неправильная дата окончания действия;
  • 6NO_ACTIVE_ACCOUNTS_FOR_CARD_ERROR - нет активных бонусных счетов для этой карты;
  • 7BONUS_CHARGE_ERROR - ошибка начисления бонусов;
  • 8BONUS_CANCEL_CHARGE_ERROR - ошибка отмены начисления бонуснов;
  • 9INCORRECT_CANCEL_SUM_ARGUMENT_ERROR - некорректный формат суммы начисления;
  • 10IN_PROCESS - операция в работе;
  • 11INCORRECT_EXTERNAL_CODE - некорректный код из внешней системы (для этого кода нет ни одной операции).
Да
errorTextStringТекст ошибки.Да
accountstns:bonusAccountInformationVOКоллекция элементов с информацией по бонусным счетам.Нет

activeBonusesLongДействующие бонусные баллы.Нет
bonusAccountTypeIdLong

Идентификатор типа бонусного счета.

Якорь
getBonusAccountsInformation
getBonusAccountsInformation

Нет
nextActivationDateDateTimeСледующая дата активации бонусных баллов.Нет
nextActivationSumLongСледующая сумма активации бонусных баллов.Нет
nextCancelingDateDateTimeСледующая дата сгорания бонусных баллов.Нет
nextCancelingSumLongСледующая сумма сгорания бонусных баллов.Нет
nonActiveBonusesLongНеактивированные бонусные баллы.Нет

...

Информация по номеру карты об анкете клиента

МетодgetClientInfoByCardNumber

Поле

Тип данных

Описание

Обязательное

Принимаемые параметры

cardNumber

String

Номер карты. 

Допустимые значения: буквы или цифры.

Без специальных символов.

Да

Возвращаемые параметры

return

Комплексный

Коллекция элементов с информацией из анкеты клиента.

Да

idLongУникальный идентификатор анекты клиента.Да
autoBoolean

Наличие автомобиля:

  • True - есть;
  • False - нет.
Нет
birthDateDateTimeДата рождения.Нет
bonusBalanceLongКоличество бонусных баллов на счете.Нет
childrenAgeStringДети.Нет
clientAddressКомплексныйКоллекция элементов адреса анкеты клиента.Нет

appartmentStringКвартира.Нет
buildingStringКорпус.Нет
cityStringГород.Нет
districtStringРайон (НЕ ИСПОЛЬЗУЕТСЯ).Нет
districtAreaStringРайон.Нет
houseStringДом.Нет
otherStringДругое.Нет
regionStringОбласть (регион).Нет
streetStringУлицаНет
zipStringИндексНет
clientTypetns:clientType

Тип клиента:

  • PRIVATE - физическое лицо;
  • JURISTIC_PERSON - юридическое лицо.
Да
creationDateDateTimeДата создания анкеты.Да
deletedBoolean

Статус анкеты:

  • True - удалена;
  • False - действующая.
Да
emailStringАдрес элетронной почты.Нет
firstNameStringИмя.Нет
guidLongУникальный GUID анекты клиента.Нет
isCompletedBoolean

Статус анкеты:

  • True - заполнена;
  • False - не заполнена.
Да
lastChangeDateDateTimeДата последних изменений в анкете.Да
lastNameStringФамилия.Да
maritalBoolean

Женат/замужем:

  • True - да;
  • False - нет.
Нет
middleNameStringОтчество.Нет
mobileOperatorStringОператор мобильной связи.Нет
mobilePhoneStringМобильный телефон.Нет
passportКомплексныйКоллекция элементов паспортных данных.Нет

deliveryStringКем выдан.Нет
deliveryDateStringДата выдачи.Нет
passNumberStringНомер.Нет
passSerieStringСерия.Нет
phoneStringДомашний телефонНет
receiptFeedbackTypeString

Уведомление обладателя карты о совершенной покупке для отправки чека:

  • 0 - не отправлять.
  • 1 - отправлять чек на email;
  • 2 - по SMS.
Да
sendByКомплексныйКомплекс элементов определяющих согласие на методы рассылки рекламного каталога.Нет

byEMailBoolean

Отправлять по электронной почте.

  • True - да;
  • False - нет.
Нет
byMailBoolean

Отправлять по обычной почте.

  • True - да;
  • False - нет.
Нет
byPhoneBoolean

Оповещение по телефону.

  • True - да;
  • False - нет.
Нет
bySMSBoolean

Отправлять SMS.

  • True - да;
  • False - нет.
Нет
sendCatalogBoolean

Отправять рекламный каталог.

  • True - да;
  • False - нет.
Нет
sextns:sex

Пол:

  • Male - мужской;
  • Female - женский;
  • Not_Specified - не указан.
Нет
shopNumberIntegerНомер магазина.Нет
smartphoneTypeString

Тип смартфона:

  • IOS
  • ANDROID
  • SAMSUNG
Нет
wantsECardBoolean

Признак хочет ли клиент получить элетронную карту.

  • True - да;
  • False - нет.
Нет

...

НетНетНетНет

Начислить бонусные баллы на счет клиента

МетодchargeOnBonusAccount

Поле

Тип данных

Описание

Обязательное

Принимаемые параметры

cardNumber

String

Номер карты. 

Допустимые значения: буквы или цифры.

Без специальных символов.

Да
bonusAccountTypeLong

Идентификатор типа бонусного счета.

  • Варианта просмотра идентификатора:
    • База данных set → таблицаcards_bonusaccountstype → поле bonusaccounttypecode.
    • Или через один из методов получения информации по карте, где есть bonusAccountType
Нет
shopNumLongНомер магазина.Да
cashNumLongНомер кассы.Да
shiftNumLongНомер смены.Да
checkNumLongНомер чека.Да
chargeSumLong

Сумма начисления в копейках:

Например: нужно начислисть 200.22 бонусных балла, тогда значение = 20022

Да
activatingDateDateTimeДата активации бонусных баллов.Да
expirationDateDateTimeДата сгорания бонусных балловНет

Возвращаемые параметры

return

Комплексный

Коллекция элементов обратной связи при вызове метода.

Да

errorCodeLong

Код ошибки при вызове метода.

Базовый список кодов ошибок для всех методов:

  • 0 - <НЕТ ОШИБКИ> - запрос выполнен успешно;
  • 1 CARD_NOT_FOUND_ERROR - карта не найдена (номер карты не принадлежит к рабочим диапазонам);
  • 2 INCORRECT_CARD_ARGUMENT_ERROR - неправильный номер карты;
  • 3 INCORRECT_CHECK_UID_ARGUMENTS_ERROR - неправильный идентификатор (номер) чека;
  • 4 INCORRECT_ACCRUAL_SUM_ARGUMENT_ERROR - неправильный формат суммы начилсения;
  • 5 INCORRECT_EXPIRATION_DATE_ARGUMENT_ERROR - неправильная дата окончания действия;
  • 6 NO_ACTIVE_ACCOUNTS_FOR_CARD_ERROR - нет активных бонусных счетов для этой карты;
  • 7 BONUS_CHARGE_ERROR - ошибка начисления бонусов;
  • 8 BONUS_CANCEL_CHARGE_ERROR - ошибка отмены начисления бонуснов;
  • 9 INCORRECT_CANCEL_SUM_ARGUMENT_ERROR - некорректный формат суммы начисления;
  • 10 IN_PROCESS - операция в работе;
  • 11 INCORRECT_EXTERNAL_CODE - некорректный код из внешней системы (для этого кода нет ни одной операции).
Да
errorTextStringТекст ошибки.Нет
transactionIdLongИдентификатор тразнакции/операции по бонусному счетуДа

Якорь
chargeOnBonusAccount
chargeOnBonusAccount

...

Отмена начисления бонусных баллов на счет клиента (отмена по возврату)

МетодcancelChargeOnBonusAccount

Поле

Тип данных

Описание

Обязательное

Принимаемые параметры

cardNumber

String

Номер карты. 

Допустимые значения: буквы или цифры.

Без специальных символов.

Да
bonusAccountTypeLong

Идентификатор типа бонусного счета.

  • Варианта просмотра идентификатора:
    • База данных set → таблицаcards_bonusaccountstype → поле bonusaccounttypecode.
    • Или через один из методов получения информации по карте, где есть bonusAccountType
Нет
shopNumLongНомер магазина.Нет
cashNumLongНомер кассы.Нет
shiftNumLongНомер смены.Нет
checkNumLongНомер чека.Нет
cancelSumLong

Сумма отмены в копейках:

Например: нужно отменить 200.22 бонусных балла, тогда значение = 20022

Нет

Возвращаемые параметры

return

Комплексный

Коллекция элементов обратной связи при вызове метода.

Да

errorCodeLong

Код ошибки при вызове метода.

Базовый список кодов ошибок для всех методов:

  • 0 - <НЕТ ОШИБКИ> - запрос выполнен успешно;
  • 1 CARD_NOT_FOUND_ERROR - карта не найдена (номер карты не принадлежит к рабочим диапазонам);
  • 2 INCORRECT_CARD_ARGUMENT_ERROR - неправильный номер карты;
  • 3 INCORRECT_CHECK_UID_ARGUMENTS_ERROR - неправильный идентификатор (номер) чека;
  • 4 INCORRECT_ACCRUAL_SUM_ARGUMENT_ERROR - неправильный формат суммы начилсения;
  • 5 INCORRECT_EXPIRATION_DATE_ARGUMENT_ERROR - неправильная дата окончания действия;
  • 6 NO_ACTIVE_ACCOUNTS_FOR_CARD_ERROR - нет активных бонусных счетов для этой карты;
  • 7 BONUS_CHARGE_ERROR - ошибка начисления бонусов;
  • 8 BONUS_CANCEL_CHARGE_ERROR - ошибка отмены начисления бонуснов;
  • 9 INCORRECT_CANCEL_SUM_ARGUMENT_ERROR - некорректный формат суммы начисления;
  • 10 IN_PROCESS - операция в работе;
  • 11 INCORRECT_EXTERNAL_CODE - некорректный код из внешней системы (для этого кода нет ни одной операции).
Нет
errorTextStringТекст ошибки.Нет
cancelActiveSumLongКоличество отмененных активных бонусных баллов.Нет
cancelNonActiveSumLongКоличество отмененных неактивных баллов.Нет

...

Списание активных бонусных баллов со счета клиента

МетодwriteOffFromBonusAccount

Поле

Тип данных

Описание

Обязательное

Принимаемые параметры

accountTypeCodeLong

Идентификатор бонусного счета.

  • Варианта просмотра идентификатора:
    • База данных set → таблицаcards_bonusaccountstype → поле bonusaccounttypecode.
    • Или через один из методов получения информации по карте, где есть bonusAccountType
Да
cardNumberString

Номер карты. 

Допустимые значения: буквы или цифры.

Без специальных символов.

Нет
writeOffSumDouble

Сумма отмены в копейках c разделителем в виде точки:

Например: нужно отменить 200.22 бонусных балла, тогда значение = 200.22

Если сумма указана без точки, тогда будет начислено целое число.

Да
purchaseUidКомплексныйКоллекция элементов с информацией по чеку.Нет

cashNumLongНомер кассы.Нет
checkNumLongНомер чека.Нет
createDateLongДата чека.Нет
shiftNumLongНомер смены.Нет
shopNumLongНомер магазина.Нет

Возвращаемые параметры

returnBoolean

Результат операции:

  • True - успешено;
  • False - операция не удалась.
Да

...

Возврат бонусных баллов на счет клиента

МетодreturnPaymentToBonusAccount

Поле

Тип данных

Описание

Обязательное

Принимаемые параметры

accountTypeCodeLong

Идентификатор бонусного счета.

  • Варианта просмотра идентификатора:
    • База данных set → таблицаcards_bonusaccountstype → поле bonusaccounttypecode.
    • Или через один из методов получения информации по карте, где есть bonusAccountType
Да
cardNumberString

Номер карты. 

Допустимые значения: буквы или цифры.

Без специальных символов.

Нет
chargeSumDouble

Сумма возврата бонусных баллов в копейках c разделителем в виде точки:

Например: нужно вернуть 200.22 бонусных балла, тогда значение = 200.22

Если сумма указана без точки, тогда будет начислено целое число.

Да
purchaseUidКомплексныйКоллекция элементов с информацией по чеку.Нет

cashNumLongНомер кассы.Нет
checkNumLongНомер чека.Нет
createDateLongДата чека.Нет
shiftNumLongНомер смены.Нет
shopNumLongНомер магазина.Нет

Возвращаемые параметры

ns2:returnPaymentToBonusAccountResponse

Результат операции.

Успешная операция без текста ответа.

Да

...

Пакетное начисление бонусных баллов на счета клиентов

Предназначен для начисления бонусов определенному сегменту клиентов.

При этом каждому пакету назначается уникальный номер externalId, по которому можно отследить статус выполнения операции по начислению.

МетодpackageChargeOnBonusAccounts

Поле

Тип данных

Описание

Обязательное

Принимаемые параметры

operationsКомплексныйКоллекция элементов по операциям с бонусными счетамиДа

activatingDateDateTimeДата активации бонусных баллов.Да
bonusAccountTypeLong

Идентификатор бонусного счета.

  • Варианта просмотра идентификатора:
    • База данных set → таблицаcards_bonusaccountstype → поле bonusaccounttypecode.
    • Или через один из методов получения информации по карте, где есть bonusAccountType
Да
cardNumberString

Номер карты. 

Допустимые значения: буквы или цифры.

Без специальных символов.

Да
cashNumLongНомер кассы.Да
chargeSumLong

Сумма начисления в копейках:

Например: нужно начислисть 200.22 бонусных балла, тогда значение = 20022

Да
checkNumLongНомер чека.Да
expirationDateDateTimeДата сгорания бонусных баллов.Да
requestIdLongИндентификатор операции внутри запросаДа
createDateLongДата чека.Да
shiftNumLongНомер смены.Да
shopNumLongНомер магазина.Да
externalIdLongУникальный номер пакета для отслеживания операции.Да

Возвращаемые параметры

returnBoolean

Результат операции:

  • True - успешено;
  • False - операция не удалась.
Да

...

Запрос статуса пакета с начислением бонусов выполненных пакетным сценарием

МетодgetResultOfPackageChargeOnBonusAccounts

Поле

Тип данных

Описание

Обязательное

Принимаемые параметры

externalId

Long

Уникальный номер пакета для отслеживания операции.Да

Возвращаемые параметры

return

Комплексный


Да

errorCodeLong

Код ошибки при вызове метода.

Базовый список кодов ошибок для всех методов:

  • 0 - <НЕТ ОШИБКИ> - запрос выполнен успешно;
  • 1 CARD_NOT_FOUND_ERROR - карта не найдена (номер карты не принадлежит к рабочим диапазонам);
  • 2 INCORRECT_CARD_ARGUMENT_ERROR - неправильный номер карты;
  • 3 INCORRECT_CHECK_UID_ARGUMENTS_ERROR - неправильный идентификатор (номер) чека;
  • 4 INCORRECT_ACCRUAL_SUM_ARGUMENT_ERROR - неправильный формат суммы начилсения;
  • 5 INCORRECT_EXPIRATION_DATE_ARGUMENT_ERROR - неправильная дата окончания действия;
  • 6 NO_ACTIVE_ACCOUNTS_FOR_CARD_ERROR - нет активных бонусных счетов для этой карты;
  • 7 BONUS_CHARGE_ERROR - ошибка начисления бонусов;
  • 8 BONUS_CANCEL_CHARGE_ERROR - ошибка отмены начисления бонуснов;
  • 9 INCORRECT_CANCEL_SUM_ARGUMENT_ERROR - некорректный формат суммы начисления;
  • 10 IN_PROCESS - операция в работе;
  • 11 INCORRECT_EXTERNAL_CODE - некорректный код из внешней системы (для этого кода нет ни одной операции).
Да
errorTextStringТекст ошибки.Да
externalIdLongУникальный номер пакета для отслеживания операции.Да

...

Списать заблокированные бонусные баллы со счета клиента


МетодwriteOffBlockedFromBonusAccount

Поле

Тип данных

Описание

Обязательное

Принимаемые параметры

accountTypeCode

Long

Идентификатор бонусного счета.

  • Варианта просмотра идентификатора:
    • База данных set → таблицаcards_bonusaccountstype → поле bonusaccounttypecode.
    • Или через один из методов получения информации по карте, где есть bonusAccountType
Да
cardNumberString

Номер карты. 

Допустимые значения: буквы или цифры.

Без специальных символов.

Нет
writeOffSumDouble

Сумма отмены в копейках c разделителем в виде точки:

Например: нужно отменить 200.22 бонусных балла, тогда значение = 200.22

Если сумма указана без точки, тогда будет начислено целое число.

Да
purchaseUidКомплексныйНомер кассы.Нет

cashNumLongНомер чека.Нет
checkNumLongДата чека.Нет
createDateLongДата чека.Нет
shiftNumLongНомер смены.Нет
shopNumLongНомер магазина.Нет

Возвращаемые параметры

return

Boolean

Результат операции:

  • True - успешено;
  • False - операция не удалась.
Да

...

Подробная инструкция по работе SOAP UI.

1. Откройте SOAP  → нажмите SOAP.

2. Введите настройки для подключения веб-сервиса управления бонусными счетами, который описан в интеграционной документации:

  • [Project Name] - введите любое наименование проекта.
  • Initalial WSDL - введите адрес веб-сервиса управления бонусными баллами на стороне сервера SetRetail10.
  • Нажмите OK.

3. Разверните добавленный проект → разверните метод chargeOnBonusAccount → откройте двумя кликами мыши Request 1.

4. Создайте SOAP-запрос на основе примера и описания полей с данными из метода chargeOnBonusAccount вставьте его в окно запроса.

Блок кода
languagexml
titleПример SOAP-запроса:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:proc="http://processing.cards.crystals.ru/">
   <soapenv:Header/>
   <soapenv:Body>
      <proc:chargeOnBonusAccount>
         <!--Номер карты-->
         <cardNumber>22022202</cardNumber>
        <!--id бонусного счета
        Необязательно (БД SET -> таблица cards_bonusaccountstype -> столбец bonusaccounttypecode)-->
         <bonusAccountType>11657</bonusAccountType>
         <!--Номер магазина-->
         <shopNum>234</shopNum>
         <!--Номер кассы:-->
         <cashNum>2</cashNum>
         <!--Номер смены:-->
         <shiftNum>1</shiftNum>
         <!--Номер чека:-->
         <checkNum>200</checkNum>
         <!--Сумма начисления в копейках:
         Например: Нужно начислисть 200.22
         Значение 20022
         -->
         <chargeSum>300099</chargeSum>
         <!--Дата активации бонусных баллов-->
         <activatingDate>2021-01-01</activatingDate>
         <!--Дата сгорания бонусных баллов-->
         <expirationDate>2027-01-31</expirationDate>
      </proc:chargeOnBonusAccount>
   </soapenv:Body>
</soapenv:Envelope>

5. Нажмите  для выполнения запроса.

Image Modified

6. По результату выполнения запроса, отобразится ответное сообщение:

Image Modified

7. Проверьте начисление бонусных баллов на счете клиента в истории бонусных счетов.

...