Compartir vía


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 Identificador de cliente con formato GUID que identifica al cliente
transfer-id string 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: 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"
}

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 Identificador de suscripción
productType string 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: 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"
    }]
}

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

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