SaaS API인플루언서 SaaS
PATCH /ai/influence/price-negotiations/{negotiationId}/respond
가격 협상 응답
가격 협상 응답
관리자가 제안한 가격 협상에 대해 크리에이터가 응답합니다. action 값에 따라 단가 수락 / 단가 거절 / 캠페인 참여 거절로 나뉩니다.
HTTP 요청
PATCH /ai/influence/price-negotiations/{negotiationId}/respond?action={action}
Authorization: Bearer {access_token}Path Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
negotiationId | long | 예 | 협상 ID |
Query Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
action | string | 예 | accept, reject, decline 중 하나 (대소문자 무시) |
action 값별 동작
| action | 의미 | 협상 상태 | 캠페인 신청 상태 | 후속 처리 |
|---|---|---|---|---|
accept | 단가 수락 | ACCEPT | 변화 없음 | 계약서 광고대금 보정 (서명 완료 계약이면 PDF 재생성) |
reject | 단가만 거절 | REJECT | 변화 없음 (계속 참여 대기) | 없음 |
decline | 캠페인 참여 자체를 거절 | DECLINE | ELIMINATED (제외) | 예산 잠금 해제 + 캠페인 전원 서명 재평가 |
reject는 제안된 단가만 거절하고 크리에이터는 여전히 캠페인에 걸려 있습니다. 캠페인 참여를 완전히 포기하려면 decline을 사용하세요. decline 시 신청이 제외 처리(ELIMINATED)되고, 물려있던 캠페인 예산이 해제되며, 남은 선정 인원의 전원 서명 완료 여부가 재평가됩니다.
응답
성공 응답 (200 OK)
{
"status": 200,
"code": null,
"message": "가격 협상을 수락했습니다.",
"data": null
}message는 action에 따라 달라집니다.
| action | message |
|---|---|
accept | 가격 협상을 수락했습니다. |
reject | 가격 협상을 거절했습니다. |
decline | 캠페인 참여를 거절했습니다. |
에러 응답
모든 검증 실패는 INVALID_DATA 예외로 처리되어 동일하게 404를 반환합니다.
| 상태 코드 | 조건 |
|---|---|
404 | action 값이 accept / reject / decline 이 아님 |
404 | 협상 건이 존재하지 않음 |
404 | 본인의 신청 건이 아님 (소유권 불일치) |
404 | 이미 응답/취소된 협상 건 (상태가 PENDING이 아님) |