NowToPrint — Global print marketplaceYardım

Örnekler

Canli Partner RFQ handling ve webhook dogrulamasi icin referans snippetler.

Geliştiricidocs2 dk okumaİncelendi 21 Eki 2026

Güncel RFQ oluşturma ve kuruluşa ait tekil RFQ/teklif okuma sözleşmesi /api/v1/marketplace/openapi.json adresinde üretilir. Eski /docs/api/openapi.yaml yayını farklı bir referanstır; iki belgenin eşit olduğunu varsaymayın. Ortam adresini ve etkin yetkileri onboarding sırasında doğrulayın.

Bu snippet'leri başlangıç noktası olarak kullanın, ancak payload ve response handling'i her zaman /docs/api/openapi.yaml adresindeki yayınlanmış sözleşmeye göre doğrulayın.


cURL: disabled estimate sinirini kontrol et

curl -X POST https://api.nowtoprint.com/api/v1/estimate \
  -H "Authorization: Bearer ntp_partner_v2_<issued-key-id>_<secret>" \
  -H "Content-Type: application/json" \
  -d '{
    "category": "brochure",
    "quantity": 500,
    "specifications": {
      "pageCount": 16
    }
  }'

Node.js: canlı RFQ oluşturma

const response = await fetch('https://api.nowtoprint.com/api/v1/rfq', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.NOWTOPRINT_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    catalogProductUid: 'ntp:book:a5:softcover:books',
    title: 'Spring book batch',
    category: 'book',
    quantity: 2500,
    deliveryCity: 'Istanbul',
  }),
});

if (!response.ok) {
  const problem = await response.json();
  throw new Error(`RFQ creation failed: ${problem.code ?? response.status}`);
}

const created = await response.json();
console.log(created.id, created.trackingCode);

RFQ, quote ve order readiness

RFQ create, organizasyona ait RFQ detail ve o RFQ'nun supplier quote okumaları canlıdır. Teklif kabulü ve order launch-disabled kalır. İstemciyi yalnız yayımlanmış sözleşmeden üretin; 422, 429 ve katalog-bağlamı 503 yanıtlarını tipli RFQ sonuçları olarak işleyin.


Node.js: webhook imza doğrulama

// Durable Marketplace delivery only: use a Standard Webhooks-compatible verifier.
// Preserve rawBody bytes and read webhook-id, webhook-timestamp, webhook-signature.
// Verify HMAC over `${id}.${timestamp}.${rawBody}`, check timestamp freshness,
// and compare decoded signatures with a constant-time comparison before parsing.

JSON parse etmeden önce raw request body ile doğrulama yapın. Webhook event delivery pilot/rollout kontrollü kalır; quote veya order event'lerinin public-current production enablement olduğunu varsaymayın.


Production notları

  • anahtarları ve webhook secret'larını managed server-side secrets içinde tutun
  • doğrudan live credentials kullanan client-side entegrasyonlara güvenmeyin
  • credentials yerine request ID'leri loglayın
  • webhook consumer'larını onaylı pilotlar için idempotent worker olarak tasarlayın
  • API key'leri Master Data data-product GA access switch'i olarak yorumlamayın

Bu yorumlar bağımsız bir doğrulayıcı uygulaması değildir. Tam imza biçimleri için Webhook rehberini kullanın; XJMF ve /api/v1/webhooks yardımcı teslimi farklı imza sözleşmelerine sahiptir.

RFQ örneğindeki catalogProductUid ve kategoriyi onaylı ortamın yayımlanmış ürününden alın; örnek ID production kaydı kanıtı değildir. Ham HTTP sonucunu ve Content-Type sözleşmesini doğrulamadan başarı varsaymayın.

Bu makale yardımcı oldu mu?

İlgili makaleler

Yapay Zekaya Sor