# Kitchrest API > Kitchrest, restoranlar için bir POS (adisyon) sistemidir. Kitchrest API ile bir işletmenin menüsünü, siparişlerini, > müşterilerini ve paket servisini okuyup yazarsınız; webhook'larla olayları anında alırsınız. REST, JSON, Bearer > anahtar (`kr_live_...`), taban adres `https://api.kitchrest.com/public/v1`. Kurallar (agent'lar için özet): - Her anahtar tek bir şubeye bağlıdır ve yetkileri (scope) vardır: `read:menu`, `write:menu`, `read:orders`, `write:delivery`, `read:customers`, `write:customers`. Önce `GET /me` ile şube ve yetkileri öğrenin. - Hatalar her zaman `{"error": {"code", "message"}}` biçimindedir; `code` sabittir (`unauthenticated`, `key_suspended`, `key_expired`, `key_revoked`, `subscription_inactive`, `insufficient_scope`, `not_found`, `validation_failed`, `rate_limited`, `server_error`). Koşulları `code` üzerine kurun. - Anahtar başına dakikada 120 istek; `429` gelirse `Retry-After` saniye bekleyin. `POST /menu/import` saatte 10. - Listeler sayfalıdır (`page`, `per_page` ≤ 100); `links.next` boşalana kadar ilerleyin. Senkron için `updated_since` + `sort=updated_at`. - Tutarlar ondalık sayıdır (şube para birimi, genelde TRY); tarihler ISO 8601. - Webhook gövdesi `{id, type, created_at, branch_id, data}`; imza `Kitchrest-Signature: t=,v1=`; `Kitchrest-Delivery` ile tekrarları ayıklayın; 10 sn içinde 2xx dönün. - Kurye firmaları yalnızca kasanın kendilerine gönderdiği paketleri (`delivery.requested`) görür ve `POST /orders/{id}/delivery` ile `assigned → picked_up → delivered` (ya da `returned`) bildirir. ## Dokümanlar - [Tüm doküman, tek dosya](https://developers.kitchrest.com/llms-full.txt): rehberler ve OpenAPI sözleşmesinin tamamı - [OpenAPI 3.1 sözleşmesi](https://developers.kitchrest.com/openapi.yaml): bütün uç noktalar, şemalar, örnekler, webhook'lar - [İnsanlar için dokümantasyon](https://developers.kitchrest.com/) ## Uç noktalar - `GET /me`: Anahtar ve şube bilgisi (yetki: `read:menu`) - `GET /categories`: Kategorileri listele (yetki: `read:menu`) - `GET /products`: Ürünleri listele (yetki: `read:menu`) - `GET /products/{id}`: Ürün detayı (yetki: `read:menu`) - `PATCH /products/{id}`: Satış durumunu güncelle (yetki: `write:menu`) - `POST /menu/import`: Menüyü toplu aktar (yetki: `write:menu`) - `PUT /prices`: Fiyatları toplu güncelle (yetki: `write:menu`) - `GET /orders`: Siparişleri listele (yetki: `read:orders`) - `GET /orders/{id}`: Sipariş detayı (yetki: `read:orders`) - `POST /orders/{id}/delivery`: Paket durumunu bildir (yetki: `write:delivery`) - `GET /customers`: Müşterileri listele (yetki: `read:customers`) - `POST /customers`: Müşteri ekle (yetki: `write:customers`) - `GET /customers/{id}`: Müşteri detayı (yetki: `read:customers`) - `PATCH /customers/{id}`: Müşteriyi güncelle (yetki: `write:customers`) ## Webhook olayları - `order.created` - `order.updated` - `order.cancelled` - `delivery.requested` - `delivery.cancelled` - `customer.created` - `customer.updated`