Чтобы посмотреть этот PDF файл с форматированием и разметкой, скачайте его и откройте на своем компьютере.
/Att;¬he; [/;ott;om ];/BBo;x [7;.47; 14;.43 ;.3;4 2;.62; ]/;Subt;ype ;/Foo;ter ;/Typ; /P; gin; tio;n 00;/Att;¬he; [/;ott;om ];/BBo;x [7;.47; 14;.43 ;.3;4 2;.62; ]/;Subt;ype ;/Foo;ter ;/Typ; /P; gin; tio;n 00; /MCI; 0 ;/MCI; 0 ; /MCI; 1 ;/MCI; 1 ; /MCI; 2 ;/MCI; 2 ; /MCI; 3 ;/MCI; 3 ; /MCI; 4 ;/MCI; 4 ; /MCI; 5 ;/MCI; 5 ; /MCI; 6 ;/MCI; 6 ; /MCI; 7 ;/MCI; 7 ; /MCI; 8 ;/MCI; 8 ; /MCI; 9 ;/MCI; 9 ; /MCI; 10; 000;/MCI; 10; 000; /MCI; 11; 000;/MCI; 11; 000; /MCI; 12; 000;/MCI; 12; 000; /MCI; 13; 000;/MCI; 13; 000; /MCI; 14; 000;/MCI; 14; 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;-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