Recommendation

채널 추천 결과 저장

추천을 다시 계산해 그 시점 값을 스냅샷으로 저장한다. 채널 1개가 1행이고, 그 행들은 저장 시점에 발급되는 추천 id 하나로 묶인다. 상세 조회·목록에는 이 id 를 쓴다.

이후 채널의 단가·상품이 바뀌어도 저장된 추천은 변하지 않는다. 마이페이지는 이 저장분을 그대로 읽는다.

같은 온보딩으로 다시 저장하면 이전 추천을 지우고 다시 넣는다. 온보딩 응답은 불변이고 추천도 결정적이라 결과는 같으며, 재요청·재시도로 행이 쌓이지 않는다.

본인이 제출한 온보딩만 저장할 수 있다. 맞는 채널이 없으면 저장할 것도 없으므로 channelCount 0 과 빈 배열을 반환한다.

post/api/v1/recommendations

Request

  • Base URL: https://api.chaeso-zip.com
  • URL: https://api.chaeso-zip.com/api/v1/recommendations
  • Auth: HTTP bearer

Request body

onboardingIdstring uuid required

추천의 근거가 된 온보딩 응답 식별자

serviceNamestring required

광고할 서비스명

Example request

{
  "onboardingId": "550e8400-e29b-41d4-a716-446655440000",
  "serviceName": "채소집"
}

Response

저장 성공

successboolean required

요청 성공 여부

codestring nullable required

성공 안내 코드. 안내할 것이 없으면 null

Example response

{
  "success": true,
  "data": {
    "id": "3f8e2b1a-6c4d-4e9a-9f2b-1a2b3c4d5e6f",
    "onboardingId": "550e8400-e29b-41d4-a716-446655440000",
    "channelCount": 8,
    "items": [
      {
        "channelId": "550e8400-e29b-41d4-a716-446655440000",
        "channelName": "11번가 광고",
        "wordmarkUrl": "https://assets.chaeso-zip.com/channels/550e8400-e29b-41d4-a716-446655440000/wordmark.png",
        "matchRate": 78,
        "recommendationReason": "쇼핑·커머스 업종, 설정한 광고 목적에 적합하고 예산 내 집행이 가능해요",
        "primaryTarget": "20~40대 여성",
        "cpcWon": 150,
        "pricingModel": "CPM",
        "minBudgetWon": 3000000,
        "estImpressions": {
          "min": 170000,
          "max": 230000
        },
        "estClicks": {
          "min": 170000,
          "max": 230000
        },
        "shortfallWon": 500000
      }
    ]
  },
  "error": {
    "code": "C-001",
    "message": "입력값이 올바르지 않습니다.",
    "fieldErrors": [
      {
        "field": "name",
        "reason": "이름은 필수입니다."
      }
    ]
  },
  "code": "GOOGLE_ACCOUNT_LINKED"
}

Changes

No recorded changes to this operation across all 1 revision of this API.