İçeriğe geç

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": false bulunur; webUrl Ayarlar > 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 sonra QTE-, 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).

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.

Terminal window
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 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.

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.

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