Skip to main content

Getting Started

Make your first API call in 5 minutes.

Prerequisites

  • An API Key provided by the OlaClick restaurant you're integrating with

Step 1: Get your API Key

The restaurant (company) generates the API Key from their OlaClick panel and shares it with you:

  1. The restaurant logs in to their OlaClick panel
  2. Goes to Integrations > API Keys
  3. Clicks Create API Key and selects the scopes you need (e.g. orders:read, menu:read)
  4. Copies the key and sends it to you securely

Your key looks like: olk_live_aBcDeFgHiJkLmNoPqRsTuVwXyZ012345

Note: You don't need an OlaClick account. The restaurant creates the key and shares it with you directly.

Step 2: Make your first request

Fetch your restaurant's menu:

curl -X GET https://public-api.olaclick.app/v1/menu \
-H "Authorization: Bearer olk_live_YOUR_KEY_HERE"

Response

{
"data": {
"categories": [
{
"id": "026de0fc-85d9-47cd-9c34-627996b6c01c",
"name": "Combos",
"slug": "combos",
"position": 0,
"products": [
{
"id": "9c4f4203-9e2c-403d-88cc-7c0ce9e0f572",
"name": "Combo Classic Smash",
"slug": "combo-classic-smash",
"description": "Carne smash jugosa, queso fundido y nuestra salsa secreta, con papas y bebida.",
"variants": [
{
"id": "9c4f4203-a0ec-45bc-9810-3a8ada0838dd",
"name": "Default",
"price": 26,
"currency": "PEN"
}
],
"available": true,
"image_url": "https://assets.olaclick.app/..."
}
]
}
]
},
"pagination": {
"has_more": false
}
}

Note: Prices are in the company's main currency (e.g. 26 = S/ 26.00 PEN). The currency field on each variant indicates the ISO 4217 code.

Step 3: Query orders

Important: filter[start_date] and filter[end_date] are required for all order queries. Format: YYYY-MM-DD.

curl -X GET "https://public-api.olaclick.app/v1/orders?filter[start_date]=2026-07-01&filter[end_date]=2026-07-17" \
-H "Authorization: Bearer olk_live_YOUR_KEY_HERE"

Response

{
"data": [
{
"id": "a246def6-0694-4eb4-a4d8-8ce9b7130e61",
"public_id": "PE-2769113473",
"status": "FINALIZED",
"service_type": "ONSITE",
"source": "OUTBOUND",
"payment_status": "PAID",
"delivered_by": null,
"daily_id": 25,
"client": null,
"address": null,
"total": 90,
"total_paid": 90,
"total_tips": 0,
"total_discounts": 0,
"delivery_price": 0,
"service_fee_price": 0,
"combos_price": 90,
"created_at": "2026-07-17T01:27:49+00:00",
"updated_at": "2026-07-17T01:57:19+00:00",
"pending_at": "2026-07-17T01:27:49+00:00"
}
],
"pagination": {
"current_page": 1,
"per_page": 50,
"total": 1177,
"has_more": true
}
}

Use ?page=2&per_page=50 to paginate. Filter with ?filter[status]=PENDING.

Step 4: Register a webhook

Receive real-time notifications when orders are created:

curl -X POST https://public-api.olaclick.app/v1/webhooks \
-H "Authorization: Bearer olk_live_YOUR_KEY_HERE" \
-H "Content-Type: application/json" \
-d '{
"webhook_url": "https://your-server.com/webhooks/olaclick",
"merchant_id": "your-merchant-id",
"is_active": true
}'

Response

{
"data": {
"company_id": "company-uuid",
"webhook_id": "webhook-uuid",
"webhook_url": "https://your-server.com/webhooks/olaclick",
"webhook_headers": {},
"is_active": true,
"max_retry": 3,
"ack_http_codes": [200, 201, 202],
"merchant_id": "your-merchant-id",
"created_at": "2026-06-20T14:35:00Z",
"updated_at": "2026-06-20T14:35:00Z"
}
}

When an order is created, you'll receive a POST to your URL:

{
"event_type": "ORDER_CREATED",
"event_id": "unique-event-uuid",
"merchant_id": "your-merchant-id",
"timestamp": "2026-06-20T14:40:00Z",
"data": {
"order_id": "order-uuid",
"public_id": "PE-1234567890",
"status": "PENDING",
"service_type": "DELIVERY",
"source": "INBOUND",
"payment_status": "UNPAID",
"delivered_by": "MERCHANT",
"total": 15000,
"currency": "COP",
"daily_id": 42,
"pending_at": "2026-06-20T14:40:00Z",
"created_at": "2026-06-20T14:40:00Z",
"updated_at": "2026-06-20T14:40:00Z"
}
}

The request includes a source: OlaClick header. See the Webhooks guide for full details on verification, retries, and custom headers.

Next Steps

  • Webhooks — Full guide on events, retries, and best practices
  • API Reference — Detailed endpoint documentation with schemas