快速入门
嵌入 API 让你自己的后端可以为你自己的终端用户报名或开通一个 MailInApp 课程或网络研讨会,并将观看/加入体验嵌入到你的应用中——而这些终端用户永远不需要接触 MailInApp 仪表盘账户。它与事务性发送 API 共用同一个持有者 API 密钥——无需铸造新的凭证。
铸造一个密钥
与其他地方使用的是同一个密钥:在仪表盘的开发者页面下,点击创建密钥。完整的密钥——mia_live_...——只会展示一次;MailInApp 只保留其哈希值。一个密钥可以调用你账户下的每一个接口,包括下面这些。
注册一名网络研讨会参会者
为一场公开报名网络研讨会注册一名终端用户,并返回一个加入链接——不需要 MailInApp 表单,也不需要为你的用户开通 MailInApp 账户:
curl -X POST https://mailinapp.com/api/v1/webinars/<liveSessionId>/register \
-H "Authorization: Bearer mia_live_..." \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]",
"name": "Ada Lovelace"
}'
调用成功会返回一个已确认的加入链接,或一个候补状态:
{ "status": "confirmed", "joinUrl": "https://mailinapp.com/webinar/.../join?token=..." }
以同样的方式创建网络研讨会本身——POST /api/v1/webinars——或复用一个你已经在仪表盘的直播页面创建好的场次;无论哪种方式,它都必须具有 accessMode: "registration"。完整的请求/响应结构见API 参考。
为课程会员开通报名
为一个邮箱地址授予(或撤销)课程访问权限——由你自己的账单或结账系统决定谁有权访问,MailInApp 只负责渲染课程内容:
curl -X POST https://mailinapp.com/api/v1/courses/<courseId>/enroll \
-H "Authorization: Bearer mia_live_..." \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]",
"active": true
}'
{ "subscriberId": "abc123", "active": true }
嵌入课程查看器
一旦某个会员已开通报名,铸造一个短期有效(5 分钟)的签名令牌,并把你应用的 iframe 或窗口重定向到返回的 URL:
curl -X POST https://mailinapp.com/api/v1/courses/<courseId>/embed-token \
-H "Authorization: Bearer mia_live_..." \
-H "Content-Type: application/json" \
-d '{ "email": "[email protected]" }'
{ "portalUrl": "https://mailinapp.com/learn/<slug>/courses/<courseId>/embed?token=..." }
打开 portalUrl 会让访问者登录进一个引导页面,该页面会兑换令牌,并把他们带入与一名直接开通报名的会员完全相同的课程门户——视频、进度、测验一应俱全。要使这一步成功,课程必须处于已发布状态,并且该账户必须已经认领了一个会员门户标识符(/learn/<slug>)。
真正的差异化优势:互动生命周期邮件
报名、提醒、开通报名与完成通知邮件目前都仍会照常发出——默认情况下,使用今天这套朴素的确认文案。在仪表盘中课程或网络研讨会自己的设置面板里,一个新增的生命周期邮件分区可以让你把这些事件中的任意一个,改为指向你在工作室中构建的一个项目。之后发出的邮件就会经过完整的降级引擎渲染(动态模块、合并标签、实时预览),而不再是一段硬编码的字符串。任何未绑定的事件不会有任何变化。