Deneme alanı
Bir test anahtarı (qk_test_...) bir test entegrasyonuna aittir. Çağrıları canlı anahtarla aynı kimlik doğrulama, kapsam, IP izin listesi ve hız sınırı kurallarına uyar, oluşturma aynı alan doğrulamasından geçer; ama her şey şirketinize ayrılmış bir deneme alanına düşer:
- Yanıtlarda
"livemode": falsebulunur;webUrlAyarlar > Entegrasyonlar sayfasını gösterir (deneme talebinin kendi sayfası yoktur). - Deneme talebi pazar yerine düşmez, kimseye bildirim göndermez, hiçbir panoda ya da ücrette sayılmaz ve 30 gün sonra silinir.
- Deneme kayıtları canlı biçimde referans numaraları taşır (
REQ-, talep verildikten sonraQTE-,DEAL-,SHPT-); hiçbir zaman canlı bir kaydın numarasını taşımaz. - Canlı ve deneme alanı birbirini görmez: canlı anahtar deneme talebini, test anahtarı canlı talebi okuyamaz (
404).
Talebi ilerletme
Bölüm başlığı “Talebi ilerletme”POST /sandbox/shipment-requests/{id}/advance, deneme talebini gerçek bir talebin yaşadığı adımlarda bir adım ilerletir. requests:write kapsamlı bir test anahtarı ister; canlı anahtar 403 (Integration.SandboxOnly) alır ve gerçek hiçbir şey ilerlemez.
curl "https://app.quatlasglobal.com/api/integrations/v1/sandbox/shipment-requests/<talep-kimliği>/advance" \ -H "Authorization: Bearer $QUATLAS_KEY" \ -H "Content-Type: application/json" \ -d '{ "step": "Published" }'| Adım | Hangi durumdan | Ne olur |
|---|---|---|
Published |
Draft | status Published olur, publishedAt dolar. "publish": true ile yapılan oluşturma bunu zaten yapmıştır. |
BidReceived |
Published | bidCount bir artar. İstediğiniz kadar tekrarlayın. |
Awarded |
Published | status Awarded olur, awardedCarrierName “Sandbox Carrier” olur, dealId dolar ve operationStatus InProgress olur. bidCount en az 1’dir. |
Delivered |
Awarded | operationStatus Delivered olur, deliveredAt dolar. |
Yanıt talebin durumudur; GET /shipment-requests/{id} ile aynı gövde. Yanlış durumdan istenen adım 409 (Integration.SandboxTransition) alır; neden detail alanındadır.
Deneme anlaşmaları
Bölüm başlığı “Deneme anlaşmaları”Deneme talebi Awarded olunca anlaşma rotaları dealId için sabit örnek veriyle yanıt verir; okuma tarafını da kurabilirsiniz:
| Rota | Deneme alanı yanıtı |
|---|---|
GET /deals/{id}, GET /deals?... |
Tarafınız Shipper, 1000.00 EUR, karşı taraf “Sandbox Carrier”, aşama Live (Delivered sonrasında Completed). |
GET /deals/{id}/tracking |
Ödülde Loaded ve Departed, Delivered sonrasında Delivered; planlanan ve güncel teslim ödülden 3 gün sonra. |
GET /deals/{id}/costs |
Ek maliyet yok; toplamlar sözleşme tutarı, 1000.00 EUR; additionalTotal ve declaredTotal 0.00. |
GET /deals/{id}/documents |
Test anahtarının anlaşmaya yüklediği belgelerin kayıtları. |
POST /deals/{id}/documents |
Dosya canlı yüklemedeki gibi denetlenir ve taranır, sonra yalnız kaydı tutulur: dosya hiç saklanmaz. |
GET /documents/{id}/download |
409 (Integration.SandboxFileNotKept): deneme alanı dosya saklamaz. |
Güncelleme ve iptal
Bölüm başlığı “Güncelleme ve iptal”PATCH /shipment-requests/{id} ve POST /shipment-requests/{id}/cancel canlı kurallara uyar: ilan alanları yalnız talep Published iken değişir, alan değerleri canlıdaki gibi denetlenir, metadata, sipariş ve masraf merkezi her durumda değişir, Awarded talep deneme dealId değeriyle 409 (Integration.RequestAwarded) döner. Deneme alanı ilanı saklamaz; gönderdiğiniz her ilan alanı değişmiş sayılır. Bkz. Güncelleme ve iptal.
Deneme alanı webhook’ları
Bölüm başlığı “Deneme alanı webhook’ları”Test entegrasyonunun da webhook abonelikleri olabilir. Her adım temsil ettiği olayı "livemode": false ile, talebin sahibi test entegrasyonunun etkin aboneliklerine gönderir; başka kimseye değil:
| Adım | Olaylar |
|---|---|
"publish": true ile oluşturma ya da Published |
request.published |
BidReceived |
request.bid_received |
Awarded |
request.awarded, ardından deal.live |
Delivered |
shipment.milestone (Delivered), ardından shipment.delivered |
| Güncelleme | request.updated |
| İptal | request.cancelled |
| Belge yükleme | document.uploaded |
