Create Claim

View as Markdown
# Claim Device Terminals - Terminal Claim Oluşturma Ödeme kuruluşlarına özel oluşturulmus bir servistir. Claim işlemi ile bir terminal, ilgili firmanın ticari kapsamına alınır; bu işlem faturalamayı başlatır ve firmanın bu terminale ait operasyonel/raporlama verilerini alabilmesini sağlar. ## Endpoint - `POST /api/v1/devices/claims` ## Request Body | Parametre | Tip | Zorunlu | Açıklama | | --- | --- | --- | --- | | `devices` | array | Evet | Claim edilecek cihaz ve terminal grupları | | `devices[].deviceId` | string | Evet | Cihaz mali numarası / Hugin ECR name. Örnek: `FT30000971` | | `devices[].terminalIds` | array\[string\] | Evet | İlgili cihaz altında claim edilecek terminal ID listesi | ## Örnek Request ``` json { "devices": [ { "deviceId": "FT30000971", "terminalIds": [ "B0000870010", "B0000870011", "B0000870012" ] }, { "deviceId": "FT30001042", "terminalIds": [ "B0000912345" ] } ] } ``` ## İş Kuralları 1. Claim işlemi ticari bir işlemdir; başarılı claim edilen her terminal için ödeme kuruluşu faturalama kapsamına alınır. 2. Ödeme kuruluşu sadece bildiği `deviceId` ve o cihaz altında yer alan `terminalId` değerleri için claim talebi gönderebilir. 3. `terminalId`, belirtilen `deviceId` altında bulunmalıdır. 4. Aynı ödeme kuruluşu tarafından daha önce claim edilmiş terminal tekrar gönderilirse işlem idempotent kabul edilir ve `ALREADY_CLAIMED` döner. 5. Başka ödeme kuruluşu tarafından claim edilmiş terminaller için ilgili terminal bazında hata statüsü döner. 6. Toplu işlemlerde request geçerli ise HTTP `200` döner; terminal bazlı sonuçlar `data.results` altında raporlanır. ## Response Fields | Alan | Tip | Açıklama | | --- | --- | --- | | `data.requestedClaims` | int | Talep edilen toplam terminal claim adedi | | `data.successfulClaims` | int | Başarılı veya aynı partner için zaten mevcut claim adedi | | `data.failedClaims` | int | Başarısız terminal claim adedi | | `data.results` | array | Terminal bazlı işlem sonuçları | | `data.results[].deviceId` | string | Cihaz mali numarası | | `data.results[].terminalId` | string | Terminal ID | | `data.results[].status` | string | Terminal bazlı claim sonucu | | `data.results[].message` | string | Opsiyonel açıklama | ## Terminal Claim Sonuç Kodları | Kod | Açıklama | | --- | --- | | `CLAIMED` | Terminal başarıyla claim edildi | | `ALREADY_CLAIMED` | Terminal daha önce kullanıcı tarafından claim edilmiş | | `DEVICE_NOT_FOUND` | Belirtilen cihaz bulunamadı | | `TERMINAL_NOT_FOUND_UNDER_DEVICE` | Terminal belirtilen cihaz altında bulunamadı | | `NOT_ALLOWED` | Partner bu terminal için claim yetkisine sahip değil | ## Notlar - Claim kelimesi burada mülkiyet devri anlamına gelmez; partner/reseller için ticari ve operasyonel ilişki başlatır. - Claim edilen terminal için transaction kopyaları / operasyonel veri akışı partner hesabına açılır. - Cihaz detaylarını ve terminal listesini görmek için `GET /api/v1/devices/{deviceId}` endpoint'i kullanılabilir.

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Request

This endpoint expects an object.
deviceslist of objectsRequired

Response

OK
statusstring
dataobject
metadataobject

Errors

400
Bad Request Error
401
Unauthorized Error