Nhảy tới nội dung

getPhoneNumber

Bắt đầu hỗ trợ ở phiên bản:

  • API: 2.13.0
Lưu ý

Với API version ﹤ 2.23.0, phải gọi api login trước khi gọi api này và 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. 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.

Flow request location

Nhằm đảm bảo trải nghiệp 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:

Flow request location reject

Parameters

Object object

PropertyTypeDefaultRequiredDescriptionMinimum Version
successfunctionCallback function khi gọi api thành công
failfunctionCallback function khi gọi api thất bại

Return Values

Lưu ý

Từ phiên bản Zalo 23.02.01 trên hệ điều hành Android và iOS, nhằm tăng cường tính xác thực và bảo mật cho dữ liệu, đồng thời đảm bảo việc sử dụng thông tin người dùng trên Zalo Mini App được tối ưu hóa, Zalo Mini App Platform sẽ tiến hành cập nhật mới luồng cấp quyền từ người dùng (Permissions). Chi tiết tham khảo tại dây

Promise<Object data>

PropertyTypeDescriptionMinimum VersionNote
tokenstringLà 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útZalo App: 23.02.01, SDK: 2.24.0Tham khảo luồng truy xuất thông tin từ token
numberstringThông tin số điện thoại của người dùngKhông còn được hỗ trợ từ phiên bản Zalo 23.02.01 trên cả hệ điều hành Android và iOS

Luồng truy xuất thông tin:

getLocation
  1. Gọi api getPhoneNumber từ Zalo Mini App để lấy token nếu người dùng cho phép truy xuất thông tin
import { getPhoneNumber } from "zmp-sdk/apis";
const getPhoneNumberByToken = async (token) => {
// gọi API Server của bạn để truy xuất thông tin từ token và user access token
};

const getUserPhoneNumber = () => {
getPhoneNumber({
success: async (data) => {
// xử lý khi gọi api thành công
let { token, number } = data;
// xử lý cho trường hợp sử dụng phiên bản Zalo mới (phiên bản lớn hơn 23.02.01)
if (token) {
number = await getPhoneNumberByToken(token);
}
},
fail: (error) => {
// xử lý khi gọi api thất bại
console.log(error);
}
});
};
  1. Truyền token và user access token lấy được từ Mini App đến server của bạn sau đó gọi Open API https://graph.zalo.me/v2.0/me/info để truy xuất thông tin
curl --location --request GET <https://graph.zalo.me/v2.0/me/info>
--header access_token: <user_access_token>
--header **code: <your token>**
--header **secret_key: <your zalo app secret key>**

Mô tả các tham số cần sử dụng:

  • access_token: truy xuất thông qua API sdk.getAccessToken({...})
  • code: token bạn nhận được khi gọi API lấy số điện thoại hoặc vị trí trên phiên bản Zalo mớ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

Errors

Bắt đầu hỗ trợ:

  • API phiên bản: 2.21.0
  • API getPhoneNumber:
CodeMessageNote
-2002User denied
  • API https://graph.zalo.me/v2.0/me/info:
CodeMessageNote
114code is emptytham số code rỗng
115code is invalidtham số code không hợp lệ
116secret_key is emptytham số secret_key rỗng
117secret_key is invalidtham số secret_key không hợp lệ
118code is invalidham số code không hợp lệ, thuộc về một App khác
119code has already been usedcode đã được sử dụng