CoreApiStats (v2.0)

CoreApiStats, PrimeAPI üzerinden gerçekleştirilen CoreApi V2 işlemlerinin istatistiklerini ve detaylarını sorgulamak için kullanılır. Çağıran API key, kendi organizasyonundaki tüm API key'lerin verilerini görebilir.

Temel kavramlar

  • Organizasyon kapsamı: Her iki uç nokta da çağıran API key'in ait olduğu organizasyondaki tüm CoreApiV2 API key'lerinin verilerini döner.
  • Tarih filtresi: startDate ve endDate ile belirli bir zaman aralığındaki işlemler sorgulanabilir.
  • Auth: Tüm uç noktalar ApiKey gerektirir.
  • Zarf: Tüm yanıtlar ApiResult<T> tipindedir:
    • result: T
    • error: string (hata durumunda dolar)

Not: Kod örneklerinde PRIMEAPI_URL ve PRIMEAPI_KEY ortam değişkenleri kullanılır.


POST/v2/CoreApiStats/GetStats

GetStats — İstatistik özeti

Organizasyondaki tüm API key'lerin işlem istatistiklerini özet olarak döner. Sonuç üç katmanlı bir hiyerarşi içerir:

  1. Organizasyon geneli — toplam işlem sayısı, hata sayısı, dosya boyutu
  2. API key bazlı kırılım — her bir API key için aynı metrikler
  3. İşlem tipi detayı — her API key altında işlem tipine göre (PAdES imza, CAdES imza, dosya yükleme vb.) sayılar

Gerekli alanlar

  • Name
    requestId
    Type
    string
    Description

    21 karakter uzunluğunda benzersiz istek kimliği.

  • Name
    displayLanguage
    Type
    string
    Description

    Dil tercihi. İşlem tipi açıklamalarının dilini belirler.

Opsiyonel alanlar

  • Name
    startDate
    Type
    datetime?
    Description

    Başlangıç tarihi filtresi. Belirtilirse bu tarihten itibaren olan işlemler dahil edilir.

  • Name
    endDate
    Type
    datetime?
    Description

    Bitiş tarihi filtresi. Belirtilirse bu tarihe kadar olan işlemler dahil edilir.

Request

POST
/v2/CoreApiStats/GetStats
curl -X POST "https://apitest.onaylarim.com/v2/CoreApiStats/GetStats" \
  -H "X-API-KEY: {api_key}" \
  -H "Content-Type: application/json" \
  -d '{
        "requestId": "aaaaaaaaaaaaaaaaaaaaa",
        "displayLanguage": "tr",
        "startDate": "2026-01-01T00:00:00",
        "endDate": null
      }'

Response

{
  "result": {
    "organizationName": "Acme Ltd.",
    "startDate": "2026-01-01T00:00:00",
    "endDate": null,
    "totalOperationCount": 1523,
    "totalErrorCount": 12,
    "totalFileSizeBytes": 854903200,
    "apiUserStats": [
      {
        "apiUserId": 5,
        "apiUserName": "EBYS Entegrasyonu",
        "isActive": true,
        "totalOperationCount": 1200,
        "totalErrorCount": 8,
        "totalFileSizeBytes": 700000000,
        "operationDetails": [
          {
            "operationType": 2,
            "operationTypeDescription": "Pades İmza Başlatma",
            "count": 600,
            "errorCount": 3,
            "totalFileSizeBytes": 350000000
          },
          {
            "operationType": 18,
            "operationTypeDescription": "Pades İmza Sonlandırma",
            "count": 597,
            "errorCount": 3,
            "totalFileSizeBytes": 350000000
          },
          {
            "operationType": 8,
            "operationTypeDescription": "Dosya Yükle",
            "count": 3,
            "errorCount": 2,
            "totalFileSizeBytes": 0
          }
        ]
      },
      {
        "apiUserId": 9,
        "apiUserName": "Muhasebe Portalı",
        "isActive": true,
        "totalOperationCount": 323,
        "totalErrorCount": 4,
        "totalFileSizeBytes": 154903200,
        "operationDetails": [
          {
            "operationType": 1,
            "operationTypeDescription": "Cades İmza Başlatma",
            "count": 160,
            "errorCount": 2,
            "totalFileSizeBytes": 77000000
          },
          {
            "operationType": 20,
            "operationTypeDescription": "Cades İmza Sonlandırma",
            "count": 158,
            "errorCount": 2,
            "totalFileSizeBytes": 77903200
          },
          {
            "operationType": 8,
            "operationTypeDescription": "Dosya Yükle",
            "count": 5,
            "errorCount": 0,
            "totalFileSizeBytes": 0
          }
        ]
      }
    ]
  },
  "error": null
}

POST/v2/CoreApiStats/GetOperations

GetOperations — İşlem detayları

Organizasyondaki CoreApi V2 işlemlerini tek tek, sayfalanmış şekilde döner. Belirli bir API key'e, işlem tipine veya hata durumuna göre filtreleme yapılabilir. Sonuçlar en yeniden eskiye sıralanır.

Gerekli alanlar

  • Name
    requestId
    Type
    string
    Description

    21 karakter uzunluğunda benzersiz istek kimliği.

  • Name
    displayLanguage
    Type
    string
    Description

    Dil tercihi. İşlem tipi açıklamalarının dilini belirler.

Opsiyonel alanlar

  • Name
    startDate
    Type
    datetime?
    Description

    Başlangıç tarihi filtresi.

  • Name
    endDate
    Type
    datetime?
    Description

    Bitiş tarihi filtresi.

  • Name
    apiUserId
    Type
    integer?
    Description

    Belirli bir API kullanıcısına ait işlemleri filtrelemek için. GetStats yanıtındaki apiUserId değerleri kullanılabilir.

  • Name
    operationType
    Type
    integer?
    Description

    Belirli bir işlem tipine göre filtreleme. Değerler: 1 (CAdES İmza Başlatma), 2 (PAdES İmza Başlatma), 3 (PAdES Mobil İmza), 8 (Dosya Yükle), 9 (İmza Listesi Alma), 14 (PAdES Upgrade), 15 (CAdES Upgrade), 16 (Dosya İndirme), 17 (XAdES Upgrade), 18 (PAdES İmza Sonlandırma), 19 (Chunk Upload Başlatma), 20 (CAdES İmza Sonlandırma), 21 (XAdES İmza Başlatma), 22 (XAdES İmza Sonlandırma), 23 (PAdES İmza Doğrulama).

  • Name
    hasError
    Type
    boolean?
    Description

    true = sadece hatalı işlemler, false = sadece başarılı işlemler, null = tümü.

  • Name
    page
    Type
    integer
    Description

    Sayfa numarası (1 tabanlı). Varsayılan: 1.

  • Name
    pageSize
    Type
    integer
    Description

    Sayfa başı kayıt sayısı. Varsayılan: 50, Maksimum: 200.

Request

POST
/v2/CoreApiStats/GetOperations
curl -X POST "https://apitest.onaylarim.com/v2/CoreApiStats/GetOperations" \
  -H "X-API-KEY: {api_key}" \
  -H "Content-Type: application/json" \
  -d '{
        "requestId": "aaaaaaaaaaaaaaaaaaaaa",
        "displayLanguage": "tr",
        "startDate": "2026-02-01T00:00:00",
        "endDate": null,
        "apiUserId": 5,
        "operationType": null,
        "hasError": null,
        "page": 1,
        "pageSize": 50
      }'

Response

{
  "result": {
    "totalCount": 323,
    "page": 1,
    "pageSize": 50,
    "operations": [
      {
        "operationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "apiUserId": 5,
        "apiUserName": "EBYS Entegrasyonu",
        "operationType": 2,
        "operationTypeDescription": "Pades İmza Başlatma",
        "createdDate": "2026-02-10T14:32:00",
        "hasError": false,
        "error": null,
        "outputFileSize": 524288
      },
      {
        "operationId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
        "apiUserId": 5,
        "apiUserName": "EBYS Entegrasyonu",
        "operationType": 18,
        "operationTypeDescription": "Pades İmza Sonlandırma",
        "createdDate": "2026-02-10T14:31:55",
        "hasError": false,
        "error": null,
        "outputFileSize": 528400
      },
      {
        "operationId": "c3d4e5f6-a7b8-9012-cdef-123456789012",
        "apiUserId": 5,
        "apiUserName": "EBYS Entegrasyonu",
        "operationType": 8,
        "operationTypeDescription": "Dosya Yükle",
        "createdDate": "2026-02-10T14:31:40",
        "hasError": true,
        "error": "Dosya boyutu çok büyük.",
        "outputFileSize": null
      }
    ]
  },
  "error": null
}

Örnek kullanım senaryoları

  1. Aylık rapor: GetStats ile startDate ve endDate parametrelerini belirleyerek ay bazlı özet alın.
  2. Hata araştırma: GetOperations ile hasError: true filtresi kullanarak hatalı işlemleri listeleyin.
  3. Uygulama bazlı analiz: GetStats sonucundaki apiUserId değerini GetOperations'a geçirerek belirli bir uygulamanın tüm işlemlerini inceleyin.
  4. Karşılaştırma: GetStats yanıtındaki apiUserStats dizisini kullanarak farklı API key'lerin (uygulamaların) kullanım metriklerini yan yana kıyaslayın.

Was this page helpful?