Aktualizowanie żądania przeniesienia dla nowego handlu przy użyciu interfejsów API REST Centrum partnerskiego
W tym artykule opisano, jak używać interfejsu API REST w Centrum partnerskim do akceptowania lub anulowania żądania przeniesienia dla nowych elementów licencji handlowych lub planu platformy Azure. Przykład obejmuje składnię REST, nagłówki i odpowiedzi REST.
Odpowiednie role: agent Administracja
Wymagania wstępne
- Poświadczenia zgodnie z opisem w temacie Uwierzytelnianie w Centrum partnerskim. Ten scenariusz obsługuje uwierzytelnianie zarówno przy użyciu autonomicznych poświadczeń aplikacji, jak i aplikacji i użytkownika.
- Identyfikator klienta (
customer-tenant-id
). Jeśli nie znasz identyfikatora klienta, możesz wyszukać go w Centrum partnerskim, wybierając obszar roboczy Klienci , a następnie klienta z listy klienta, a następnie pozycję Konto. Na stronie Konto klienta poszukaj identyfikatora Microsoft w sekcji Informacje o koncie klienta. Identyfikator Microsoft jest taki sam jak identyfikator klienta (customer-tenant-id
). - Identyfikator transferu dla istniejącego transferu.
Żądanie REST
Składnia żądania
Method | Identyfikator URI żądania |
---|---|
PATCH | {baseURL}/v1/customers/{customer-id}/transfer/{transfer-id} HTTP/1.1 |
Parametr identyfikatora URI
Użyj następującego parametru ścieżki, aby zidentyfikować klienta i określić transfer, który ma zostać zaakceptowany.
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
identyfikator klienta | string | Tak | Identyfikator GUID sformatowany przez klienta, który identyfikuje klienta |
identyfikator transferu | string | Tak | Identyfikator transferu sformatowany w formacie GUID identyfikujący transfer |
Nagłówki żądań
Aby uzyskać więcej informacji, zobacz Nagłówki REST Centrum partnerskiego.
Przykład żądania anulowania przeniesienia
Przeniesienie można anulować tylko wtedy, gdy znajduje się w stanie oczekiwania . Tylko partner docelowy, który utworzył przeniesienie, może go anulować.
PATCH /v1/customers/a624f7f8-408b-49B0-9320-df79e56bed55/transfers/43fb1d3a-79fe-45a9-863e-9a4acf17b630 HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 8389053b-731c-4261-9899-1583d7859153
X-Locale: en-US
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 0
{
"id": "43fb1d3a-79fe-45a9-863e-9a4acf17b630",
"status": "Cancel",
"targetPartnerTenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"sourcePartnerTenantId": "bbbbcccc-1111-dddd-2222-eeee3333fff",
"customerName": "ipdbtrans2"
}
Przykład żądania akceptowania transferu
Akceptowanie transferu obejmuje elementy wiersza. W tej tabeli opisano właściwości TransferLineItem w treści żądania.
Właściwość | Type | Wymagania | Opis |
---|---|---|---|
IDENTYFIKATOR | string | Nie | Unikatowy identyfikator elementu wiersza transferu; zastosowane po pomyślnym utworzeniu obiektu transferEntity |
Subscriptionid | string | Tak | Identyfikator subskrypcji |
Producttype | string | Tak | Typ do przeniesienia powinien mieć wartość OnlineServicesNCE dla subskrypcji opartych na licencjach |
PATCH /v1/customers/a624f7f8-408b-49B0-9320-df79e56bed55/transfers/43fb1d3a-79fe-45a9-863e-9a4acf17b630 HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 8389053b-731c-4261-9899-1583d7859153
X-Locale: en-US
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 0
{
"id": "43fb1d3a-79fe-45a9-863e-9a4acf17b630",
"status": "Accept",
"transferType": 3,
"targetPartnerTenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"sourcePartnerTenantId": "bbbbcccc-1111-dddd-2222-eeee3333fff",
"customerName": "ipdbtrans2",
"lineItems": [{
"id": 0,
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"productType": "OnlineServicesNCE"
}]
}
Odpowiedź REST na potrzeby aktualizacji transferu
W przypadku powodzenia ta metoda zwraca wypełniony zasób TransferSubmitResult w treści odpowiedzi.
Kody powodzenia i błędów odpowiedzi
Każda odpowiedź zawiera kod stanu HTTP, który wskazuje powodzenie lub niepowodzenie i więcej informacji o debugowaniu. Użyj narzędzia do śledzenia sieci, aby odczytać ten kod, typ błędu i inne parametry. Aby uzyskać pełną listę, zobacz Kody błędów.
Przykład odpowiedzi na potrzeby anulowania transferu
HTTP/1.1 200 OK
Content-Length: 3389
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 8389053b-731c-4261-9899-1583d7859153
X-Locale: en-US
Date: Wed, 25 Mar 2020 19:13:06 GMT
{
"id": "43fb1d3a-79fe-45a9-863e-9a4acf17b630",
"status": "Cancel",
"transferType": 3,
"customerEmailId": "",
"createdTime": "2024-04-30T18:31:41.5133355Z",
"lastModifiedTime": "2024-04-30T18:31:41Z",
"expirationTime": "2024-05-31T00:00:00Z",
"customerName": "ipdbtrans2",
"customerTenantId": "a624f7f8-408b-49B0-9320-df79e56bed55",
"partnertenantid": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"sourcePartnerName": "Test_Test_IP4_AG",
"sourcePartnerTenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"targetPartnerName": "Test_Test_DB_AG",
"targetPartnerTenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"targetPartnerEmailId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"transferDirection": 1,
"ignoreEligibilityCheck": false,
"lastModifiedUser": "7ffdaa28-3b1c-4a61-b580-e1aa6ecf833c",
"links": {
"self": {
"uri": "/customers/a624f7f8-408b-49B0-9320-df79e56bed55/transfers/43fb1d3a-79fe-45a9-863e-9a4acf17b630",
"method": "GET",
"headers": []
}
}
}
Przykład odpowiedzi na potrzeby akceptowania transferu
HTTP/1.1 200 OK
Content-Length: 3389
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 8389053b-731c-4261-9899-1583d7859153
X-Locale: en-US
Date: Wed, 25 Mar 2020 19:13:06 GMT
{
"id": "43fb1d3a-79fe-45a9-863e-9a4acf17b630",
"status": "InProgress",
"transferType": 3,
"customerEmailId": "",
"createdTime": "2024-04-30T18:31:41.5133355Z",
"lastModifiedTime": "2024-05-01T00:51:55Z",
"expirationTime": "2024-05-31T00:00:00Z",
"customerName": "ipdbtrans2",
"customerTenantId": "a624f7f8-408b-49B0-9320-df79e56bed55",
"partnertenantid": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"sourcePartnerName": "Test_Test_IP4_AG",
"sourcePartnerTenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"targetPartnerName": "Test_Test_DB_AG",
"targetPartnerTenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"targetPartnerEmailId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"transferDirection": 2,
"ignoreEligibilityCheck": false,
"lastModifiedUser": "1671774b-679f-4543-a152-1f8b14006c0e",
"lineItems": [{
"id": 0,
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"billingCycle": "unknown",
"quantity": 0,
"productType": 5,
"status": "InProgress"
}],
"links": {
"self": {
"uri": "/customers/a624f7f8-408b-49B0-9320-df79e56bed55/transfers/43fb1d3a-79fe-45a9-863e-9a4acf17b630",
"method": "GET",
"headers": []
}
}
}