Outbound call requests
/api/v1/aramalar — POST
Section titled “/api/v1/aramalar — POST”Asks the assistant to call a customer for one of the company’s configured purposes. Idempotency-Key is required (otherwise 422 idempotency_key_required): resending with the same key never calls the customer twice. Pre-checks run on submit (do-not-call, İYS provider, quotas, open request, repeat protection, calling hours); İYS consent itself is checked right before dialling. A rejection still returns 201 with durum: "reddedildi" and a sebep. An unknown or inactive purpose gives 422 unknown_purpose, an invalid phone 422 invalid_phone, a plan limit 422 with a readable message.
- Authentication:
Authorization: Bearer rz_live_… - Scope:
calls:write - Plan feature: Data API + Outbound calls — if off, the endpoint answers 404
not_found - Idempotency-Key: required
Request body (application/json)
Section titled “Request body (application/json)”Fields marked * are required. Unknown fields are rejected with 422.
OutboundRequestIn
| Field | Type | Limits | Meaning |
|---|---|---|---|
amac * | string | min 2, max 40 | Purpose key (Console → Outbound calls → Purposes). |
konu * | string | min 10, max 1000 | What the assistant needs to know, 10–1000 characters. |
musteri * | zitena_core__outbound__requests__CustomerIn | Customer to call. | |
siparis_no | string | null | max 64 | Related order. |
sepet_id | string | null | max 200 | Related cart. |
tetikleyen * | TriggererIn | Who made the request (the daily quota is per person). | |
en_erken | string (date-time) | null | Earliest call time; also stored as an appointment. Istanbul time if no offset. |
zitena_core__outbound__requests__CustomerIn
| Field | Type | Limits | Meaning |
|---|---|---|---|
ad * | string | min 1, max 120 | |
telefon * | string | min 10, max 32 | |
eposta | string | null | max 200 |
TriggererIn
| Field | Type | Limits | Meaning |
|---|---|---|---|
ad * | string | min 1, max 120 | Name. |
eposta | string | null | max 200 | Email. |
Example
Section titled “Example”curl -s -X POST "$RZ_API/api/v1/aramalar" \ -H "Authorization: Bearer $RZ_KEY" -H "Content-Type: application/json" \ -H "Idempotency-Key: sikayet-560991-1" \ -d '{"amac": "sikayet", "konu": "Kargo hasarlı teslim edildi; müşteri iade mi değişim mi istediğini söyleyecek.", "musteri": {"ad": "Ayşe Yılmaz", "telefon": "05321234567", "eposta": "[email protected]"}, "siparis_no": "560991", "tetikleyen": {"ad": "Can Demir", "eposta": "[email protected]"}, "en_erken": "2026-09-28T10:00:00+03:00"}'Response 201
Section titled “Response 201”Schema: AramaYaniti
| Field | Type | Limits | Meaning |
|---|---|---|---|
arama_id * | string (uuid) | ||
durum * | string | ||
sebep | string | null | ||
planlanan_zaman | string (date-time) | null |
{ "arama_id": "0199…", "durum": "planlandi", "sebep": "en_erken", "planlanan_zaman": "2026-09-28T07:00:00Z"}Error statuses: 401, 403, 404, 413, 422, 429 — see Errors and limits.
/api/v1/aramalar/{arama_id} — GET
Section titled “/api/v1/aramalar/{arama_id} — GET”Status and result of a request. Scope: calls:read or calls:write. The response never contains the full phone number.
- Authentication:
Authorization: Bearer rz_live_… - Scope:
calls:readorcalls:write - Plan feature: Data API + Outbound calls — if off, the endpoint answers 404
not_found
Parameters
Section titled “Parameters”| Name | In | Type | Limits | Meaning |
|---|---|---|---|---|
arama_id * | path | string (uuid) | Outbound call request id. |
Example
Section titled “Example”curl -s "$RZ_API/api/v1/aramalar/0199…" -H "Authorization: Bearer $RZ_KEY"Response 200
Section titled “Response 200”{ "arama_id": "0199…", "amac": "sikayet", "durum": "tamamlandi", "sebep": null, "planlanan_zaman": null, "deneme": 1, "call_id": "0199…", "sonuc_kodu": "memnun", "sonuc": { "kaynak": "asistan", "memnuniyet": 5, "not": "…" }, "randevu": "2026-09-28T07:00:00Z", "randevu_kaynak": "tetikleyen", "created_at": "2026-09-27T12:00:00Z", "updated_at": "2026-09-28T07:04:10Z"}Error statuses: 401, 403, 404, 413, 422, 429 — see Errors and limits.
/api/v1/amaclar — GET
Section titled “/api/v1/amaclar — GET”Active call purposes (for purpose pickers in your integrations) and the company’s calling hours: saatler has 7 items, Monday to Sunday, Istanbul time; null means closed that day.
- Authentication:
Authorization: Bearer rz_live_… - Scope:
calls:write - Plan feature: Data API + Outbound calls — if off, the endpoint answers 404
not_found
Example
Section titled “Example”curl -s "$RZ_API/api/v1/amaclar" -H "Authorization: Bearer $RZ_KEY"Response 200
Section titled “Response 200”{ "items": [ { "anahtar": "sikayet", "ad": "Şikâyet takibi", "tur": "hizmet", "hedef": "Müşterinin memnuniyetini ölç" } ], "saatler": [ { "bas": "09:00", "bit": "20:00" }, { "bas": "09:00", "bit": "20:00" }, { "bas": "09:00", "bit": "20:00" }, { "bas": "09:00", "bit": "20:00" }, { "bas": "09:00", "bit": "20:00" }, { "bas": "10:00", "bit": "18:00" }, null ]}Error statuses: 401, 403, 404, 413, 422, 429 — see Errors and limits.
© 2026 Erusoft