Your website connection: questions
Your website sends orders and tracking to Omnikyo; Omnikyo keeps stock. Here are the common questions.
বাংলায়: আপনার নিজস্ব ওয়েবসাইট থেকে অর্ডার পাঠানো সহজ — key দিয়ে authenticate করা লাগে, আর PHP/Laravel ছাড়া অন্য ভাষা হলে REST API ব্যবহার করতে হয়। Stock Omnikyo-তেই থাকে, আপনার ওয়েবসাইটে ফিরিয়ে দেওয়া হয় না।
Where to find it: Sidebar › Settings › Sales channels › Your website
Which programming languages and frameworks work?
Laravel and plain PHP (7.0 or newer) have a ready-made helper file that Settings gives you. Copy it into your project, add the key to .env, and call the helper function once per order.
Other languages like Node.js, Python, Go, or Ruby need to use the Orders API directly — it is a simple REST endpoint (POST https://omnikyo.com/api/v1/orders) with JSON and a secret-key header. The Orders API reference has the full shape and an example.
If your website is built on CodeIgniter or other PHP frameworks, use the plain PHP helper (it has no dependencies) or the API.
Does Omnikyo send stock back to my website?
No. Stock stays in Omnikyo only. When an order arrives, Omnikyo reserves the stock; when the order is delivered or cancelled, Omnikyo adjusts it. Your website does not automatically get updated stock numbers.
If you need to show stock on your site, you can read Omnikyo's stock via the API, but that is a separate integration (the developer would need to fetch product stock and cache it, maybe nightly).
Can I send orders from JavaScript in the browser?
No. The secret key must never be in browser code — every visitor could see it and send fake orders. You must call the API or helper from your server (PHP, Node.js, etc.).
If you use JavaScript on the server (Node.js), use the API directly or ask your AI assistant to write a helper.
The script tag (connect.js) that tracks customers on your pages is meant for the browser, but it only handles tracking — not orders.
Can I send the same order twice without creating a duplicate?
Yes. The API uses your site's own order ID (order_number) as an idempotency key. If you send the same order_number twice, the first order is created, and the second request gets back "Already received" — nothing is duplicated. The idempotency key prevents duplicates when your website retries a failed request, or when multiple webhooks fire for the same order.
Why does the order's price differ from what my site charged?
The order's price is exactly what your website sent, not what Omnikyo calculated.
When you send an order to Omnikyo, include the exact unit price, shipping fee, discount and total that the customer saw on your site. Omnikyo stores those numbers as-is and does not recalculate them. This keeps tracking accurate — the order shows what really happened.
If the numbers do not match:
- Check that your website sent the right
price(price of one item, not the line total). - Check that
shipping_feeis included separately, not added to the price. - Check the
payment_methodfield — if it says "online", make sure you also sendpaid_amount.
What happens if the customer's phone is wrong?
The order is rejected when the phone cannot be recognized. The phone must be a Bangladeshi mobile number in a format Omnikyo recognises: 01712345678, +8801712345678, 8801712345678, or 1712345678. If the phone does not parse, the order stays in Recent orders with an error, and you can retry it once the phone is corrected.
Can I test without creating a real order?
Yes. The API accepts "test": true in the order body. A test order is logged but not saved — it returns what would have happened (the order number, customer name, total) but makes no changes. Use it to check that the key works and the order shape is correct.
In Settings, the Send a test button does the same thing with a test customer and product from your store.
Why is the script tag (connect.js) important?
The script tag does two things:
- It remembers where the customer came from — UTM tags, ad clicks, and campaigns are stored in a cookie (
_okyo) for 30 days. When the customer places an order, that cookie is sent, so the order knows which campaign brought them. - It sends Meta events — it fires the Meta Pixel on your pages (PageView, AddToCart, etc.) and the server mirrors a Purchase event when the order arrives in Omnikyo.
Both happen only if the script tag is on your pages and you saved a domain under Website address. If you do not put the script tag on your site, you still get orders (the API works), but you lose ad tracking and cannot send Purchase events to Meta.
Does Omnikyo export orders back to my website?
No. Orders flow one way: from your website to Omnikyo. Omnikyo does not push updates back to your website.
If you want to sync order status or shipping updates back, your developer would need to build a separate sync (e.g., a scheduled job that reads Omnikyo's API nightly and updates your site's database).
Can I use a custom domain instead of giving my developer keys?
No. The API requires the secret key in the request header. There is no way around it — the key proves that the request comes from your site's server, not a stranger. The secret key must stay on your server, in .env or environment variables only — never in a page or JavaScript.
What if I want to stop connecting my website?
Delete the helper code or the API call from your website. Old orders stay in Omnikyo, but no new orders arrive once the connection is removed.
The keys stay saved in Settings until you click Replace keys (if you want to deny the old key immediately, e.g., if it was leaked). Otherwise, leave them as they are.
Other ways people ask this
- ওয়েবসাইট কানেক্ট করতে কী লাগে
- website PHP Laravel support kore na
- JavaScript theke order pathaite parbo
- duplicate order aitche naki
- stock website e dhaka jai
- website API documentation
- secret key leak hoy jabe
- কাস্টম ওয়েবসাইট Omnikyo কানেক্ট করা যায়
Related pages
- Connect your own website — the full setup guide
- Orders API for developers — the technical reference
- Fix your website connection — troubleshooting errors
Checked against the product on 2026-10-02.