Partager via


Mettre à jour une demande de transfert pour le nouveau commerce à l’aide des API REST de l’Espace partenaires

Cet article explique comment utiliser l’API REST dans l’Espace partenaires pour accepter ou annuler une demande de transfert pour les nouveaux éléments de plan basés sur une licence commerciale ou Azure. L’exemple inclut la syntaxe REST, les en-têtes et les réponses REST.

Rôles appropriés : Agent d’administration

Prérequis

  • Informations d’identification, comme décrit dans Authentification auprès de l’Espace partenaires. Ce scénario prend en charge l’authentification avec les informations d’identification d’application et d’application+utilisateur autonomes.
  • ID du client (customer-tenant-id). Si vous ne connaissez pas l’ID du client, vous pouvez le rechercher dans l’Espace de partenaires en sélectionnant l’espace de travail Clients, puis le client dans la liste des clients, puis compte. Dans la page du compte du client, recherchez l’ID Microsoft dans la section Informations sur le compte client. L’ID Microsoft est le même que l’ID de client (customer-tenant-id).
  • Identificateur de transfert pour un transfert existant.

Demande REST

Syntaxe de la requête

Méthode URI de demande
PATCH {baseURL}/v1/customers/{customer-id}/transfer/{transfer-id} HTTP/1.1

Paramètre d’URI

Utilisez le paramètre de chemin d’accès suivant pour identifier le client et spécifier le transfert à accepter.

Nom Type Requise Description
id-client string Oui ID client au format GUID qui identifie le client
transfer-id string Oui ID de transfert au format GUID qui identifie le transfert

En-têtes de requête

Pour plus d’informations, consultez En-têtes REST de l’Espace Partenaires.

Exemple de demande pour le transfert d’annulation

Un transfert ne peut être annulé que s’il est dans l’état en attente . Seul le partenaire cible qui a créé le transfert peut l’annuler.

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": "817512a1-0689-47a0-bcf2-b3f11ae1fc11",
    "sourcePartnerTenantId": "a94dcde1-ecd7-4ace-d3ef-ef73ba6b8ba5",
    "customerName": "ipdbtrans2"
}

Exemple de demande pour accepter le transfert

L’acceptation d’un transfert comprend des éléments de ligne. Ce tableau décrit les propriétés TransferLineItem dans le corps de la requête.

Propriété Type Requise Description
id string Non Identificateur unique d’un élément de ligne de transfert ; appliqué lors de la création réussie de transferEntity
subscriptionID string Oui Identificateur d’abonnement
productType string Oui Le type à transférer doit être OnlineServicesNCE pour les abonnements basés sur des licences
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": "817512a1-0689-47a0-bcf2-b3f11ae1fc11",
    "sourcePartnerTenantId": "a94dcde1-ecd7-4ace-d3ef-ef73ba6b8ba5",
    "customerName": "ipdbtrans2",
    "lineItems": [{
        "id": 0,
        "subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
        "productType": "OnlineServicesNCE"
    }]
}

Réponse REST pour les mises à jour de transfert

Si elle réussit, cette méthode retourne la ressource TransferSubmitResult remplie dans le corps de la réponse.

Codes d’erreur et de réussite de la réponse

Chaque réponse est fournie avec un code d’état HTTP qui indique la réussite ou l’échec et plus d’informations de débogage. Utilisez un outil de suivi réseau pour lire ce code, le type d’erreur et d’autres paramètres. Pour obtenir la liste complète, consultez Codes d’erreur.

Exemple de réponse pour le transfert d’annulation

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": "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": []
        }
    }
}

Exemple de réponse pour accepter le transfert

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": "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": "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": []
        }
    }
}