getPhoneNumber
Bắt đầu hỗ trợ ở phiên bản:
- SDK: 2.13.0
Cần xin cấp quyền tại trang Quản lý ứng dụng
Lấy thông tin số điện thoại của người dùng. Khi gọi api, một thông báo xin cấp quyền sẽ được hiển thị. Mini App chỉ lấy được thông tin số điện thoại nếu người dùng đồng ý cấp quyền chia sẻ số điện thoại.
Lưu ý, để giúp các nhà phát triển Mini App sử dụng flow xin quyền một cách hiệu quả, cũng như phù hợp với chính sách của Zalo Mini App điều 3.3.4, Mini App Team đã đưa ra một số gợi ý thiết kế trải nghiệm như thông tin bên dưới. Nhà phát triển cần giải thích rõ ràng và trực quan mục đích xin quyền để người dùng dễ dàng hiểu và đồng ý cung cấp thông tin.
Trường hợp chỉ cần số điện thoại cho một số tính năng nhất định
Chỉ nên yêu cầu người dùng chia sẻ số điện thoại khi người dùng bắt đầu sử dụng các tính năng đó như khi tiến hành đặt hàng, đăng ký tham sự kiện...
Trường bắt buộc phải cung cấp số điện thoại để sử dụng ứng dụng
Với trường hợp này cần hiển thị UI Onboarding giải thích cụ thể lý do người dùng cần phải cung cấp số điện thoại. Tham khảo hình minh họa:
Nhằm đảm bảo trải nghiệm thoải mái của người dùng Mini App, chúng tôi sẽ từ chối xét duyệt cho những Mini App có luồng xin cấp quyền chưa rõ ràng, không nêu được mục đích xin quyền đến người dùng. Tham khảo một số trường hợp vi phạm như bên dưới:
Parameters
Object object
Property | Type | Default | Required | Description | Minimum Version |
---|---|---|---|---|---|
success | function | Callback function khi gọi api thành công | |||
fail | function | Callback function khi gọi api thất bại |
Return Values
Promise <Object data>
Property | Type | Description | Minimum Version | Note |
---|---|---|---|---|
token | string | Là một chuỗi ký tự dùng để truy xuất thông tin số điện thoại thông qua server. Mỗi Token được cung cấp, bạn sẽ có thể truy xuất thông tin được 1 lần với thời gian hết hạn sau 2 phút | Zalo App: 23.02.01, SDK: 2.29.0 |
Mô tả luồng truy xuất thông tin
Hướng dẫn sử dụng api getPhoneNumber()
import { getPhoneNumber } from "zmp-sdk/apis";
getPhoneNumber({
success: async (data) => {
let { token } = data;
},
fail: (error) => {
// Xử lý khi gọi api thất bại
console.log(error);
}
});
Hướng dẫn chuyển đổi token thành số điện thoại người dùng
Sử dụng token vừa nhận được để truy xuất số điện thoại của người dùng từ Server của bạn thông qua Zalo Open API, vui lòng tham khảo code mẫu bên dưới:
Mô tả các tham số cần sử dụng:
- access_token: truy xuất thông qua API sdk.getAccessToken({...})
- code: giá trị là token bạn nhận được khi gọi API lấy số điện thoại.
- secret_key: Khoá bí mật của Zalo App, truy cập https://developers.zalo.me/, phần Quản lý ứng dụng tương ứng để truy xuất thông tin
Ví dụ kết quả trả về:
{
"data": {
"number": "849123456789"
},
"error": 0,
"message": "Success"
}
Errors
Bắt đầu hỗ trợ:
- API phiên bản: 2.21.0
- Mã lỗi cho API getPhoneNumber từ SDK:
Code | Message | Note |
---|---|---|
-201 | User deny request permission! | Người dùng từ chối cấp quyền |
-202 | User deny request permission! | Người dùng từ chối cấp quyền và không muốn hỏi lại |
-1401 | User Authentication Required. Please grant User Authentication permission before requesting User Permission | Người dùng chưa cấp thông tin xác thực, chi tiết tham khảo tại đây getAccessToken |
-2002 | User denied | Người dùng đã từ chối cấp quyền trước đó và không muốn hỏi lại |
- Bảng mã lỗi cho API truy xuất số điện thoại từ token:
Code | Message | Note |
---|---|---|
114 | code is empty | tham số code rỗng |
115 | code is invalid | tham số code không hợp lệ |
116 | secret_key is empty | tham số secret_key rỗng |
117 | secret_key is invalid | tham số secret_key không hợp lệ |
118 | code is invalid | ham số code không hợp lệ, thuộc về một App khác |
119 | code has already been used | code đã được sử dụng |