Getting started
Quickstart
1. Create a key
- In the Bulutegra panel open Settings › Bulutegra API and webhooks (visible to the account owner admin).
- Name the key (e.g. Warehouse app) and pick a scope: Basic contains no personal data; Personal data also returns the customer name on orders.
- Press Create key. The key is shown only once — store it somewhere safe.
!
Never put the key in browser code, a mobile app or a public repository. Keep it as an environment variable on your server.
2. Test the connection
export BULUTEGRA_ANAHTAR="btg_<hesap>_<anahtar>"
curl "https://panel.bulutegra.com/api/v1/ping" -H "Authorization: Bearer $BULUTEGRA_ANAHTAR"{
"ok": true,
"hesap": "ornekmagaza",
"kapsam": "temel",
"zaman": "2026-10-07 11:54:01",
"surum": "v1"
}3. Fetch today's orders
curl "https://panel.bulutegra.com/api/v1/siparisler?baslangic=2026-10-07&limit=50" \
-H "Authorization: Bearer $BULUTEGRA_ANAHTAR"import os, requests
r = requests.get(
"https://panel.bulutegra.com/api/v1/siparisler?baslangic=2026-10-07&limit=50",
headers={"Authorization": "Bearer " + os.environ["BULUTEGRA_ANAHTAR"]},
timeout=30,
)
r.raise_for_status()
print(r.json())const r = await fetch("https://panel.bulutegra.com/api/v1/siparisler?baslangic=2026-10-07&limit=50", {
headers: { Authorization: `Bearer ${process.env.BULUTEGRA_ANAHTAR}` },
});
if (!r.ok) throw new Error(`HTTP ${r.status}`);
console.log(await r.json());<?php
$ch = curl_init("https://panel.bulutegra.com/api/v1/siparisler?baslangic=2026-10-07&limit=50");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("BULUTEGRA_ANAHTAR")],
]);
$veri = json_decode(curl_exec($ch), true);If sonraki_imlec in the response is set, repeat the request with imlec=<value>; when it is null you have every page. See Pagination.
4. Use webhooks instead of polling
Instead of polling for new orders, add a webhook: a signed request reaches your endpoint when an order arrives, changes status or is transferred to your ERP.
Last updated: 2026-10-07