Compartir a través de


Ejemplo de operaciones básicas de API web

Esta colección de fragmentos de código de ejemplo muestra cómo realizar CRUD básico (Crear, Recuperar, Actualizar y Eliminar) y operaciones asociativas mediante la API web de Microsoft Dataverse. Estas versiones específicas del lenguaje implementan las mismas operaciones:

En este artículo se describe un conjunto común de operaciones que implementa cada fragmento de código de ejemplo de este grupo. Describe las solicitudes y respuestas HTTP y la salida de texto que realiza cada ejemplo sin los detalles específicos del lenguaje. Para obtener más información sobre cómo se realizan estas operaciones, consulte las descripciones específicas del lenguaje y los ejemplos individuales.

Demostraciones

Este ejemplo se divide en las secciones siguientes. Cada sección contiene operaciones de API web de Dataverse que se describen con mayor detalle en los artículos conceptuales asociados especificados.

Sección de código Artículos conceptuales asociados
Sección 1: Operaciones básicas crear y actualizar Crear básico
Actualización básica
Sección 2: Crear con asociación Asociar filas de tabla en la creación
Sección 3: Crear filas de tablas relacionadas (inserción profunda) Crea filas de tablas relacionadas en una sola operación
Sección 4: Asociar y disociar filas de tablas existentes Asociar y anular la asociación de filas de tabla mediante la API web
Sección 5: Eliminar filas de la tabla (limpieza de muestra) Eliminación básica

Nota

Por motivos de brevedad, el ejemplo omite los encabezados HTTP menos pertinentes. Las URL de los registros variarán con la dirección de la organización base y el id. de la fila asignada por su servidor de Dataverse.

Sección 1: Operaciones básicas crear y actualizar

En esta sección se crea un único contacto y, a continuación, se realiza una serie de actualizaciones en esa instancia. El encabezado de respuesta OData-EntityId contiene la dirección URL de esta fila recién creada (instancia de entidad), que incluye entre paréntesis el identificador único de este registro.

  1. Crear un nuevo contacto, llamado Rafel Shillo.

    Solicitud:

    POST [Organization Uri]/api/data/v9.2/contacts HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    
    {
     "firstname": "Rafel",
     "lastname": "Shillo"
    }
    

    Respuesta:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
    

    Salida de la consola:

    Contact URI: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
    Contact relative Uri: contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
    

    Las propiedades disponibles para cada tipo se definen en el documento de metadatos y también se documentan para cada tipo en la sección Web API Entity Type Reference. Para obtener más información general, vea tipos de API web y operaciones.

  2. Actualice el contacto con valores de ingresos anuales (80 000 $) y el nombre del puesto (Desarrollador junior).

    Solicitud:

    PATCH [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee) HTTP/1.1
    If-Match: *
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    
    {
     "annualincome": 80000,
     "jobtitle": "Junior Developer"
    }
    

    Respuesta:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
    

    Salida de la consola:

    Contact 'Rafel Shillo' updated with jobtitle and annual income
    
  3. Recupere el contacto con su conjunto de propiedades inicializadas de forma explícita. fullname es una propiedad de solo lectura que se calcula a partir de las propiedades firstname y lastname, que inicializaste explícitamente al crear la instancia. En cambio, la propiedad description no se inicializó explícitamente, por lo que mantiene su valor predeterminado, una cadena null.

    Tenga en cuenta que la respuesta, además de los valores solicitados y los encabezados típicos, también devuelven automáticamente los siguientes tipos de información adicional:

    • El ID principal para el tipo de tabla actual, aquí contactid.
    • Un valor ETag, denotado por la clave @odata.etag, que identifica la versión específica del recurso solicitado. Para obtener más información, consulte realizar operaciones condicionales mediante la API web.
    • El contexto de metadatos, denotado por la clave @odata.context, proporciona una forma de comparar resultados de la consulta para determinar si proceden de la misma consulta.
    • _transactioncurrencyid_value que indica la divisa local de la transacción monetaria.

    Solicitud:

    GET [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)?$select=fullname,annualincome,jobtitle,description HTTP/1.1
    Prefer: odata.include-annotations="*"
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    

    Respuesta:

    HTTP/1.1 200 OK
    ETag: W/"72935648"
    OData-Version: 4.0
    Preference-Applied: odata.include-annotations="*"
    
    {
     "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#contacts(fullname,annualincome,jobtitle,description)/$entity",
     "@odata.etag": "W/\"72935648\"",
     "fullname": "Rafel Shillo",
     "annualincome@OData.Community.Display.V1.FormattedValue": "$80,000.00",
     "annualincome": 80000.0,
     "jobtitle": "Junior Developer",
     "description": null,
     "_transactioncurrencyid_value@OData.Community.Display.V1.FormattedValue": "US Dollar",
     "_transactioncurrencyid_value@Microsoft.Dynamics.CRM.associatednavigationproperty": "transactioncurrencyid",
     "_transactioncurrencyid_value@Microsoft.Dynamics.CRM.lookuplogicalname": "transactioncurrency",
     "_transactioncurrencyid_value": "228f42f8-e646-e111-8eb7-78e7d162ced1",
     "contactid": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee"
    }
    

    Salida de la consola:

    Contact 'Rafel Shillo' retrieved:
           Annual income: $80,000.00
           Job title: Junior Developer
           Description:
    

    Importante

    Use siempre la selección y el filtrado en las operaciones de recuperación para optimizar el rendimiento. Para obtener más información, consulte Consulta de datos mediante la API web.

  4. Actualice la instancia de contacto proporcionando nuevos valores a estas mismas propiedades.

    Solicitud:

    PATCH [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee) HTTP/1.1
    If-Match: *
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    
    {
     "jobtitle": "Senior Developer",
     "annualincome": 95000,
     "description": "Assignment to-be-determined"
    }
    

    Respuesta:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
    

    Salida de la consola:

    Contact 'Rafel Shillo' updated:
           Job title: Senior Developer
           Annual income: 95000
           Description: Assignment to-be-determined
    

    Importante

    Envíe solo propiedades cambiadas en solicitudes de actualización. Para obtener más información, consulte Actualización básica.

  5. Establezca explícitamente una sola propiedad, el número de teléfono principal. En este ejemplo se usa una PUT solicitud y la clave JSON denominada value al realizar operaciones en propiedades individuales.

    Solicitud:

    PUT [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)/telephone1 HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    
    {
     "value": "555-0105"
    }
    

    Respuesta:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    

    Salida de la consola:

    Contact 'Rafel Shillo' phone number updated.
    
  6. Recupere esa misma propiedad individual, el número de teléfono principal. De nuevo, use la clave denominada value.

    Solicitud:

    GET [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)/telephone1 HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    

    Respuesta:

    HTTP/1.1 200 OK
    OData-Version: 4.0
    
    {
     "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)/telephone1",
     "value": "555-0105"
    }
    

    Salida de la consola:

    Contact's telephone # is: 555-0105.  
    

Sección 2: Crear con asociación

En esta sección se crea un nuevo registro de cuenta denominado Contoso, Ltd. y se asocia a un contacto existente, Rafel Shillo, que creó en la sección 1. Esta creación y asociación se realizan en una sola operación POST.

  1. Cree la cuenta Contoso, Ltd. y establezca su atributo de contacto principal al contacto existente Rafel Shillo. La @odata.bind anotación indica que está creando una asociación. En este caso, enlaza la primarycontactid propiedad de navegación de un solo valor a un contacto existente, Rafel Shillo.

    Solicitud:

    POST [Organization Uri]/api/data/v9.2/accounts HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    
    {
     "name": "Contoso Ltd",
     "telephone1": "555-5555",
     "primarycontactid@odata.bind": "contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)"
    }
    

    Respuesta:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    OData-EntityId: [Organization Uri]/api/data/v9.2/accounts(11bb11bb-cc22-dd33-ee44-55ff55ff55ff)
    

    Salida de la consola:

    Account 'Contoso Ltd' created.
    Account URI: accounts(11bb11bb-cc22-dd33-ee44-55ff55ff55ff)
    
  2. Recupere el contacto principal de la cuenta Contoso, Ltd. De nuevo, use $expand con la primarycontactid propiedad de navegación con un solo valor para acceder al registro EntityType de contacto asociado.

    Solicitud:

    GET [Organization Uri]/api/data/v9.2/accounts(11bb11bb-cc22-dd33-ee44-55ff55ff55ff)?$select=name,&$expand=primarycontactid($select=fullname,jobtitle,annualincome) HTTP/1.1
    Prefer: odata.include-annotations="*"
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    

    Respuesta:

    HTTP/1.1 200 OK
    ETag: W/"72935670"
    OData-Version: 4.0
    Preference-Applied: odata.include-annotations="*"
    
    {
     "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#accounts(name,primarycontactid(fullname,jobtitle,annualincome))/$entity",
     "@odata.etag": "W/\"72935670\"",
     "name": "Contoso Ltd",
     "accountid": "11bb11bb-cc22-dd33-ee44-55ff55ff55ff",
     "primarycontactid": {
       "@odata.etag": "W/\"72935663\"",
       "fullname": "Rafel Shillo",
       "jobtitle": "Senior Developer",
       "annualincome@OData.Community.Display.V1.FormattedValue": "$95,000.00",
       "annualincome": 95000.0,
       "_transactioncurrencyid_value@OData.Community.Display.V1.FormattedValue": "US Dollar",
       "_transactioncurrencyid_value@Microsoft.Dynamics.CRM.associatednavigationproperty": "transactioncurrencyid",
       "_transactioncurrencyid_value@Microsoft.Dynamics.CRM.lookuplogicalname": "transactioncurrency",
       "_transactioncurrencyid_value": "228f42f8-e646-e111-8eb7-78e7d162ced1",
       "contactid": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee"
     }
    }
    

    Salida de la consola:

    Account 'Contoso Ltd' has primary contact 'Rafel Shillo':
           Job title: Senior Developer
           Annual income: $95,000.00
    

En esta sección se muestra cómo crear una fila de tabla y una fila relacionada en una sola solicitud POST. Cuando se usa este método, se crean todas las filas nuevas; no se asocia a filas existentes. Este método tiene dos ventajas. Es más eficaz porque reemplaza varias operaciones de creación y asociación más sencillas por una operación combinada. Además, es atómica, por lo que toda la operación se realiza correctamente y se crean todos los objetos relacionados, o se produce un error en la operación y no se crea ninguna.

Esta sección crea una cuenta, su contacto principal y un conjunto de tareas para ese contacto en una solicitud.

  1. Cree la cuenta Fourth Coffee y su contacto principal Susie Curtis y sus tres tareas relacionadas en una operación. Tenga en cuenta el uso de la propiedad de navegación de un solo valor primarycontactid y la propiedad de navegación valorada como colección Contact_Tasks para definir estas relaciones, respectivamente. Las propiedades de navegación de un solo valor toman un valor de objeto, en tanto que las propiedades navegación valoradas como colección toman un valor de matriz.

    Solicitud:

    POST [Organization Uri]/api/data/v9.2/accounts HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    
    {
     "name": "Fourth Coffee",
     "primarycontactid": {
       "firstname": "Susie",
       "lastname": "Curtis",
       "jobtitle": "Coffee Master",
       "annualincome": 48000,
       "Contact_Tasks": [
         {
           "subject": "Sign invoice",
           "description": "Invoice #12321",
           "scheduledstart": "2023-04-19T03:00:00+07:00",
           "scheduledend": "2023-04-19T04:00:00+07:00",
           "scheduleddurationminutes": 60
         },
         {
           "subject": "Setup new display",
           "description": "Theme is - Spring is in the air",
           "scheduledstart": "2023-04-20T03:00:00+07:00",
           "scheduledend": "2023-04-20T04:00:00+07:00",
           "scheduleddurationminutes": 60
         },
         {
           "subject": "Conduct training",
           "description": "Train team on making our new blended coffee",
           "scheduledstart": "2023-04-21T03:00:00+07:00",
           "scheduledend": "2023-04-21T04:00:00+07:00",
           "scheduleddurationminutes": 60
         }
       ]
     }
    }
    

    Respuesta:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    OData-EntityId: [Organization Uri]/api/data/v9.2/accounts(22cc22cc-dd33-ee44-ff55-66aa66aa66aa)
    

    Salida de la consola:

    Account 'Fourth Coffee  created.
    
  2. Recupere selectivamente la cuenta recién creada de Fourth Coffee y su contacto principal. Una extensión se realiza en la propiedad de navegación de un solo valor primarycontactid.

    Solicitud:

    GET [Organization Uri]/api/data/v9.2/accounts(22cc22cc-dd33-ee44-ff55-66aa66aa66aa)?$select=name&$expand=primarycontactid($select=fullname,jobtitle,annualincome) HTTP/1.1
    Prefer: odata.include-annotations="*"
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    

    Respuesta:

    HTTP/1.1 200 OK
    ETag: W/"72935710"
    OData-Version: 4.0
    Preference-Applied: odata.include-annotations="*"
    
    {
     "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#accounts(name,primarycontactid(fullname,jobtitle,annualincome))/$entity",
     "@odata.etag": "W/\"72935710\"",
     "name": "Fourth Coffee",
     "accountid": "22cc22cc-dd33-ee44-ff55-66aa66aa66aa",
     "primarycontactid": {
       "@odata.etag": "W/\"72935689\"",
       "fullname": "Susie Curtis",
       "jobtitle": "Coffee Master",
       "annualincome@OData.Community.Display.V1.FormattedValue": "$48,000.00",
       "annualincome": 48000.0,
       "_transactioncurrencyid_value@OData.Community.Display.V1.FormattedValue": "US Dollar",
       "_transactioncurrencyid_value@Microsoft.Dynamics.CRM.associatednavigationproperty": "transactioncurrencyid",
       "_transactioncurrencyid_value@Microsoft.Dynamics.CRM.lookuplogicalname": "transactioncurrency",
       "_transactioncurrencyid_value": "228f42f8-e646-e111-8eb7-78e7d162ced1",
       "contactid": "2f28bcb4-bb27-ed11-9db1-002248274ada"
     }
    }
    

    Salida de la consola:

    Account 'Fourth Coffee' has primary contact 'Susie Curtis':
           Job title: Coffee Master
           Annual income: $48,000.00
    
  3. Recupere selectivamente las tareas asociadas con el contacto principal recuperado en la operación anterior. Una extensión se realiza en la propiedad de navegación valorada como colección Contact_Tasks.

    Solicitud:

    GET [Organization Uri]/api/data/v9.2/contacts(2f28bcb4-bb27-ed11-9db1-002248274ada)?$select=fullname&$expand=Contact_Tasks($select=subject,description,scheduledstart,scheduledend) HTTP/1.1
    Prefer: odata.include-annotations="*"
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    

    Respuesta:

    HTTP/1.1 200 OK
    ETag: W/"72935689"
    OData-Version: 4.0
    Preference-Applied: odata.include-annotations="*"
    
    {
     "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#contacts(fullname,Contact_Tasks(subject,description,scheduledstart,scheduledend))/$entity",
     "@odata.etag": "W/\"72935689\"",
     "fullname": "Susie Curtis",
     "contactid": "2f28bcb4-bb27-ed11-9db1-002248274ada",
     "Contact_Tasks": [
       {
         "@odata.etag": "W/\"72935719\"",
         "subject": "Sign invoice",
         "description": "Invoice #12321",
         "scheduledstart@OData.Community.Display.V1.FormattedValue": "4/18/2023 1:00 PM",
         "scheduledstart": "2023-04-18T20:00:00Z",
         "scheduledend@OData.Community.Display.V1.FormattedValue": "4/18/2023 2:00 PM",
         "scheduledend": "2023-04-18T21:00:00Z",
         "activityid": "3028bcb4-bb27-ed11-9db1-002248274ada"
       },
       {
         "@odata.etag": "W/\"72935723\"",
         "subject": "Setup new display",
         "description": "Theme is - Spring is in the air",
         "scheduledstart@OData.Community.Display.V1.FormattedValue": "4/19/2023 1:00 PM",
         "scheduledstart": "2023-04-19T20:00:00Z",
         "scheduledend@OData.Community.Display.V1.FormattedValue": "4/19/2023 2:00 PM",
         "scheduledend": "2023-04-19T21:00:00Z",
         "activityid": "3128bcb4-bb27-ed11-9db1-002248274ada"
       },
       {
         "@odata.etag": "W/\"72935727\"",
         "subject": "Conduct training",
         "description": "Train team on making our new blended coffee",
         "scheduledstart@OData.Community.Display.V1.FormattedValue": "4/20/2023 1:00 PM",
         "scheduledstart": "2023-04-20T20:00:00Z",
         "scheduledend@OData.Community.Display.V1.FormattedValue": "4/20/2023 2:00 PM",
         "scheduledend": "2023-04-20T21:00:00Z",
         "activityid": "3228bcb4-bb27-ed11-9db1-002248274ada"
       }
     ]
    }
    

    Salida de la consola:

    Contact 'Susie Curtis' has the following assigned tasks:
    Subject: Sign invoice,
           Description: Invoice #12321
           Start: 4/18/2023 1:00 PM
           End: 4/18/2023 2:00 PM
    
    Subject: Setup new display,
           Description: Theme is - Spring is in the air
           Start: 4/19/2023 1:00 PM
           End: 4/19/2023 2:00 PM
    
    Subject: Conduct training,
           Description: Train team on making our new blended coffee
           Start: 4/20/2023 1:00 PM
           End: 4/20/2023 2:00 PM 
    

Sección 4: Asocie y desasocie entidades existentes

En esta sección se muestra cómo asociar y desasociar las filas de tabla existentes. Para formar una asociación, use un URI de referencia y un objeto de relación y envíelos en una solicitud POST. Para desasociar, envíe una solicitud DELETE al URI de referencia para esa asociación. En primer lugar, cree una asociación uno a varios entre un contacto y una cuenta. A continuación, cree una asociación de muchos a muchos entre un competidor y una o varias oportunidades.

  1. Agregue a Rafel Shillo como contacto en la cuenta Fourth Coffee utilizando la propiedad de navegación con valores de colección contact_customer_accounts. Tenga en cuenta el uso de la clave especial @odata.id para especificar el registro asociado.

    Solicitud:

    POST [Organization Uri]/api/data/v9.2/accounts(22cc22cc-dd33-ee44-ff55-66aa66aa66aa)/contact_customer_accounts/$ref HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    
    {
     "@odata.id": "[Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)"
    }
    

    Respuesta:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    
  2. Confirme la operación anterior recuperando la colección de contactos para la cuenta Fourth Coffee. La respuesta contiene la matriz con un solo elemento, el contacto recientemente asignado Rafel Shillo.

    Solicitud:

    GET [Organization Uri]/api/data/v9.2/accounts(22cc22cc-dd33-ee44-ff55-66aa66aa66aa)/contact_customer_accounts?$select=fullname,jobtitle HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    

    Respuesta:

    HTTP/1.1 200 OK
    OData-Version: 4.0
    
    {
     "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#contacts(fullname,jobtitle)",
     "value": [
       {
         "@odata.etag": "W/\"72935741\"",
         "fullname": "Rafel Shillo",
         "jobtitle": "Senior Developer",
         "contactid": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee"
       }
     ]
    }
    

    Salida de la consola:

    Contact list for account 'Fourth Coffee':
           Name: Rafel Shillo, Job title: Senior Developer  
    
  3. Quite la asociación que creó entre la cuenta Fourth Coffee y póngase en contacto con Rafel Shillo.

    Solicitud:

    DELETE [Organization Uri]/api/data/v9.2/accounts(22cc22cc-dd33-ee44-ff55-66aa66aa66aa)/contact_customer_accounts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)/$ref HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    

    Respuesta:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    
  4. Cree un rol de seguridad llamado Example Security Role.

    Solicitud:

    POST [Organization Uri]/api/data/v9.2/roles HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    
    {
     "businessunitid@odata.bind": "businessunits(38e0dbe4-131b-e111-ba7e-78e7d1620f5e)",
     "name": "Example Security Role"
    }
    

    Respuesta:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    OData-EntityId: [Organization Uri]/api/data/v9.2/roles(33dd33dd-ee44-ff55-aa66-77bb77bb77bb)
    
  5. Asocie el nuevo rol de seguridad a su registro systemuser.

    Solicitud:

    POST [Organization Uri]/api/data/v9.2/systemusers(4026be43-6b69-e111-8f65-78e7d1620f5e)/systemuserroles_association/$ref HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    
    {
     "@odata.id": "[Organization Uri]/api/data/v9.2/roles(33dd33dd-ee44-ff55-aa66-77bb77bb77bb)"
    }
    

    Respuesta:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    

    Salida de la consola:

    Security Role 'Example Security Role' associated with to your user account.
    
  6. Recupere el rol de seguridad de ejemplo mediante la relación de muchos a muchos systemuserroles_association.

    Solicitud:

    GET [Organization Uri]/api/data/v9.2/systemusers(4026be43-6b69-e111-8f65-78e7d1620f5e)/systemuserroles_association?$select=name&$filter=roleid%20eq%20e359feba-bb27-ed11-9db1-002248274ada HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    

    Respuesta:

    HTTP/1.1 200 OK
    OData-Version: 4.0
    
    {
     "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#roles(name)",
     "value": [
       {
         "@odata.etag": "W/\"72935763\"",
         "name": "Example Security Role",
         "roleid": "33dd33dd-ee44-ff55-aa66-77bb77bb77bb"
       }
     ]
    }
    

    Salida de la consola:

    Retrieved role: Example Security Role
    
  7. Disocie el rol de seguridad de su registro de usuario. En esta etapa, se utiliza la misma sintaxis general que para eliminar una asociación de uno a varios.

    Solicitud:

    DELETE [Organization Uri]/api/data/v9.2/systemusers(4026be43-6b69-e111-8f65-78e7d1620f5e)/systemuserroles_association(33dd33dd-ee44-ff55-aa66-77bb77bb77bb)/$ref HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    

    Respuesta:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    

Sección 5: Eliminar filas de la tabla

  1. Elimine cada elemento de la colección de direcciones URL de fila. El primer elemento es un registro de contacto para Rafel Shillo.

    Solicitud:

    DELETE [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee) HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    

    Respuesta:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    
  2. Elimine los registros restantes en las iteraciones posteriores a través de la colección.

    Solicitud:

    DELETE [Organization Uri]/api/data/v9.2/accounts(11bb11bb-cc22-dd33-ee44-55ff55ff55ff) HTTP/1.1
    . . .  
    
    DELETE [Organization Uri]/api/data/v9.2/accounts(22cc22cc-dd33-ee44-ff55-66aa66aa66aa) HTTP/1.1 
    . . .  
    
    DELETE [Organization Uri]/api/data/v9.2/contacts(2f28bcb4-bb27-ed11-9db1-002248274ada) HTTP/1.1
    . . .  
    
    DELETE [Organization Uri]/api/data/v9.2/roles(33dd33dd-ee44-ff55-aa66-77bb77bb77bb) HTTP/1.1  
    

Consulte también

Usar la API web de Dataverse
Crear una fila de tabla usando la API web
Recuperar una fila de tabla usando la API web
Actualizar y eliminar filas de tablas usando la API web
Asociar y anular la asociación de filas de tabla mediante la API web
Ejemplo de operaciones básicas de la API web (C#)
Ejemplo de operaciones básicas de la API web (PowerShell)
Ejemplo de operaciones básicas de la API web (JavaScript del lado del cliente)