Udostępnij za pośrednictwem


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: 4827b753-8541-428b-8c90-059b6b4851bd
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": "817512a1-0689-47a0-bcf2-b3f11ae1fc11",
    "sourcePartnerTenantId": "a94dcde1-ecd7-4ace-d3ef-ef73ba6b8ba5",
    "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: 4827b753-8541-428b-8c90-059b6b4851bd
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": "817512a1-0689-47a0-bcf2-b3f11ae1fc11",
    "sourcePartnerTenantId": "a94dcde1-ecd7-4ace-d3ef-ef73ba6b8ba5",
    "customerName": "ipdbtrans2",
    "lineItems": [{
        "id": 0,
        "subscriptionId": "d0df8837-6db3-49d8-c2b3-1d94bc1ab42d",
        "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: 4827b753-8541-428b-8c90-059b6b4851bd
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": "817512a1-0689-47a0-bcf2-b3f11ae1fc11",
    "sourcePartnerName": "Test_Test_IP4_AG",
    "sourcePartnerTenantId": "a94dcde1-ecd7-4ace-d3ef-ef73ba6b8ba5",
    "targetPartnerName": "Test_Test_DB_AG",
    "targetPartnerTenantId": "817512a1-0689-47a0-bcf2-b3f11ae1fc11",
    "targetPartnerEmailId": "817512a1-0689-47a0-bcf2-b3f11ae1fc11",
    "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: 4827b753-8541-428b-8c90-059b6b4851bd
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": "a94dcde1-ecd7-4ace-d3ef-ef73ba6b8ba5",
    "sourcePartnerName": "Test_Test_IP4_AG",
    "sourcePartnerTenantId": "a94dcde1-ecd7-4ace-d3ef-ef73ba6b8ba5",
    "targetPartnerName": "Test_Test_DB_AG",
    "targetPartnerTenantId": "817512a1-0689-47a0-bcf2-b3f11ae1fc11",
    "targetPartnerEmailId": "817512a1-0689-47a0-bcf2-b3f11ae1fc11",
    "transferDirection": 2,
    "ignoreEligibilityCheck": false,
    "lastModifiedUser": "1671774b-679f-4543-a152-1f8b14006c0e",
    "lineItems": [{
        "id": 0,
        "subscriptionId": "d0df8837-6db3-49d8-c2b3-1d94bc1ab42d",
        "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": []
        }
    }
}