How do I track VoIP phone and headset shipments to customers?
Watch the outbound number for each phone or headset kit with the account or kit id in metadata. When the webhook says delivered, deliveredAt gives the moment to send setup instructions or start a trial clock. Watch the return label the same way, so a trial that ends with a box in transit isn't billed as kept. Pro is $4.99/mo for 1,000 unique numbers, then $0.015 each, with no daily limit. A free key tracks 5 numbers a day. With no key you get 1 lookup a day, then pay per request over MPP: $0.50 by card for a 25-number pack, or $0.02 a number in USDC on Tempo.
Try it
curl -X POST https://api.lastscanned.com/v1/watches \
-H "Authorization: Bearer lsk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"trackingNumber": "1ZG2242W6822298280", "metadata": {"kit": "TRIAL-311", "leg": "outbound"}}'// after checking the Lastscanned-Signature header (see the webhooks docs)
export async function onLastscanned(event) {
if (event.type !== "tracking.updated") return;
const { watch, result } = event.data;
const { kit, leg } = watch.metadata;
if (leg === "outbound" && result.status === "delivered") {
const ends = new Date(Date.parse(result.deliveredAt) + 30 * 86400000);
await startTrial(kit, result.deliveredAt, ends.toISOString());
await sendSetupEmail(kit);
}
if (leg === "return" && result.status === "in_transit") await pauseTrialBilling(kit);
}Ways to follow hardware you ship to customers
| Option | How it works | Price | Notes |
|---|---|---|---|
| Shipping-tool emails | Let the label tool email the customer tracking updates. | Included with the tool | Your own systems don't hear about delivery. |
| Poll before onboarding calls | Track each open kit 35 per request before the call list goes out. | On Pro re-checks are free | You run the schedule. |
| Watches + webhook | POST /v1/watches with the kit id; act on delivered and exception. | Each number counts once | Same events for UPS, FedEx and USPS. |
Details
Delivery as the start signal
deliveredAt is UTC, so a trial or onboarding sequence keyed on it starts at the same moment whichever carrier delivered.
Failed deliveries
An exception (address problem, no one to sign) arrives as an event, so support can reach the customer before the carrier sends the kit back.
Returns at the end of a trial
Watch the return label with leg: return. The first carrier scan shows the customer kept their side of the trial.
What it costs
400 kits out and 400 return labels in a month is 800 numbers, inside Pro's 1,000 at $4.99.
FAQ
- Can I trigger onboarding when a phone is delivered?
- Yes. Watch the number and act on a tracking.updated event with status delivered.
- What if the shipment has a delivery exception?
- You get a tracking.updated event with status exception and the carrier's wording in statusDescription.
- Can I track the return leg too?
- Yes. Watch the return label with its own metadata.
- How many kits can I watch?
- Up to 5,000 active watches, added up to 100 per call.