Обмен файлами
Обмен данными между партнёром и Кошельком
Общие принципы обмена данными
Последовательность взаимодействия представлена на диаграмме ниже.
где:
- ИС партнёра — информационная система партнёра, организовавшего выпуск своих карт лояльности через приложение «Кошелёк»;
- Файловое хранилище — хранилище файлов для обмена данными и сервер SFTP, организованные на стороне Кошелька;
- Сервер Кошелька — компонент платформы Кошелька, обеспечивающий взаимодействие с партнёрами, выпуск карт лояльности в приложении «Кошелёк», и осуществляющий подготовку отчетов и реестров выпущенных карт.
Партнёр загружает свои файлы реестров в папку in. Файл реестра, формируемый Кошельком, партнёр выгружает из папки out.
Форматы файлов, участвующих в файловом обмене
1. Реестр выпущенных карт лояльности
Реестр передается партнёром с установленной периодичностью (рекомендуемая периодичность передачи реестра — не реже одного раза в сутки). Схема именования файла:
<имя партнёра>_clients_<дата>.csv.zip
где:
- <имя партнёра> — согласованное с Кошельком имя партнёра (без пробелов);
- <дата> — дата формирования реестра в формате ГГГГММДД.
Пример имени файла реестра выпущенных карт лояльности:
PartnerName_clients_20190131.csv.zip
В файле передаются следующие поля в указанном порядке:
card_number
— номер карты (текстовое, до 50 символов);barcode
— номер штрихкода (текстовое, до 50 символов);date
— дата выдачи карты (строка в формате ГГГГММДД);first_name
— имя держателя карты (текстовое, до 50 символов);last_name
— фамилия держателя карты (текстовое, до 50 символов);patronymic_name
— отчество держателя карты (текстовое, до 50 символов);phone
— номер телефона держателя карты в формате MSISDN (без префикса+
, например: 79111111111);email
— адрес электронной почты держателя карты (текстовое, до 50 символов);sex
— пол держателя карты (текстовое, один символ: м или ж);birthday
— день рождения держателя карты (строка в формате ГГГГММДД);bonus_balance
— текущий баланс бонусов на карте (целое число);discount
— текущий размер скидки по карте (целое число);sum
— сумма накоплений на карте (целое число);status
— текущий статус карты (текстовое, возможные значения: active или blocked).
Info
Если поле status
отсутствует, содержит пустое значение, или значение, отличное от active или blocked, по умолчанию сервер Кошелька присвоит карте статус active.
Пример:
<заголовок, игнорируется>
1120000029201582;1120000029201582;20180121;Иван;Иванов;;79111111111;box@mail.dom;м;;2000;10;5000;active
1120000029201583;1120000029201583;20180122;Петр;Петров;;79111111112;box2@mail.dom;м;;2000;10;5000;active
2. Реестр свободных номеров карт лояльности
Реестр передается партнёром по мере необходимости для предотвращения исчерпания набора свободных номеров карт для выпуска. Схема именования файла:
new_<имя партнёра>_clients_<дата>.csv.zip
где:
- <имя партнёра> — согласованное с Кошельком имя партнёра (без пробелов);
- <дата> — дата формирования реестра в формате ГГГГММДД.
Пример имени файла реестра свободных номеров карт лояльности:
new_PartnerName_clients_20190131.csv.zip
В файле передаются следующие поля:
card_number
— номер карты (текстовое, до 50 символов);barcode
— номер штрихкода (текстовое, до 50 символов).
Пример:
<заголовок, игнорируется>
1120000029201582;1120000029201582
1120000029201583;1120000029201583
3. Реестр карт лояльности, выпущенных Кошельком
Реестр выгружается сервером Кошелька на файловое хранилище ежедневно. Дата выгрузки файла в точности совпадает с датой выпуска карт лояльности, сведения о которых содержатся в файле. Схема именования файла:
from_koshelek_<дата>.csv.zip
где:
- <дата> — дата формирования реестра в формате ГГГГ-ММ-ДД.
Пример имени файла реестра карт лояльности, выпущенных Кошельком:
from_koshelek_2019-01-31.csv.zip
В файле передаются следующие поля в указанном порядке:
card_number
— номер карты (текстовое, до 50 символов);barcode
— номер штрихкода (текстовое, до 50 символов);first_name
— имя держателя карты (текстовое, до 50 символов);last_name
— фамилия держателя карты (текстовое, до 50 символов);patronymic_name
— отчество держателя карты (текстовое, до 50 символов);phone
— номер телефона держателя карты в формате MSISDN (без префикса+
, например: 79111111111);email
— адрес электронной почты держателя карты (текстовое, до 50 символов);sex
— пол держателя карты (текстовое, один символ: м или ж);birthday
— день рождения держателя карты (строка в формате ГГГГММДД).
Пример:
<заголовок, игнорируется>
1120000029201582;1120000029201582;Иван;Иванов;;79111111111;box@mail.dom;м;20000101
1120000029201583;1120000029201583;Петр;Петров;;79111111112;box2@mail.dom;м;20000102
Info
При необходимости (по согласованию с партнёром) в конец списка полей могут быть добавлены дополнительные поля.
Warning
Чтобы обеспечить актуальность сведений о картах лояльности, выпущенных для партнёра в Кошельке, рекомендуется загружать реестр карт, выпущенных Кошельком, не реже одного раза в сутки.