{"uid":"cap_khJUP5BFoJSw6AL5MNL5w","slug":"handel-parcel-normalize-carrier-detection-tracking-number-validation-4311a943","name":"Handel Parcel Normalize – Carrier Detection & Tracking Number Validation","description":"Does two things that every shipping integration rebuilds and every one of them differently. First, carrier detection: the number is matched against the known formats and, where the format carries one, the check digit is actually computed — the UPS 1Z digit, the Universal Postal Union S10 digit and the GS1 mod-10 digit. This matters because pattern alone does not separate the formats: twelve digits can be DHL Paket or FedEx, fourteen can be GLS, DPD or Hermes.","url":"https://handel.halowerk.com/v1/parcel-normalize","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"events":{"type":"array","items":{"type":"object","properties":{"status":{"type":"string","maxLength":500,"description":"Raw status text from the carrier, German or English."},"location":{"type":"string","maxLength":200,"description":"Optional location, passed through unchanged."},"timestamp":{"type":"string","maxLength":40,"description":"Optional time of the event, passed through unchanged."}},"additionalProperties":false},"maxItems":200,"description":"Carrier status messages to normalize onto the common vocabulary."},"tracking_number":{"type":"string","maxLength":40,"minLength":4,"description":"Tracking number to identify. Spaces and hyphens are ignored."}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.002","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.002/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_BMgn-Tl8DtVrh_H7ePwND","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.002","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Identifies the carrier behind a parcel tracking number and validates it using format matching plus actual check-digit computation (UPS 1Z, UPU S10, GS1 mod-10).","exampleAgentPrompt":"Can you figure out which carrier this tracking number belongs to and check if it's actually valid: 1Z999AA10123456784?","exampleUseCases":[{"title":"Carrier disambiguation for order management","prompt":"I've got a tracking number from a supplier — 340000000000000000 — and I can't tell if it's FedEx or DHL. Can you identify the carrier and confirm the number is legitimate?"},{"title":"Validate UPS tracking before customer notification","prompt":"Before we send the shipment confirmation email, check if this UPS tracking number 1Z12345E0291980793 has a valid check digit so we don't send customers a broken tracking link."},{"title":"Normalize mixed-carrier tracking numbers in bulk upload","prompt":"We received a CSV of tracking numbers from different carriers — can you run this one through first to see what format it is and whether it passes check-digit validation: RR123456785GB?"}],"resultDescription":"Returns the identified carrier name, the detected tracking number format/standard (e.g. UPS 1Z, UPU S10, GS1), whether the check digit is valid, and the normalized form of the tracking number. Disambiguates formats that share digit-length (e.g. 12-digit DHL Paket vs FedEx, 14-digit GLS vs DPD vs Hermes).","failureModes":["Unrecognized format — tracking number does not match any known carrier pattern, returns an error or unknown carrier response","Invalid check digit — format is recognized but computed check digit does not match, flagged as invalid","Ambiguous format — rare cases where multiple carriers share an identical format with no distinguishing check digit","Malformed input — non-numeric or improperly stripped input causes a parsing error","Empty or missing tracking number field returns a 400-level validation error"],"whenToPreferThis":"Choose this endpoint when you need to programmatically identify a carrier from a raw tracking number and require mathematical check-digit validation — not just regex pattern matching. It is especially valuable when tracking numbers are 12 or 14 digits, where multiple carriers share the same length and pattern alone is insufficient to disambiguate. Prefer this over building your own regex library when handling multi-carrier logistics flows, customer-facing shipment tracking, or validating supplier-provided numbers before storing them.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T18:47:33.379Z","isFirstParty":false}