Клиент для работы с приватным API микросервисов Mercury POS
Данный пакет позволяет микросервисам взаимодействовать между собой, путем вызова методов приватного API.
Установка
Данный пакет следует устанавливать как зависимость с помощью пакетного менеджера Composer. Внимаение! Поскольку данный пакет является проприетарным и доступ к нему осуществляется через приватный репозиторий, желающий установить пакет, должен являться членом команды Mercury POS и иметь доступ к github репозиторию команды.
Более того, если работа с git производится через HTTPS протокол, а не через SSH, необходимо создать токен здесь, а затем выполнить:
composer config -g github-oauth.github.com <токен>
В файле проекта composer.json
добавить
"require": {
"bandacomanda/api": "dev-master"
},
"repositories": [
{
"type": "vcs",
"url": "[email protected]:bandacomanda/api.git"
}],
Затем выполнить
composer update
Инициализация
Пример инициализации клиента:
$client = new \Mercury\Api\Client($nodeSecret);
Метод конструктор имеет два параметра, первый параметр является обязательным и в качестве аргумента принимает секретный ключ доступа к ноде микросервиса, а второй параметр является опциональным. В качестве аргумента следует передавать список URL для доступа к микросервисам:
$urls = [
'verifier' => 'http://verifier.loc',
'contract' => 'http://contract.loc'
];
Микросервис Verifier
метод | параметры | возвращаемое значение |
---|---|---|
verifier | string $method, mixed $params |
array null |
Вызов:
$client->verifier($method, $params);
Создание кода подтверждения. Метод create
:
$params = [
'destination' => '56977633283',
'operation' => 'signup_confirm',
'transport' => 'sms'
];
$client->verifier('create', $params);
Параметр | Описание | Обязательный |
---|---|---|
destination | Адрес электронной почты или номер мобильного телефона (в зависимости от транспорта) | Да |
operation | Идентификатор операции, которая требует подтверждения | Да |
transport | sms или email | Да |
В случае успешного выполнения метода возвращаемым значением является массив:
[ status => 'ok', data => 'frefr-78fsdf-cdscsc-2227-dadad' ]
Значение ключа data
понадобится при верификации кода.
Верификация кода подтверждения. Метод verify
:
$params = [
'secret' => 'frefr-78fsdf-cdscsc-2227-dadad',
'code' => '5779'
];
$client->verifier('verify', $params);
Параметр | Описание | Обязательный |
---|---|---|
secret | Значение, которое было получено при вызове метода create |
Да |
code | Код, который был отправлен пользователю | Да |
В случае успешного выполнения метода возвращаемым значением является массив:
[ status => 'ok', data => true ]
Значение ключа data
- true, если код подтвержден верно, иначе false.
Если при вызове методов микросервиса Verifier происходят ошибки, то возвращаемым значением является массив:
[ 'status' => error, 'error' => [ 'code' => 'Code of error', 'message' => 'Error description' ] ];
Микросервис Postman
метод | параметры | возвращаемое значение |
---|---|---|
postman | string $method, mixed $params |
array null |
Вызов:
$client->postman($method, $params);
Отправка сообщения. Метод send
:
$params = [
'destination' => '[email protected]',
'transport' => 'email',
'content' => [ 'name' => 'Jeremy', 'surname' => 'Podeswa' ],
'template' => 'birthday',
'attachment' => [ 'data' => 'base64encoded', 'name' => 'image.jpg', 'mime' => 'image/jpg' ]
];
$client->postman('send', $params);
Параметр | Описание | Обязательный |
---|---|---|
destination | Адрес электронной почты или номер мобильного телефона (в зависимости от транспорта) | Да |
content | string или array . Строка, либо ассоциативный массив, ключи которого будут доступны в шаблоне, как переменные. Если указана строка, то в шаблоне ее значение можно будет получить через переменную content. Если шаблон не используется следует указывать строку. |
Да |
transport | sms или email | Да |
template | Идентификатор шаблона | В случае транспорта email - обязательный. |
attachment | Вложение, data (base64 encoded вложение), name - название файла вложения, mime - MIME Type вложения | Нет |
В случае успешного выполнения метода возвращаемым значением является массив:
[ status => 'ok', data => 'frefr-78fsdf-cdscsc-2227-dadad' ]
Значение ключа data
можно использовать для отслеживания статуса отправки сообщения.
Отслеживание статуса отправки сообщения. Метод status
:
$params = [ 'id' => 'frefr-78fsdf-cdscsc-2227-dadad' ];
// Или можно просто указать id как строку
$params = 'frefr-78fsdf-cdscsc-2227-dadad';
$client->postman('status', $params);
Параметр | Описание | Обязательный |
---|---|---|
id | Идентификатор сообщения | Да |
В случае успешного выполнения метода возвращаемым значением является массив:
[ status => 'ok', data => 1 ]
Значение ключа data
содержит числовой статус отправки сообщения. Описание статусов
см. в документации к микросервису.
Если при вызове методов микросервиса Postman происходят ошибки, то возвращаемым значением является массив:
[ 'status' => error, 'error' => [ 'code' => 'Code of error', 'message' => 'Error description' ] ];
Микросервис Contract
метод | параметры | возвращаемое значение |
---|---|---|
contract | string $method, mixed $params |
array null |
Вызов:
$client->contract($method, $params);
Создание контракта. Метод createContract
:
$params = [ 'id' => 'frefr-78fsdf-cdscsc-2227-dadad' ];
// Или можно просто указать id как строку
$params = 'frefr-78fsdf-cdscsc-2227-dadad';
$client->contract('createContract', $params);
Параметр | Описание | Обязательный |
---|---|---|
id | Идентификатор заявки в микросервисе Request |
Да |
В случае успешного выполнения метода возвращаемым значением является массив:
[ 'status' => 'ok', 'data' => true ];
Если при вызове методов микросервиса Contract происходят ошибки, то возвращаемым значением является массив:
[ 'status' => error, 'error' => [ 'code' => 'Code of error', 'message' => 'Error description' ] ];
Микросервис Request