NAV
http

Introduction

Class101 Business API에 오신 것을 환영합니다! 제공되는 API를 이용하여 Endpoints에 접근하면 Class101 Business에서 지원하는 다양한 업무들을 수행하실 수 있고, 고객의 수강 정보에 접근할 수 있습니다.

현재는 HTTP로만 문서를 제공하지만, 추후 다양한 언어 예제를 추가할 계획에 있습니다. 오른쪽의 어두운 영역에서 HTTP Request와 Response를 보실 수 있습니다.

사용 중 문의사항이 있거나, 문제점을 발견하신 경우 고객 담당자를 통해 문의주시면 빠른 시일 내에 개선된 API를 이용하실 수 있도록 하겠습니다. 아직 Class101 Business를 이용중이지 않으신가요? 여기에서 견적과 상담을 받아보실 수 있습니다.

Request/Response Format

기본 요청/응답 형식은 JSON입니다. 성공적인 요청은 200 OK HTTP 상태를 반환합니다.

GET http://biz-service-staging.private.class101.net/open-api/v1/{path}
GET https://biz-api.class101.net/open-api/v1/{path}

기본 응답 형식은 JSON 포맷으로 다음과 같은 형태입니다:

{
  "data": {},
  "result": "",
  "message": "",
  "errorCode": "",
}

기본 타입

Type Description
DateTime ISO 8601 포맷으로, yyyy-MM-ddTHH:mm:ssZ 형태로 전달합니다.

하위호환성

모든 API는 하위 호환성을 지키면서 업데이트 됩니다. 한번 정의된 필드나 Enum 값은 삭제되지 않으며, Optional 타입이 필수 타입으로 변경되지 않습니다. 하지만 새로운 필드와 값은 추가될 수 있으므로 그러한 변경에 영향이 없도록 클라이언트를 작성하세요. 하위 호환 미준수 변경에 대해서는 새롭게 버저닝하거나, 신규 API URI를 통해 제공됩니다.

클래스에 정의되지 않은 타입이 응답으로 오더라도 예외가 발생하지 않도록 ObjectMapper의 설정을 아래처럼 설정합니다:

objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

Authentication

Class101 Business API는 인증된 요청에만 응답합니다. 계약에 따라 발급된 고객사별 API Key를 함께 담아 요청에 보내주세요. 발급된 API Key는 Business Center에서 보실 수 있습니다.

다음과 같이 모든 서버 HTTP 요청 헤더에 API Key를 포함하세요:

Authorization: Bearer {access_token}

To authorize, use this code:

GET https://biz-api.class101.net/open-api/v1/

Authorization: Bearer {access_token}

Make sure to replace {access_token} with your API key.

Single Sign-On

클래스101 비즈니스에서는 SAML 2.0으로 SSO(Single Sign-On) 기능을 제공합니다. SSO를 설정하면 사용자는 회사 계정으로 로그인 하는 것으로 클래스101 비즈니스 서비스를 이용할 수 있습니다.

IdP

ID 공급자 (Identity Provider)

SP

서비스 공급자 (Service Provider)

A Bird-eye’s view

  1. 로그인 시도

    사용자는 클래스101 서비스를 이용하기 위해 웹 브라우저에서 https://class101.net 으로 이동합니다.

  2. SSO 가능 여부 확인

    사용자가 입력한 메일 주소에 SSO 기능이 활성화 되어있는지 확인합니다.

  3. SSO 로그인 페이지로 이동 (redirect)

    ID 공급자의 로그인 페이지(= 고객사 로그인 페이지)로 이동합니다.

  4. 아이디, 비밀번호 입력

    ID 공급자의 로그인 페이지에서 아이디, 비밀번호(= 고객사의 포탈 계정)를 입력해 로그인합니다.

  5. 인증 처리 및 SAML 응답 생성

    로그인에 성공한 경우 클래스101에 미리 등록한 인증서로 전자 서명한 SAML 응답을 생성합니다.

  6. SAML 응답 전달 (redirect)

    SAML 응답을 클래스101에서 받은 ACS URL로 전달합니다.

  7. SAML 응답 검증, 인증 토큰 발급

    고객사에서 등록한 인증서로 SAML 응답을 검증하여 인증을 완료하고, 비즈니스 센터에 초대되어 있는 사용자인 경우에만 서비스를 이용할 수 있도록 인증 토큰을 발급합니다.

더 자세한 내용은 SAML 2.0의 IdP-Initiated SSO: Post Binding을 참고하시기 바랍니다.

Step-by-step guide

클래스101 비즈니스를 회사 계정으로 이용하기 위한 단계별 가이드입니다.

1. SSO 활성화

비즈니스 센터의 설정 메뉴에서 SSO 기능을 활성화합니다.

활성화가 완료되면 위와 같이 설정을 입력할 수 있는 화면이 나타납니다.

2. 회사 도메인 입력

회사 메일에 사용하는 도메인을 입력하고 저장합니다.

3. IdP 정보 입력

openssl req -x509 -new -newkey rsa:2048 -nodes \
  -subj '/CN={회사명}' \
  -keyout idp-private-key.pem \
  -out idp-public-cert.pem

로그인 페이지 등록

클래스101에 로그인하기 위한 로그인 페이지를 등록합니다. 이 페이지에서 고객사의 유저 정보를 확인하고 SAML 2.0 응답을 생성하고 전달합니다.

X.509 인증서 등록

다음 명령어로 비밀 키와 인증서를 생성하고, 인증서(idp-public-cert)의 키를 등록합니다.

4. SAML 2.0 응답 전달

Request

POST /sso/saml/2/acs/{slug} HTTP/1.1
Host: auth.class101.net
Content-Type: application/x-www-form-urlencoded
Content-Length: {length}
SAMLResponse={Base64(response)}
  1. 클래스101에서 고객사 로그인 페이지로 이동 후 다시 돌아오는 경우 (위 그림)
  2. 고객사의 페이지에서 바로 클래스101에 접근하는 경우

모두 고객사의 인증 시스템에서 인증 처리를 완료한 뒤, IdP-Initiated SSO로 인증 정보를 전달해 주시면 됩니다. 설정 페이지의 ACS URL로 다음과 같이 보내주세요.

SAMLResponse

<?xml version="1.0"?>
<samlp:Response
  xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
  Version="2.0"
  IssueInstant="{SAML 응답 시작 일시}"
>
  <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
    {디지털 서명}
  </Signature>
  <samlp:Status>
    <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
  </samlp:Status>
  <saml:Assertion
    xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
    Version="2.0"
    IssueInstant="{SAML 응답 시작 일시}">
    <saml:Subject>
      <saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">
        {사용자의 메일 주소}
      </saml:NameID>
      <saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
        <saml:SubjectConfirmationData NotOnOrAfter="{SAML 응답 종료 일시}" />
      </saml:SubjectConfirmation>
    </saml:Subject>
    <saml:Conditions
      NotBefore="{SAML 응답 시작 일시}"
      NotOnOrAfter="{SAML 응답 종료 일시}"
    >
      <saml:AudienceRestriction>
        <saml:Audience>{클래스101 ACS URL}</saml:Audience>
      </saml:AudienceRestriction>
    </saml:Conditions>
    <saml:AuthnStatement AuthnInstant="{SAML 응답 시작 일시}">
      <saml:AuthnContext>
        <saml:AuthnContextClassRef>
          urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified
        </saml:AuthnContextClassRef>
      </saml:AuthnContext>
    </saml:AuthnStatement>
    <saml:AttributeStatement
      xmlns:xs="http://www.w3.org/2001/XMLSchema"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    >
      <saml:Attribute Name="email">
        <saml:AttributeValue xsi:type="xs:string">
          {사용자의 메일 주소}
        </saml:AttributeValue>
      </saml:Attribute>
      <saml:Attribute Name="firstname">
        <saml:AttributeValue xsi:type="xs:string">
          {사용자의 이름}
        </saml:AttributeValue>
      </saml:Attribute>
      <saml:Attribute Name="lastname">
        <saml:AttributeValue xsi:type="xs:string">
          {사용자의 성}
        </saml:AttributeValue>
      </saml:Attribute>
      <saml:Attribute Name="displayName">
        <saml:AttributeValue xsi:type="xs:string">
          {사용자의 전체 이름}
        </saml:AttributeValue>
      </saml:Attribute>
      <saml:Attribute Name="phoneNumber">
        <saml:AttributeValue xsi:type="xs:string">
          {사용자의 휴대폰 번호}
        </saml:AttributeValue>
      </saml:Attribute>
    </saml:AttributeStatement>
  </saml:Assertion>
</samlp:Response>

카탈로그

이용 가능한 클래스 목록 가져오기

클래스101 구독으로 이용 가능한 모든 클래스 목록을 받아올 수 있습니다.

HTTP Request

GET https://biz-api.class101.net/open-api/v1/plan/{planId}/classes

Request

GET https://biz-api.class101.net/open-api/v1/plan/{planId}/classes
Path Parameter Required Description
planId true 고객사에서 이용하는 플랜 ID

HTTP Response

해당 플랜을 정상적으로 조회할 경우 200 OK 상태를 반환하고, 찾지 못했을 경우 404 Not Found를 반환합니다.

Response

{
  "data": {
    "classes": [{
        "id": "5c82178d20e0954d604a475e",
        "name": "마카와 펜, 드로잉북만 들고 떠나요! 마카로 담는 여행의 특별한 기억",
        "coverImage": "https://cdn.class101.net/images/1d0038b4-9558-4478-87f2-9fd472b3a274",
        "url": "https://class101.net/",
        "category": "드로잉/그림",
        "creatorName": "마카왕"
    }],
  }
}

Parameter Type Description
classes[].id String! 클래스의 ID
classes[].name String! 클래스의 이름
classes[].coverImage String! 클래스의 커버 이미지
classes[].url String! 수강 페이지 URL
classes[].category String! 클래스의 카테고리
classes[].creatorName String! 클래스의 강사 명

클래스 상세 정보 확인하기

클래스 아이디로 상세 정보를 확인할 수 있습니다.

HTTP Request

GET https://biz-api.class101.net/open-api/v1/plan/{planId}/classes/{classId}

Request

GET https://biz-api.class101.net/open-api/v1/plan/{planId}/classes/{classId}
Path Parameter Required Description
planId true 고객사에서 이용하는 플랜 ID
classId true 상세 정보를 조회할 클래스 ID

HTTP Response

해당 클래스를 정상적으로 조회할 경우 200 OK 상태를 반환하고, 찾지 못했을 경우 404 Not Found를 반환합니다.

Response

{
  "data": {
    "id": "5c82178d20e0954d604a475e",
    "name": "마카와 펜, 드로잉북만 들고 떠나요! 마카로 담는 여행의 특별한 기억",
    "description": "<p><strong>리니의 두 번째 클래스로 마카의 기초부터 드로잉 응용까지 한번에 배워봐요!</strong></p><p>안녕하세요, 또 한 번 ...",
    "coverImage": "https://cdn.class101.net/images/1d0038b4-9558-4478-87f2-9fd472b3a274",
    "url": "https://class101.net/",
    "category": "드로잉/그림",
    "creatorName": "마카왕"
  }
}

Parameter Type Description
classes[].id String! 클래스의 ID
classes[].name String! 클래스의 이름
classes[].description String! 클래스 소개 내용
classes[].coverImage String! 클래스의 커버 이미지
classes[].url String! 수강 페이지 URL
classes[].category String! 클래스의 카테고리
classes[].creatorName String! 클래스의 강사 명

수강신청

수강신청 하기

특정 회원이 지정된 비즈니스 센터에 수강신청 할 수 있습니다. 수강신청을 처리하고 결과를 응답합니다.

HTTP Request

POST https://biz-api.class101.net/open-api/v1/course-registration/user-apply

Request

POST https://biz-api.class101.net/open-api/v1/course-registration/user-apply
{
  "userEmail": "",
  "term": "1"
}
Body Parameter Type Description
userEmail String! 사전 협의를 통해 연동되어 암호화된 고객사 측의 Unique 유저 Email ID
term String? 차수 (현재 기능 미지원 이므로 "1" 로 고정하여 전송)

HTTP Response

수강신청을 정상적으로 요청할 경우 200 OK 상태를 반환합니다.

수강신청 정보를 찾지 못했을 경우, 연동된 유저를 찾지 못할 경우, 사전 협의된 암호화 모듈을 찾지 못했을 경우 404 Not Found를 반환합니다.

잘못된 수강신청을 요청할 경우(중복 수강신청 등) 422 Unprocessable Entity를 반환합니다.

성공 Response

{
  "result": "SUCCESS",
  "message": "SUCCESS",
  "errorCode": null,
  "data": {
    "companyName": "테스트 비즈니스 센터",
    "term": "1",
    "userName": "김현중",
    "registrationStatus": "APPLIED",
    "startAt": "2023-06-30T15:00:00+09:00",
    "endAt": "2023-07-31T14:59:59+09:00"
  }
}
Parameter Type Description
companyName String! 수강신청 대상 비즈니스 센터의 이름
term String! 차수 (현재 기능 미지원 이므로 "1" 로 고정하여 전송)
userName String? 비즈니스 회원 가입시 입력한 유저 이름
registrationStatus String! 수강신청 상태.
수강신청 성공 시 APPLIED, 수강신청 취소 시 CANCELD 를 반환합니다.
startAt String? 수강 시작 일 (UTC로 반환 합니다.)
endAt String? 수강 종료 일 (UTC로 반환 합니다.)


실패 Response

{
    "result": "FAIL",
    "message": "이미 수강신청한 정보가 존재합니다.",
    "errorCode": "biz/registration/user-already-applied",
    "data": {
        "message": "이미 수강신청한 정보가 존재합니다.",
        "detail": {
            "userEmail": "raoul@101.inc"
        },
        "stacktrace": [],
        "cause": null
    }
}
{
    "result": "FAIL",
    "message": "API에 접근할 수 없습니다.",
    "errorCode": "UNAUTHORIZED",
    "data": {}
}
{
    "result": "FAIL",
    "message": "계정에 연동된 클래스101 유저를 찾을 수 없습니다.",
    "errorCode": "biz/user/user-not-found",
    "data": {
        "message": "계정에 연동된 클래스101 유저를 찾을 수 없습니다.",
        "detail": {
            "resultMessage": "계정에 연동된 클래스101 유저를 찾을 수 없습니다."
        },
        "stacktrace": [],
        "cause": null
    }
}
{
    "result": "FAIL",
    "message": "비즈니스 센터가 암호화 모듈을 가지고 있지 않습니다.",
    "errorCode": "biz/registration/company-does-not-have-crypto-module",
    "data": {
        "message": "비즈니스 센터가 암호화 모듈을 가지고 있지 않습니다.",
        "detail": {
            "companyId": "295"
        },
        "stacktrace": [],
        "cause": null
    }
}

수강신청 취소하기

특정 회원이 지정된 비즈니스 센터에 수강신청 한 내용을 취소 할 수 있습니다. 수강신청 취소를 처리하고 결과를 응답합니다.

HTTP Request

POST https://biz-api.class101.net/open-api/v1/course-registration/user-cancel

Request

POST https://biz-api.class101.net/open-api/v1/course-registration/user-cancel
{
  "userEmail": "",
  "term": "1"
}
Body Parameter Type Description
userEmail String! 사전 협의를 통해 연동되어 암호화된 고객사 측의 Unique 유저 Email ID
term String? 차수 (현재 기능 미지원 이므로 "1" 로 고정하여 전송)

HTTP Response

수강신청 취소를 정상적으로 요청할 경우 200 OK 상태를 반환합니다.

수강신청 정보를 찾지 못했을 경우, 연동된 유저를 찾지 못할 경우, 사전 협의된 암호화 모듈을 찾지 못했을 경우 404 Not Found를 반환합니다.

잘못된 수강신청 취소를 요청할 경우(이미 취소한 수강신청 등) 422 Unprocessable Entity를 반환 합니다.

성공 Response

{
  "result": "SUCCESS",
  "message": "SUCCESS",
  "errorCode": null,
  "data": {
    "companyName": "테스트 비즈니스 센터",
    "term": "1",
    "userName": "김현중",
    "registrationStatus": "CANCELED",
    "startAt": "2023-06-30T15:00:00+09:00",
    "endAt": "2023-07-31T14:59:59+09:00"
  }
}
Parameter Type Description
companyName String! 수강신청 대상 비즈니스 센터의 이름
term String! 차수 (현재 기능 미지원 이므로 "1" 로 고정하여 전송)
userName String? 비즈니스 회원 가입시 입력한 유저 이름
registrationStatus String! 수강신청 상태.
수강신청 성공 시 APPLIED, 수강신청 취소 시 CANCELD 를 반환합니다.
startAt String? 수강 시작 일 (UTC로 반환 합니다.)
endAt String? 수강 종료 일 (UTC로 반환 합니다.)


실패 Response (아래의 중복 취소요청을 제외한 실패 Case는 위의 수강신청 API와 동일)

{
    "result": "FAIL",
    "message": "이미 수강신청을 취소 하였습니다.",
    "errorCode": "biz/registration/user-already-canceled",
    "data": {
        "message": "이미 수강신청을 취소 하였습니다.",
        "detail": {
            "userEmail": "raoul@101.inc"
        },
        "stacktrace": [],
        "cause": null
    }
}

회원

회원 여부 조회

특정 회원의 가입 상태를 조회합니다. 고객사에 회원 가입을 신청한 상태, 승인된 상태, 거절된 상태를 응답합니다.

HTTP Request

GET https://biz-api.class101.net/open-api/v1/users/{userId}

Request

GET https://biz-api.class101.net/open-api/v1/users/{userId}
Path Parameter Required Description
userId true 사전 협의를 통해 연동된 고객사 측의 Unique 유저 ID

HTTP Response

해당 유저를 정상적으로 조회할 경우 200 OK 상태를 반환하고, 찾지 못했을 경우 404 Not Found를 반환합니다.

Response

{
  "data": {
    "id": "12390875463",
    "name": "배현승",
    "state": "APPLIED"
  }
}
Parameter Type Description
id String! 사전 협의를 통해 연동된 고객사 측의 Unique 유저 ID
name String 비즈니스 회원 가입시 입력한 유저 이름
state String! 비즈니스 유저의 가입 상태.
회원 가입 직후엔 APPLIED, 승인 하여 정상적으로 이용 가능한 경우에 APPROVED, 비즈니스 관리자가 가입을 거절한 경우 REJECTED를 반환합니다.

회원 수강 상태 조회

특정 회원의 수강 상태를 조회합니다. 이용권 개수, 수강중인 수업의 정보를 조회할 수 있습니다.

HTTP Request

GET https://biz-api.class101.net/open-api/v1/users/{userId}/tickets

Request

GET https://biz-api.class101.net/open-api/v1/users/{userId}/tickets
Path Parameter Required Description
userId true 사전 협의를 통해 연동된 고객사 측의 Unique 유저 ID

HTTP Response

해당 유저를 정상적으로 조회할 경우 200 OK 상태를 반환하고, 찾지 못했을 경우 404 Not Found를 반환합니다.

Response

{
  "data": {
    "remainTicketCount": 0,
    "usedTicketCount": 1,
    "enrolledClasses": [
      {
        "id": "5c82178d20e0954d604a475e",
        "name": "마카와 펜, 드로잉북만 들고 떠나요! 마카로 담는 여행의 특별한 기억",
        "coverImageURL": "https://cdn.class101.net/images/1d0038b4-9558-4478-87f2-9fd472b3a274",
        "expiredAt": "2019-03-08T07:19:41.520+00:00",
        "url": "https://class101.net/",
        "category": "드로잉/그림",
        "creatorName": "마카왕"
      }
    ]
  }
}
Parameter Type Description
remainTicketCount Int! 유저에게 발급된 이용권 중 남은 개수
usedTicketCount Int! 유저에게 발급된 이용권 중 사용한 개수
enrolledClasses[].id String! 수강중인 클래스의 ID
enrolledClasses[].name String! 수강중인 클래스의 이름
enrolledClasses[].coverImageURL String! 수강중인 클래스의 커버 이미지
enrolledClasses[].expiredAt DateTime! 수강중인 클래스의 수강 만료일
enrolledClasses[].url String! 수강 페이지 URL
enrolledClasses[].category String! 수강중인 클래스의 카테고리
enrolledClasses[].creatorName String! 수강중인 클래스의 강사 명

회원 수강 진도율 조회

특정 회원이 수강 중인 강의들의 진도율을 조회합니다.

HTTP Request

GET https://biz-api.class101.net/open-api/v1/users/{userId}/lectures

Request

GET https://biz-api.class101.net/open-api/v1/users/{userId}/lectures
Path Parameter Required Description
userId true 사전 협의를 통해 연동된 고객사 측의 Unique 유저 ID

HTTP Response

해당 유저를 정상적으로 조회할 경우 200 OK 상태를 반환하고, 찾지 못했을 경우 404 Not Found를 반환합니다.

Response

{
  "data": {
    "lectures": [{
      "id": "5c82178d20e0954d604a475e",
      "name": "마카와 펜, 드로잉북만 들고 떠나요! 마카로 담는 여행의 특별한 기억",
      "coverImage": "https://cdn.class101.net/images/1d0038b4-9558-4478-87f2-9fd472b3a274",
      "progress": 0.7512,
    }],
  }
}
Parameter Type Description
lectures[].id String! 수강중인 클래스의 ID
lectures[].name String! 수강중인 클래스의 이름
lectures[].coverImage String! 수강중인 클래스의 커버 이미지
lectures[].progress Int! 수강중인 클래스의 진도율

클래스

클래스 조회

클래스 ID로 기본적인 클래스 정보를 조회하는 API입니다.

HTTP Request

GET https://biz-api.class101.net/open-api/v1/classes/{classId}

Request

GET https://biz-api.class101.net/open-api/v1/classes/{classId}
Path Parameter Type Description
classId String! 조회할 클래스 ID

HTTP Response

조회에 성공한 경우 200 OK 상태를 반환합니다.

Response

{
  "data": {
    "id": "5c82178d20e0954d604a475e",
    "name": "마카와 펜, 드로잉북만 들고 떠나요! 마카로 담는 여행의 특별한 기억",
    "coverImageURL": "https://cdn.class101.net/images/1d0038b4-9558-4478-87f2-9fd472b3a274",
    "expiredAt": "2019-03-08T07:19:41.520+00:00",
    "url": "https://class101.net/",
    "enrollPageUrl": "https://class101.net/",
    "category": "드로잉/그림",
    "creatorName": "마카왕"
  }
}
Parameter Type Description
id String! 클래스의 ID
name String! 클래스의 이름
coverImageURL String! 클래스의 커버 이미지
url String! 수강 페이지 URL
enrollPageUrl String! 수강 신청 페이지 URL
category String! 클래스의 카테고리
creatorName String! 클래스의 강사 명

이용권

이용권 발급

특정 회원에게 이용권을 발급하는 API입니다. Company에 정상적으로 승인된 고객인 경우 계약된 이용권을 1개 차감하고, 유저에게 할당합니다. 복지몰 연동 시, 복지 포인트와 같은 고객사 재화 차감 Transaction이 정상적으로 이루어진 이후 이 API를 호출하세요.

HTTP Request

POST https://biz-api.class101.net/open-api/v1/tickets:allocate

Request

POST https://biz-api.class101.net/open-api/v1/tickets:allocate

{
  "userId": "",
  "ticketCount": 1
}
Body Parameter Type Description
userId String! 사전 협의를 통해 연동된 고객사 측의 Unique 유저 ID
ticketCount Int! 해당 유저에게 발급할 이용권 개수

HTTP Response

이용권 할당에 성공한 경우 200 OK 상태를 반환합니다.

Response

{
  "message": "사용자에게 성공적으로 이용권을 할당하였습니다."
}

제휴 프로모션

제휴 프로모션 링크 생성

클래스101과 제휴된 고객사께서 고객사 회원을 대상으로 프로모션 쿠폰을 지급할 때 사용하는 API입니다. 아래 API를 호출 한 뒤 발급되는 링크를 고객사 회원에게 전달하면, 회원가입 또는 로그인 후 제휴된 쿠폰이 지급됩니다. 이 API를 통해 발급되는 링크는 최대 5분동안 유효합니다.

HTTP Request

POST https://biz-api.class101.net/open-api/v1/promotions/{promotionId}/urls

Request

POST https://biz-api.class101.net/open-api/v1/promotions/{promotionId}/urls
Path Parameter Type Description
promotionId String! 사전 협의를 통해 진행하기로 한 제휴 프로모션의 ID

HTTP Response

제휴 프로모션 링크를 성공적으로 생성한 경우 200 OK 상태를 반환합니다.

Response

{
  "message": "성공적으로 제휴 프로모션 링크를 생성하였습니다.",
  "data": {
    "url": "https://class101.net/login?promo=1AAULGIAHsgd23D"
  }
}
Parameter Type Description
promotionURL String! 제휴 프로모션 링크