WinCL Coupon API

Coupon Controller

Operations 5

DELETE /bapi/v2/coupons/events/{eventId} 이벤트, 매직쿠폰 및 연결된 개인쿠폰들을 삭제합니다. #
POST /bapi/v2/coupons/magic/issue 2. 이벤트용 사용자 쿠폰을 벌크로 발행합니다. #
POST /bapi/v2/coupons/magic/register 1. 이벤트용 매직 쿠폰을 발행합니다. #
POST /api/v2/coupons/magic/answer 3. 쿠폰 응모 때 입력한 정보를 수집합니다. (접근토큰이 필요없음) #
POST /api/v2/coupons/magic/consume 4. 쿠폰을 사용하여 탄소배출권을 얻습니다. (접근토큰이 필요함) #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/wincl-coupon-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

wincl-coupon-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Wincl Admin Coupon API
  version: '1.0'
  description: Admin Controller
servers:
- url: https://api.wincl.io:443
  description: Inferred Url
tags:
- name: Coupon
  description: Coupon Controller
paths:
  /bapi/v2/coupons/events/{eventId}:
    delete:
      tags:
      - Coupon
      summary: 이벤트, 매직쿠폰 및 연결된 개인쿠폰들을 삭제합니다.
      description: '`eventId`는 `/magic/register`에 사용한 값과 같아야 합니다.<br>이벤트, 매직쿠폰 및 발행된 모든 개인쿠폰을 삭제합니다.'
      operationId: deleteEventUsingDELETE
      parameters:
      - name: eventId
        in: path
        description: 이벤트 ID
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WinclResponseData_DeleteEventResult'
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - Bearer 토큰 값:
        - global
  /bapi/v2/coupons/magic/issue:
    post:
      tags:
      - Coupon
      summary: 2. 이벤트용 사용자 쿠폰을 벌크로 발행합니다.
      description: '`eventId, magicCouponCode, amount`는 `/magic/register`에 사용한 값과 같아야 합니다.<br>이벤트 참여 1개당 개인쿠폰 1개씩 서버 내부에서 연결됩니다.<br>발행할 개인쿠폰 갯수 (`couponCount`)도 윈클로부터 받아야 합니다.'
      operationId: issueIndividualCouponsUsingPOST
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IssueIndividualCouponsRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WinclResponseData_IssueCouponsResult'
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - Bearer 토큰 값:
        - global
  /bapi/v2/coupons/magic/register:
    post:
      tags:
      - Coupon
      summary: 1. 이벤트용 매직 쿠폰을 발행합니다.
      description: '호출하면 `event*` 필드들로 이벤트를 생성한 후, 나머지 필드들로 매직쿠폰을 생성합니다.<br>`eventId`는 아무 값이나 쓰면 되고, `eventName, eventDescription`은 윈클로부터 받습니다.<br>매직쿠폰은 모든 이벤트 참여자가 공용으로 사용하는 단일쿠폰입니다.<br>`magicCouponCode, productId`는 윈클에서 정해서 알려주어야 합니다.<br>`senderUserId`는 상품을 벌크구매한 윈클 대표 가입자ID이고 `creditId`는 윈클의 구매ID로 둘 다 내부에서 알 수 있습니다.<br>`productId`는 상품ID 입니다. (예: 캄보이아 = 1676884519406W4iqG0qk2W)<br>지급 금액 (`amount`)은 윈클에서 결정하는 각 이벤트 참여자에게 지급할 배출권 양(톤)입니다.'
      operationId: registerMagicCouponsUsingPOST
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegisterMagicCouponRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WinclResponseData_WinclCoupon'
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - Bearer 토큰 값:
        - global
  /api/v2/coupons/magic/answer:
    post:
      tags:
      - Coupon
      summary: 3. 쿠폰 응모 때 입력한 정보를 수집합니다. (접근토큰이 필요없음)
      description: 이벤트 참여를 위한 참자가 정보 (나이, 성별)을 수집합니다. 가입 전 호출하므로 접근토큰이 필요없습니다.
      operationId: gatherEventAnswerUsingPOST
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GatherEventAnswersRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WinclResponseData_GatherEventApplyResult'
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - Bearer 토큰 값:
        - global
  /api/v2/coupons/magic/consume:
    post:
      tags:
      - Coupon
      summary: 4. 쿠폰을 사용하여 탄소배출권을 얻습니다. (접근토큰이 필요함)
      description: 가입 후 이벤트 때 받았던 매직쿠폰 코드를 입력하면, 사용자 지갑에 배출권을 넣어줍니다.<br>서버 내부에서는 개인쿠폰으로 변환하고, 배출권을 윈클 지갑에서 꺼내 개인 지갑으로 이동시킵니다.
      operationId: consumeMagicCouponUsingPOST
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConsumeMagicCouponRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WinclResponseData_ConsumeCouponResult'
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - Bearer 토큰 값:
        - global
components:
  schemas:
    ConsumeMagicCouponRequest:
      title: ConsumeMagicCouponRequest
      type: object
      properties:
        eventId:
          type: string
        magicCouponCode:
          type: string
    ConsumeCouponResult:
      title: ConsumeCouponResult
      type: object
      properties:
        couponCode:
          type: string
        couponId:
          type: string
        couponStatus:
          type: string
          enum:
          - ENABLED
          - UNUSED
          - USED
          - USING
    WinclResponseData_GatherEventApplyResult:
      title: WinclResponseData«GatherEventApplyResult»
      type: object
      properties:
        code:
          type: string
        data:
          $ref: '#/components/schemas/GatherEventApplyResult'
        message:
          type: string
    WinclCoupon:
      title: WinclCoupon
      type: object
      properties:
        amount:
          type: number
          format: bigdecimal
        consumedAt:
          type: string
          format: date-time
        couponCode:
          type: string
        couponStatus:
          type: string
          enum:
          - ENABLED
          - UNUSED
          - USED
          - USING
        couponType:
          type: string
          enum:
          - INDIVIDUAL
          - MAGIC
        creditId:
          type: string
        eventId:
          type: string
        id:
          type: string
        productId:
          type: string
        userId:
          type: string
    DeleteEventResult:
      title: DeleteEventResult
      type: object
      properties:
        deleteed:
          type: boolean
        eventId:
          type: string
    WinclResponseData_WinclCoupon:
      title: WinclResponseData«WinclCoupon»
      type: object
      properties:
        code:
          type: string
        data:
          $ref: '#/components/schemas/WinclCoupon'
        message:
          type: string
    WinclResponseData_ConsumeCouponResult:
      title: WinclResponseData«ConsumeCouponResult»
      type: object
      properties:
        code:
          type: string
        data:
          $ref: '#/components/schemas/ConsumeCouponResult'
        message:
          type: string
    RegisterMagicCouponRequest:
      title: RegisterMagicCouponRequest
      type: object
      properties:
        amount:
          type: number
          description: 참자가에게 지급할 배출권 양 (톤)
          format: bigdecimal
        creditId:
          type: string
        eventDescription:
          type: string
        eventId:
          type: string
        eventName:
          type: string
        magicCouponCode:
          type: string
        productId:
          type: string
        senderUserId:
          type: string
    GatherEventApplyResult:
      title: GatherEventApplyResult
      type: object
      properties:
        eventId:
          type: string
        gathered:
          type: boolean
    IssueIndividualCouponsRequest:
      title: IssueIndividualCouponsRequest
      type: object
      properties:
        amount:
          type: number
          description: 참자가에게 지급할 배출권 양 (톤)
          format: bigdecimal
        couponCount:
          type: integer
          description: 생성할 개인쿠폰 갯수
          format: int32
        eventId:
          type: string
        magicCouponCode:
          type: string
    WinclResponseData_DeleteEventResult:
      title: WinclResponseData«DeleteEventResult»
      type: object
      properties:
        code:
          type: string
        data:
          $ref: '#/components/schemas/DeleteEventResult'
        message:
          type: string
    GatherEventAnswersRequest:
      title: GatherEventAnswersRequest
      type: object
      properties:
        answers:
          type: array
          description: 응답 목록 (참가자 답변을 질문 순서대로 Array 형태에 담음)
          items:
            type: string
        emissionAmount:
          type: number
          description: 결과 탄소배출량
          format: bigdecimal
        eventId:
          type: string
          description: 이벤트 ID
        questionSetId:
          type: string
          description: 질문 세트 ID (한 이벤트에 질문지 세트가 여럿인 경우 구별)
    WinclResponseData_IssueCouponsResult:
      title: WinclResponseData«IssueCouponsResult»
      type: object
      properties:
        code:
          type: string
        data:
          $ref: '#/components/schemas/IssueCouponsResult'
        message:
          type: string
    IssueCouponsResult:
      title: IssueCouponsResult
      type: object
      properties:
        eventId:
          type: string
        issuedCount:
          type: integer
          format: int32
        magicCouponCode:
          type: string
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT