Admin APIAdmin Finance API
PATCH /ai/admin/finance/credit-tx/{txId}/description
크레딧 트랜잭션 비고(description) in-place 수정 (reverse 없음)
크레딧 트랜잭션 비고 수정 (in-place)
기존 행의 비고(description) 텍스트만 그 자리에서 직접 수정합니다. 금액과 무관한
텍스트 라벨 수정이므로 ledger reverse 행을 만들지 않으며, 잔액·행 수·트랜잭션 id 가
변하지 않습니다. 단순 메모 정정용 엔드포인트입니다.
금액·사유까지 바꾸는 정식 수정은 PUT /credit-tx/{txId}
(reverse + new) 를 사용하세요. 비고만 고칠 때는 이 엔드포인트가 reverse 없이 처리됩니다.
정상 행만 수정 가능합니다. reverse 행이거나 이미 취소(reverse)된 원본은 거부됩니다.
HTTP 요청
PATCH /ai/admin/finance/credit-tx/{txId}/description?adminId={adminId}
Authorization: Bearer {access_token}
Content-Type: application/jsonPath / Query Parameters
| 파라미터 | 위치 | 타입 | 필수 | 설명 |
|---|---|---|---|---|
txId | path | Long | 예 | 대상 CreditTransaction id |
adminId | query | String | 아니오 | 처리자 ID (로그 기록용) |
Request Body
{
"description": "정산 보정 메모 (관리자 수기)"
}| 필드 | 타입 | 필수 | 설명 |
|---|---|---|---|
description | String | 예 | 새 비고. null 은 거부, 빈 문자열 "" 은 허용(비고 비우기). 앞뒤 공백은 trim |
동작
T1 = 대상 행 (그대로, 같은 id 유지)
T1.description = 요청.description.trim()reverse 행 생성 없음 · Business.remainCredit 변동 없음 · 신규 행 생성 없음.
응답 (200 OK)
{
"status": 200,
"code": null,
"message": "비고 수정 완료",
"data": {
"id": 2103,
"transactionType": "CAMPAIGN_DEPOSIT",
"amount": -300000,
"balanceAfter": 1700000,
"collabNo": 482,
"candyPaymentId": null,
"description": "정산 보정 메모 (관리자 수기)",
"reason": "RESHOOT_ADDITIONAL",
"memo": "재촬영 1회 추가",
"reverseOfTxId": null,
"createdAt": "2026-05-28T13:45:00",
"createdBy": "admin01"
}
}응답의 data 는 수정된 바로 그 행입니다 (id 동일). 프론트는 이 응답으로 해당 row 를
그 자리에서 갱신할 수 있습니다.
에러
| 상태 | 조건 | 설명 |
|---|---|---|
400 | 입력 검증 실패 | description 이 null |
404 | 트랜잭션 없음 | |
500* | 이미 reverse 됨 / reverse 행 자체 | "이미 취소(reverse)된 트랜잭션입니다." (의도상 409 Conflict) |