Use Case — Builders Merchants

Contractors buying materials need sub-trades.
Add a revenue stream with one API call.

Contractors buying materials need sub-trades. Add a revenue stream with one API call.

See how the API works →

Builders merchants know exactly what contractors are working on — and earn nothing from it

A contractor orders 40 sheets of plasterboard and 200 metres of first fix cable. You know they're fitting out a new build. You know they'll need an electrician to second fix, a plasterer to finish, and probably a decorator. That purchase data is a goldmine of sub-trade demand — but today it sits in your ERP and generates zero referral revenue. Your competitors are starting to notice this gap.

There is a simpler leak in the same building: the phone rings at the counter while you are serving the contractor in front of you. Aria answers the trade counter phone, takes the enquiry and the caller's number, and texts it through so nobody has to ring back.

Trigger a sub-trade referral from your checkout — earn a fee for every connection made

What the contact received — for real

pipeiq.co.uk ✓ Delivered
"Hi Mike, your trade account enquiry with Ridgeway Builders Merchants has been received. Your account manager will call you back."
Sent 07 Aug 2026, 16:46 BST · Confirmed delivered · Reply STOP to opt out

A message, sent and delivered live on the platform. TPS-screened before every send. ICO registered: ZC164080.

Material purchase detected. Sub-tradespeople alerted to the opportunity.

A trade-counter order suggests a sub-trade is needed; you POST the contractor's number and the site postcode. Only those two fields are required — who to reach and where the job is. Everything else is optional attribution.

POST https://app.pipeiq.co.uk/api/leads/register POST
curl -X POST https://app.pipeiq.co.uk/api/leads/register \
  -H "Content-Type: application/json" \
  -H "X-PipeIQ-Token: YOUR_API_KEY" \
  -d '{
    "mobile_number": "07700900000",
    "postcode": "OX1 1AA",
    "selected_trade": "electrical",
    "utm_source": "trade-counter",
    "utm_campaign": "sub-trade-referral"
  }'

A 201 Created response means the lead was registered and the welcome SMS was dispatched; the body returns the matched postcode sector. mobile_number accepts 07xxxxxxxxx or 447xxxxxxxxx. selected_trade takes plumbing, gas, electrical, roofing, building or all; it is not validated, so an unrecognised or omitted value is recorded as Other rather than rejected. Full field and response reference on the Partner API page.

Seven response codes, and what your integration should do with each

Lead distribution fails quietly when nobody handles the unhappy path. One of these you must never retry.

CodeMeaningWhat to do
201Lead registered, welcome SMS dispatchedStore the returned postcode sector against the lead.
400Missing or invalid fieldsFix the payload; do not retry unchanged.
401Invalid or missing API keyCheck the header. Never put the key in client-side code.
405Wrong HTTP methodPOST only. OPTIONS returns 200 for CORS preflight; everything else is rejected.
422Number previously opted outDo not retry. Mark the lead unreachable by SMS and route it another way.
429Daily call limit reached (100 per key per 24h)Back off and resume; email support to raise the cap. Sandbox keys share this status.
500Unexpected server errorRetry with backoff; contact support with your request id if it persists.

The 422 is the one worth designing around. It is not a transport failure, it is a lawful-basis answer: that person has told us not to text them. Retrying it is the easiest way to turn a compliance feature into a compliance incident.

What builders merchants see after the first month

11%
Average sub-trade acceptance rate on purchase-triggered referrals
380+
Sub-trade referrals generated per month from a single branch location
0
Additional headcount needed — the API handles dispatch, tracking, and confirmation