Tworzenie żądania eksportu zarobków
Ten interfejs API służy do kolejkowania nowych żądań eksportu danych o zarobkach i transakcjach/płatnościach z opcjonalnymi filtrami, aby elastycznie analizować dane zarobków i transakcji. Zwraca on stan HTTP 202 i identyfikator żądania, który może służyć do sondowania w celu sprawdzenia stanu żądania eksportu transakcji w kolejce.
Prześlij żądanie POST do punktu końcowego API, aby zakolejkować nowe żądanie eksportu transakcji/zarobków.
Żądanie REST
Metoda | Żądanie URI |
---|---|
POST | https://api.partner.microsoft.com/v1.0/payouts/transactionhistory?$filter={$filter}&fileformat=csv |
Parametry żądania
Nazwa | W | Wymagane | Typ | Opis |
---|---|---|---|---|
$filter | Zapytanie | Nie | Struna | Mimo że jest to opcjonalny filtr, zdecydowanie zalecamy używanie filtrów w celu zwiększenia wydajności i ograniczenia danych eksportu zamiast eksportowania danych z ostatnich trzech lat. Zobacz poniższą tabelę, aby zapoznać się z pełnym zestawem opcji $filter. |
format pliku | Zapytanie | Nie | Struna | Obsługiwane wartości to .csv/.tsv. Wartość domyślna to .csv, jeśli nie podano żadnej wartości. |
Parametr zapytania $filter jest opcjonalnym parametrem służącym do tworzenia operacji eksportowania. Zdecydowanie zalecamy jednak użycie $filters w celu uzyskania lepszej wydajności i szybszej dostępności raportu eksportu. Poniżej przedstawiono niektóre filtry atrybutów klucza, które mogą być używane w ramach operacji eksportowania:
Nazwa | Opis | Typ | Próbka |
---|---|---|---|
enrollmentParticipantId |
Zarejestrowany identyfikator MPN organizacji. | Int |
{baseUrl}/v1.0/payouts/transactionhistory?$filter= enrollmentParticipantId=12345 |
EarningForDate |
Data okresu zarobkowego dla operacji eksportowej. | Data i czas |
{baseUrl}/v1.0/payouts/transactionhistory?$filter=earningForDate ge 2023-03-01 and earningForDate le 2023-04-12 |
transactionAmount |
Kwota transakcji. | Podwójny |
{baseUrl}/v1.0/payouts/transactionhistory?$filter=?$filter=transactionAmount ge 2000 and transactionAmount le 5000 |
earningAmount |
Kwota zarobków w walucie transakcji. | Podwójny |
{baseUrl}/v1.0/payouts/transactionhistory?$filter=?$filter=earningAmount ge 2000 and earningAmount le 5000 |
engagementName |
Dotyczy tylko zachęt handlowych firmy Microsoft. Przykładowe wartości — 'Azure CSP motion incentives - Indirect Provider' . |
Struna |
{baseUrl}/v1.0/payouts/transactionhistory?$filter=?$filter=engagementName=’Azure CSP motion incentives’ |
payableSubType |
Filtruj według typu zarobków. Przykładowe wartości — 'REBATE' , 'COOP' , 'FEE' , 'SELL' |
Struna |
{baseUrl}/v1.0/payouts/transactionhistory?$filter=?$filter=payableSubType=’REBATE’ or payableSubType=’FEE’ |
payoutStatus |
Filtruj transakcje według stanu wypłat. Przykładowe wartości — 'SENT' , 'UPCOMING' , 'IN PROGRESS' . |
Struna |
{baseUrl}/v1.0/payouts/transactionhistory?$filter=?$filter=payoutStatus=’IN PROGRESS’ |
Przykładowy filtr historii transakcji z wieloma parametrami żądania:
”?$filter=earningForDate ge 2019-01-27T23:16:31.009Z and earningForDate le 2019-09-25T23:16:31.009Z and (enrollmentParticipantId eq 'XXXXXXX') and (programName eq ‘Microsoft Commerce Incentives’) and (payableSubType eq 'REBATE') and (paymentId eq '000000000000') and (engagementName eq 'Azure Enterprise and Self-Service Incentive' or engagementName eq 'Azure CSP motion incentives - Indirect Provider') and (leverCode eq ‘Azure Enterprise and Self-Service Motion’) and (payoutStatus eq 'SENT')”
Nagłówek żądania
Nazwa | Wymagane | Typ | Opis |
---|---|---|---|
Autoryzacja | Tak | Struna | Token uwierzytelniający typu bearer. |
ms-correlationid | Nie | Struna | Wewnętrzny monitor żądań. Każde żądanie generuje nowy tracker (GUID). |
ms-requestid | Nie | Struna | Identyfikator idempotentności żądania. |
Aby dowiedzieć się więcej, zobacz Nagłówki Centrum partnerskiego REST
Treść żądania
N/A.
Odpowiedź interfejsu API
HTTP/1.1 202 Accepted
Ładunek odpowiedzi interfejsu API zwraca następujące atrybuty:
Nazwa | Fakultatywny | Opis |
---|---|---|
Wartość | fałszywy | Aby uzyskać możliwe wartości i akcje, zobacz poniższą tabelę. |
Możliwe wartości i akcje
Wartość | Akcja klienta |
---|---|
requestId | Identyfikator żądania eksportu |
requestDateTime | Data/godzina rozpoczęcia żądania eksportu |
ścieżka żądania | Ścieżka zapytania żądania eksportu. |
requestQueryString | Filtr używany jako część żądania eksportu. |
BlobLocation | Zasób blob z tokenem, gdy plik eksportowy jest gotowy |
Stan | Stan operacji eksportowania. Zapoznaj się z poniższą listą możliwych wartości stanu. |
Możliwe wartości stanu
- W kolejce:operacja eksportowania nie została uruchomiona
- Przetwarzanie: operacja eksportowania jest w toku
- Niepowodzenie: operacja eksportowania nie powiodła się po ponownych próbach, spróbuj umieścić w kolejce nowe żądanie
- Ukończono: operacja eksportowania została ukończona, a plik eksportu jest gotowy do pobrania.
Przykładowa odpowiedź
{
"value": [
{
"requestId": "93c2b3cf-c6d8-4e7e-ade1-007768a6eba4",
"requestDateTime": "2023-05-25T21:20:46.3727561Z",
"requestPath": "/v1.0/payouts/transactionhistory",
"requestQueryString": "earningForDate ge 2023-03-01 and earningForDate le 2023-04-12",
"blobLocation": "",
"status": "Queued"
}
],
"nextLink": null,
"totalCount": 1
}
Interfejs API zwraca stan HTTP 202.
Nazwa | Opis |
---|---|
Zaakceptowano 202 | Żądanie zostało zaakceptowane. Wykonaj zapytanie dotyczące adresu URL żądania GET, aby uzyskać stan żądania. |
W zależności od żądania interfejs API może zwrócić inne standardowe stany:
Nazwa | Opis |
---|---|
400 Nieprawidłowe żądanie | Brak lub niepoprawne dane. |
401 Brak autoryzacji | Obiekt wywołujący nie jest uwierzytelniany i musi uwierzytelniać się w usłudze interfejsu API partnera przed wykonaniem pierwszego wywołania. |
403 Zabronione | Osoba dzwoniąca nie ma autoryzacji do składania żądania. |
Błąd wewnętrzny serwera 500 | Interfejs API lub jeden z jego zależności nie może spełnić żądania. Spróbuj ponownie później. |
404 Nie znaleziono | Zasób jest niedostępny z parametrami wejściowymi. |
429 Ograniczanie szybkości | Zbyt wiele żądań tego samego typu. Spróbuj po pewnym czasie. |