Company API · v1

푸딩 제휴사 API

스탠다드 요금제부터

푸딩 편집기(청첩장·대본·체크리스트·예산·일정)를 제휴사 사이트에 그대로 심거나, 도구 API로 커플용 화면을 직접 만들거나, 계약 커플의 준비 현황만 받아 가요.

BASE URLhttps://server.pudding.im/api/companies
10
엔드포인트
5
편집기 도구
15
임베드 토큰 유효
pk_test_
샌드박스 키

시작하기

이 API로 뭘 할 수 있나

푸딩을 붙이는 방법은 세 갈래예요. 커플이 보는 화면을 누가 만드느냐로 갈려요. 하나만 골라도 되고, 도구마다 다르게 섞어도 돼요 (청첩장은 심고 체크리스트는 직접 만들기처럼요).

A갈래 A

푸딩 화면을 그대로 심기

푸딩이 만든 편집기 화면을 제휴사 사이트 안에 창문처럼 끼워 넣어요. 커플이 그 안에서 직접 만들고 고쳐요. 화면을 만들지 않아도 돼요.

화면 주인 · 푸딩연동 작업 적음
POST /me/embed-sessions
   ↓ cs_ 토큰
sdk.js embed()  또는 <iframe>
B갈래 B

커플 화면을 직접 만들기

푸딩 화면을 쓰지 않고 제휴사 디자인 그대로 커플용 UI를 직접 만들어요. 데이터 저장과 AI 자동 생성은 도구 API가 맡아요.

화면 주인 · 제휴사연동 작업 많음
POST /me/embed-sessions
   ↓ cs_ 토큰
POST /embed/exchange
   ↓ 커플 토큰 (10분)
GET·POST /checklists …
C갈래 C

현황 숫자만 받아 오기

커플이 보는 화면은 건드리지 않고, 계약 커플의 준비 현황만 받아 제휴사 관리자 화면에 그려요. 예식일까지 며칠·하객 몇 명·체크리스트 몇 % 같은 것들이요.

화면 주인 · 제휴사연동 작업 보통
GET /me/insights
GET /me/insights/couples

어느 갈래를 고를까

이럴 때갈래제휴사가 만드는 것
가장 빨리 열고 싶어요A · 심기편집기를 띄울 자리 + 토큰 발급 엔드포인트 하나
우리 디자인·UX를 그대로 유지해야 해요B · 직접 만들기커플용 화면 전체 (푸딩은 데이터·AI만 맡아요)
기존 화면에 없는 입력 흐름이 필요해요B · 직접 만들기커플용 화면 전체
커플에게 보여줄 화면은 없고, 직원이 볼 현황만 필요해요C · 현황제휴사 관리자 화면
갈래 B를 고르기 전에 — 커플 토큰은 10분이면 만료돼서 다시 받아야 해요. 토큰 하나로 다섯 도구를 다 부를 수 있지만, 결제·계정·커뮤니티 글처럼 커플 본인만 해야 하는 일은 막혀요. 자세한 범위는 커플 토큰 받기에 있어요.

연동 순서

2번이 세 갈래 모두의 관문이에요. 토큰도 현황도 초대를 수락한 커플에게만 나와요. 순서를 건너뛰면 그 다음이 계속 실패해요.

  1. 1
    키 받기A · B · C

    콘솔에서 API 키를 발급받아요. 개발·테스트엔 샌드박스 키(pk_test_)를 권장해요.

  2. 2
    커플 초대하기A · B · C

    고객 커플에게 초대를 보내요. 커플이 수락해야 다음 단계가 열려요.

  3. 3
    단기 토큰 받기AB

    수락한 커플의 cs_ 토큰을 받아요. 기본 15분짜리예요.

  4. 4
    편집기 띄우기A

    cs_ 토큰을 SDK에 넘기면 그 커플 편집기가 열려요. 여기서 끝이에요.

  5. 5
    커플 토큰으로 바꿔 직접 호출B

    cs_를 커플 토큰으로 교환하고, 도구 API로 읽고 쓰면서 화면은 직접 그려요.

  6. 6
    현황 받기C

    수락한 커플들의 준비 현황·집계를 받아 관리자 화면에 그려요.

이 페이지에서 바로 테스트할 수 있어요 — 사이드바 API 키 칸에 키를 붙여넣으면 아래 모든 Try it에 적용돼요 (브라우저에만 저장). 키가 없어도 도구 5종 만져보기의 편집기는 공개 데모 커플로 이미 열려 있어요.

시작하기

요금제로 열리는 것

이 API는 스탠다드 요금제부터 쓸 수 있어요. 베이직은 키를 만들 수 없고, 이미 키가 있어도 모든 호출이 403 plan_required로 막혀요.

기능베이직스탠다드프리미엄엔터프라이즈
API 키 발급 업체당 최대 5개
임베드 · SDK 편집기 심기
도구 API · 커플 대시보드
로고·색 바꾸기 화이트라벨 · 콘솔에서 신청
커플 수 100팀무제한무제한무제한
요금제와 별개로 막히는 것 — 세팅비 입금 전이거나 이용이 중지된 업체는 요금제와 무관하게 401이 나요. 요금·세팅비 금액은 제휴사 안내에 있어요.

시작하기

키 · 인증

모든 요청 헤더에 API 키를 Bearer로 담아요. 키는 서버에서만 쓰고 프론트엔드에 노출하지 마세요.

Authorization: Bearer pk_live_8f3c2a9d4b6e1057c9a2f4e8b1d7c05a

키는 모드 표시(pk_live_ · pk_test_) + 무작위 32자로 총 40자예요. 콘솔 목록에는 앞뒤만 보여요 — pk_live_8f3c····c05a

운영 / 테스트 키pk_live_는 실제 데이터·정산에 반영, pk_test_는 샌드박스 샘플만. 키 발급은 STANDARD 플랜부터, 업체당 최대 5개예요.
GET/me

키가 잘 발급됐는지 확인하는 첫 호출. 키가 속한 업체·플랜·커플 사용량이 나와요. mode로 운영/샌드박스를 구분해요.

예시 응답
{
  "code": 200,
  "message": "ok",
  "data": {
    "company": { "uuid": "a1b2…", "name": "그랜드 웨딩홀", "plan": "STANDARD", "status": "ACTIVE" },
    "usage": { "couples_included": null, "couples_accepted": 48, "couples_remaining": null },
    "mode": "live"
  }
}

커플

커플 등록 · 취소

커플을 초대·목록 조회·취소해요. 커플이 수락하면 PRO가 열리고, 그때부터 편집기를 심을 수도 현황을 받을 수도 있어요. 여기서 받은 uuid화면 심기·현황에서 그대로 써요.

POST/me/invite

커플 초대를 만들고 수락 링크를 돌려줘요. couple_email을 넣으면 초대 메일이 자동으로 나가요.

파라미터
couple_name 선택식별용 메모 (예: 김철수·이영희)
couple_email 선택입력 시 초대 메일 자동 발송
couple_name선택

식별용 메모 (예: 김철수·이영희)

couple_email선택

입력 시 초대 메일 자동 발송

예시 응답
{
  "code": 201,
  "message": "ok",
  "data": {
    "uuid": "inv_7d2…",
    "couple_name": "김철수·이영희",
    "status": "PENDING",
    "invite_url": "https://pudding.im/ko/partner/invite/inv_7d2…",
    "created": "2026-07-28T…"
  }
}
GET/me/invitations

보낸 초대·수락 커플 목록 (미수락 포함). status가 ACCEPTED인 커플의 uuid를 다음 단계에서 써요.

예시 응답
{
  "code": 200,
  "message": "ok",
  "data": {
    "count": 31,
    "results": [
      {
        "uuid": "00000000-0000-0000-0000-000000000901",
        "couple_name": "곽지훈·백서현",
        "status": "PENDING",
        "wedding_date": null,
        "accepted_at": null,
        "created": "2027-01-12T…"
      },
      {
        "uuid": "00000000-0000-0000-0000-000000000001",
        "couple_name": "김도현·박수아",
        "status": "ACCEPTED",
        "wedding_date": "2027-03-20",
        "accepted_at": "2027-01-10T…",
        "created": "2027-01-07T…"
      }
    ]
  }
}
POST/me/cancel-invitation

수락 전 초대를 취소해요. 이미 수락된 초대는 취소되지 않아요(400).

예시 응답
{
  "code": 200,
  "message": "ok",
  "data": { "uuid": "inv_7d2…", "status": "CANCELED" }
}

A · 화면 심기

SDK 설치

iframe 태그를 직접 쓰는 대신 sdk.js를 얹으면, 높이 자동 맞춤 · 저장 알림 · 에러 전달을 SDK가 대신 해줘요. 심는 방법은 이게 가장 흔해요.

<div id="pudding"></div>
<script src="https://pudding.im/sdk.js"></script>
<script>
  var pudding = Pudding.init({ publishableKey: 'pk_pub_…' });

  var view = pudding.embed('#pudding', {
    tool: 'invitation',            // invitation · script · checklist · budget · schedule
    view: 'hub',                   // hub(목록) · create(생성) · edit(수정)
    embedToken: 'cs_live_…',       // 서버에서 발급 — 아래 임베드 토큰 참고
    onSave: function (data) {},
  });
</script>

옵션

toolinvitation · script · checklist · budget · schedule
viewhub(목록) · create(생성) · edit(수정). 안 주면 resourceId 있을 때 edit, 없으면 hub
embedToken커플 스코프 단기 토큰(cs_) — 서버에서 발급받아 넘겨요
resourceId수정할 항목 uuid (view가 edit일 때)
locale편집기 언어. 기본 ko
minHeight첫 렌더 최소 높이(px). 기본 480

이벤트 · 반환값

onReady()편집기가 다 뜬 뒤 한 번
onSave(data)커플이 저장할 때마다 — 저장된 내용이 함께 와요
onResize(height)높이가 바뀔 때. SDK가 iframe 높이를 이미 맞춰줘요
onError(err)토큰 만료 등 — 새 토큰을 받아 reload 하면 돼요
view.reload(cfg)다른 커플·항목으로 갈아끼우기
view.destroy()편집기 걷어내기 (SPA 화면 전환 시)
iframe을 직접 쓰고 싶다면POST /embed-sessions 응답의 embed_url을 그대로 src에 넣으면 돼요. 높이 자동 맞춤만 직접 처리하면 됩니다.

A · 화면 심기

임베드 토큰

SDK에 넘길 cs_ 토큰을 발급받아요. 수락한 커플에게만 나오고, 기본 15분이면 만료돼요.

토큰은 서버에서 발급하세요 — 이 호출에는 API 키가 필요해요. 발급받은 cs_ 토큰만 브라우저로 내려보내고, API 키는 절대 프론트엔드에 두지 마세요.
POST/me/embed-sessions

수락된 커플·도구에 대한 단기 세션 토큰(cs_)을 발급해요. 이 토큰을 iframe·SDK에 넘기면 그 커플 편집기가 열려요. 기본 15분 만료.

파라미터
couple_uuid 필수수락된 커플 uuid (GET /me/invitations 에서 확인)
tool 필수invitation · script · checklist · budget · schedule
couple_uuid필수

수락된 커플 uuid (GET /me/invitations 에서 확인)

tool필수

invitation · script · checklist · budget · schedule

예시 응답
{
  "code": 200,
  "message": "ok",
  "data": {
    "embed_token": "cs_live_…",
    "expires_in": 900,
    "embed_url": "https://pudding.im/ko/embed/invitations?embed_token=cs_live_…",
    "mode": "live"
  }
}

A · 화면 심기

도구 5종 만져보기

커플이 실제로 쓰는 편집기 그대로예요. 아래 편집기는 공개 데모 커플로 이미 열려 있어서 그냥 만져 보면 돼요. 도구를 고르면 생성 · 수정 · 조회 세 화면이 함께 떠요.

예식일·예산·하객 규모로 준비 항목을 자동 생성. 커플이 직접 체크·수정해요.

생성커플에게 맞춰 자동으로 만들어요/embed/checklists/create

편집기를 불러오는 중…

수정기존 항목을 커플이 직접 편집해요/embed/checklists/{id}/edit

수정할 항목이 아직 없어요. 위 생성 데모로 하나 만들면 여기서 바로 열려요. (또는 리소스 uuid 입력)

조회커플의 목록을 보고 골라요/embed/checklists

편집기를 불러오는 중…

B · 직접 만들기

커플 토큰 받기

푸딩 화면을 쓰지 않고 제휴사 디자인으로 커플용 UI를 직접 만드는 갈래예요. 그러려면 위에서 받은 cs_ 토큰을 커플 계정 토큰으로 한 번 더 바꿔요. 화면은 제휴사가 그리고, 저장과 AI 자동 생성은 도구 API가 맡아요.

POST /embed-sessions    // 파트너 API · API 키로 — cs_ 토큰
      ↓
POST /companies/embed/exchange  // cs_ 토큰으로 — 커플 access token (10분)
      ↓
GET  /checklists/mine  // 도구 API · 커플 토큰으로 — 진짜 데이터
이 토큰은 커플 계정 토큰이에요 — 그 커플이 앱에서 로그인했을 때와 같은 권한이에요. 아래 차단 경로로 나가면 403 EMBED_SCOPE_FORBIDDEN으로 막혀요. 브라우저로 내려보내지 말고 서버에서만 쓰세요.

이 토큰으로 갈 수 있는 곳

막는 것만 정해져 있어요. 토큰 하나로 다섯 도구를 다 부를 수 있고, 화면을 그리는 데 필요한 커플 본인 데이터(프로필·예식 정보·미디어 업로드)도 열려 있어요. 막히는 건 커플 본인만 해야 하는 일 세 가지예요.

/payment · /subscriptions결제수단 · 구독. 잘못 건드리면 되돌릴 수 없어요
계정/user/withdraw · /user/password · /user/…/social-accounts · /auth · /oauth · /verification탈퇴 · 비밀번호 · 소셜 연결. 커플이 계정 자체를 잃어요
명의/posts · /comments · /boards · /anonymous-identity커뮤니티 글 · 댓글. 제휴사가 커플 이름으로 말하게 돼요
운영/admin · /companies · /company운영 · 제휴사 API. 커플 자격으로 부를 일이 없어요

10분마다 다시 받기

커플 토큰은 10분이면 만료돼요. 갱신 엔드포인트는 없고, cs_ 발급부터 다시 해요. 커플이 한 화면에 오래 머무는 편집 UI라면 만료를 미리 잡아 다시 받는 코드가 필요해요.

// 제휴사 서버 — 만료 1분 전에 미리 새로 받아 둬요
// 캐시 키는 커플 하나. 도구별로 나눌 필요 없어요 — 토큰 하나가 다섯 도구에 다 통해요.
async function coupleToken(coupleUuid) {
  const hit = cache.get(coupleUuid);
  if (hit && hit.expiresAt - Date.now() > 60_000) return hit.token;

  const s = await api('POST', '/me/embed-sessions',        // API 키로
    { couple_uuid: coupleUuid, tool: 'checklist' });       // tool 은 필수값이라 아무거나
  const t = await api('POST', '/embed/exchange',           // cs_ 토큰으로
    { token: s.data.embed_token });

  cache.set(coupleUuid, { token: t.data.access_token,
    expiresAt: Date.now() + t.data.expires_in * 1000 });
  return cache.get(coupleUuid).token;
}
POST/embed/exchange

cs_ 토큰을 커플 계정 access token 으로 교환해요. API 키가 아니라 cs_ 토큰 자체가 자격증명이라 Authorization 헤더는 없어도 돼요. 발급되는 토큰은 그 커플의 다섯 도구 전부에 쓰이고 기본 10분이면 만료돼요.

파라미터
token 필수POST /me/embed-sessions 로 받은 cs_ 토큰
token필수

POST /me/embed-sessions 로 받은 cs_ 토큰

예시 응답
{
  "code": 200,
  "message": "ok",
  "data": {
    "access_token": "eyJhbGciOi…",
    "tool": "checklist",
    "couple_uuid": "inv_7d2…",
    "expires_in": 600,
    "mode": "live"
  }
}

B · 직접 만들기

도구 API 호출

커플이 앱에서 쓰는 API를 그대로 부르는 거라, 여기서 만들고 고친 건 커플 화면에 바로 보여요. 앞의 제휴사 API와는 주소도 인증도 달라요.

파트너 API도구 API
주소https://server.pudding.im/api/companieshttps://server.pudding.im/api
인증API 키 (pk_live_) 또는 담당자 로그인커플 토큰 (access_token)
유효만료 없음10분 — 끊기면 cs_부터 다시

도구별 경로

네 가지가 도구마다 똑같은 모양이에요. {uuid}는 목록에서 받은 값이에요.

도구목록만들기상세 · 수정
체크리스트GET /checklists/minePOST /checklistsGET · PATCH /checklists/{uuid}
예산GET /budgets/minePOST /budgetsGET · PATCH /budgets/{uuid}
일정GET /schedules/minePOST /schedulesGET · PATCH /schedules/{uuid}
대본GET /scripts/minePOST /scriptsGET · PATCH /scripts/{uuid}
청첩장GET /invitations/minePOST /invitationsGET · PATCH /invitations/{uuid}

예시 — 커플의 체크리스트 만들기

예식일·예산·하객 규모를 주면 그 커플에게 맞춘 항목이 자동으로 채워져요. 값 목록은 아래 상태값(enum)에 있어요.

curl -X POST "https://server.pudding.im/api/checklists" \
  -H "Authorization: Bearer <커플 토큰>" \
  -H "Content-Type: application/json" \
  -d '{"wedding_date": "2026-11-15", "budget": 50000000,
       "wedding_venue_type": "HOTEL", "guest_scale_tier": "LARGE"}'
갈래 A와 비교하면 — 직접 만들면 섹션·항목 구조를 다뤄야 하고 토큰도 10분마다 다시 받아야 해요. 대신 화면과 흐름이 전부 제휴사 것이 돼요. 그럴 이유가 없다면 SDK 설치 쪽이 붙이는 일이 적고, 도구마다 다르게 골라도 돼요 — 청첩장은 심고 체크리스트만 직접 만드는 식으로요.

C · 현황

커플 대시보드

수락 커플들의 현황·집계. 신랑·신부 연락처가 포함돼요(파트너 고객). 하객 명단은 개개인이 아니라 집계로만 나가요 — 커플별 guest_count(총 하객) · predicted_attendees(AI 예상 참석) · attend_responses(응답) · expected_gift_total(예상 축의금) 필드로요.

GET/me/insights

전체 집계(totals) + 초대 퍼널(invitations) + 예식 일정 분포(calendar) + 커플별 현황(couples) + 월별 추세(trend).

예시 응답
{
  "code": 200,
  "message": "ok",
  "data": {
    "totals": {
      "couple_count": 24,
      "guest_count": 3415,
      "predicted_attendees": 2471,
      "attend_responses": 1406,
      "expected_gift_total": 253793000,
      "published_count": 16,
      "invitation_readers": 1765,
      "invitation_opens": 4410,
      "needs_care_count": 3
    },
    "invitations": { "sent": 31, "accepted": 24, "pending": 5, "canceled": 2, "accept_rate": 77 },
    "calendar": {
      "this_month": 1,
      "next_month": 3,
      "within_30_days": 4,
      "venue_undecided": 3,
      "undated": 2
    },
    "couples": [
      {
        "uuid": "00000000-0000-0000-0000-000000000001",
        "couple_name": "김도현·박수아",
        "groom": {
          "name": "김도현",
          "email": "groom01@example.com",
          "phone": "010-0000-0001",
          "joined": true
        },
        "bride": {
          "name": "박수아",
          "email": "bride02@example.com",
          "phone": "010-0000-0002",
          "joined": true
        },
        "wedding_date": "2027-03-20",
        "days_left": 62,
        "guest_count": 210,
        "predicted_attendees": 164,
        "attend_responses": 118,
        "expected_gift_total": 18040000,
        "invitation_readers": 172,
        "invitation_opens": 482,
        "venue": "그랜드 하얏트 서울",
        "checklist_progress": 88,
        "budget_set": true,
        "invitation_published": true,
        "blockers": [],
        "needs_care": false
      }
    ],
    "trend": [{ "month": "2027-01", "couple_count": 24, "guest_count": 3415,  }]
  }
}
GET/me/insights/couples

수락 커플을 needs_care·예식일·blocker로 걸러 검색·정렬·페이지네이션. 커플 많아도 필요한 것만 뽑아요. (wedding_before / wedding_after=YYYY-MM-DD 도 지원)

예시 응답
{
  "code": 200,
  "message": "ok",
  "data": {
    "count": 3,
    "page": 1,
    "page_size": 20,
    "results": [
      {
        "uuid": "00000000-0000-0000-0000-000000000003",
        "couple_name": "박시우·정하윤",
        "groom": { "name": "박시우", "phone": "010-0000-0005", "joined": true },
        "bride": { "name": "정하윤", "phone": "", "joined": false },
        "wedding_date": "2027-02-04",
        "days_left": 17,
        "needs_care": true,
        "blockers": ["venue_undecided"],
        "checklist_progress": 24,
        "guest_count": 130
      }
    ]
  }
}
GET/me/insights/couples/{uuid}

수락 커플 1건의 현황(위 couples[] 원소와 동일). 없거나 미수락이면 404. 데모 키로도 위 목록의 uuid를 그대로 넣어보면 돼요.

예시 응답
{
  "code": 200,
  "message": "ok",
  "data": {
    "uuid": "00000000-0000-0000-0000-000000000001",
    "couple_name": "김도현·박수아",
    "groom": { "name": "김도현", "phone": "010-0000-0001", "joined": true },
    "bride": { "name": "박수아", "phone": "010-0000-0002", "joined": true },
    "wedding_date": "2027-03-20",
    "days_left": 62,
    "guest_count": 210,
    "checklist_progress": 88,
    "blockers": [],
    "needs_care": false
  }
}

설정 · 레퍼런스

선택지 값

요청에 넣을 수 있는 값 목록이에요. 하드코딩 대신 이걸 받아 쓰면 언어·통화가 늘어도 안 깨져요.

GET/meta

입력값으로 쓸 수 있는 선택지 목록 — 언어 18종·통화 14종·대본 종류·톤.

예시 응답
{
  "code": 200,
  "message": "ok",
  "data": {
    "locales": [{ "code": "ko", "label": "한국어" }, ],
    "currencies": ["KRW", "USD", "JPY", ],
    "script_types": ["mc", "officiant", "vow", "toast", "blessing", "reception"],
    "tones": ["formal", "casual", "touching"]
  }
}

설정 · 레퍼런스

주소 · 응답 · 에러

주소 규칙

주소에 업체를 적을 자리는 me 하나예요. 키가 이미 업체를 정하니까 업체 uuid를 들고 다닐 필요가 없어요.

https://server.pudding.im/api/companies/me/…키가 속한 업체. 파트너가 쓰는 형태예요
https://server.pudding.im/api/companies/meta업체와 무관한 값이라 me가 없어요 (선택지 값 · 토큰 교환)

같은 주소를 담당자가 로그인해서 부를 수도 있어요. 그때는 사람 한 명이 여러 업체를 맡을 수 있어서 me 대신 업체 uuid를 적어요. 파트너 서버는 신경 쓸 일이 없어요.

응답 형식

모든 응답은 동일한 봉투로 감싸져요. 실제 데이터는 항상 data 안에 있어요.

{ "code": 200, "message": "ok", "data": {  } }

에러

실패도 같은 봉투로 와요. 분기는 HTTP 상태코드가 아니라 errors.field_errors.code로 하세요. 상태코드는 겹쳐서, 403만 보고는 요금제를 올려야 할지 콘솔로 가야 할지 알 수 없어요.

{
  "code": 403,
  "message": "이 기능은 API 키로 호출할 수 없어요. 파트너 콘솔에서 진행해주세요.",
  "errors": {
    "field_errors": { "detail": ["…"], "code": ["api_key_not_allowed"] },
    "non_field_errors": []
  }
}
HTTPcode언제할 일
401(code 없음)Authorization 헤더가 없어요Bearer pk_live_… 를 붙여요
401invalid_api_key키가 틀렸거나, 업체가 이용 중(ACTIVE)이 아니에요콘솔에서 키를 다시 확인해요. 키가 맞다면 업체 상태 문제예요
403plan_required스탠다드 미만 요금제예요요금제를 올리면 바로 열려요
403api_key_not_allowed키로는 부를 수 없는 기능이에요 (담당자·정산·결제수단·해지)파트너 콘솔에서 진행해요
404company_not_found다른 업체를 가리켰어요업체 자리에는 me 를 넣어요
404couple_not_found없거나 아직 수락하지 않은 커플이에요GET /me/invitations 에서 status가 ACCEPTED인지 봐요
400invalid_input필수값 누락·형식 오류message에 어느 값이 문제인지 나와요
400tool_not_supported없는 도구 이름이에요invitation · script · checklist · budget · schedule
401
(code 없음)

Authorization 헤더가 없어요

Bearer pk_live_… 를 붙여요

401
invalid_api_key

키가 틀렸거나, 업체가 이용 중(ACTIVE)이 아니에요

콘솔에서 키를 다시 확인해요. 키가 맞다면 업체 상태 문제예요

403
plan_required

스탠다드 미만 요금제예요

요금제를 올리면 바로 열려요

403
api_key_not_allowed

키로는 부를 수 없는 기능이에요 (담당자·정산·결제수단·해지)

파트너 콘솔에서 진행해요

404
company_not_found

다른 업체를 가리켰어요

업체 자리에는 me 를 넣어요

404
couple_not_found

없거나 아직 수락하지 않은 커플이에요

GET /me/invitations 에서 status가 ACCEPTED인지 봐요

400
invalid_input

필수값 누락·형식 오류

message에 어느 값이 문제인지 나와요

400
tool_not_supported

없는 도구 이름이에요

invitation · script · checklist · budget · schedule

상태값 (enum)

커플 초대 statusPENDING · ACCEPTED · CANCELED
임베드 toolinvitation · script · checklist · budget · schedule
planBASIC · STANDARD · PREMIUM · ENTERPRISE
business_typeVENUE · SDM · PLANNER · AGENCY · ETC
company statusPENDING_DEPOSIT · ACTIVE · SUSPENDED
modelive · test (샌드박스)
wedding_venue_typeINDOOR · OUTDOOR · HOTEL · CHAPEL · SMALL
budget_tierECONOMY · STANDARD · PREMIUM · LUXURY
guest_scale_tierSMALL · MEDIUM · LARGE · XLARGE
커플 초대 status
PENDINGACCEPTEDCANCELED
임베드 tool
invitationscriptchecklistbudgetschedule
plan
BASICSTANDARDPREMIUMENTERPRISE
business_type
VENUESDMPLANNERAGENCYETC
company status
PENDING_DEPOSITACTIVESUSPENDED
mode
livetest (샌드박스)
wedding_venue_type
INDOOROUTDOORHOTELCHAPELSMALL
budget_tier
ECONOMYSTANDARDPREMIUMLUXURY
guest_scale_tier
SMALLMEDIUMLARGEXLARGE

설정 · 레퍼런스

받을 수 있는 정보 범위

파트너는 자기 고객(커플)의 정보를 받아 직접 챙길 수 있어요. 커플의 손님(하객)은 개개인이 아니라 집계로만 나가요.

제공됨

  • 신랑·신부 이름·이메일·전화 (파트너 고객)
  • 커플별 하객 규모·예상 참석·예상 축의금
  • 예식장·체크리스트 진행률·막힌 지점·챙길 커플
  • 청첩장 열람 수·초대 퍼널·예식 일정 분포

제공 안 됨

  • 하객(게스트) 개개인의 이름·연락처
  • 축의금 실수령액 (예상치만)
푸딩 제휴사 API · Company API v1