Bəzi alətlər dərhal (sinxron) cavab verir, digərləri isə tapşırıq başladır və onu arxa planda tamamlayır. Bu səhifə ikinci hal haqqındadır: tapşırığın bitdiyini necə bilmək və nəticəni necə götürmək.
Yaratma cavabı
Asinxron alət 202 ilə cavab verir:
{ "jobId": "...", "status": "...", "state": "pending", "requestId": "req_..." }
state sahəsi bütün alətlər üçün eynidir - ona əsaslanın:
| Dəyər | Mənası |
|---|---|
pending | qəbul edilib, hələ başlamayıb |
running | icra olunur |
action_required | sizi gözləyir (hesabatın yoxlanması: çıxarılmış məlumatları təsdiqləyin) |
completed | hazırdır |
partial | qismən hazırdır: bəzi fayllar alınmayıb (kontent paketində ola bilər) |
failed | alınmadı |
status alətin xam statusudur (DONE, processing, need_confirm və s.). O, uyğunluq üçün saxlanılır; yeni inteqrasiyaları state üzərində qurun.
Tapşırığın identifikatoru
İstənilən alətin hər tapşırıq cavabında jobId sahəsi olur: yaradılarkən, statusda və təsdiqdən sonra. Statusu onunla sorğulayın.
1.6.0 versiyasına qədər alətlər identifikatoru müxtəlif adlarla qaytarırdı (id, _id, contentGenJobId). Bu sahələr mövcud inteqrasiyalar üçün hələ də qaytarılır, lakin köhnəlmiş sayılır: jobId istifadə edin.
Status sorğulaması
Status GET /<tool path>/jobs/{id} ünvanındadır:
| Alət | Status |
|---|---|
| Tam qiymətləndirmə hesabatı | GET /valuation/report/jobs/{id} |
| Hesabatın yoxlanması | GET /valuation/review/jobs/{id} |
| Kontent paketi | GET /content/generate/jobs/{id} |
| Mətnlər | GET /text/generate/jobs/{id} |
| Video | GET /video/create/jobs/{id} |
| Avatar | GET /avatar/video/jobs/{id} |
| Foto | GET /photo/enhance/jobs/{id} |
| Planlaşdırma | GET /floorplan/create/jobs/{id} |
GET /pdf/create/jobs/{id} |
- Status sorğulaması pulsuzdur və API çağırışı kimi sayılmır, lakin sorğu limitinə daxil olur. Hər 3-5 saniyədən bir yoxlamaq kifayətdir.
- Tapşırığı yalnız onu yaradan açarın hesabı görə bilər. Başqasının və ya naməlum identifikator eyni
404qaytarır. - Agentə bağlı agentlik açarı yalnız özünün başlatdığı tapşırıqları görür; bütün agentlik üçün olan açar agentliyin bütün tapşırıqlarını görür.
- Tapşırığı yaradıldıqdan sonra 7 gün ərzində sorğulamaq olar. Bundan sonra
GET .../jobs/{id}404qaytarır, kontent paketi, mətn və video fayllarını isə artıq API vasitəsilə yükləmək mümkün olmur. - Status cavabında eyni
statusvəstate, nəticə hazır olduqda isə alətin nəticəsi olur. Uğursuz kontent paketi, mətn və ya video tapşırığındaerror, foto tapşırığındametadata.errorolur - səbəb ümumi mətn kimi.
Planlaşdırma və hesabatın yoxlanması sənədi dərhal emal edir: 202 cavabında artıq yekun vəziyyət olur (completed, failed və ya action_required), ona görə status sorğulaması məcburi deyil.
Tapşırıq sizi gözlədikdə
Sənədi oxuduqdan sonra hesabatın yoxlanması (Qiymətləndirmə) action_required vəziyyətində dayanır və çıxarılmış məlumatları extracted sahəsində qaytarır. Onları yoxlayın və təsdiqləyin:
curl -X POST https://developers.grem.capital/api/v1/valuation/review/jobs/JOB_ID/confirm \
-H "Authorization: Bearer gsk_live_xxx" \
-H "Content-Type: application/json" \
-d '{}'
Boş gövdə «hər şey düzgündür» deməkdir. Dəyəri düzəltmək üçün extracted daxilində yalnız dəyişdirilmiş sahələri cavabdakı adlarla göndərin (iç-içə subject obyekti bir səviyyə dərinliyində birləşdirilir). Bundan sonra tapşırıq running vəziyyətinə keçir və nəticə adi qaydada gəlir.
Status sorğulaması əvəzinə vebhuklar
Hər asinxron alət <tool>.completed və ya <tool>.failed hadisəsini göndərir (kontent paketi həmçinin content.partial göndərir). Abunə olmaq və imzanı yoxlamaq: Vebhuklar.
- Hadisə adətən tapşırıq bitdikdən sonra bir dəqiqə ərzində gəlir.
- Tapşırıq yalnız onun hadisəsinə abunə tapşırıq yaradılarkən artıq mövcud olduqda izlənilir. Abunəni tapşırığı başlatdıqdan sonra deyil, əvvəlcədən yaradın.
- Tapşırıq 30 dəqiqə ərzində bitməyibsə,
reason: "timeout"ilə.failedgəlir. Tapşırığın özü yenə də bitə bilər - status sorğulaması onun real vəziyyətini göstərir.
Hazır fayllar
Fayllar eyni açarla GET /artifacts/{path} vasitəsilə yüklənir (tools:artifacts icazəsi). Pulsuzdur, Range dəstəklənir. {path} aşağıdakılardan biridir:
| Nə | Yol |
|---|---|
| Kontent paketi, mətn və ya video faylı | v1/ai/assistant/announcement/jobs/{jobId}/artifacts/{artifactId}/download |
| Avatarlı video | v1/ai/assistant/avatar/jobs/{jobId}/artifacts/{artifactId}/download |
| PDF təqdimat | v1/ai/pdf-generator/files/{id}/download |
| Yaxşılaşdırılmış foto | v1/ai/photo-enhancement/jobs/{jobId}/download/{variant} |
| Tam qiymətləndirmə hesabatının PDF-i | v1/ai/appraisal/reports/{id}/pdf |
| İcarə qiymətləndirməsinin PDF-i | v1/ai/appraisal/rent/{id}/pdf |
| Yoxlama hesabatı | v1/ai/appraisal/reviews/{id}/report.pdf və ya report.docx |
| Planlaşdırma hesabatı | v1/ai/floor-plan/jobs/{id}/report.pdf |
| Flayer faylı | v1/ai/flyer/file/{name} |
| Video üçün trek (önizləmə) | v1/ai/video-generator/music/{trackId} |
| Adi fayl | alətin cavabındakı /files/... yolu |
Kontent paketi fayllarının identifikatorları tapşırıq statusunun artifacts sahəsindədir. Kontent paketi, mətn və video faylları yalnız eyni hesabın API vasitəsilə yaratdığı tapşırıqlar üçün, 7 gün ərzində əlçatandır.
curl -L -o video.mp4 \
"https://developers.grem.capital/api/v1/artifacts/v1/ai/assistant/announcement/jobs/JOB_ID/artifacts/ARTIFACT_ID/download" \
-H "Authorization: Bearer gsk_live_xxx"
PDF təqdimatın həmçinin link sahəsi var - sənədin birbaşa ünvanı.
Əlaqəli
- API vasitəsilə alətlər - hansı alətlər sinxron, hansılar asinxrondur.
- Vebhuklar - nəticələri status sorğulaması olmadan alın.
- Fayllar - obyektlər və alətlər üçün şəkillərin yüklənməsi.