Glowb Dev Docs
테스트 데이터 세팅

선정 (계약서 작성 건너뛰기)

지정한 크리에이터를 제안·크레딧 잠금·계약 체결까지 한 번에 끝내고 제출 단계로 세웁니다.

선정 (계약서 작성 건너뛰기)

지정한 크리에이터를 제안 → 크레딧 잠금 → 계약 체결까지 한 번에 처리합니다. 계약서 열람·정보입력·OTP 인증·서명은 통째로 건너뛰고 서명 완료 상태를 직접 만듭니다.

OTP 인증은 실제 문자가 발송되고 과금됩니다. 반복 테스트에서 이 경로를 태울 수 없어 상태를 직접 만드는 방식을 택했습니다. 그래서 계약서 PDF도 생성되지 않습니다.

호출이 끝나면 크리에이터는 곧바로 아래 단계에 서 있습니다.

캠페인다음 단계
2회검수 (doubleReview = true)스크립트 제출
1회검수 (doubleReview = false)영상 제출

HTTP 요청

POST /ai/test-setup/campaign/{collabNo}/select
Content-Type: application/json

Path Parameters

파라미터타입필수설명
collabNoInteger캠페인 번호

Request Body

{
  "influenceNos": [6282, 6281],
  "unitPrice": 100000,
  "skipDelivery": false
}
필드타입필수기본값설명
influenceNosArray<Integer>선정할 인플루언서 번호 목록
unitPriceLong아니오100000협업 단가. 노출가·제안가로 함께 들어가고 크레딧 잠금 금액의 기준이 됩니다
skipDeliveryBoolean아니오falsetrue 면 배송 완료 처리를 건너뜁니다

처리 순서

크리에이터 한 명당 아래를 순서대로 수행합니다.

  1. 신청 생성 — 이미 있으면 재사용. 없으면 SELF_APPLIED 로 새로 만듭니다
  2. 기업 노출 + 단가adminVisible = true, 노출가·제안가 설정, 추천사 프리셋 주입
  3. 제안 + 크레딧 잠금PROPOSAL 로 바꾸고 캠페인 예산에서 잠급니다. 이미 잠겨 있으면 건너뜁니다
  4. 계약 체결ApplicationContractSIGNED 상태로 직접 생성
  5. 선정 확정 + 검수 라운드SELECTED 로 바꾸고 ContentReview 생성 (2회검수 = 1차, 1회검수 = 2차)
  6. 일정 트리거 발화 — 아래 표 참고

마지막으로 캠페인 단계를 CONTENT_CREATION 으로 넘기고 신청자 목록을 숨깁니다(운영 서명 흐름과 동일).

일정 트리거를 실제로 발화시키는 이유

마감이 trigger_type 없이 임시값(placeholder)으로 남으면, 어드민·크리에이터 화면이 계약자 전원을 연체로 표시합니다. 그래서 상태는 직접 만들되 일정 트리거만은 운영과 같은 서비스를 호출합니다.

캠페인발화하는 트리거제출 마감
비배송형TRIGGER_1B_CONTRACT_GUIDELINE서명 + 3일(2회검수) / +4일(1회검수)
국내 배송형TRIGGER_1A_DELIVERY_INPUT배송완료 + 3일(2회검수) / +4일(1회검수)
해외 배송형 (2회검수)TRIGGER_1A_DELIVERY_ESTIMATE운송장 등록 + 배송영업일 4일 + 3일
해외 배송형 (1회검수)TRIGGER_1B_CONTRACT_GUIDELINE서명 + 9일 (운송장 트리거 미사용)

배송형에서는 운송장 더미와 배송 완료 시각까지 넣습니다. 택배사는 국내면 kr.cjlogistics, 해외면 OTHER 로 들어갑니다.

skipDelivery: true 를 주면 배송 처리를 건너뛰어 마감이 임시값으로 남습니다. 운송장 입력을 광고주 화면에서 직접 테스트하고 싶을 때 쓰세요. 이 상태에서는 화면에 연체로 보이는 것이 정상입니다.

응답 (200 OK)

{
  "status": 200,
  "code": null,
  "message": "선정 완료",
  "data": {
    "collabNo": 3201,
    "doubleReview": true,
    "nextStage": "SCRIPT_SUBMISSION",
    "campaignSubStep": "CONTENT_CREATION",
    "selectedCount": 2,
    "selected": [
      {
        "applicationId": 88123,
        "influenceNo": 6282,
        "influenceName": "테스트크리에이터",
        "unitPrice": 100000,
        "lockedAmount": 100000,
        "contractId": 4412,
        "contractStatus": "SIGNED",
        "reviewRound": 1,
        "deliveryCompleted": true
      }
    ],
    "failed": []
  }
}
필드설명
nextStageSCRIPT_SUBMISSION(2회검수) 또는 CONTENT_SUBMISSION(1회검수)
lockedAmount실제로 잠긴 금액. 만원 단위 올림이 적용됩니다
reviewRound생성된 검수 라운드 (1 = 스크립트, 2 = 영상)
deliveryCompleted배송 완료까지 세팅했는지 여부
failed[]인플루언서를 못 찾은 건. { influenceNo, reason }

존재하지 않는 인플루언서가 섞여 있어도 전체가 실패하지 않고 해당 건만 failed 로 빠집니다.

재호출 안전성

같은 크리에이터로 다시 호출해도 터지지 않습니다. 신청·계약·배송·매칭 레코드는 있으면 갱신하고, 예산은 이미 잠겨 있으면 건너뜁니다.

에러 응답

에러도 HTTP 는 200 이고, 판정은 body 의 status 필드로 합니다.

body statusmessage상황
404influenceNos 는 필수입니다.influenceNos 가 비었거나 없음
404캠페인을 찾을 수 없습니다: {collabNo}캠페인 없음

이 API가 만들지 않는 것

  • 계약서 PDF — 상태만 SIGNED 이므로 "계약서 보기" 화면은 비어 있습니다
  • 배송지(TB_DELIVERY_ADDRESS) — 배송 레코드만 완료 처리합니다
  • 알림·메일·문자 — 일절 발송하지 않습니다

API 테스트

On this page