Частичное обновление iOS PassKit и конфиденциальность

Мы хотели бы отправить пользователям карты iPhone Wallet с важной медицинской информацией, которую они должны всегда иметь при себе.

Из соображений конфиденциальности мы хотели бы просто использовать веб-форму, чтобы пользователь ввел необходимые поля, в том числе свои имена, даты рождения и т. д., сгенерировал пропуск, а затем отбросил информацию о пользователе, чтобы их конфиденциальность защищена.

Однако мы также хотели бы обновить файл pkpass (или внутри него файл pass.json) в какой-то момент в будущем, если информация изменится. Кажется, частичные обновления невозможны (!)?

Как бы вы решили это?

Уточнение Деталь

В свете ответа @PassKit я хотел бы убедиться, что я могу, например, обновить некоторый текст на обратной стороне «купонной» карты, включив в запрос следующий полный файл JSON:

{
  "coupon": {
     "backFields": [
       {
           "key": "info",
           "label": "Important Information",
           "value": "THIS INFORMATION CHANGED."
       }
     ]
  }
}

person Mundi    schedule 17.07.2019    source источник


Ответы (1)


Да, это вполне возможно.

Единственное, что вам нужно сохранить на своей стороне, — это ссылка между вашим пользователем и серийным номером его пропуска, токен аутентификации для пропуска, идентификатор устройства каждого устройства, на котором установлен пропуск, и соответствующий push-уведомление устройства. токен.

Любая личная информация может быть удалена, как только pass.json будет сформирован и хеширован, а пакет .pkpass будет скомпилирован и доставлен на устройство пользователя.

Могут быть промежуточные запросы к конечной точке Get latest version of the pass веб-службы, если пользователи пытаются вручную обновить свой проход или после ротации токена устройства, но на них можно ответить ответом 304 Not Modified без необходимости отправлять пакет .pkpass.

person PassKit    schedule 17.07.2019
comment
Просто для подтверждения, правильно ли отправлять обновление, как указано в разделе, который я добавил к своему вопросу? - person Mundi; 18.07.2019
comment
Вы упоминаете ссылку между вашим пользователем и серийным номером его пропуска: что именно вы имеете в виду? У меня нет информации о пользователе (имя, дата рождения), потому что мы ее выбросили, помните? Так останутся ли эти данные в пассе без повторной отправки? - person Mundi; 18.07.2019
comment
Когда пользовательские данные изменятся, как вы узнаете, какой проход обновить и на какое устройство отправить push-запрос? - person PassKit; 18.07.2019
comment
Я могу отслеживать различные артефакты, такие как push-токены, серийные номера и т. д., я не могу отслеживать некоторые части фактического контента пропуска, особенно личная информация. - person Mundi; 20.07.2019
comment
Отвечая на ваш прямой вопрос, данные пользователя никогда не изменятся, мы хотим только иметь возможность обновлять ограниченный набор полей в пропуске. Цель состоит в том, чтобы предоставить актуальную медицинскую информацию, которая не индивидуализирована. - person Mundi; 20.07.2019
comment
Можете ли вы подтвердить утверждение, сделанное в «Подробности разъяснения»? - person Mundi; 20.07.2019
comment
Для всех обновлений необходимо скомпилировать и подписать полный пакет .pkpass. Вы не можете отправить частичное обновление. Pass.json должен содержать всю необходимую информацию о пропуске. - person PassKit; 21.07.2019