Omnikyo/Help Center
Guide

Connect your own website

You can send orders and ad tracking from a website you built (Laravel or plain PHP) straight to Omnikyo, so every sale arrives with its campaign, customer data stays in sync, and Meta sees the purchase.

বাংলায়: আপনার নিজের তৈরি ওয়েবসাইট থেকে অর্ডার এবং বিজ্ঞাপনের ট্র্যাকিং সরাসরি Omnikyo-তে পাঠাতে পারেন। অর্ডারের সাথে যেকোনো ফেসবুক বিজ্ঞাপন বা লিঙ্ক থেকে আসা তথ্য থাকবে, গ্রাহক তথ্য আপডেট থাকবে এবং Meta জানতে পারবে কোন বিক্রয় হয়েছে।

Where to find it: Sidebar › Settings › group Selling › Sales channels › Your website

What "Your website" is for

You use this when you have built a website yourself (or had a developer build it) — Laravel or plain PHP — and you want to send its orders to Omnikyo while keeping your own stock control. Omnikyo holds the products, inventory and prices; your site takes the orders from customers.

Data flows in one direction: your website sends orders and tracking in; Omnikyo keeps stock and never sends anything back to your site. When a customer buys something on your site, the order lands in Omnikyo with the customer's name, address, phone, the items, the price and where they came from (a Facebook ad, a specific link, nothing).

What the developer does: the four steps

Your developer (or you, if you code) takes four things and pastes them into your site's code:

  1. A script tag that goes on every page, usually in the main layout.
  2. A secret key that goes in your .env file (Laravel only).
  3. A small PHP helper file that Omnikyo creates for you.
  4. One function call in your checkout, right after an order is saved.

The process usually takes 10 minutes for someone who knows the site's code well. Omnikyo gives two ways to do it: you can copy a prompt and paste it into an AI assistant like Claude or ChatGPT (it does all four steps), or you can walk a developer through each paste one by one and show them exactly which file and which lines.

The three tabs: Setup, Recent orders, Keys and domain

Setup — the progress card shows you which steps are done (keys, address, script tag found, first order received). The page watches for these by itself: once you add a domain, it checks if the tag is on your site. When a customer orders, the page refreshes and the milestone turns green. You choose an AI assistant or hand instructions to a developer from here.

Recent orders — every order your website sent to Omnikyo appears here, with what happened to it (created, on hold, rejected, failed). If something went wrong (wrong SKU, bad phone number, plan limit), the error text shows why and you can Retry it once you have fixed the problem. The page shows the latest 30 entries.

Keys and domain — your public key (safe to put on your site), your secret key (masked, do not share), the address of your website (so Omnikyo only counts tracking from there), and the button to replace keys if a key was ever shared by accident.

Create your website keys

Open Settings › Sales channels › Your website. If you have not connected yet, you see "Not connected" and a button Create keys.

Click Create keys. Omnikyo creates two keys instantly:

  • Public key (pk_live_…) — goes in the script tag on your pages. It is safe to show in the code because it only lets your own website send tracking.
  • Secret key (sk_live_…) — your website's server sends orders with this. Never share it and never put it in JavaScript.

The keys are shown to you once. You can always read them again on the Keys and domain tab, but the secret key will be masked (hidden with dots). The public key is masked too; a Copy button lets you copy either one.

Once you have keys, the Setup tab shows four milestones. The first milestone, "Keys ready", is already green.

Add your website address

On the Setup tab, you see a card "Add your website's address". The address is the domain your shop runs on, for example yourshop.com or shop.example.com. Omnikyo only counts tracking events from these pages, so nobody else can pretend your site is sending them.

You can add up to 10 domains. If your site runs on both www.shop.com and shop.com, add one; Omnikyo accepts both. Subdomains count too: if you add shop.com, a subdomain like checkout.shop.com is allowed.

Type the address in the field and click Save. The second milestone "Website address" turns green.

When you save an address, the third milestone starts checking if the script tag is on your site. If it finds the tag, the milestone says "Found on your site". If not, it tries again every 5 seconds. The check runs https://<domain>/ and https://www.<domain>/ and looks for the script tag by its key.

Put the script tag on every page

The script tag is one line that goes in the main layout of your site, usually just before the closing </head> tag.

Omnikyo shows you three ways to set this up:

  • With an AI assistant — copy a prompt with your keys in it, paste it into Cursor, Claude, ChatGPT or Copilot, and it writes the code.
  • With your developer — copy a message to send by WhatsApp or email, or walk through the steps yourself.
  • Show the setup code — both keys are shown again if you need to copy them.

Laravel: the main layout is usually resources/views/layouts/app.blade.php or a shared header file. Plain PHP: it is usually header.php or layout.php. The tag goes before </head>:

<script async src="https://omnikyo.com/connect.js?key=pk_live_…"></script>

If your store already has a Meta pixel on this site, remove the old pixel code (any <script> with fbq('init', …)). The Omnikyo tag runs the pixel now. Leave other analytics as they are.

Once a page loads with the tag and a visitor lands on it, the page sends a tracking event to Omnikyo. The Setup tab sees this within seconds and the "Script tag live" milestone turns green (saying "Seen <x> ago").

Create and send your helper file

The helper is a PHP file that your checkout uses. Omnikyo generates it with your secret key built in.

For Laravel: create the file app/Support/Omnikyo.php with the code Omnikyo shows you. For plain PHP: create omnikyo.php in your checkout directory. Copy the whole code exactly; nothing needs installing.

In your checkout controller (Laravel: CheckoutController.php or PlaceOrderController.php, plain PHP: checkout.php), right after the order and its items are saved, call the helper with the order's fields:

\App\Support\Omnikyo::sendOrder([
    'order_number'   => $order->id,
    'customer' => [
        'name'    => $order->customer_name,
        'phone'   => $order->phone,
        'address' => $order->address,
        'city'    => $order->city,
    ],
    'items' => [
        ['sku' => 'SHIRT-RED-M', 'quantity' => 1, 'price' => 650],
    ],
    'shipping_fee' => 100,
    'discount' => 0,
    'total' => 750,
    'payment_method' => 'cod',
]);

The helper sends the order to Omnikyo and retries up to 3 times if Omnikyo does not answer. On Laravel, it sends after the page is returned to the customer (never slows checkout). On plain PHP, it sends right away. Problems are logged to storage/logs/laravel.log (Laravel) or PHP's error log.

The most important field is sku — it must match the product's SKU in Omnikyo exactly (case does not matter). If no product in Omnikyo has that SKU, the order is rejected and kept in Recent orders so you can retry it once the SKU exists.

When you place your first test order, the fourth milestone "First order" turns green, and the Setup tab says "Your website is connected".

Test your website connection

Before going live, test that the connection works.

On the Setup tab, you see Send a test — a dry run that shows what an order would look like without actually creating it. Click Send a test. If all goes well, you see "The connection works" and a summary of what the order would be. If something is wrong, you see the error — for example, if no product has a SKU, you see "Add a SKU to at least one product first".

Then place one real test order on your site. Order something, pay with COD (or whatever payment method you want to test). Within seconds it appears in the Recent orders tab with outcome "Created" and a link to the order in Omnikyo.

Review website orders and retry the ones that failed

The Recent orders tab shows every order, test, rejection and failure from your website. Each row shows:

  • The order number from your site.
  • The outcome: Created (order saved, usually status New or Confirmed), On hold: low stock (order saved but waiting for more stock), Test (dry run, nothing saved), Already received (same order number sent twice), Not created (something wrong with the order), Failed (Omnikyo could not save it, e.g. plan limit).
  • How long ago it arrived.
  • The error if it is rejected or failed.

The page shows the last 30 entries. A badge on the tab counts how many are not created or failed and can be retried.

If an order is rejected or failed, you see a Retry button. Fix the problem first:

  • Unknown SKU — add the SKU to the product in Omnikyo.
  • Bad phone number — check that the phone is a valid Bangladeshi mobile (01712345678, +8801712345678, etc.).
  • Plan limit — your subscription plan limits order creation. Open Settings › Billing.

Then click Retry. The same request is processed again. Omnikyo never makes two orders from the same order number; if it has already been created, retrying shows "This order already went through."

Replace your website keys

Keys are in the Keys and domain tab. Click Replace keys to create new keys. Both keys change at once. This is useful if a key was accidentally shared with someone.

A dialog asks "Your website stops sending orders until its developer pastes the new keys. Only do this if a key was shared by mistake." Click Replace now.

After replacement:

  • The old keys stop working immediately. Any order sent with them is refused.
  • Your website's developer must paste the new secret key into the code (or .env for Laravel).
  • The public key in the script tag must also be updated.
  • Once the new keys are deployed, orders start arriving again.

If the keys were not deployed yet, orders are refused with a 401 error. Your developer can see the new keys on the Keys and domain tab and update the code.

Other ways people ask this

  • laravel website omnikyo connect korbo kivabe
  • php site e order pathabe kivabe
  • nija website থেকে order send করব কীভাবে
  • custom website orders auto send
  • website connect setup guide
  • এই ওয়েবসাইট এ অর্ডার আসে কীভাবে
  • connect our own website
  • send orders from our php site
  • website order integration setup
  • كيفية توصيل الموقع الخاص بي

Checked against the product on 2026-10-02.