# Create Sales Invoice Notification Rule

## Satış faturasına ait bildirim kuralı oluşturur.

> Satış faturasına ait bildirim kuralı oluşturmak için bu ucu kullanabilirsiniz.

```json
{"openapi":"3.0.1","info":{"title":"E-Invoice API","version":"v1"},"servers":[{"url":"/einvoice"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","description":"API Key Giriniz","scheme":"Bearer","bearerFormat":"JWT"}},"schemas":{"CreateSaleInvoiceNotificationCommand":{"type":"object","properties":{"NotificationDto":{"$ref":"#/components/schemas/NotificationDto"}},"additionalProperties":false},"NotificationDto":{"type":"object","properties":{"ID":{"type":"integer","format":"int32","nullable":true},"RuleName":{"type":"string","nullable":true},"Rules":{"type":"array","items":{"$ref":"#/components/schemas/NotificationRuleModel"},"nullable":true},"Contact":{"type":"array","items":{"$ref":"#/components/schemas/NotificationContactModel"},"nullable":true},"IsActive":{"type":"boolean"}},"additionalProperties":false},"NotificationRuleModel":{"type":"object","properties":{"Property":{"$ref":"#/components/schemas/NotificationProperty"},"Operator":{"$ref":"#/components/schemas/NotificatioOperator"},"ValueFirst":{"type":"string","nullable":true},"ValueSecond":{"type":"string","nullable":true}},"additionalProperties":false},"NotificationProperty":{"enum":["DocumentProfile","DocumentType","TaxNumber","PayableAmount","TaxableAmount","AllowanceTotal","SendType"],"type":"string"},"NotificatioOperator":{"enum":["GreaterOrEqual","SmallOrEqual","Equal","NotEqual","Between"],"type":"string"},"NotificationContactModel":{"type":"object","properties":{"NotificationValue":{"type":"string","nullable":true},"NotificationValueType":{"$ref":"#/components/schemas/NotificationValueType"}},"additionalProperties":false},"NotificationValueType":{"enum":["Whatsapp","Sms","Mail"],"type":"string"}}},"paths":{"/Notification/Sale":{"post":{"tags":["Notification"],"summary":"Satış faturasına ait bildirim kuralı oluşturur.","description":"Satış faturasına ait bildirim kuralı oluşturmak için bu ucu kullanabilirsiniz.","requestBody":{"description":"","content":{"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/CreateSaleInvoiceNotificationCommand"}},"application/json":{"schema":{"$ref":"#/components/schemas/CreateSaleInvoiceNotificationCommand"}},"text/json":{"schema":{"$ref":"#/components/schemas/CreateSaleInvoiceNotificationCommand"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/CreateSaleInvoiceNotificationCommand"}}}},"responses":{"200":{"description":"Satış faturasına ait kural oluşturur.","content":{"application/json":{"schema":{"type":"boolean"}}}},"400":{"description":"Geçersiz İstek | Gönderdiğiniz istekte geçersiz veriler bulunduğu anlamında gelmektedir | Detaylar için <a target=\"_blank\" href=\"https://developer.nilvera.com/hata-kodlari#badrequest-400\">tıklayınız</a>"},"403":{"description":"Yetkisiz Erişim | Bu uca erişmek için gerekli yetkiye sahip olmadığınız durumda dönülür"},"404":{"description":"Parametrede belirtilen kayıt bulunamadığında dönülür | Detaylar için <a target=\"_blank\" href=\"https://developer.nilvera.com/hata-kodlari#notfound-404\">tıklayınız</a>"},"409":{"description":"Gönderdiğiniz istek sistemde daha önce bulunduğunda dönülür | Detaylar için <a target=\"_blank\" href=\"https://developer.nilvera.com/hata-kodlari#conflict-409\">tıklayınız</a>"},"422":{"description":"Gönderdiğiniz istek geçerli fakat iş kuralları gereği geçersiz değerler içerdiğinde dönülür | Detaylar için <a target=\"_blank\" href=\"https://developer.nilvera.com/hata-kodlari#unprocessableentity-422\">tıklayınız</a>"}}}}}}
```

{% tabs %}
{% tab title="C#" %}

```csharp
var options = new RestClientOptions("https://apitest.nilvera.com")
{
  MaxTimeout = -1,
};
var client = new RestClient(options);
var request = new RestRequest("/einvoice/Notification/Sale", Method.Post);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Bearer <API KEY>");
var body ={"NotificationDto": {"ID": 0,"RuleName": "string","Rules": [{"Property": "DocumentProfile","Operator": "GreaterOrEqual",
"ValueFirst":"string",
"ValueSecond":"string"}],
"Contact":[{ "NotificationValue":"string",
"NotificationValueType":"Whatsapp"}],
"IsActive":true"}};
request.AddStringBody(body, DataFormat.Json);
RestResponse response = await client.ExecuteAsync(request);
Console.WriteLine(response.Content);
```

{% endtab %}

{% tab title="PHP - cURL" %}

```php
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://apitest.nilvera.com/einvoice/Notification/Sale',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
  "NotificationDto": {
    "ID": 0,
    "RuleName": "string",
    "Rules": [
      {
        "Property": "DocumentProfile",
        "Operator": "GreaterOrEqual",
        "ValueFirst": "string",
        "ValueSecond": "string"
      }
    ],
    "Contact": [
      {
        "NotificationValue": "string",
        "NotificationValueType": "Whatsapp"
      }
    ],
    "IsActive": true
  }
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json',
    'Authorization: Bearer <API KEY>'
  ),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
```

{% endtab %}

{% tab title="NodeJs - Axios" %}

```javascript
const axios = require('axios');
let data = JSON.stringify({
  "NotificationDto": {
    "ID": 0,
    "RuleName": "string",
    "Rules": [
      {
        "Property": "DocumentProfile",
        "Operator": "GreaterOrEqual",
        "ValueFirst": "string",
        "ValueSecond": "string"
      }
    ],
    "Contact": [
      {
        "NotificationValue": "string",
        "NotificationValueType": "Whatsapp"
      }
    ],
    "IsActive": true
  }
});
let config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: 'https://apitest.nilvera.com/einvoice/Notification/Sale',
  headers: { 
    'Content-Type': 'application/json', 
    'Authorization': 'Bearer <API KEY>'
  },
  data : data
};
axios.request(config)
.then((response) => {
  console.log(JSON.stringify(response.data));
})
.catch((error) => {
  console.log(error);
});
```

{% endtab %}
{% endtabs %}
