Fırsat POS Partner API

6. Adım 3 — Menü ürünleri ve ürün eşleme (opsiyonel)

Bu bölümün tamamını atlayabilirsiniz; tek istisna, POS'unuzun belirli bir ad ve fiyatla ürün ekleyememesidir (6.4). Ürün eşleme sadece fişi daha düzgün yapar: fişte serbest metinli bir satır yerine sizin kendi ürününüz görünür.

6.1 İşletmenin Fırsat menüsünü okuma

curl 'https://partner-api.firsat.dev/api/partner/pos/v1/menu-items?limit=50' \
  -H 'Authorization: Bearer fpt_Xk3...' \
  -H 'X-Firsat-Pos: adisyo/k7qm2x' \
  -H 'X-Firsat-Connection: 0199a3c2-...'
{
  "items": [
    { "id": "0199b001-…", "name": "Latte", "price": 95, "imagePath": null, "archived": false, "externalItemId": "ADS-1042" },
    { "id": "0199b002-…", "name": "Günün Tatlısı", "price": 140, "imagePath": null, "archived": false, "externalItemId": null }
  ],
  "nextCursor": "eyJ…"
}
  • Bir sayfada en fazla 100 satır olur (limit, varsayılan 50). Sonraki sayfa için ?cursor=<nextCursor> ile tekrar çağırın. nextCursor null olduğunda durun.
  • externalItemId, bu menü ürününün eşlendiği sizin ürün id'nizdir; eşleme yoksa null.
  • archived: true, işletmenin ürünü menüden kaldırdığı anlamına gelir. Eski bir kupon yine de bu ürünü içerebilir.

6.2 Bir ürünü eşleme

curl -X PUT https://partner-api.firsat.dev/api/partner/pos/v1/menu-items/0199b001-.../mapping \
  -H 'Authorization: Bearer fpt_Xk3...' \
  -H 'X-Firsat-Pos: adisyo/k7qm2x' \
  -H 'X-Firsat-Connection: 0199a3c2-...' \
  -H 'Content-Type: application/json' \
  -d '{ "externalItemId": "ADS-1042", "externalName": "Latte (Büyük)" }'
  • externalItemId sizin ürün id'nizdir (en fazla 128 karakter). externalName opsiyoneldir; sadece işletmenin Fırsat ekranlarında görünür.
  • PUT'u tekrar göndermek eşlemenin yerine yenisini yazar.
  • Aynı adrese DELETE eşlemeyi kaldırır ve { "deleted": true } döner.
  • Birden fazla Fırsat menü ürünü sizin aynı ürününüze bağlanabilir. Bir Fırsat menü ürünü ise en fazla bir ürününüze bağlanır.

6.3 Ürün eşleme neyi değiştirir

Önizleme satırındaFişe eklediğiniz
externalItemId: "ADS-1042"Sizin ADS-1042 ürününüz, quantity adet.
externalItemId: nullAdı satırın name değeri, fiyatı unitPrice olan bir özel / açık ürün, quantity adet.

Her ikisi de doğrudur. Fırsat, eksik ürün eşleme yüzünden bir kupon kullanımını asla engellemez.

6.4 Açık fiyatlı (özel) ürünü olmayan POS'lar

POS'unuz belirli bir ad ve fiyatla ürün ekleyemiyorsa her Fırsat menü ürününü eşleyin (6.1 ve 6.2); böylece her önizleme satırı bir externalItemId ile gelir.

Bir önizleme yine de externalItemId: null olan bir satır dönerse (örneğin işletme Fırsat menüsüne yeni bir ürün eklemiştir) fişe yazmayın ve onay göndermeyin. "Bu kupon bu kasada eşleşmemiş bir ürün içeriyor. İşletme sahibi ürünü eşlemeli." gösterin ve işletmeye o ürünü eşlemesini söyleyin. Hiçbir şey harcanmadı; ürün eşlendikten sonra kodu tekrar okutun.

Bu sayfada