5. Adım 2 — İşletmeyi bağlamak
5.1 İşletmenin yaptıkları (bunu siz yapmıyorsunuz)
- İşletme sahibi Fırsat Patron uygulamasında POS bölümünü açar, bir bağlantı oluşturur ve listeden sizin POS'unuzu seçer. Bu bağlantının kodlarını yalnızca sizin POS'unuz claim edebilir.
- Sizin POS'unuzu kullanan şubeleri işaretler.
- "Eşleştirme kodu al" butonuna basar;
K7QM-4XTBgibi 8 karakterlik bir kod ve 15 dakikalık geri sayım görür. - Bu kodu sizin POS ayarlar ekranınıza yazar veya destek ekibinize okur.
5.2 Sizin yapacağınız: "Fırsat'ı bağla" ekranı
Etiketi "Fırsat eşleştirme kodu" olan bir metin alanı (örnek gösterim: ABCD-EFGH) ve "Fırsat'ı bağla" butonu. Butona basılınca şunu gönderin:
curl -X POST https://partner-api.firsat.dev/api/partner/pos/v1/connections/claim \
-H 'Authorization: Bearer fpt_Xk3...' \
-H 'Content-Type: application/json' \
-H 'X-Firsat-Pos: adisyo/k7qm2x' \
-d '{ "pairingCode": "K7QM-4XTB" }'Kod hakkında:
ABCDEFGHJKMNPQRSTUVWXYZ23456789harflerinden 8 karakterdir. Birbirine benzeyen karakterler (0/O, 1/I/L) kullanılmaz.- Büyük veya küçük harf fark etmez; boşluk ve tire yok sayılır.
k7qm 4xtb,K7QM-4XTBveK7QM4XTBaynı koddur. - Bir kez ve 15 dakika boyunca çalışır. İşletme "Eşleştirme kodu al"a iki kez bastıysa yalnızca en yeni kod geçerlidir.
- Claim timeout'a düşerse ya da ağ hatası alırsa aynı claim'i aynı kodla tekrar gönderin: ilk claim'iniz gerçekleştiyse aynı cevabı tekrar alırsınız. Bu, kod hâlâ geçerliyken çalışır; yani işletmenin kodu almasından itibaren en fazla 15 dakika. Bir cevap aldıktan sonra kod kullanılmış olur.
Cevap:
{
"connectionId": "0199a3c2-7f1e-7c3a-9d2b-5e8f0a1b2c3d",
"venue": { "id": "0199a1b0-…", "name": "Kahve Durağı" },
"branches": [
{ "id": "0199a1b1-…", "name": "Kadıköy Moda" },
{ "id": "0199a1b2-…", "name": "Kadıköy Bahariye" }
]
}5.3 Neleri saklayacaksınız
| Sakladığınız | Nereden | Ne için |
|---|---|---|
connectionId, sizin sisteminizdeki işletme hesabına bağlı | connectionId | Bu işletme adına yapılan her çağrıdaki X-Firsat-Connection header'ı |
| Her Fırsat şube id'si, sizin şube / cihaz kaydınıza bağlı | branches[].id | Her önizlemedeki branchId |
| Marka adı (opsiyonel) | venue.name | Ayarlar ekranınızda "Fırsat'a bağlı: Kahve Durağı" göstermek |
Şube eşleme: bizim şube listemiz ile sizinki ayrıdır. Claim'den sonra işletmeye bizim şube adlarımızı gösterin ve her birinin sizin hangi şubeniz olduğunu seçtirin; adlar açıksa kendiniz de eşleyebilirsiniz. Her kasa kendi Fırsat branchId'sini bilmelidir. Yanlış şube id'si kuponu yanlış lokasyonda kullanılmış gösterir ve işletmenin raporlarını bozar.
5.4 Claim hataları
| Cevap | Anlamı | Ne gösterilmeli |
|---|---|---|
400 VALIDATION | Metin yukarıdaki harflerden 8 karakter değil (yazım hatası). | "Kod 8 karakter olmalı. Fırsat Patron'daki kodu kontrol edip tekrar girin." |
404 POS_PAIRING_CODE_INVALID | Kod bilinmiyor, süresi dolmuş (15 dakika geçmiş), zaten kullanılmış, işletme o bağlantıyı iptal etmiş ya da bağlantı başka bir POS için açılmış (hangisi olduğunu söylemeyiz). | "Kod geçersiz veya süresi dolmuş. Fırsat Patron uygulamasından yeni kod alın." |
429 RATE_LIMITED | Çok fazla claim denemesi (bölüm 10). | "Çok fazla deneme yapıldı. Birkaç dakika sonra tekrar deneyin." |
5.5 Bağlantıda sonradan olan değişiklikler
Şubeler değişebilir. İşletme yeni eşleştirme kodu gerekmeden bağlantıya şube ekleyebilir veya tek tek şube çıkarabilir. GET /branches her zaman güncel listeyi döner. POS'unuz her gün açılırken ve bir önizleme bir şube için 404 NOT_FOUND döndüğünde çağırın.
curl https://partner-api.firsat.dev/api/partner/pos/v1/branches \
-H 'Authorization: Bearer fpt_Xk3...' \
-H 'X-Firsat-Pos: adisyo/k7qm2x' \
-H 'X-Firsat-Connection: 0199a3c2-...'{ "items": [ { "id": "0199a1b1-…", "name": "Kadıköy Moda" } ] }İşletme bağlantıyı iptal edebilir (revoke). Bundan sonra o bağlantı için yapılan her çağrı 403 POS_CONNECTION_REVOKED döner. "Fırsat bağlantısı kaldırıldı. Yeniden bağlamak için Fırsat Patron'dan yeni eşleştirme kodu alın." gösterin ve bu işletme için çağrı yapmayı bırakın. Yeniden bağlanmak için işletme yeni bir bağlantı oluşturup size yeni bir eşleştirme kodu verir; yeni bir connectionId alırsınız ve eskisinin yerine bunu saklarsınız.