Skip to main content
If your system of record is homegrown, or one Elastly cannot reach from the outside, you connect it yourself: your code calls Elastly, not the other way around. It is plain REST, so you build a connector in any language with the SDK for that language, or with raw HTTP. A connector does two things. It feeds Elastly your data (products, customers, quotes, orders) so it can price, and it applies the prices you approve back into your system. There are two ways to build one. Start with the connector framework: implement a few functions that read your data, and the SDK runs the whole sync, with paging, checkpoints, retries, and write-back leases handled for you. It ships in every language. Reach for the raw loop when you want to drive each step yourself.

The connector framework

Recommended. Implement your readers, the runtime runs the sync. TypeScript, Python, PHP, Java, Go.

Feeding data in

The raw loop: open a batch, stage your records, commit, poll until it drains.

Applying prices

The raw loop: claim approved prices, write them into your system, acknowledge.

API reference

The Ingest and Write-back endpoints, with a live playground.

The loop

The outcomes stage is the one teams skip, and skipping it is the expensive mistake. Without quotes and orders flowing back, Elastly serves prices but never learns whether they won, and your margins stay frozen at day one, silently.

Before you start

  1. Connect Custom ERP or Custom Storefront under Integrations. Custom ERP accepts quotes; Custom Storefront is catalog and orders only.
  2. Create a Connector API key under Settings → API keys. Ingest and write-backs need this scope; an ERP key will not work.

Set up the client

The connector framework sets up its own client, so this is for the raw loop. On TypeScript the whole surface hangs off one Elastly; the generated SDKs expose an IngestApi and a WritebacksApi.

Prove the loop is closed

After your first full sync, check three things in the dashboard:
  1. Products shows your catalog with costs.
  2. Integrations shows the sync run with the counts you expect.
  3. After a few closed quotes flow in, the pricing dashboards start attributing wins and losses to prices. That is the learning loop working.
If prices serve but the dashboards never move, the pricingDecisionId round-trip is broken. That is always the first thing to check.