Glowb Dev Docs
SaaS API

인플루언서 SaaS API

인플루언서 계정 전용 API

인플루언서 SaaS API

인플루언서 계정에서 사용하는 API입니다.

Base URL: /ai/influence

인증 정보

항목
인증 필요
인증 방식JWT Bearer Token

엔드포인트 목록

캠페인 신청

메서드경로설명인증
GET/ai/influence/campaign/{collabId}/application/info캠페인 신청 페이지 정보 조회필요
POST/ai/influence/campaign/application캠페인 신청필요
GET/ai/influence/campaigns/applications신청 목록 조회필요
PATCH/ai/influence/campaigns/applications/{id}/contract-read계약서 읽음 처리필요
POST/ai/influence/campaigns/applications/{applicationId}/content캠페인 콘텐츠 업로드필요

마이페이지

메서드경로설명인증
GET/ai/influence/mypage마이페이지 데이터 조회필요
POST/ai/influence/mypage마이페이지 데이터 저장필요
PATCH/ai/influence/mypage마이페이지 데이터 수정필요

배송지 관리

메서드경로설명인증
POST/ai/influence/delivery-address배송지 추가필요
PUT/ai/influence/delivery-address/{id}배송지 수정필요
DELETE/ai/influence/delivery-address/{id}배송지 삭제필요

가격 협상

메서드경로설명인증
PATCH/ai/influence/price-negotiations/{negotiationId}/respond가격 협상 응답필요

API 상세

캠페인 신청 페이지 정보 조회

캠페인 신청 페이지 접속 시 필요한 정보를 조회합니다.

HTTP 요청

GET /ai/influence/campaign/{collabId}/application/info
Authorization: Bearer {access_token}

Path Parameters

파라미터타입필수설명
collabIdlong캠페인 ID

응답

성공 응답 (200 OK)

{
  "status": 200,
  "code": null,
  "message": "성공",
  "data": {
    "applicantName": "홍길동",
    "email": "user@example.com",
    "snsAccount": {
      "platform": "INSTAGRAM",
      "username": "@influencer",
      "followers": 50000
    },
    "deliveryAddress": {
      "recipientName": "홍길동",
      "phone": "010-1234-5678",
      "address": "서울시 강남구..."
    }
  }
}

캠페인 신청

캠페인에 신청합니다.

HTTP 요청

POST /ai/influence/campaign/application
Authorization: Bearer {access_token}
Content-Type: application/json

Request Body

{
  "collabId": 123,
  "snsAccountId": 456,
  "deliveryAddressId": 789,
  "message": "안녕하세요, 관심있어서 신청합니다!",
  "proposedPrice": 500000
}

Response

성공 응답 (200 OK)

{
  "status": 200,
  "code": null,
  "message": "신청 완료",
  "data": null
}

캠페인 신청 목록 조회

인플루언서가 신청한 캠페인 목록을 조회합니다. 선정 대기, 선정, 미선정 7일 이내 건을 포함합니다.

HTTP 요청

GET /ai/influence/campaigns/applications
Authorization: Bearer {access_token}

응답

성공 응답 (200 OK)

{
  "status": 200,
  "code": null,
  "message": "성공",
  "data": {
    "totalSettlement": 2500000,
    "applications": [
      {
        "applicationId": 1,
        "campaign": {
          "collabId": 123,
          "title": "여름 뷰티 캠페인",
          "thumbnail": "https://...",
          "platform": "INSTAGRAM",
          "contentType": "REEL"
        },
        "status": "SELECTED",
        "hasContract": true,
        "contractRead": false,
        "appliedAt": "2024-01-15T10:00:00"
      }
    ]
  }
}

계약서 읽음 처리

캠페인 신청 건의 계약서를 읽음 상태로 변경합니다.

HTTP 요청

PATCH /ai/influence/campaigns/applications/{id}/contract-read
Authorization: Bearer {access_token}

Path Parameters

파라미터타입필수설명
idlong신청 ID

마이페이지 데이터 조회

프로필 이미지, 이름, 전화번호, 이메일, 배송지 목록을 조회합니다.

HTTP 요청

GET /ai/influence/mypage
Authorization: Bearer {access_token}

응답

성공 응답 (200 OK)

{
  "status": 200,
  "code": null,
  "message": "성공",
  "data": {
    "profileImage": "https://...",
    "name": "홍길동",
    "phone": "010-1234-5678",
    "email": "user@example.com",
    "deliveryAddresses": [
      {
        "id": 1,
        "addressName": "집",
        "recipientName": "홍길동",
        "phone": "010-1234-5678",
        "address": "서울시 강남구...",
        "isDefault": true
      }
    ]
  }
}

마이페이지 데이터 저장/수정

프로필 이미지, 이름, 전화번호, 이메일을 저장하거나 수정합니다.

HTTP 요청

POST /ai/influence/mypage
Authorization: Bearer {access_token}
Content-Type: multipart/form-data

Request Parts

파트타입필수설명
filefile아니오프로필 이미지
dataMyPageUpdateRequestDto수정할 데이터 JSON

data JSON 예시

{
  "name": "홍길동",
  "phone": "010-1234-5678",
  "email": "user@example.com"
}

배송지 추가

새 배송지를 추가합니다.

HTTP 요청

POST /ai/influence/delivery-address
Authorization: Bearer {access_token}
Content-Type: application/json

Request Body

{
  "addressName": "집",
  "recipientName": "홍길동",
  "phone": "010-1234-5678",
  "zipCode": "12345",
  "address": "서울시 강남구 테헤란로 123",
  "addressDetail": "1층 101호",
  "isDefault": true
}

Request Body 스키마

필드명타입필수설명
addressNamestring배송지 이름
recipientNamestring받는 사람
phonestring연락처
zipCodestring우편번호
addressstring기본 주소
addressDetailstring아니오상세 주소
isDefaultboolean아니오기본 배송지 여부

배송지 수정

기존 배송지를 수정합니다.

HTTP 요청

PUT /ai/influence/delivery-address/{id}
Authorization: Bearer {access_token}
Content-Type: application/json

배송지 삭제

배송지를 삭제합니다.

HTTP 요청

DELETE /ai/influence/delivery-address/{id}
Authorization: Bearer {access_token}

캠페인 콘텐츠 업로드

캠페인 관련 이미지 또는 압축 파일을 업로드합니다.

HTTP 요청

POST /ai/influence/campaigns/applications/{applicationId}/content
Authorization: Bearer {access_token}
Content-Type: multipart/form-data

지원 포맷

종류지원 포맷
이미지jpg, png, gif, webp, heic, bmp, tiff, svg, avif, RAW
압축파일zip, tar, tar.gz, rar, 7z

여러 장의 이미지는 압축 파일(zip 등)로 업로드해주세요.


가격 협상 응답

관리자가 제안한 가격 협상에 대해 수락 또는 거절 응답합니다.

HTTP 요청

PATCH /ai/influence/price-negotiations/{negotiationId}/respond?action={action}
Authorization: Bearer {access_token}

Query Parameters

파라미터타입필수설명
actionstringaccept (수락) 또는 reject (거절)

사용 예시

캠페인 신청

curl -X POST https://api.glowb.io/ai/influence/campaign/application \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "collabId": 123,
    "snsAccountId": 456,
    "deliveryAddressId": 789,
    "message": "신청합니다!",
    "proposedPrice": 500000
  }'

배송지 추가

curl -X POST https://api.glowb.io/ai/influence/delivery-address \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "addressName": "집",
    "recipientName": "홍길동",
    "phone": "010-1234-5678",
    "zipCode": "12345",
    "address": "서울시 강남구 테헤란로 123",
    "addressDetail": "1층 101호",
    "isDefault": true
  }'

콘텐츠 업로드

curl -X POST https://api.glowb.io/ai/influence/campaigns/applications/123/content \
  -H "Authorization: Bearer {token}" \
  -F "file=@content.zip"

API 테스트

On this page