Omnikyo/Help Center
Concept

How courier updates reach Omnikyo

The courier sends parcel updates through a webhook — an automatic notification — so you see delivery progress in real time. If the webhook is not set up, you can refresh manually instead.

বাংলায়: কুরিয়ার যখন পার্সেল পিক আপ করে বা ডেলিভারি করে, তখন সেই খবর Omnikyo কে স্বয়ংক্রিয়ভাবে পাঠায়। এটা webhook বলে একটা সংযোগের মাধ্যমে হয়। Webhook সেট আপ না করলেও manual refresh দিয়ে তাজা status জানা যায়।

Where to find it: Settings › Shipping and delivery › Pathao or Steadfast › Delivery updates section

What a webhook is

A webhook is a URL and a secret that you give to the courier. Whenever the courier scans a parcel (picked, in transit, delivered, etc.), the courier automatically sends that news to the webhook URL.

Omnikyo receives the news, checks the secret to make sure it's really from the courier, and updates the order.

No polling means the update arrives within seconds, not hours later.

Setting up the webhook

For Pathao (src/components/settings/providers/couriers.tsx):

  1. In the Pathao merchant panel, open Developer API → Webhook.
  2. Paste the webhook address shown in Omnikyo: https://<your-domain>/api/webhooks/pathao
  3. Generate a strong webhook secret in Omnikyo (the wand button).
  4. Paste the secret into Pathao's Webhook secret field.
  5. Save in Omnikyo first (the Save button on the Shipping page).

For Steadfast (src/components/settings/providers/couriers.tsx):

  1. In Steadfast, go to Webhooks (steadfast.com.bd/user/webhook/add).
  2. Paste the callback address shown in Omnikyo: https://<your-domain>/api/webhooks/steadfast
  3. Use your Secret key (the same one you pasted in Omnikyo) as the auth token.
  4. Save.

What happens if the webhook is not set up

  • Single bookings still work; the tracking code arrives at booking time.
  • Bulk parcels get stuck on Awaiting courier because Pathao's bulk endpoint returns no tracking codes — only the first webhook gives them.
  • Status updates never arrive automatically.
  • You must press the refresh icon (Sync status with the courier) to pull the latest status by hand.

What happens if the secret is wrong

If the merchant changes the secret in the courier's panel but forgets to update it in Omnikyo:

  • Pathao webhook: Omnikyo rejects the update with HTTP 401 Unauthorized — "Unauthorized" (wrong signature in header X-PATHAO-Signature). The status does not change.
  • Steadfast webhook: Omnikyo rejects it with HTTP 403 Forbidden — "Invalid API key" (wrong bearer token). The status does not change.

A note on the Pathao setup page says "Set a webhook secret first." if the secret field is empty, because delivery updates cannot be verified without it.

Setting up a webhook with a missing or empty secret

If a webhook is sent with no secret:

  • Pathao: HTTP 401 Missing X-PATHAO-Signature header. Omnikyo rejects it.
  • Steadfast: HTTP 401 Missing Authorization header. Omnikyo rejects it.

To allow updates, first save the secret in Omnikyo, then configure it in the courier's panel.

Manual sync: when to use it

Press the refresh icon (refresh symbol) next to the courier name in the order window to sync one parcel manually:

  • Use it when a Bulk parcel is stuck on Awaiting courier and you want to get the tracking code immediately (without waiting for the first webhook).
  • Use it to refresh the status of any parcel if you suspect the courier's website has newer information than Omnikyo.
  • Use it for couriers that are not Pathao or Steadfast (the sync will fail, but you can add the tracking code by hand).

Manual sync does not write an activity log entry — only webhooks create log entries.

No polling

Omnikyo does not poll the couriers on a timer. Status is updated only when:

  1. The webhook arrives (automatic, within seconds).
  2. You press the refresh icon (manual).

If neither happens, the status stays unchanged. For Steadfast, if the webhook is not configured, you must press refresh every time you want to check.

Test webhook (Pathao)

Pathao lets merchants test the webhook in Developer API. When Pathao sends a test, the merchant order ID is TS-123. Omnikyo logs it, replies "Webhook verified", and does not change any order.

Webhook troubleshooting

ProblemCauseFix
Bulk parcel stuck on Awaiting courierWebhook not set up; no tracking code from PathaoSet up the webhook with the secret, or press refresh to sync manually
Status not updatingWebhook not configured, or secret is wrongCheck the courier's panel that the webhook address and secret match Omnikyo
"Set a webhook secret first" noteSecret field is empty in OmnikyoGenerate a secret in Omnikyo (wand button) and paste it in the courier's panel
Webhook returns 401 or 403Secret is wrongCompare the secrets in Omnikyo and the courier's panel; they must match exactly
Pathao says "401 Unauthorized" in logsSignature header does not match the secretRe-generate the secret in Omnikyo and update it in Pathao

Other ways people ask this

  • webhook কি, কেমন করে কাজ করে
  • courier update পাচ্ছি না কেন
  • awaiting courier সারাদিন থাকছে
  • bulk parcel tracking code পাচ্ছি না
  • webhook secret কোথায় পাই
  • pathao 401 error মানে কি
  • steadfast 403 forbidden কেন
  • manual sync করলে সাথে সাথে update হয় কি
  • courier updates automatic না?
  • webhook test করলে কি হয়

Checked against the product on 2026-10-02.