Skip to content

Outbound call requests

POST/api/v1/aramalar

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

Fields marked * are required. Unknown fields are rejected with 422.

OutboundRequestIn

FieldTypeLimitsMeaning
amac *stringmin 2, max 40Purpose key (Console → Outbound calls → Purposes).
konu *stringmin 10, max 1000What the assistant needs to know, 10–1000 characters.
musteri *zitena_core__outbound__requests__CustomerInCustomer to call.
siparis_nostring | nullmax 64Related order.
sepet_idstring | nullmax 200Related cart.
tetikleyen *TriggererInWho made the request (the daily quota is per person).
en_erkenstring (date-time) | nullEarliest call time; also stored as an appointment. Istanbul time if no offset.

zitena_core__outbound__requests__CustomerIn

FieldTypeLimitsMeaning
ad *stringmin 1, max 120
telefon *stringmin 10, max 32
epostastring | nullmax 200

TriggererIn

FieldTypeLimitsMeaning
ad *stringmin 1, max 120Name.
epostastring | nullmax 200Email.
Terminal window
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"}'

Schema: AramaYaniti

FieldTypeLimitsMeaning
arama_id *string (uuid)
durum *string
sebepstring | null
planlanan_zamanstring (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.


GET/api/v1/aramalar/{arama_id}

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:read or calls:write
  • Plan feature: Data API + Outbound calls — if off, the endpoint answers 404 not_found
NameInTypeLimitsMeaning
arama_id *pathstring (uuid)Outbound call request id.
Terminal window
curl -s "$RZ_API/api/v1/aramalar/0199…" -H "Authorization: Bearer $RZ_KEY"
{
"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.


GET/api/v1/amaclar

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
Terminal window
curl -s "$RZ_API/api/v1/amaclar" -H "Authorization: Bearer $RZ_KEY"
{
"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.