Şəbəkə bəzən sorğunu kəsir və onun çatıb-çatmadığını bilmək olmur. POST sorğusunu işi iki dəfə icra etmədən (və iki dəfə ödəmədən) təkrarlamaq üçün Idempotency-Key başlığını göndərin - hər məntiqi əməliyyat üçün unikal dəyər. UUID yaxşı uyğun gəlir.
curl -X POST https://developers.grem.capital/api/v1/valuation/express \
-H "Authorization: Bearer gsk_live_xxx" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 3f1c8a90-1e2b-4c77-9a10-2b6d0f9e4a11" \
-d '{"propertyCategory":"apartment","addressText":"Torstraße 12, Berlin","totalArea":64}'
Necə işləyir
- Açarla ilk sorğu adi qaydada icra olunur; onun uğurlu cavabı saxlanılır.
- Eyni açarla təkrar sorğu saxlanılmış cavabı qaytarır: alət yenidən işə düşmür və yenidən ödəniş tutulmur.
- İlk sorğu hələ icra olunarkən eyni açarla ikinci sorğu
title: idempotency_conflictilə409alır. Gözləyin və eyni açarla təkrarlayın. - İlk sorğu uğursuz olubsa, açar azad edilir - onunla təkrar sorğu yenidən icra olunur. Xidmətə heç çatmamış sorğu (bağlantı rədd edilib) da açarı azad edir.
- Alətin, obyekt yaradılmasının və ya lid yaradılmasının taymautundan sonra (
502 provider_error) açar 15 dəqiqə rezervdə qalır ki, təkrar sorğu işi iki dəfə icra edə bilməsin. Təkrarlamazdan əvvəl nəticəni yoxlayın: alətlər üçünGET /works, yaratma əməliyyatları üçünGET /objectsvəGET /leads. Fotoların yaxşılaşdırılması, sayt və qaralama nəticələriGET /worksdaxilində saxlanılmır - onları kabinetdə və ya obyektləriniz arasında yoxlayın. 15 dəqiqədən sonra təkrar sorğu işi (və onun ödənişini) yenidən icra edir. - Ekspress qiymətləndirmə istisnadır: taymautdan sonra açar azad edilir - onu dərhal eyni açarla təkrarlayın, hazır qiymətləndirmə pulsuz qaytarılır: nə qiymətləndirmə, nə də API çağırışı üçün yenidən ödəniş tutulmur.
524o deməkdir ki, API-nin qarşısındakı şəbəkə ~100 saniyə ərzində başlamayan cavabı kəsib; iş davam edir.524və504-dən sonra açar azad edilmir: eyni açarla təkrarlayın - hazır nəticə ikinci ödəniş olmadan qayıdır, ilk çağırış icra olunarkən isə409alırsınız. Bunun əvəzinə ekspress və icarə qiymətləndirmələriniPrefer: respond-asyncilə başladın: tapşırıq dərhal qayıdır.Prefer: respond-asyncilə başladılmış planlaşdırma və ya hesabatın yoxlanmasıcode: interruptediləfailedvəziyyətində bitə bilər (xidmətin yenidən başladılması tapşırığı kəsib). Heç nə üçün ödəniş tutulmur və açar azad edilir: eyni sorğunu eyni açarla yenidən göndərin - fayllar ikinci ödəniş olmadan yenidən yüklənir. SDK bunu özü edir.- Açar 24 saat yadda saxlanılır və API açarınıza və əməliyyata - metod və faktiki yola - aiddir: müxtəlif API açarları altında eyni dəyərlər, başqa alətdə eyni açar və ya
POST /objects/propertyvəPOST /objects/rentalfərqli sorğulardır.
Təkrar sorğunun gövdəsi ilk sorğu ilə müqayisə edilmir. Artıq istifadə olunmuş açarla başqa sorğu göndərsəniz, birinci sorğunun cavabını alacaqsınız. Hər yeni əməliyyat üçün yeni açar istifadə edin.
Harada tətbiq olunur
| Sorğu | |
|---|---|
POST /valuation/express və bütün alətlər (POST /valuation/report, POST /content/generate, POST /flyer/create və s.) | bəli |
POST /objects/{kind} - obyekt yaratmaq | bəli |
POST /leads - lid yaratmaq | bəli |
POST /match/leads/{id}/events - Swipe Match hadisəsi | bəli; açar ^[A-Za-z0-9_.:-]{8,128}$ ifadəsinə uyğun olmalıdır, əks halda nəzərə alınmır |
POST /uploads, POST /chat/messages, POST /valuation/review/jobs/{id}/confirm | xeyr (çat bunun üçün clientMessageId istifadə edir) |
SDK daxilində açar metodun son arqumentidir.
Əlaqəli
- Xətalar - nəyi və nə vaxt təkrarlamaq lazımdır.
- Limitlər və ödəniş - nə üçün ödəniş tutulur.