Prerequisites
Before you begin, make sure you have:
App Secret Key - Provided by Dükkango
Restaurant Secret Key - Unique per vendor/branch
HTTPS-enabled environment - All API calls require SSL
Integration Workflow
Obtain API Credentials
Get your app_secret_key and rest_secret_key from the Dükkango team.
Authenticate
Call /auth/login to get your access token.curl -X POST https://www.xn--dkkango-n2a.com/api/integrations/auth/login \
-H 'Content-Type: application/json' \
-d '{
"app_secret_key": "your-app-secret-key",
"rest_secret_key": "your-restaurant-secret-key"
}'
Response:{
"status": true,
"data": {
"access_token": "bcfb7a8a...",
"expiration_date": "2026-01-15 23:59:59"
}
}
Store Your Access Token
Save the access_token securely. It’s valid for 24 hours.
Make Your First API Call
Get your restaurant list using the access token:curl -X GET https://www.xn--dkkango-n2a.com/api/integrations/restaurants/get \
-H 'Access-Token: your-access-token'
Response:{
"status": true,
"data": [
{
"id": "8f2b9ce2-04de-4712-842d-a39f64596fdf",
"name": "Akat Şube"
}
]
}
Poll for Orders
Start polling for active orders every 30+ seconds:curl -X GET https://www.xn--dkkango-n2a.com/api/integrations/orders/get-current \
-H 'Access-Token: your-access-token'
What’s Next?
Common Integration Pattern
Here’s a typical integration workflow:
// 1. Authenticate
const { access_token } = await login(app_secret, rest_secret);
// 2. Start polling for orders
setInterval(async () => {
const orders = await getOrders(access_token);
for (const order of orders) {
// 3. Acknowledge order
await markOrderSuccess(order.payment_key, access_token);
// 4. Process in your POS
await processOrder(order);
// 5. Update order status
if (shouldAccept) {
await acceptOrder(order.payment_key, 30, access_token);
}
}
}, 30000); // Every 30 seconds
Remember to respect rate limits! The /orders/get-current endpoint has a 30-second cooldown.