Telebirr
Detail page — URL format, reference shape, return type, and quirks for telebirr receipts.
Telebirr's official receipt endpoint at transactioninfo.ethiotelecom.et returns a bilingual (Amharic + English) HTML page; we scrape it with regex and return a structured object.
URL format
| Part | Pattern | Example |
|---|---|---|
| host | literal | transactioninfo.ethiotelecom.et |
<REFERENCE> | 8–14 chars [A-Z0-9] | ABCD1234EF |
You can also pass just the reference via { "reference": "ABCD1234EF" } — telebirr is the only provider where the bare-reference shortcut works directly through /api/verify.
Return type
receipt.source === "telebirr-html". All fields are optional strings — present when the upstream HTML included them.
Sample (placeholder values)
Quirks
- Bilingual labels — the upstream label format is
<Amharic>/<English>(e.g.የክፍያው ሁኔታ/transaction status). We anchor on the English tail only to sidestep Unicode NFC/NFD drift on the Amharic prefix. - Amount strings carry the unit —
"100 Birr", not a number. If you need a numeric, strip the trailingBirrclient-side. - One row in the HTML is malformed — the
transaction status<td>is missing its closing tag in the upstream output. Our parser tolerates this; it's why we don't reject receipts that look incomplete in raw HTML. - Rate limit — telebirr's edge rate-limits aggressively. v.odit.et's outbound queue throttles to ~1 request every 1.5 s for this host, with adaptive backoff on
429. You won't usually hit this from/api/verifybecause cache hits don't touch upstream.