# 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.
Request
This endpoint expects an object.
deviceslist of objectsRequired