# 다른 예약 채널 연결하기 다른 예약 채널에서 받은 예약을 superplace에 옮기는 앱은 예약 API 셋만 부릅니다. 채널의 예약 번호를 `externalRef`로 보내면 같은 예약을 여러 번 보내도 한 번만 등록됩니다. ## 1. 로그인 [앱 연결(OAuth 2.1)](/docs/auth-oauth)을 따릅니다. 내 PC에서만 도는 앱은 클라이언트 문서를 따로 올리지 않고 공용 문서를 써도 됩니다. | 항목 | 값 | |---|---| | `client_id` | `https://console.superplace.so/oauth/local-app.json` | | `redirect_uri` | `http://127.0.0.1:<포트>/callback` (포트는 자유) | 동의 화면에는 「내 PC에서 만든 앱」으로 표시됩니다. ## 2. 공간 고르기 `GET /space/v1/resources` 채널의 상품(방·좌석)을 이 목록의 `id`에 짝지어 둡니다. ## 3. 등록 `POST /space/v1/reservations` ```bash curl -X POST https://api.superplace.so/space/v1/reservations \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"resourceId":"…","phone":"01000001234","name":"김손님","startsAt":"2026-11-03T14:00:00+09:00","endsAt":"2026-11-03T16:00:00+09:00","externalRef":"채널예약번호"}' ``` - 처음이면 201, 같은 번호의 예약이 이미 있으면 200으로 그 예약이 돌아옵니다. - 다른 예약과 겹치면 409입니다. 매장에서 직접 정리해야 합니다. - `externalRef`를 보내면 `memo`는 보내지 않습니다. ## 4. 변경과 취소 `GET /space/v1/reservations?externalRef=채널예약번호`로 예약을 찾습니다. - 시간·공간이 바뀌었으면 `POST /space/v1/reservations/{id}/reschedule` - 채널에서 취소됐으면 `POST /space/v1/reservations/{id}/cancel` 취소한 번호로 다시 등록하면 새 예약이 생깁니다. 채널에서 취소된 예약은 등록하지 마세요. ## 주의 채널의 이용약관 준수는 앱을 만든 사람의 책임입니다. 채널 계정의 아이디·비밀번호를 앱에 저장하지 마세요.