Chuyển tới nội dung chính

openShareSheet

import { openShareSheet } from "zmp-sdk";

API cho phép ứng dụng mở giao diện chia sẻ để người dùng chia sẻ thông tin với bạn bè Zalo.

Ví dụ

Chia sẻ văn bản

const data = await openShareSheet({
type: "text",
data: {
text: "My Zalo Mini App - HomePage",
},
});
console.log(data);

ShareData

PropertyTypeRequiredDescription
textstringYesNội dung văn bản cần chia sẻ
descriptionstringNoMô tả thêm cho nội dung cần chia sẻ
autoParseLinkbooleanNoVới giá trị true url trong text sẽ được hiển thị dưới dạng thumbnail (default: false)

Chia sẻ hình ảnh

const data = await openShareSheet({
type: "image",
data: {
imageUrls: ["http://dev.org.zads.zdn.vn/2a16c7fefbbb12e54baa"],
},
});
console.log(data);

ShareData

PropertyTypeRequiredDescription
imageUrlsstring[]YesUrl của các hình ảnh cần chia sẻ

Chia sẻ liên kết

const data = await openShareSheet({
type: "link",
data: {
link: "http://news.zing.vn/Trung-uong-quyet-dinh-phuong-an-nhan-su-cap-cao-post632739.html",
chatOnly: false,
},
});
console.log(data);

ShareData

PropertyTypeRequiredDescription
linkstringYesLiên kết cần chia sẻ
chatOnlybooleanNoChỉ chia sẻ qua cửa sổ chat (default: true)

Chia sẻ Official Account

const data = await openShareSheet({
type: "oa",
data: {
id: "765465772305886642",
},
});
console.log(data);

ShareData

PropertyTypeRequiredDescription
idstringYesId của official account

Chia sẻ GIF

const data = await openShareSheet({
type: "gif",
data: {
imageUrl: "http://dev.org.zads.zdn.vn/2a16c7fefbbb12e54baa",
gifUrl: "http://dev.org.zads.zdn.vn/fc88fe60c2252b7b7234",
width: 480,
height: 270,
},
});
console.log(data);

ShareData

PropertyTypeRequiredDescription
gifUrlstringYesUrl ảnh động cần chia sẻ
imageUrlstringNoUrl hình ảnh đại diện
widthnumberNoChiều rộng
heightnumberNoChiều cao

Chia sẻ video

const data = await openShareSheet({
type: "video",
data: {
videoThumb: "http://dev.org.zads.zdn.vn/fc88fe60c2252b7b7234",
videoUrl: "http://dev.org.zads.zdn.vn/fc88fe60c2252b7b7234",
width: 480,
height: 270,
},
});
console.log(data);

ShareData

PropertyTypeRequiredDescription
videoThumbstringYesUrl thumbnail cho video
videoUrlstringYesUrl video
widthnumberNoChiều rộng
heightnumberNoChiều cao

Chia sẻ page hiện tại của Zalo Mini App

const data = await openShareSheet({
type: "zmp",
data: {
title: "My Zalo Mini App - HomePage",
description: "Home page",
thumbnail: "https://sample-videos.com/img/Sample-jpg-image-50kb.jpg",
},
});
console.log(data);

ShareData

PropertyTypeRequiredDescription
titlestringYesTiêu đề cần chia sẻ
descriptionstringNoMô tả
thumbnailstringYesUrl thumbnail cho Zalo Mini App
pathstringYesĐường dẫn cần chia sẻ
const data = await openShareSheet({
type: "zmp_deep_link",
data: {
title: "My Zalo Mini App - HomePage",
description: "Home page",
thumbnail: "https://sample-videos.com/img/Sample-jpg-image-50kb.jpg",
},
});
console.log(data);

ShareData

PropertyTypeRequiredDescription
titlestringYesTiêu đề cần chia sẻ. Tối đa 100 ký tự
thumbnailstringYesUrl thumbnail cho Zalo Mini App
descriptionstringNoMô tả. Tối đa 400 ký tự
pathstringNoĐường dẫn cần chia sẻ, mặc định sẽ lấy theo đường dẫn hiện tại

Xem hướng dẫn xử lý lỗi và bảng mô tả chi tiết mã lỗi tại đây.

Tham số

Truyền tham số vào API dưới dạng object chứa các thuộc tính:

PropertyTypeRequiredDescription
type"text" | "image" | "link" | "oa" | "gif" | "video" | "zmp" | "zmp_deep_link"YesNhận các giá trị sau:\n- text: Chia sẻ văn bản.\n- image: Chia sẻ hình ảnh.\n- link: Chia sẻ liên kết.\n- oa: Chia sẻ Official Account.\n- gif: Chia sẻ ảnh động.\n- video: Chia sẻ video.\n- zmp: Chia sẻ page hiện tại của Zalo Mini App.\n- zmp_deep_link: Chia sẻ page hiện tại của Zalo Mini App thông qua deep link (hỗ trợ từ API 2.25.7).
dataShareDataYesNội dung cần chia sẻ, tùy thuộc vào type.

Kết quả trả về

API trả về Promise chứa Promise chứa thông tin kết quả chia sẻ.

OpenShareSheetReturns

PropertyTypeRequiredDescription
status'0' | '2' | '1'NoTrạng thái chia sẻ:\n- 0: User nhấn hủy/cancel bài viết.\n- 1: Đăng bài viết thành công lên nhật ký.\n- 2: Đăng bài viết thành công qua cửa sổ chat.
shareType'0' | '2' | '1'NoTrạng thái bài chia sẻ:\n- 0: Công khai.\n- 1: Chỉ mình tôi.\n- 2: Chia sẻ cho danh sách bạn.
numberOfUsernumberNoSố lượng user nhận được bài chia sẻ trong trường hợp shareType=2.