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