Обмен файлами

Обмен данными между партнером и Cardsmobile

Общие принципы обмена данными

Последовательность взаимодействия представлена на диаграмме ниже.

Сценарий обмена файлами

где:

  • ИС партнера — информационная система партнера, организовавшего выпуск своих карт лояльности через приложение «Кошелёк»;

  • Файловое хранилище — хранилище файлов для обмена данными и сервер sFTP, организованные на стороне Cardsmobile;

  • Сервер Кошелька — компонент платформы Cardsmobile, обеспечивающий взаимодействие с партнерами, выпуск карт лояльности в приложении «Кошелёк», осуществляющий подготовку отчетов и реестров выпущенных карт.

Партнер загружает свои файлы реестров в папку in, файл реестра, формируемый Кошельком, партнер выгружает из папки out.

Форматы файлов, участвующих в файловом обмене

1. Реестр выпущенных карт лояльности

Реестр передается партнером с установленной периодичностью (рекомендуемая периодичность передачи реестра – не реже одного раза в сутки). Схема именования файла:

<имя партнера>_clients_<дата>.csv.zip

где:

  • <имя партнера> – согласованное с Cardsmobile имя партнера (без пробелов);

  • <дата> – дата формирования реестра в формате ГГГГММДД.

Пример имени файла реестра выпущенных карт лояльности:

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).

Если поле status отсутствует, содержит пустое значение, или значение, отличное от active или blocked, по умолчанию платформа Cardsmobile присвоит карте статус 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

где:

  • <имя партнера> – согласованное с Cardsmobile имя партнера (без пробелов);

  • <дата> – дата формирования реестра в формате ГГГГММДД.

Пример имени файла реестра свободных номеров карт лояльности:

new_PartnerName_20190131.csv.zip

В файле передаются следующие поля:

  • card_number – номер карты (текстовое, до 50 символов);

  • barcode – номер штрихкода (текстовое, до 50 символов).

Пример:

<заголовок, игнорируется>
1120000029201582;1120000029201582
1120000029201583;1120000029201583

3. Реестр карт лояльности, выпущенных Cardsmobile

Реестр выгружается сервером Кошелька на файловое хранилище ежедневно. Дата выгрузки файла в точности совпадает с датой выпуска карт лояльности, сведения о которых содержатся в файле. Схема именования файла:

from_koshelek_<дата>.csv.zip

где:

  • <дата> – дата формирования реестра в формате ГГГГ-ММ-ДД.

Пример имени файла реестра карт лояльности, выпущенных Cardsmobile:

from_koshelek_2019-01-31.csv.zip

В файле передаются следующие поля:

  • card_number – номер карты (текстовое, до 50 символов);

  • barcode – номер штрихкода (текстовое, до 50 символов);

  • date – дата выдачи карты (строка в формате ГГГГММДД);

  • first_name – имя держателя карты (текстовое, до 50 символов);

  • last_name – фамилия держателя карты (текстовое, до 50 символов);

  • patronymic_name – отчество держателя карты (текстовое, до 50 символов);

  • phone – номер телефона держателя карты в формате MSISDN (без ведущего "+", например: 79111111111);

  • email – адрес электронной почты держателя карты (текстовое, до 50 символов);

  • sex – пол держателя карты (текстовое, один символ: м или ж);

  • birthday – день рождения держателя карты (строка в формате ГГГГММДД).

Пример:

<заголовок, игнорируется>
1120000029201582;1120000029201582;20180121;Иван;Иванов;;79111111111;box@mail.dom;м;20000101
1120000029201583;1120000029201583;20180122;Петр;Петров;;79111111112;box2@mail.dom;м;20000102

При необходимости (по согласованию с партнером) в конец списка полей могут быть добавлены дополнительные поля.

С целью оперативного попадания сведений о картах лояльности, выпущенных для партнера в Кошельке, рекомендуется загружать реестр карт, выпущенных Cardsmobile, не реже одного раза в сутки.