# Dosya yükleme

* Faks API, faks dosyanızı ve göndermek istediğiniz numara / numaraları belirleyerek iki aşamalı olarak faks gönderebilirsiniz. 1. aşamada faks dosyanızı random bir değerle yükleyerek, aynı random değerle gönderim işlemini 2. aşamada tekrar POST işlemi ile sağlayabilirsiniz.

* **Gelen fakslarınızı** listeleyebilir,

* Başlattığınız faksların durumlarını sorgulayarak **Raporlama** yapabilirsiniz.

```endpoint
POST https://api.netgsm.com.tr/fax/send
```

#### Örnek İstek (Sample Request)
```html
curl --location 'https://api.netgsm.com.tr/fax/send' \
--header 'Content-Type: multipart/form-data' \
--form 'username="850xxxxxxx"' \
--form 'password="xxxxxxxx"' \
--form 'dosya=@"/filepath"' \
--form 'refid="123"' \
--form 'parametre="1"'
```

#### Örnek Başarılı Cevap (Success Response)
```html
0
```

#### Örnek Hata Cevabı (Error Response)
```html
HataKodu
```

** Tanımlar **

| Değişken | Zorunlu | Anlamı |
| -------- | ------- | ------ |
| `username` | Evet | Netgsm'den hizmet alınan abone numarası (Format: 850xxxxxxx, 312XXXXXXX vs.). |
| `password` | Evet | Alt kullanıcı şifresi. (Alt kullanıcı türü "API Kullanıcısı" olan alt kullanıcıya ait şifre.) |
| `dosya` |	Evet | Yüklemek istediğiniz dosya. * İzin verilen dosya uzantıları: .jpeg, .jpg, .png, .gif, .pdf, .doc, .docx, .xls, .xlsx |
| `refid` | Evet | Tarafınızda belirleyeceğiniz referans(random) numarasıdır. |
| `parametre` |	Evet | Dosya yükleme işlemi için; 1 değerini almalıdır. |

** Servisten Alınan Örnek Cevap **

| Kodu | Anlamı |
| ---- | ------ |
| `0` | Başarılı upload cevabı |

** Hata Durumları **

| Hata Kodu | Anlamı |
| --------- | ------ |
| `10` | Dosyanın kopyalanamadığını ifade eder. |
| `20` | Geçersiz dosya uzantısını ifade eder. (İzin verilen dosya uzantıları: .jpeg, .jpg, .png, .gif, .pdf, .doc, .docx, .xls, .xlsx) |
| `30` | Geçersiz kullanıcı adı, şifre veya kullanıcınızın API erişim izninin olmadığını gösterir. Ayrıca eğer API erişiminizde IP sınırlaması yaptıysanız ve sınırladığınız ip dışında gönderim sağlıyorsanız 30 hata kodunu alırsınız. API erişim izninizi veya IP sınırlamanızı, web arayüzümüzden; sağ üst köşede bulunan Abonelik İşlemleri / API işlemleri menüsunden kontrol edebilirsiniz. |
| `40` | Göndermeye çalıştığınız dosya boyutunun maksimum gönderebileceğiniz dosya boyutunu aştığını ifade eder. (Maksimum dosya boyutu: 8 MB) |
| `50` | Referans Id'nin hatalı olduğunu ifade eder. |
| `90` | Dosyanın fax formatına çevrilemediğini ifade eder. |
| `100` | Parametrelerinizden birinde hata olduğunu ifade eder. |
