CSVJetty

Docs

Home
Dashboard

Concepts

Delivery modes

Receive data

Concepts

Delivery modes

Choose between privacy-first browser callback delivery and signed server-to-server webhook delivery for CSVJetty imports.

View as Markdown

On this page

Two delivery modesCallback deliveryWebhook deliveryWhich should you choose?A common payload model

CSVJetty supports two ways to hand validated rows to your application. Choose callback delivery when the browser should hand records directly to your code, or webhook delivery when CSVJetty should send them server-to-server.

Two delivery modes

CallbackWebhook
Where rows goYour onData handler in the browserCSVJetty sends rows to your HTTPS endpoint
CSVJetty backend handles row dataNoYes, temporarily for delivery and retries
Best forMost React apps and privacy-sensitive flowsServer-to-server processing and durable delivery
AuthenticationYour app authenticates its own save APIVerify the CSVJetty HMAC signature
Retry modelYour callback can retry through your app flowSaved webhook batches can be retried

Callback delivery

With callback delivery, CSVJetty passes each import batch to your onData handler. The normal production pattern is to send that payload from your React application to an authenticated API route you control.

Privacy-first path

With callback delivery, imported row data does not need to pass through or be stored on CSVJetty's backend. The original CSV file is not stored by CSVJetty.

See Callback delivery for the implementation pattern.

Webhook delivery

With webhook delivery, CSVJetty sends import batches directly to the HTTPS endpoint saved on the importer. Requests are signed, include an idempotency key, and support row-level rejection responses.

Webhook payloads are retained temporarily when needed for reliable delivery and retries; successfully delivered payloads are removed, and failed payloads expire after the retry window.

See Webhook delivery for signature verification and response handling.

Which should you choose?

A common payload model

Both modes deliver the same core import information: an import ID, file name, normalized rows, original row numbers, skipped-row count, uploaded headers, and the final column mapping. Webhooks additionally include batch metadata.

See the complete Import payload reference.