Documentation menu

퀵스타트

임베드 API를 사용하면 자신의 백엔드에서 자신의 최종 사용자를 MailInApp 강좌나 웨비나에 등록하거나 참가시키고, 시청/참여 경험을 자신의 앱에 임베드할 수 있습니다 — 그 최종 사용자가 MailInApp 대시보드 계정을 건드릴 일은 전혀 없습니다. 트랜잭션 Send 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을 열면 방문자가 토큰을 교환하는 부트스트랩 페이지에 로그인되고, 직접 등록된 구독자가 받는 것과 동일한 강좌 포털 — 동영상, 진행률, 퀴즈 — 로 이동합니다. 이 작업이 성공하려면 강좌가 published 상태여야 하고, 계정이 이미 멤버십 슬러그(/learn/<slug>)를 확보해 두었어야 합니다.

진짜 차별점: 인터랙티브 라이프사이클 이메일

등록, 리마인더, 수강 신청, 완료 이메일은 여전히 모두 발송됩니다 — 기본적으로는 지금과 같은 단순한 확인 문구로 발송됩니다. 대시보드의 강좌 또는 웨비나 자체 설정 패널에 새로 추가된 라이프사이클 이메일 섹션을 사용하면, 이런 이벤트 각각을 하드코딩된 문자열 대신 스튜디오에서 만든 프로젝트로 연결할 수 있습니다. 그러면 발송되는 이메일이 전체 폴백 엔진(키네틱 블록, 병합 태그, 라이브 뷰)을 통해 렌더링됩니다. 연결하지 않은 이벤트는 아무것도 달라지지 않습니다.

다음 단계

  • 전체 요청/응답 형태, 라이프사이클 연동 이벤트, 속도 제한, 오류 코드: API 레퍼런스.
  • 등록/신청할 기존 강좌나 웨비나가 없나요? 먼저 대시보드의 강좌 또는 라이브에서 하나 만드세요 — 임베드 API는 동일한 기반 데이터를 감싸는 것일 뿐, 별도의 카탈로그를 만들지 않습니다.
  • 자유 형식 또는 스튜디오 프로젝트 기반의 트랜잭션 발송은 여전히 Send API를 거칩니다 — 임베드 API는 특별히 강좌/웨비나 수강 신청과 임베드를 위한 것입니다.