Docs Rivya AI

Ralat dan Had API

Kendalikan kod ralat awam Rivya API, nilai status HTTP, had kadar, konflik idempotency, dan keputusan retry.

Terakhir disemak pada 2026/05/11

Rivya API mengembalikan kod ralat awam yang stabil dalam JSON. Anggap nilai error.code sebagai kontrak integrasi.

Bentuk Ralat

{
  "error": {
    "code": "api_key_missing",
    "message": "A valid Bearer API key is required.",
    "requestId": "req_..."
  }
}

Simpan requestId dalam log anda apabila meminta sokongan Rivya menyiasat permintaan API yang gagal.

Kod Ralat Stabil

CodeStatus HTTPMaksudTindakan disarankan
public_api_disabled503Panggilan Public API dilumpuhkan sementara.Cuba semula kemudian atau gunakan Studio secara manual.
api_key_missing401Permintaan tidak menyertakan Bearer API key.Hantar Authorization: Bearer rvya_sk_....
api_key_invalid401Key tidak dapat disahkan.Semak key dan rotate jika perlu.
api_key_revoked401Key sudah dibatalkan dalam Settings.Cipta key baharu.
api_key_expired401Key tidak lagi sah.Cipta key baharu.
api_scope_denied403Key tidak mempunyai scope yang diperlukan.Cipta key dengan scope yang diperlukan.
rate_limited429Terlalu banyak permintaan dalam window semasa.Perlahan dan cuba semula kemudian.
validation_failed400Body, model, prompt, atau params tidak sah.Bandingkan body anda dengan rujukan model.
not_found404Tugasan yang diminta tidak wujud atau bukan milik akaun.Semak public task ID dan boundary akaun.
webhook_url_rejected400URL endpoint webhook tidak dibenarkan.Gunakan URL HTTPS awam tanpa credentials, fragments, localhost, atau alamat rangkaian peribadi.
chat_model_not_supported400Model yang dipilih tidak tersedia untuk Chat API.Baca /api/v1/models dan pilih model chat yang tersedia.
chat_session_conflict409Sesi chat tidak boleh digunakan untuk permintaan ini.Gunakan sesi ciptaan API yang dimiliki akaun dan model yang sama.
chat_attachment_not_supported400Lampiran chat tidak disokong.Muat naik imej melalui Files API dan hantar file_id-nya.
idempotency_conflict409Idempotency key yang sama digunakan semula dengan input berbeza.Gunakan key baharu atau hantar semula body yang sama tepat.
insufficient_credits402Akaun tidak mempunyai kredit yang mencukupi.Tambah kredit atau pilih permintaan berkos lebih rendah.
internal_error500Permintaan tidak dapat diselesaikan.Cuba semula dengan idempotency atau hubungi sokongan bersama requestId.

Had Kadar

Rivya menggunakan had kadar Public API peringkat aplikasi bagi setiap API key. Had production lalai dikonfigurasi oleh PUBLIC_API_RATE_LIMIT_PER_MINUTE.

Apabila anda menerima rate_limited, gunakan exponential backoff. Jangan retry dalam loop yang rapat.

Retry Idempotent

Hantar Idempotency-Key dengan setiap permintaan production POST /api/v1/generations dan POST /api/v1/chat/completions.

Corak disarankan:

  • jana key unik bagi setiap permintaan generation logik
  • gunakan semula key yang sama hanya apabila retry body yang sama
  • simpan public task ID yang dikembalikan bersama rekod kerja anda sendiri
  • untuk Chat API, simpan session_id yang dikembalikan apabila anda mahu meneruskan perbualan yang sama
  • jangan guna semula satu key untuk model, prompt, atau params yang berbeza

Jika rangkaian gagal selepas submission, retry dengan body yang sama dan Idempotency-Key yang sama. Rivya boleh mengembalikan respons awam tersimpan, bukan mencipta tugasan pendua.

Keputusan Retry

Retry ini dengan backoff:

  • public_api_disabled
  • rate_limited
  • internal_error
  • kegagalan rangkaian sementara

Jangan retry ini tanpa mengubah input:

  • api_key_invalid
  • api_key_revoked
  • api_scope_denied
  • validation_failed
  • webhook_url_rejected
  • chat_model_not_supported
  • chat_session_conflict
  • chat_attachment_not_supported
  • idempotency_conflict
  • insufficient_credits

Halaman Berkaitan

Jadual kandungan