iikoCard.API. Copyright © 2011 компания «Айко». Настоящий документ содержит информацию, актуальную на момент его составления.


Чтобы посмотреть этот PDF файл с форматированием и разметкой, скачайте его и откройте на своем компьютере.
�� &#x/Att;¬he; [/; ott;&#xom ];&#x/BBo;&#xx [7;�.47; 14;&#x.43 ;€.3;4 2;.62; ]/;&#xSubt;&#xype ;&#x/Foo;&#xter ;&#x/Typ; /P; gin; tio;&#xn 00;&#x/Att;¬he; [/; ott;&#xom ];&#x/BBo;&#xx [7;�.47; 14;&#x.43 ;€.3;4 2;.62; ]/;&#xSubt;&#xype ;&#x/Foo;&#xter ;&#x/Typ; /P; gin; tio;&#xn 00; &#x/MCI; 0 ;&#x/MCI; 0 ; &#x/MCI; 1 ;&#x/MCI; 1 ; &#x/MCI; 2 ;&#x/MCI; 2 ; &#x/MCI; 3 ;&#x/MCI; 3 ; &#x/MCI; 4 ;&#x/MCI; 4 ; &#x/MCI; 5 ;&#x/MCI; 5 ; &#x/MCI; 6 ;&#x/MCI; 6 ; &#x/MCI; 7 ;&#x/MCI; 7 ; &#x/MCI; 8 ;&#x/MCI; 8 ; &#x/MCI; 9 ;&#x/MCI; 9 ; &#x/MCI; 10;&#x 000;&#x/MCI; 10;&#x 000; &#x/MCI; 11;&#x 000;&#x/MCI; 11;&#x 000; &#x/MCI; 12;&#x 000;&#x/MCI; 12;&#x 000; &#x/MCI; 13;&#x 000;&#x/MCI; 13;&#x 000; &#x/MCI; 14;&#x 000;&#x/MCI; 14;&#x 000;iikoCard.API
Copyright ©
 «»
  \r\f  \r\n\t, \b
\t    \b.  «»  \r\r
    .  «» \b   \r     
\r\r\b \b.
 «»  \r\r,  \n \n\r
    \r\r   \r\f
\r\r ,  \r  \r\b \r \b  \b\r  \r, \r 
   \r\b.
 «»  \r\r \r \b
\b \b \r\r . \b\b
\b \r\r   \n   \r\b .
  \r\f  \r\n\t, \r \r   \r \r.  \r .
 \r
  \b \r  \r     \b\t    \b  
«».
­\r  iiko™ \b \b\b\b \t  «»  \r \t
\b.
  
    \r,  \r  \r  \b \b\b\b
\t \t \b\b\n.
 «»

€‚ƒ„…
IIKO
ARD
.API

\n\r \r
†\r\r
†\b  \r
†\r\r 2
†\r\r 3
†\r\r
‚
\r
†\r\r
‡\b
\r
†\r\r
€
\r
†\r\r
\n\r 
ˆ\b   \r
ˆ\b
\r
\r
†\r\r
‚
\r
†\r\r
€
\r\n
†\r\r
\n\r
\r
\n
\b
\r\n\t
 «»
 1
iikoCard.API

Далее дано описание клиентского API к серверу iikoCard.
Клиентский API реализован в модуле
Resto.Card.Client.Library.dll
Сборка устанавливается из
Distrib -7i;&#x-1s-;t-;r-1;�i-1;;-4;
Plugins
Front
Пример использования библиотеки
iikoCardISSApp.7z

 
В коде примеров используется вспомогательный класс ServiceCaller. Лучший сценарий использования
этого класса:
создать экземпляр в начале работы приложения;
установить путь к файлу конфигурации перед первым
использованием;
использовать экземпляр в коде приложения;
опционально вызвать метод Dispose(), когда вспомогательный класс больше не нужен.

public
class
UserStoryExample

private
readonly
ServiceCaller
caller;
public
UserStoryExample(
string
callerConfig)

caller =
ServiceCaller


\r\f \n 
Получать список всех карт можно при помощи метода GetAccessors().

private
IEnumerable
CardAccessor

service.GetAccessors()).Cast
CardAccessor
�();

Если количество карт большое, то запрос всех данных может потребовать большого времени и
больших ресурсов (передача данных
, память). Поэтому рекомендуется получать «облегченные»
версии объектов при помощи метода GetAllCardAccessorsLight(). Они содержат данные по номеру,
датам, но не содержат счетов, владельца и других «сложных» объектов.

private
IEnumerable
CardAccess

‰\b 1

iikoCard.API

В дальнейшем подробные данные по одной карте можно получить при помощи метода

private
CardAccessor

Guid

\t\b
\r

public
CardAccessor
AddCard(
string
groupName,
string
number)

AccessorGroup
caller.Call
IManagementService
IEnumerable
AccessorGroup
��( service =
// create card
CardAccessor
card =
new
CardAccessor

ExternalId = number,
Number = number,
Activity =
ActivityStatus
.Active,
Group = ag,

// fill counters and accounts by group va
lue
ag.AccessorTemplate.Fill(card,
false
caller.Call
IManagementService
�(service =� service.AddAccessor(card));


\r

public
void
RemoveCard(
Accessor
card)

// remove card from server
caller.Call
IManagementService
�(service =� service.RemoveAccessor(card.Id));

\b
\r

public
CardAccessor
UpdateCard(
CardAccessor
card,
string
accountName,
string
counterTypeName,
decimal
value,
decimal
? lowLimit,
decimal
? highLimit)

‰\b 1

iikoCard.API
Acco
untCounter
accountCounter =
card.Accounts.Single(account =� account.Name == accountName).Counters
.Single(counter =� counter.CounterType.Name == counterTypeName);
accountCounter.DefaultValue = value;
accountCounter.LimitsValidator.Minimum = lowLimit;
accou
ntCounter.LimitsValidator.Maximum = highLimit;
caller.Call
IManagementService
�(service =� service.UpdateAccessor(card));

 \f
 \n  
Значение
по
умолчанию
public
decimal

Guid
addCardId =
caller.Call
IManagementService
IEnumerable
CardAccessor
��(service� =
.Single(acc =� acc.ExternalId == number).Id;
caller.Call
IManagementServ
ice
CardAccessor
.Accounts.Single(account =� account.Name == accountName).Counters
.Single(counter =� counter.CounterType.Name == counterTypeName).DefaultValue;

Баланс
public
decimal

Guid
addCardId =
caller.Call
IManagementService
IEnumerable
CardAccessor
��(service� =
.Single(acc =� acc.ExternalId == number).Id;
caller.Call
IManagementSer
vice
CardAccessor
.Accounts.Single(account =� account.Name == accountName).Counters
.Single(counter =� counter.CounterType.Name == counterTypeName).Value;

Минимальное
ограничение
баланса
public
decim
? GetLowLimit(
string
number,
string
accountName,
string
counterTypeName)

Guid
addCardId =
caller.Call
IManagementService
IEnumerable
CardAccessor
��(service� =
.Single(acc =� acc.ExternalId == number).Id;
call
er.Call
IManagementService
CardAccessor
.Accounts.Single(account =� account.Name == accountName).Counters
.Single(counter =� counter.CounterType.Name == counterTypeName).LimitsValidator.Minimum;

‰\b 1

iikoCard.API

\r\n\n


public
IDictionary
string
decimal

AccessorGroup
caller.Call
IManagementService
IEnumerable
AccessorGroup
��(
CounterType
ct =
caller.Call
IManagementService
IEnumerable
CounterType
��(
ConfigurableCardCountersReport
new
Config
urableCardCountersReport

AccessorGroups =
[] {ag.Id},
CounterTypes =
new
[] {ct.Id},

ConfigurableCardCountersReport
report = caller.Call
IReportingService
ConfigurableCardCountersReport
.ToDictionary(item =� item.Number,
item =� item.CounterInfoByCounterType[ct.Id]

\t\r\n


public
AuthorizedClient

card));

\f
\n

public
IList
serviceName,

AccessorGroup
caller.Call
IManagementService
IEnumerable
AccessorGroup
�� (
Service
caller.Call
IManagementService
IEnumerable
Service
�� (

CardGroupsFilter
[] {ag.Id},
From = from,
To = to,
ServicesFilter =
new
[] { s.Id },
‰\b 1

iikoCar
d.API

var
result = caller.Call
IReportingService


результате
операции
Т.е. в случае оплаты картой это поле будет отрицательным. Поле RequestId
уникальный идентификатор операции в системе. При построении отче
та даты from и to учитываются
полностью, т.е. фильтрация идет по датам с учетом часов, минут, секунд и миллисекунд.

\n
\n
\n
public
void
DoOperation(
Guid
id,
string
organization,
string
card,
string
operation,
decimal
value)

SafeServiceCaller
caller =
new
SafeServiceCaller
caller.Call
IPOSService
�(service =� service.ExecuteById(id, organization, card, operation, value));

Параметры
метода
id
идентификатор операции
organization
идентификатор организации
card
идентификатор карты
operation
идентификатор операции
value
сумма операции
API: èíòåðôåéñ
ïðîãðàììèðîâàíèÿ
ïðèëîæåíèé
Òåïåðü âû çíàåòå î ñâîåì áèçíåñå
iiko
Card

Приложенные файлы

  • pdf 4373215
    Размер файла: 141 kB Загрузок: 0

Добавить комментарий