İstek ve yanıt örnekleri
Alacak oluşturmaktan ödeme kaydetmeye kadar eksiksiz bir akış ve sık karşılaşılan hata yanıtları.
Herkese açık API durumu
Burada anlatılan v1 API uygulanmış ve test edilmiştir, ancak api.remindcash.com henüz herkese açık değildir. Son kabul testlerinden sonra açılacak; o zamana kadar istekler 503 döner. Örneklerde yer tutucular kullanılır — gerçek bir anahtarı asla paylaşılan koda yapıştırmayın.
Bu örnekler yer tutucu anahtarlar ve kurgusal veriler kullanır. Yalnızca kendi şirketinizde çalıştırın.
1. Taslak alacak oluşturun
curl https://api.remindcash.com/v1/receivables \
--request POST \
--header "Authorization: Bearer $REMINDCASH_API_KEY" \
--header "Idempotency-Key: create-inv-1042-0001" \
--header "Content-Type: application/json" \
--data '{
"customer": { "display_name": "Studio North", "email": "billing@studionorth.example" },
"amount": "1250.00",
"currency": "USD",
"due_date": "2026-10-15",
"external_reference": "INV-1042",
"description": "Website redesign"
}'{
"data": {
"id": 1,
"customer_id": 1,
"amount_minor": 125000,
"paid_minor": 0,
"currency": "USD",
"due_date": "2026-10-15",
"status": "draft",
"external_reference": "INV-1042",
"description": "Website redesign",
"version": "4e6fea39ae2fab8ccb843657f081d276513739a71787c060a007b65e3acbbbc1"
}
}Aynı isteği aynı Idempotency-Key ile yeniden göndermek bu yanıtın aynısını döndürür.
2. Vade tarihini değiştirin
curl https://api.remindcash.com/v1/receivables/1 \
--request PATCH \
--header "Authorization: Bearer $REMINDCASH_API_KEY" \
--header "Idempotency-Key: update-inv-1042-0001" \
--header "Content-Type: application/json" \
--data '{
"expected_version": "4e6fea39ae2fab8ccb843657f081d276513739a71787c060a007b65e3acbbbc1",
"due_date": "2026-10-20"
}'{
"data": {
"id": 1,
"customer_id": 1,
"amount_minor": 125000,
"paid_minor": 0,
"currency": "USD",
"due_date": "2026-10-20",
"status": "draft",
"external_reference": "INV-1042",
"description": "Website redesign",
"version": "aed5e5d947a49b4805d8389b618896872615e9e46f13536a11fbaad167d04b93"
}
}3. Kısmi ödeme kaydedin
curl https://api.remindcash.com/v1/receivables/1/payments \
--request POST \
--header "Authorization: Bearer $REMINDCASH_API_KEY" \
--header "Idempotency-Key: payment-inv-1042-0001" \
--header "Content-Type: application/json" \
--data '{ "amount": "250.00" }'{
"data": {
"id": 1,
"receivable_id": 1,
"amount_minor": 25000,
"remaining_after_minor": 100000,
"status_after": "draft",
"recorded_at": "2026-10-11T12:58:05.000000Z"
}
}4. Alacağı iptal edin
curl https://api.remindcash.com/v1/receivables/1/cancel \
--request POST \
--header "Authorization: Bearer $REMINDCASH_API_KEY" \
--header "Idempotency-Key: cancel-inv-1042-00001" \
--header "Content-Type: application/json" \
--data '{ "reason": "Customer cancelled the project." }'{
"data": {
"id": 1,
"status": "cancelled",
"paid_minor": 25000,
"version": "049a6c669d9211215001be5a324c3f5c9e057797ef4d89e21c8aa632578a87ae"
}
}Sık karşılaşılan hatalar
Bir idempotency anahtarını farklı bir gövdeyle yeniden kullanmak:
{
"error": {
"code": "conflict",
"message": "Request conflicts with current state."
},
"request_id": "13676e74-1d59-47c7-b7d0-b6e763cb8766"
}Eski bir expected_version ile güncelleme de 409 conflict döndürür. Eksik anahtar şunu döndürür:
{
"error": {
"code": "validation_failed",
"message": "Validation failed.",
"fields": {
"Idempotency-Key": [
"Provide a 16–128 character Idempotency-Key using letters, digits, dots, underscores, colons or hyphens."
]
}
},
"request_id": "249b739e-00f7-41ee-875a-266cfd4870bc"
}İzin verilmeyen bir durum değişikliği — örneğin bir taslağı duraklatmak:
{
"error": {
"code": "validation_failed",
"message": "Validation failed.",
"fields": {
"action": [
"This status change is not available for the receivable."
]
}
},
"request_id": "f9e414bd-5508-4c43-82bb-ce56ced55f77"
}