Adsora blog / Ping-post & delivery

A timed-out post may still have been accepted.

When the connection drops before a response arrives, the seller does not know whether the buyer accepted the lead. Resolve that uncertainty before sending another purchase request.

Separate the clocks in the connection

A request timeout limits how long one system waits for a response. A ping-validity window governs how long a later post may use an earlier ping. A delivery-hours rule determines when the buyer is open. These settings can all affect the same lead, but changing one will not necessarily fix another.

Lead Prosper’s error documentation distinguishes a failed connection, an invalid ping ID and a post sent outside the allowed ping window. Treat those as separate investigation paths. Read the current campaign and platform requirements before choosing a timeout; a duration from another vendor’s integration is not a universal standard.

Sources: Lead Prosper: error messages.

Create an unknown state for an unanswered post

Suppose the buyer accepts a post and creates a transaction, then the response is lost. If the seller immediately posts again under a new ID, the buyer may create another transaction or reject the second request as a duplicate. Either result can leave the two systems reporting different counts.

Preserve the original source ID, request reference and send time. Use the buyer’s supported status lookup or reconciliation process to establish what happened. If the platform has no lookup, agree on an operational exception queue and a named owner. Do not silently turn an unanswered request into a confirmed rejection.

Agree on duplicate-safe retry behavior

HTTP POST is not inherently idempotent. The HTTP standard cautions against automatically retrying a non-idempotent request unless the client knows the operation is safe to repeat or knows the original was not applied. A lead-purchase integration therefore needs explicit behavior for repeats.

Ask whether the receiver supports an idempotency key or another stable transaction identifier. Define its scope, retention period and expected repeat response. A field called lead_id is not enough evidence that duplicate purchases are prevented. Test the same request twice and verify both the commercial transaction count and the CRM count.

Sources: IETF RFC 9110, section 9.2.2: idempotent methods.

Test recovery before an outage

Test caseEvidence to inspect
Response delayed beyond sender deadlineBuyer status, seller unknown state and transaction reference
Same post retried with the same identityOne agreed purchase outcome and no extra CRM record
Post after the ping is no longer validExpected rejection and a recorded reason
Buyer temporarily unavailableBounded recovery behavior and an owner for unresolved records
Malformed responseError visibility instead of a guessed acceptance

Use a test receiver or the platform’s approved test mode. Never create outage tests by disrupting a live buyer endpoint. Keep retry limits and any delay schedule in the agreed configuration so a temporary failure cannot cause unlimited repeat traffic.

Close the exception before closing the invoice

Reconcile uncertain requests against final buyer transactions using stable IDs. Record whether each became accepted, rejected or remains unresolved. Preserve the history when correcting a result so finance can explain a change between yesterday’s report and the invoice.

Send the integration owner a compact incident record: source ID, campaign, request time, observed failure and the final buyer outcome when known. Keep credentials and homeowner data out of screenshots and public support threads. Use the incident to add one missing test or clarify one recovery rule.

Your next lead source

Bring your buying requirements.

Share your trades, markets, intake target and receiving setup so Adsora can review the program with you.

Discuss your lead program