Actualización de una solicitud de transferencia para el nuevo comercio mediante las API REST del Centro de partners
En este artículo se explica cómo usar la API REST en el Centro de partners para aceptar o cancelar una solicitud de transferencia para nuevos elementos de plan de Azure o basados en licencias comerciales. En el ejemplo se incluye la sintaxis REST, los encabezados y las respuestas REST.
Roles adecuados: Agente de administración
Requisitos previos
- Credenciales tal como se describen en el artículo Autenticación del Centro de partners. Este escenario admite la autenticación con credenciales de aplicación independiente y app+usuario.
- Un id. de cliente (
customer-tenant-id
). Si no conoce el identificador del cliente, puede buscarlo en el Centro de partners seleccionando el área de trabajo Clientes , luego el cliente de la lista de clientes y, a continuación , Cuenta. En la página Cuenta del cliente, busca el Id. de Microsoft en la sección Información de la cuenta del cliente. El id. de Microsoft es el mismo que el de cliente (customer-tenant-id
). - Identificador de transferencia para una transferencia existente.
Solicitud REST
Sintaxis de la solicitud
Método | URI de solicitud |
---|---|
PATCH | {baseURL}/v1/customers/{customer-id}/transfers/{transfer-id} HTTP/1.1 |
Parámetro de URI
Use el siguiente parámetro de ruta de acceso para identificar al cliente y especificar la transferencia que se va a aceptar.
Nombre | Type | Obligatorio | Descripción |
---|---|---|---|
customer-id | string | Sí | Identificador de cliente con formato GUID que identifica al cliente |
transfer-id | string | Sí | Identificador de transferencia con formato GUID que identifica la transferencia |
Encabezados de solicitud
Para obtener más información, consulta Encabezados REST del Centro de partners.
Ejemplo de solicitud para cancelar transferencia
Una transferencia solo se puede cancelar si está en estado pendiente . Solo el asociado de destino que creó la transferencia puede cancelarla.
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"
}
Ejemplo de solicitud para la transferencia de aceptación
Aceptar una transferencia incluye elementos de línea. En esta tabla se describen las propiedades TransferLineItem en el cuerpo de la solicitud.
Propiedad | Type | Obligatorio | Descripción |
---|---|---|---|
ID | string | No | Identificador único de un elemento de línea de transferencia; aplicado tras la creación correcta de transferEntity |
subscriptionID | string | Sí | Identificador de suscripción |
productType | string | Sí | El tipo que se va a transferir debe ser OnlineServicesNCE para suscripciones basadas en licencias. |
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"
}]
}
Respuesta REST para las actualizaciones de transferencia
Si se ejecuta correctamente, este método devuelve el recurso TransferSubmitResult rellenado en el cuerpo de la respuesta.
Códigos de error y de respuesta correctos
Cada respuesta incluye un código de estado HTTP que indica éxito o error y más información de depuración. Use una herramienta de seguimiento de red para leer este código, tipo de error y más parámetros. Para obtener la lista completa, consulte Códigos de error.
Ejemplo de respuesta para cancelar transferencia
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": []
}
}
}
Ejemplo de respuesta para la transferencia de aceptación
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": []
}
}
}