All updates

Poll-only flows: consume your EDI without hosting a webhook

Adrian Duyzer

Adrian Duyzer

feature

When you integrate inbound EDI with Tediware, we translate your partner’s documents to JSON and push the result to a webhook you control. That’s the right default. The data arrives the moment it’s ready, and you never write a polling loop.

However, this assumes that your system can accept an inbound HTTPS request. This isn’t true of very system, like ones that sit behind a firewall, live on a local network, or when security just won’t approve opening a port to the outside world. For those customers, “stand up a webhook endpoint” is a non-starter.

Now you don’t have to.

Polling configuration

What changed

Each partner has a delivery method, set on its Configuration card: Webhooks or Polling. Set a partner to Polling and Tediware builds none of its webhooks. Instead, your system pulls processing outcomes from a feed on its own schedule.

The feed is a single endpoint:

curl -H "Authorization: Key <your-key>" \
  "https://tediware.com/platform/feed_entries?partner=ACME"

It’s an append-only stream of every deliverable document and error across your partners, oldest first. Each entry looks like this:

{
  "id": "8f1d3c2a-...",
  "direction": "inbound",
  "status": "success",
  "createdAt": "2026-06-08T14:22:33.482190Z",
  "partnerKey": "ACME",
  "traceGuid": "5ab72145-4a4b-40f6-95de-e2579f163f79",
  "resultId": "4c2021f8-8310-4628-80f9-b578d4d68e11",
  "detail": { "...": "..." }
}

Notice what isn’t there: the document itself. A feed entry carries identifiers (resultId, traceGuid) and the plaintext fields you’d want to filter on (partnerKey, direction, status), never the EDI or the translated JSON. You take the resultId and pull the full result and its artifacts through the same Results API you’d use after a webhook. Polling and webhooks deliver the exact same outcomes; the only difference is who initiates the request. You can narrow the feed with partner, direction, status, and since, and page size runs up to 100.

The feed is always on

This is pretty cool: the feed is populated for every partner, whether it’s on webhooks or polling. So a webhook partner can also be polled, as a reconciliation pass or a backstop in case you ever miss a delivery. Push and poll share one feed underneath, so you can run both against the same partner.

Getting the exact call

For any partner set to Polling, there’s a poll card on the partner page and on each flow page. Each one has a ready-to-copy curl command with the partner key already filled in.

Where to read more

The Polling page in the API reference at https://tediware.com/resources/api-docs/polling covers the query parameters, cursor pagination, the safety lag, and rate limits, with the full request and response contract. If your platform can’t host a webhook and you’d like help wiring this up, get in touch.