> ## Documentation Index
> Fetch the complete documentation index at: https://apidocs.noyax.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Hızlı başlangıç

> Token alın, header'ları ekleyin ve ilk cari listenizi çekin.

Başlamadan önce elinizde şunlar olmalı:

* **OrgName** ve **ApiKey**: Noyax tarafından verilir.
* **Kullanıcı ID'si** (`X-UserID`): İşlemlerin hangi Noyax kullanıcısı adına yapılacağı.
* **Şirket ID'si** (`X-CompanyID`): Verilerine erişilecek şirket. Kullanıcı bu şirkete tanımlı olmalıdır.

<Steps>
  <Step title="Access token alın">
    API anahtarınızla auth servisinden bir access token ve refresh token alın.

    <CodeGroup>
      ```bash cURL theme={null}
      curl -X POST https://app.noyax.com/services/bb_auth_service/api/ApiAuth/login \
        -H "Content-Type: application/json" \
        -d '{
          "OrgName": "KURULUS_ADINIZ",
          "ApiKey": "API_ANAHTARINIZ"
        }'
      ```

      ```json Yanıt theme={null}
      {
        "Data": {
          "AccessToken": "eyJhbGciOiJSUzI1NiIsImtpZCI6ImFwaSIs...",
          "RefreshToken": "q3Jv1mYt8Rk0bXw2LzH5nD7sPfA9cGe4..."
        },
        "Success": true,
        "Message": null
      }
      ```
    </CodeGroup>

    Access token kısa ömürlüdür. Süresi dolunca refresh token ile yenisini alırsınız. Bkz. [Kimlik doğrulama](/tr/v1/guides/authentication).
  </Step>

  <Step title="İlk isteği atın">
    Token'ı `Authorization` header'ına, kullanıcı ve şirket ID'lerini `X-UserID` ve `X-CompanyID` header'larına koyun.

    <CodeGroup>
      ```bash cURL theme={null}
      curl "https://api.noyax.com/api/v1/customers?page=1&pageSize=10" \
        -H "Authorization: Bearer ACCESS_TOKEN" \
        -H "X-UserID: 12" \
        -H "X-CompanyID: 3"
      ```

      ```csharp C# theme={null}
      using var client = new HttpClient { BaseAddress = new Uri("https://api.noyax.com/api/v1/") };
      client.DefaultRequestHeaders.Authorization = new("Bearer", accessToken);
      client.DefaultRequestHeaders.Add("X-UserID", "12");
      client.DefaultRequestHeaders.Add("X-CompanyID", "3");

      var json = await client.GetStringAsync("customers?page=1&pageSize=10");
      ```

      ```javascript Node.js theme={null}
      const response = await fetch("https://api.noyax.com/api/v1/customers?page=1&pageSize=10", {
        headers: {
          Authorization: `Bearer ${accessToken}`,
          "X-UserID": "12",
          "X-CompanyID": "3",
        },
      });
      const result = await response.json();
      ```

      ```python Python theme={null}
      import requests

      response = requests.get(
          "https://api.noyax.com/api/v1/customers",
          params={"page": 1, "pageSize": 10},
          headers={
              "Authorization": f"Bearer {access_token}",
              "X-UserID": "12",
              "X-CompanyID": "3",
          },
      )
      result = response.json()
      ```
    </CodeGroup>
  </Step>

  <Step title="Yanıtı okuyun">
    Kayıtlar `Data.Items` içinde, toplam kayıt sayısı `Data.TotalCount` içinde döner.

    ```json theme={null}
    {
      "Success": true,
      "ResultCode": "0000",
      "Message": null,
      "Data": {
        "Page": 1,
        "PageSize": 10,
        "TotalCount": 128,
        "Items": [
          {
            "Id": "3f2b8c1e-5d47-4a9b-9e21-6c0d8f7a1b24",
            "CustomerCode": "0000382026",
            "Name": "Örnek Ticaret A.Ş.",
            "TaxNumber": "1234567890",
            "MovementType": 3
          }
        ]
      }
    }
    ```

    Yanıt header'larındaki `X-Daily-Remaining` bugün kalan istek hakkınızı gösterir.
  </Step>
</Steps>

## Sonraki adımlar

<CardGroup cols={2}>
  <Card title="Cari oluşturun" icon="user-plus" href="/tr/v1/customers/create">
    Cariyi adres, telefon ve diğer alt kayıtlarıyla tek istekte oluşturun.
  </Card>

  <Card title="Hataları ele alın" icon="triangle-exclamation" href="/tr/v1/guides/errors">
    Hangi durumda hangi HTTP kodunun döndüğünü öğrenin.
  </Card>
</CardGroup>
