Schema 唤起
机器人可以通过 Schema 调用原生的 Mixin Messenger 窗口来实现支付等功能。
分享
mixin://send?category=CATEGORY&conversation=CONV_ID&data=DATA
机器人无法自动共享消息。 如果你指定了 conversation 并且是用户当前会话的conversation,会出现一个确认框,用户点击确认后会发送消息;如果没有指定conversation 或者不是当前会话的 conversation,则会出现用户选择与哪个会话共享的界面。
分享文本
const data = "hello world!"
window.open("mixin://send?category=text&data=" + encodeURIComponent(base64.encode(data)))
分享图片
const data = '{"url":"https://mixin.one/assets/d9bb777b00f4210e107dd3580fe5bf1a.png"}'
window.open("mixin://send?category=image&data=" + encodeURIComponent(base64.encode(data)))
分享联系人
const data = '{"user_id":"773e5e77-4107-45c2-b648-8fc722ed77f5"}'
window.open("mixin://send?category=contact&data=" + encodeURIComponent(base64.encode(data)))
分享链接卡片
const data = {
action: "http://192.168.31.156:3000/circles/9415878/posts/82",
app_id: "c1412f68-6152-40ad-a193-f7fadf9328a1",
description: "From debugCircle",
icon_url: "https://mixin-images.zeromesh.net/rl_7ufE4eezlZDDjsGz9apzvoa7ULeZLlyixbN04iiaGFng8JL9UtQVZwzHw4Bsh2_7m5WHVPwtWkLKOydGZ4Q=s256",
title: "Test"
};
window.open("mixin://send?category=app_card&data=" + encodeURIComponent(base64.encode(JSON.stringify(data))))
分享直播卡片
const data = '{"height":720,"thumb_url":"https://anchorpost.msstatic.com/cdnimage/anchorpost/1056/41/9771cb5a13901e0ed97514a9cf98e8_1663_1566469032.jpg?imageview/4/0/blur/1/format/webp","url":"https://1400293698.vod2.myqcloud.com/fd69ed6cvodcq1400293698/c1dde9e95285890807215641562/MramAAZccMIA.mp4","width":1280}'
window.open("mixin://send?category=live&data=" + encodeURIComponent(base64.encode(data)))
分享 Post 消息
const data = '## Markdown Intro\n> Markdown is a light weight markup language.'
window.open("mixin://send?category=post&data=" + encodeURIComponent(base64.encode(data)))
支付
调起支付页面
mixin://pay?recipient=&asset=&amount=&memo=&trace=
| 参数 | 描述 |
|---|---|
| recipient | Receivers user id. |
| asset | Asset id. |
| amount | Transfer amount. |
| memo | Optional |
| trace | Optional, UUID, prevent duplicate payment. |
可以轮询 GET /transfers/trace/:traceid 看看是否有返回值来判断支付是否已经完成。
调起转账页面
mixin://transfer/:recipient_id
调起转账详情
mixin://snapshots?trace=:traceid
或者
mixin://snapshots/:snapshotid
添加提现地址
mixin://address?asset=&label=&destination=&tag=
tag is an optional parameter, other parameters are required.
删除提现地址
mixin://address?asset=&action=delete&address=
Assign address id to address.
发起提现
mixin://withdrawal?address=&asset=&amount=&memo=&trace=
memo is an optional parameter, other parameters are required.