Ethiopian relay logs

Enter the password.
API documentation

Fetch an official receipt

POST https://bingo.yegaruhost.com/relay/v1/fetch

Headers: Content-Type: application/json and X-Relay-Key: YOUR_RELAY_API_KEY. The API key is different from the log-viewer password.

{
  "url": "https://m-pesabusiness.safaricom.et/api/receipt/getReceipt?trxNo=TRANSACTION_ID"
}

Allowed official URLs

M-PESA: https://m-pesabusiness.safaricom.et/api/receipt/getReceipt?trxNo=ID

CBE: https://mb.cbe.com.et/api/v1/transactions/public/transaction-detail/TOKEN

CBE Birr: https://cbepay1.cbe.com.et/aureceipt?TID=ID&PH=PHONE

Telebirr: https://transactioninfo.ethiotelecom.et/receipt/REFERENCE

cURL example

curl https://bingo.yegaruhost.com/relay/v1/fetch \
  -H "Content-Type: application/json" \
  -H "X-Relay-Key: YOUR_RELAY_API_KEY" \
  -d '{"url":"OFFICIAL_RECEIPT_URL"}'

Server-side JavaScript example

const response = await fetch("https://bingo.yegaruhost.com/relay/v1/fetch", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "X-Relay-Key": process.env.RELAY_API_KEY
  },
  body: JSON.stringify({ url: officialReceiptUrl })
});
const upstreamBody = await response.text();

Responses and limits

The upstream status, content type, and body are returned immediately. Nothing is cached or stored. Errors: 400 invalid or disallowed URL, 403 wrong key, 429 relay busy, 502 official endpoint unavailable. Request limit: 16 KB. Response limit: 10 MB. Concurrency: 10 upstream fetches.

Keep the API key on your backend, never in public browser code. The public domain uses trusted HTTPS. Cross-origin POST and OPTIONS are supported.