Skip to main content
Полный перечень полей — в глоссарии.

Что делает раздел

Раздел отвечает за публичную выдачу брендированных карт Wallet: по прямой ссылке клиент (или сотрудник компании) получает карту либо файлом для Apple Wallet, либо ссылкой для сохранения в Google Wallet. Карты бывают двух видов: бонусная карта клиента и карта конкретного заказа аренды. Есть четыре публичных адреса выдачи: Во всех адресах объект указывается по числовому идентификатору в пути (идентификатор бонусной карты или идентификатор заказа).
Компания определяется не в самом разделе, а раньше — по домену запроса или служебному заголовку компании. Раздел просто работает с «текущей компанией», уже выбранной для запроса, и загружает бонусную карту либо заказ для этой компании.

Как выдаётся карта Apple Wallet

Общий порядок

  1. Определяется текущая компания.
  2. По идентификатору из ссылки находится объект — бонусная карта или заказ — в пределах этой компании.
  3. Если объект не найден — возвращается ошибка «не найдено».
  4. Находится или создаётся Пропуск (карта Wallet) для этой пары «компания + объект».
  5. Собирается файл карты и отдаётся на скачивание.

Поиск или создание Пропуска

Ключевой шаг — гарантировать один Пропуск на объект внутри компании. Система ищет уже существующий Пропуск по совокупности: Компания, Тип пропуска (бонусная карта или заказ), Идентификатор связанного объекта и Идентификатор типа пропуска (берётся из настроек приложения). Если такой Пропуск есть — он переиспользуется; если нет — создаётся новый, и ему присваивается свежий уникальный Серийный номер (случайное шестнадцатеричное значение).
Токен авторизации новому Пропуску не задаётся в этом разделе — он проставляется автоматически самим Пропуском при создании (случайное шестнадцатеричное значение). Этот токен потом используется веб-сервисом Apple для проверки запросов от устройства.

Формирование файла и заголовки скачивания

После получения Пропуска собирается сам файл карты, и ответ оформляется так, чтобы браузер/устройство восприняли его как загружаемую карту Wallet:
  • тип содержимого — карта Apple Wallet;
  • заголовок вложения с именем файла;
  • заголовок «Последнее изменение», равный времени поля Обновлён у Пропуска.
Имена файлов различаются по виду карты:

Как выдаётся ссылка Google Wallet

Для Google Wallet файл не собирается и Пропуск в системе не создаётся. Раздел возвращает JSON с единственным полем — ссылкой сохранения. Переход по этой ссылке добавляет карту в Google Wallet на стороне Google.
Важное отличие от Apple: при выдаче через Google запись Пропуска (карты Wallet) в базе не заводится. Соответственно фоновые push-обновления через Apple к таким картам не относятся — они касаются только выпущенных Apple-пропусков.

Проверки перед выдачей

Правила «когда отдать карту, а когда ошибку» немного различаются по видам:
Для карты заказа наличие привязанного клиента обязательно во всех форматах: без клиента карту выдать нельзя. Для бонусной карты в Apple Wallet явной проверки клиента нет (проверяется только существование самой бонусной карты), тогда как для Google Wallet проверка клиента у бонусной карты есть.

Как это используется

Эти адреса — точка входа для клиента: обычно ссылку на выдачу карты клиент получает в сообщении или на веб-странице компании, открывает её, и карта попадает в его Apple или Google Wallet. Так как выдача публичная (без входа в систему), доступ к конкретной карте определяется знанием адреса и идентификатора объекта в пределах домена компании. Выпущенные Apple-пропуски дальше живут своей жизнью: устройство регистрируется в веб-сервисе Apple, а изменения заказа автоматически помечают соответствующий Пропуск обновлённым и запускают фоновую рассылку push-обновлений. Эти механизмы описаны в других разделах модуля.

Связанные страницы

Глоссарий: Брендированная выдача пропусков

Полный перечень полей и понятий, задействованных при публичной выдаче карт.

Карты в Apple Wallet и Google Wallet

Обзор раздела: какие бывают карты, как их получает клиент и как они обновляются.

Проблемы и логические ошибки

Сводка известных проблем и логических ошибок всего модуля кошельков.

Что хранится о карте

Какие сведения система хранит о выпущенной карте и о телефонах, подписанных на обновления.

Оформление карты Apple

Что клиент видит на карте: поля, QR-код, фирменные цвета и логотип.

Карта в Google Wallet

Как формируется карта и ссылка сохранения для Google Wallet.

Как телефон получает свежую карту

Что происходит между телефоном клиента и системой, когда карта обновляется.

Уведомления об обновлении карты

Бесшумные уведомления, которые заставляют телефон перекачать карту.

Что запускает обновление

Какие изменения заказа приводят к обновлению карты у клиента.