VKWebAppGetPersonalCard
VKWebAppGetPersonalCard
вызывает карточку контактов пользователя с полями, которые вы запросили. Мобильное приложение показывает экран с запросом доступа к выбранным данным.
Карточка контактов — это место, где пользователь сохраняет контактные данные (номер телефона, адрес, email), которыми он готов поделиться с сервисами сторонних разработчиков.
Данные в карточке контактов не связаны с данными профиля и живут независимо от них. При этом в интерфейсе вашего мини-приложения пользователь сможет выбрать, какие именно данные из карточки предоставить, или отредактировать данные прямо в процессе запроса доступов.
Пример
bridge.send('VKWebAppGetPersonalCard', {
type: [
'phone',
'email',
'address'
]})
.then((data) => {
if (data.phone) {
// Данные получены
}
})
.catch((error) => {
// Ошибка
console.log(error);
});
Платформы
Android, iOS
Параметры
Поле | Тип | Описание |
---|---|---|
type
обязательное | array[string] | Массив доступов. Возможные значения:
• phone — номер телефона пользователя.
• email — электронный адрес пользователя.
• address — физический адрес пользователя. |
Результат
Проверить результат можно:
- •
Используя объект
Promise
, который возвращается вызовомbridge.send(...)
. - •
С помощью событий
VKWebAppGetPersonalCardResult
иVKWebAppGetPersonalCardFailed
.
Подробнее о проверке результатов при вызовах VK Bridge.
Возможные ошибки:
- •
This action cannot be performed in the background
, если мини-приложение запущено в фоновом режиме. - •
User denied
, если пользователь запретил доступ к данным.
Объект Promise
Если обращение к платформе прошло успешно, управление будет передано в then
-обработчик объекта Promise
. В качестве ответа платформа возвращает объект со следующими полями:
Поле | Тип | Описание |
---|---|---|
phone | string | Номер телефона пользователя. |
email | string | Электронный адрес пользователя. |
address | object | Информация об адресе пользователя. Поля объекта:
• city (object ) — город пользователя.
• country (object ) — страна пользователя.
• specified_address (string ) — точный адрес, указанный пользователем.
• postal_code (string ) — почтовый индекс.
Поля объекта country :
• id (integer ) — идентификатор страны.
• title (string ) — название страны.
Поля объекта city :
• id (integer ) — идентификатор города.
• title (string ) — название города. |
Если при обращении к платформе произошла ошибка, управление передаётся в метод catch
. В качестве ответа платформа возвращает объект с информацией об ошибке, общий для всех событий VK Bridge.
События
VKWebAppGetPersonalCardResult
Сигнализирует, что данные получены. В обработчик события на стороне пользователя передаются следующие данные:
{
detail: {
type: "VKWebAppGetPersonalCardResult",
data: {
phone: "79111234567",
email: "persik_ryzhiy@mail.ru"
address: {
country: {
id: 1,
name: "Россия"
},
city: {
id: 2,
name: "Санкт-Петербург"
},
specified_address: "Невский пр., д. 28"
postal_code: "191186"
}
}
}
}
Передаваемый объект подобен объекту, возвращаемому при успешном выполнении промиса.
VKWebAppGetPersonalCardFailed
Информирует об ошибке, которая произошла при взаимодействии с платформой.
В обработчик события на стороне пользователя передаётся объект с информацией об ошибке, общий для всех методов VK Bridge.
Пример обработки событий
Смотрите раздел Обработка событий-результатов.