SaaS API전자계약 API
POST /ai/contract/send
선정된 크리에이터에게 계약서를 발송합니다.
계약서 발송
선정된 크리에이터에게 계약서를 발송합니다. 발송 시 계약서 상태가 SENT로 변경됩니다.
| 항목 | 값 |
|---|---|
| 메서드 | POST |
| 경로 | /ai/contract/send |
| 인증 | Bearer Token (관리자) |
요청
POST /ai/contract/send HTTP/1.1
Host: api.glowb.com
Authorization: Bearer {access_token}
Content-Type: application/json
{
"applicationIds": [101, 102, 103]
}curl -X POST "https://api.glowb.com/ai/contract/send" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '{"applicationIds": [101, 102, 103]}'const response = await fetch('/ai/contract/send', {
method: 'POST',
headers: {
'Authorization': `Bearer ${accessToken}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
applicationIds: [101, 102, 103],
}),
});
const result = await response.json();Request Body
Prop
Type
응답
성공 응답 (200 OK)
{
"status": 200,
"code": null,
"message": "계약서 발송이 완료되었습니다.",
"data": [
{
"contractId": 1,
"applicationId": 101,
"status": "SENT",
"statusDisplayName": "발송됨",
"creatorName": "크리에이터A",
"campaignTitle": "여름 선크림 캠페인",
"sentAt": "2026-02-27T10:30:00",
"signedAt": null,
"signedPdfUrl": null
},
{
"contractId": 2,
"applicationId": 102,
"status": "SENT",
"statusDisplayName": "발송됨",
"creatorName": "크리에이터B",
"campaignTitle": "여름 선크림 캠페인",
"sentAt": "2026-02-27T10:30:00",
"signedAt": null,
"signedPdfUrl": null
}
]
}응답 필드 (ContractSummaryResponseDto)
Prop
Type
에러 응답
유효성 검증 실패 (400)
{
"status": 400,
"code": "VALIDATION_ERROR",
"message": "지원 ID 목록은 필수입니다",
"data": null
}