Aracılığıyla paylaş


Ticari market için programlı erişim paradigması

Bu diyagramda yeni bir rapor şablonu oluşturmak, özel raporu zamanlamak ve hata verilerini almak için kullanılan API çağrı düzeni gösterilir.

Yeni bir rapor şablonu oluşturmak, özel raporu zamanlamak ve hata verilerini almak için kullanılan API çağrı desenini gösterir. Şekil 1: API çağrı deseninin üst düzey akışı

Bu liste Şekil 1 hakkında daha fazla ayrıntı sağlar.

  1. İstemci Uygulaması, Rapor Sorgusu Oluşturma API'siniçağırarak özel rapor şemasını/şablonunu tanımlayabilir. Alternatif olarak, sistem sorgularınınlistesinden bir rapor şablonu (QueryId) kullanabilirsiniz.
  2. Başarılı olduğunda Rapor Şablonu Oluştur API'si QueryIddöndürür.
  3. İstemci uygulaması daha sonra rapor başlangıç tarihi, Yineleme Aralığı, Yineleme ve isteğe bağlı geri çağırma URI'siyle birlikte QueryID kullanarak Rapor Oluşturma API'sini çağırır.
  4. Başarıyla tamamlanırsa, Rapor Oluşturma API, ReportIDdöndürür.
  5. rapor verileri indirilmeye hazır olur olmaz istemci uygulamasına geri çağırma URI'sinde bildirim gönderilir.
  6. İstemci uygulaması daha sonra raporun durumunu Report ID ve tarih aralığıyla sorgulamak için Rapor Yürütmelerini Alma API'sini kullanır.
  7. Başarılı olduğunda rapor indirme bağlantısı döndürülür ve uygulama verilerin indirilmesini başlatabilir.

Rapor sorgu dili belirtimi

Rapor oluşturmak için kullanabileceğiniz sistem sorguları sağlarken, iş gereksinimlerinize göre kendi sorgularınızı da oluşturabilirsiniz. Özel sorgular hakkında daha fazla bilgi edinmek için bkz. Özel sorgu belirtimi.

Rapor sorgusu API'si oluşturma

Bu API, sütunların ve ölçümlerin dışarı aktarılması gereken veri kümesini tanımlayan özel sorgular oluşturmaya yardımcı olur. API, iş gereksinimlerinize göre yeni bir raporlama şablonu oluşturma esnekliği sağlar.

Sağladığımız sistem sorgularını da kullanabilirsiniz. Özel rapor şablonlarına ihtiyaç duyulmadığında, sağladığımız sistem sorgularının QueryIds kullanarak Rapor Oluşturma API'sini doğrudan çağırabilirsiniz.

Aşağıdaki örnekte, geçen aya ait ISVUsage veri kümesinden Normalleştirilmiş Kullanım ve ÜCRETLİ SKU'lar için Tahmini Finansal Ücretler almak için nasıl özel sorgu oluşturulacağı gösterilmektedir.

İstek sözdizimi

Yöntem İstek URI'si
YAYINLA https://api.partnercenter.microsoft.com/insights/v1.1/cmp/ScheduledQueries

İstek başlığı

Üstbilgi Tür Açıklama
İzin dizgi Gerekli. Microsoft Entra erişim belirteci. Format şu şekildedir: Bearer <token>.
İçerik Türü string application/JSON

yol parametresi

Hiç kimse

sorgu parametresi

Hiç kimse

İstek yükü örneği

{
    "Name": "ISVUsageQuery",
    "Description": "Normalized Usage and Estimated Financial Charges for PAID SKUs",
    "Query": "SELECT UsageDate, NormalizedUsage, EstimatedExtendedChargePC FROM ISVUsage WHERE SKUBillingType = 'Paid' ORDER BY UsageDate DESC TIMESPAN LAST_MONTH"
}

Sözlük

Bu tablo, istek yükündeki öğelerin anahtar tanımlarını sağlar.

Parametre Gerekli Açıklama İzin verilen değerler
Name Evet Sorgunun kullanıcı dostu adı dizgi
Description Hayır Oluşturulan sorgunun açıklaması dizgi
Query Evet İş gereksinimine göre sorgu dizesi dizgi

Not

Özel sorgu örnekleri için bkz. örnek sorguları.

Örnek yanıt

Yanıt yükü aşağıdaki gibi yapılandırılmıştır:

Yanıt kodları: 200, 400, 401, 403, 500

Yanıt yükü örneği:

{
  "value": [
        {
            "queryId": "78be43f2-e35f-491a-8cd5-78fe14194f9c",
            "name": " ISVUsageQuery",
            "description": "Normalized Usage and Estimated Financial Charges for PAID SKUs",
            "query": " SELECT UsageDate, NormalizedUsage, EstimatedExtendedChargePC FROM ISVUsage WHERE SKUBillingType = 'Paid' ORDER BY UsageDate DESC TIMESPAN LAST_MONTH",
            "type": "userDefined",
            "user": "142344300",
            "createdTime": "2024-01-06T05:38:34Z"
        }
    ],
    "totalCount": 1,
    "message": "Query created successfully",
    "statusCode": 200
}

Sözlük

Bu tablo yanıttaki öğelerin anahtar tanımlarını sağlar.

Parametre Açıklama
QueryId Oluşturulan sorgunun evrensel olarak benzersiz tanımlayıcısı (UUID)
Name Sorgu oluşturma sırasında istek yükünde sağlanan ad
Description Sorgu oluşturma sırasında istek yükünde sağlanan açıklama
Query Sorgu oluşturma sırasında istek yükünde sağlanan özel rapor sorgusu
Type El ile oluşturulan sorgular için userDefined olarak ayarlayın
User Sorguyu oluşturmak için kullanılan kullanıcı kimliği
CreatedTime UTC Sorgunun oluşturulduğu saat. Biçim: yyyy-MM-ddTHH:mm:ssZ
TotalCount Değer dizisindeki kayıt sayısı
StatusCode Sonuç Kodu
Olası değerler 200, 400, 401, 403, 500'dür
message API'nin yürütülmesinden gelen durum iletisi

Rapor API'si oluşturma

Özel bir rapor şablonunu başarıyla oluşturduktan ve Rapor Sorgusu Oluşturma yanıtının bir parçası olarak QueryID aldıktan sonra, düzenli aralıklarla yürütülecek bir sorguyu zamanlamak için bu API çağrılabilir. Raporun teslim edilmesi için bir sıklık ve zamanlama ayarlayabilirsiniz. Sağladığımız sistem sorguları için Rapor Oluştur API'sini QueryIdile de çağırabilirsiniz.

İstek sözdizimi

Yöntem İstek URI'si
YAYINLA https://api.partnercenter.microsoft.com/insights/v1.1/cmp/ScheduledReport

İstek üst bilgisi

Üstbilgi Tür Açıklama
İzin dizgi Gerekli. Microsoft Entra erişim belirteci. Biçim Bearer <token>'dir.
İçerik Türü dizgi application/JSON

yol parametresi

Hiç kimse

sorgu parametresi

Hiç kimse

İstek yükü örneği

{
  "ReportName": "ISVUsageReport",
  "Description": "Normalized Usage and Estimated Financial Charges for PAID SKUs",
  "QueryId": "78be43f2-e35f-491a-8cd5-78fe14194f9c ",
  "StartTime": "2021-01-06T19:00:00Z ",
  "executeNow": false,
  "RecurrenceInterval": 48,
  "RecurrenceCount": 20,
  "Format": "csv",
  "CallbackUrl": "https://<SampleCallbackUrl>"
  "callbackMethod": "GET",
}

Sözlük

Bu tablo, istek yükündeki öğelerin anahtar tanımlarını sağlar.

Parametre Gerekli Açıklama İzin verilen değerler
ReportName Evet Rapora atanan kullanıcı dostu ad Dize
Description Hayır Oluşturulan raporun açıklaması Dizgi
QueryId Evet Rapor oluşturma için kullanılması gereken sorgu kimliği Dizgi
StartTime Evet Rapor oluşturma işleminin başlayacağı UTC zaman damgası. Biçim yyyy-MM-ddTHH:mm:ssZ olmalıdır Dizgi
ExecuteNow Hayır Bu parametre, yalnızca bir kez yürütülen bir rapor oluşturmak için kullanılmalıdır. StartTime, RecurrenceInterval, RecurrenceCountve EndTimetrue olarak ayarlanırsa yoksayılır Boolean
QueryStartTime Hayır İsteğe bağlı olarak, verileri ayıklayan sorgunun başlangıç zamanını belirtir. Bu parametre, ExecuteNowtrueolarak ayarlanmış tek seferlik yürütme raporu için geçerlidir. Biçim yyyy-MM-ddTHH:mm:ssZ olmalıdır Dize olarak zaman damgası
QueryEndTime Hayır İsteğe bağlı olarak, verileri ayıklayan sorgunun bitiş saatini belirtir. Bu parametre, ExecuteNowtrueolarak ayarlanmış tek seferlik yürütme raporu için geçerlidir. Biçim yyyy-MM-ddTHH:mm:ssZ olmalıdır Dize olarak zaman damgası
RecurrenceInterval Evet Raporun oluşturulması gereken saat sıklığı. En düşük değer 1, maksimum değer ise 17520'dir Tam sayı
RecurrenceCount Evet Oluşturulacak rapor sayısı. Sınır Yinelenme aralığına bağlıdır Tam sayı
Format Hayır Dışarı aktarılan dosyanın dosya biçimi. Varsayılan biçim CSV'dir CSV/TSV
CallbackUrl Hayır İsteğe bağlı olarak geri çağırma hedefi olarak yapılandırılabilen genel olarak erişilebilir URL Dizgi
CallbackMethod Hayır Geri çağırma URL'si ile yapılandırılabilir Get/Post yöntemi GET/POST
EndTime Evet Rapor oluşturma işleminin sona ereceği UTC zaman damgası. Biçim yyyy-MM-ddTHH:mm:ssZ olmalıdır Dize

Not

Raporu oluştururken ya EndTime veya RecurrenceInterval ve RecurrenceCount kombinasyonu zorunludur.

Örnek yanıt

Yanıt yükü aşağıdaki gibi yapılandırılmıştır:

Yanıt kodu: 200, 400, 401, 403, 404, 500

Yanıt yükü:

{
  "Value": [
    {
            "reportId": "72fa95ab-35f5-4d44-a1ee-503abbc88003",
            "reportName": "ISVUsageReport",
            "description": "Normalized Usage and Estimated Financial Charges for PAID SKUs",
            "queryId": "78be43f2-e35f-491a-8cd5-78fe14194f9c",
            "query": "SELECT UsageDate, NormalizedUsage, EstimatedExtendedChargePC FROM ISVUsage WHERE SKUBillingType = 'Paid' ORDER BY UsageDate DESC TIMESPAN LAST_MONTH",
            "user": "142344300",
            "createdTime": "2024-01-06T05:46:00Z",
            "modifiedTime": null,
            "startTime": "2024-01-06T19:00:00Z",
            "reportStatus": "Active",
            "recurrenceInterval": 48,
            "recurrenceCount": 20,
            "callbackUrl": "https://<SampleCallbackUrl>",
            "callbackMethod": "GET",
            "format": "csv"
    }
  ],
  "TotalCount": 1,
  "Message": "Report created successfully",
  "StatusCode": 200
}

Sözlük

Bu tablo yanıttaki öğelerin anahtar tanımlarını sağlar.

Parametre Açıklama
ReportId Oluşturduğunuz raporun evrensel olarak benzersiz tanımlayıcısı (UUID)
ReportName Rapor oluşturma sırasında istek yükünde sağlanan ad
Description Rapor oluşturma sırasında istek yükünde sağlanan açıklama
QueryId Rapor oluşturma sırasında istek yükünde sağlanan sorgu kimliği
Query Bu rapor için yürütülecek sorgu metni
User Raporu oluşturmak için kullanılan kullanıcı kimliği
CreatedTime UTC Raporun bu biçimde oluşturulduğu saat: yyyy-MM-ddTHH:mm:ssZ
ModifiedTime UTC Raporun son değiştirildiği saat: yyyy-MM-ddTHH:mm:ssZ
ExecuteNow Rapor oluşturma sırasında istek yükünde sağlanan ExecuteNow parametresi
queryStartTime Rapor oluşturma sırasında istek yükünde sağlanan sorgu başlangıç zamanı. Bu yalnızca ExecuteNow "True" olarak ayarlandığında geçerlidir
queryEndTime Rapor oluşturma sırasında istek yükünde sağlanan sorgu bitiş zamanı. Bu yalnızca ExecuteNow "True" olarak ayarlandığında geçerlidir
StartTime Rapor oluşturma sırasında istek yükünde sağlanan başlangıç zamanı
ReportStatus Rapor yürütmesinin durumu. Olası değerler Duraklatıldı, Etkinve Etkin Olmayan.
RecurrenceInterval Rapor oluşturma sırasında istek yükünde sağlanan yineleme aralığı
RecurrenceCount Rapor için kalan yinelenme sayısı
CallbackUrl Rapor oluşturulurken istek yükünde sağlanan geri dönüş URL'si
CallbackMethod Rapor oluşturma sırasında istek yükünde sağlanan geri çağırma yöntemi
Format Rapor oluşturma sırasında istek yükünde sağlanan rapor dosyalarının biçimi
EndTime Rapor oluşturma sırasında istek yükünde sağlanan bitiş zamanı. Bu yalnızca ExecuteNow "True" olarak ayarlandığında geçerlidir
TotalRecurrenceCount rapor oluşturma sırasında istek yükünde sağlanan RecurrenceCount
nextExecutionStartTime Bir sonraki rapor yürütmenin ne zaman başlayacağına ilişkin UTC zaman damgası
TotalCount Değer dizisindeki kayıt sayısı
StatusCode Sonuç Kodu. Olası değerler 200, 400, 401, 403, 500'dür
message API'nin yürütülmesinden gelen durum iletisi

Rapor yürütmeleri API'lerini alma

ReportId alarak Rapor Oluşturma API'si üzerinden rapor yürütme durumunu sorgulamak için bu yöntemi kullanabilirsiniz. Yöntem, rapor indirme için hazırsa rapor indirme bağlantısını döndürür. Aksi takdirde yöntem durumu döndürür. Bu API'yi belirli bir rapor için gerçekleşen tüm yürütmeleri almak için de kullanabilirsiniz.

Önemli

Bu API'de executionStatus=Completed ve getLatestExecution=trueiçin varsayılan sorgu parametreleri ayarlanmıştır. Bu nedenle, raporun ilk başarılı yürütülmesinden önce API'yi çağırmak 404 döndürür. Bekleyen yürütmeler executionStatus=Pendingayarlanarak elde edilebilir.

İstek sözdizimi

Yöntem İstek URI'si
Edin https://api.partnercenter.microsoft.com/insights/v1.1/cmp/ScheduledReport/execution/{reportId}?executionId={executionId}&executionStatus={executionStatus}&getLatestExecution={getLatestExecution}

İstek üst bilgisi

Üstbilgi Tür Açıklama
İzin karakter dizisi Gerekli. Microsoft Entra erişim belirteci. Format bu şekildedir: Bearer <token>.
İçerik türü karakter dizisi application/json

yol parametresi

Hiç kimse

sorgu parametresi

Parametre adı Gerekli Tür Açıklama
reportId Evet dizgi reportId içeren raporların çalıştırma ayrıntılarını almak için bu parametreyle filtreleyin.
executionId Hayır dizgi Bu argümanda belirtilen executionId'ı içeren yalnızca raporların ayrıntılarını almak için filtreleyin. Birden çok executionIds noktalı virgülle ";" ayırarak belirtilebilir.
executionStatus Hayır dize/sabit listesi Yalnızca bu argümanda executionStatus olarak belirtilen raporların ayrıntılarını almak için filtreleyin.
Geçerli değerler şunlardır: Pending, Running, Pausedve Completed
Varsayılan değer Completed.
getLatestExecution Hayır Boolean API, en son rapor yürütme ayrıntılarını döndürür.
Varsayılan olarak, bu parametre trueolarak ayarlanır. Bu parametrenin değerini falseolarak geçirmeyi seçerseniz, API son 90 günlük yürütme örneklerini döndürür.

İstek yükü

Hiç kimse

Örnek yanıt

Yanıt yükü aşağıdaki gibi yapılandırılmıştır:

Yanıt kodları: 200, 400, 401, 403, 404, 500

Yanıt yükü örneği:

{
    "value": [
        {
            "executionId": "a0bd78ad-1a05-40fa-8847-8968b718d00f",
            "reportId": "72fa95ab-35f5-4d44-a1ee-503abbc88003",
            "recurrenceInterval": 4,
            "recurrenceCount": 10,
            "callbackUrl": null,
            "format": "csv",
            "executionStatus": "Completed",
            "reportAccessSecureLink": "https://<path to report for download>",
            "reportExpiryTime": null,
            "reportGeneratedTime": "2021-01-13T14:40:46Z"
        }
    ],
    "totalCount": 1,
    "message": null,
    "statusCode": 200
}

Rapor yürütme tamamlandıktan sonra yürütme durumu Completed gösterilir. reportAccessSecureLinkURL'yi seçerek raporu indirebilirsiniz.

Sözlük

Yanıttaki öğelerin anahtar tanımları.

Parametre Açıklama
ExecutionId Yürütme örneğinin evrensel olarak benzersiz tanımlayıcısı (UUID)
ReportId Yürütme örneğiyle ilişkili rapor kimliği
RecurrenceInterval Rapor oluşturma sırasında sağlanan yinelenme aralığı
RecurrenceCount Rapor oluşturulurken girilen yinelenme sayısı
CallbackUrl Yürütme örneğiyle ilişkili geri çağırma URL'si
CallbackMethod Rapor oluşturma sırasında istek yükünde sağlanan geri çağırma yöntemi
Format Yürütmenin sonunda oluşturulan dosyanın biçimi
ExecutionStatus Rapor yürütme örneğinin durumu.
Geçerli değerler şunlardır: Pending, Running, Pausedve Completed
ReportLocation Raporun indirildiği konum.
ReportAccessSecureLink Rapora güvenli bir şekilde erişilebilen bağlantı
ReportExpiryTime Rapor bağlantısının süresinin dolacağı UTC zamanı bu formatta verilmiştir: yyyy-MM-ddTHH:mm:ssZ
ReportGeneratedTime UTC Raporun bu biçimde oluşturulduğu saat: yyyy-MM-ddTHH:mm:ssZ
EndTime Rapor oluşturma sırasında istek yükünde sağlanan bitiş zamanı. Bu yalnızca ExecuteNow "True" olarak ayarlandığında geçerlidir
TotalRecurrenceCount rapor oluşturma sırasında istek yükünde sağlanan RecurrenceCount
nextExecutionStartTime Bir sonraki rapor yürütmenin ne zaman başlayacağına ilişkin UTC zaman damgası
TotalCount Değer dizisindeki veri kümesi sayısı
StatusCode Sonuç Kodu
Olası değerler 200, 400, 401, 403, 404 ve 500'dür
message API'nin yürütülmesinden gelen durum iletisi

API'leri Swagger API URL'siaracılığıyla deneyebilirsiniz.