Перейти к содержанию

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

Обмен данными между партнёром и Кошельком


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

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

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

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

где:

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

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

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

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

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

Text Only
<имя партнёра>_clients_<дата>.csv.zip

где:

  • <имя партнёра> — согласованное с Кошельком имя партнёра (без пробелов);
  • <дата> — дата формирования реестра в формате ГГГГММДД.

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

Text Only
PartnerName_clients_20190131.csv.zip

В файле передаются следующие поля в указанном порядке:

  1. card_number — номер карты (текстовое, до 50 символов);
  2. barcode — номер штрихкода (текстовое, до 50 символов);
  3. date — дата выдачи карты (строка в формате ГГГГММДД);
  4. first_name — имя держателя карты (текстовое, до 50 символов);
  5. last_name — фамилия держателя карты (текстовое, до 50 символов);
  6. patronymic_name — отчество держателя карты (текстовое, до 50 символов);
  7. phone — номер телефона держателя карты в формате MSISDN (без префикса +, например: 79111111111);
  8. email — адрес электронной почты держателя карты (текстовое, до 50 символов);
  9. sex — пол держателя карты (текстовое, один символ: м или ж);
  10. birthday — день рождения держателя карты (строка в формате ГГГГММДД);
  11. bonus_balance — текущий баланс бонусов на карте (целое число);
  12. discount — текущий размер скидки по карте (целое число);
  13. sum — сумма накоплений на карте (целое число);
  14. status — текущий статус карты (текстовое, возможные значения: active или blocked).

Info

Если поле status отсутствует, содержит пустое значение, или значение, отличное от active или blocked, по умолчанию сервер Кошелька присвоит карте статус active.

Пример:

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

2. Реестр свободных номеров карт лояльности

Реестр передается партнёром по мере необходимости для предотвращения исчерпания набора свободных номеров карт для выпуска. Схема именования файла:

Text Only
new_<имя партнёра>_clients_<дата>.csv.zip

где:

  • <имя партнёра> — согласованное с Кошельком имя партнёра (без пробелов);
  • <дата> — дата формирования реестра в формате ГГГГММДД.

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

Text Only
new_PartnerName_clients_20190131.csv.zip

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

  1. card_number — номер карты (текстовое, до 50 символов);
  2. barcode — номер штрихкода (текстовое, до 50 символов).

Пример:

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

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

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

Text Only
from_koshelek_<дата>.csv.zip

где:

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

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

Text Only
from_koshelek_2019-01-31.csv.zip

В файле передаются следующие поля в указанном порядке:

  1. card_number — номер карты (текстовое, до 50 символов);
  2. barcode — номер штрихкода (текстовое, до 50 символов);
  3. first_name — имя держателя карты (текстовое, до 50 символов);
  4. last_name — фамилия держателя карты (текстовое, до 50 символов);
  5. patronymic_name — отчество держателя карты (текстовое, до 50 символов);
  6. phone — номер телефона держателя карты в формате MSISDN (без префикса +, например: 79111111111);
  7. email — адрес электронной почты держателя карты (текстовое, до 50 символов);
  8. sex — пол держателя карты (текстовое, один символ: м или ж);
  9. birthday — день рождения держателя карты (строка в формате ГГГГММДД).

Пример:

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

Info

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

Warning

Чтобы обеспечить актуальность сведений о картах лояльности, выпущенных для партнёра в Кошельке, рекомендуется загружать реестр карт, выпущенных Кошельком, не реже одного раза в сутки.