Ejemplo de operaciones básicas de la API web

Esta colección de fragmentos de código de muestra demuestra cómo realizar operaciones básicas de CRUD (Crear, Recuperar, Actualizar y Eliminar) y asociativas usando la API web de Microsoft Dataverse.

Este tema describe un conjunto común de operaciones implementadas por cada muestra fragmento de código en este grupo. Este tema describe las solicitudes y respuestas HTTP y la salida de texto que realizará cada muestra sin los detalles específicos del idioma. Consulte las descripciones específicas del idioma y los ejemplos individuales para obtener más información acerca de cómo se realizan estas operaciones.

Demostraciones

Este ejemplo se divide en las siguientes secciones, que contienen operaciones de datos de consulta de la API web de Dataverse que se describen minuciosamente en los temas conceptuales asociados especificados.

Sección de código Temas 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

Para razones de brevedad, se han omitido 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

Esta sección crea un solo contacto y después realiza una serie de actualizaciones sobre esa instancia. Tenga en cuenta que 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(0928bcb4-bb27-ed11-9db1-002248274ada)
    

    Salida de la consola:

    Contact URI: [Organization Uri]/api/data/v9.2/contacts(0928bcb4-bb27-ed11-9db1-002248274ada)
    Contact relative Uri: contacts(0928bcb4-bb27-ed11-9db1-002248274ada)
    

    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(0928bcb4-bb27-ed11-9db1-002248274ada) 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(0928bcb4-bb27-ed11-9db1-002248274ada)
    

    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. El fullname es una propiedad de sólo lectura que se calcula desde las propiedades firstname y lastname, que se inicializaron de forma explícita cuando se creó 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(0928bcb4-bb27-ed11-9db1-002248274ada)?$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": "0928bcb4-bb27-ed11-9db1-002248274ada"
    }
    

    Salida de la consola:

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

    Importante

    Debe usar siempre la selección y filtrado en operaciones de recuperación para optimizar el rendimiento. Para obtener más información, consulte Consultar 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(0928bcb4-bb27-ed11-9db1-002248274ada) 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(0928bcb4-bb27-ed11-9db1-002248274ada)
    

    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. Tenga en cuenta que esto es una solicitud PUT y que la clave JSON llamada value se utiliza al realizar operaciones en propiedades individuales.

    Solicitud:

    PUT [Organization Uri]/api/data/v9.2/contacts(0928bcb4-bb27-ed11-9db1-002248274ada)/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. Una vez más, note el uso de la clave llamada value.

    Solicitud:

    GET [Organization Uri]/api/data/v9.2/contacts(0928bcb4-bb27-ed11-9db1-002248274ada)/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(0928bcb4-bb27-ed11-9db1-002248274ada)/telephone1",
     "value": "555-0105"
    }
    

    Salida de la consola:

    Contact's telephone # is: 555-0105.  
    

Sección 2: Crear con asociación

Esta sección crea un nuevo registro de cuenta denominado Contoso, Ltd. y la asocia a un contacto existente, Rafel Shillo, que se creó en 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 anotación @odata.bind indica que se está creando a una asociación, enlazando aquí la propiedad de navegación de un solo valor primarycontactid con 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(0928bcb4-bb27-ed11-9db1-002248274ada)"
    }
    

    Respuesta:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    OData-EntityId: [Organization Uri]/api/data/v9.2/accounts(2728bcb4-bb27-ed11-9db1-002248274ada)
    

    Salida de la consola:

    Account 'Contoso Ltd' created.
    Account URI: accounts(2728bcb4-bb27-ed11-9db1-002248274ada)
    
  2. Recupere el contacto principal de la cuenta Contoso, Ltd., de nuevo usando $expand con la propiedad de navegación de un solo valor primarycontactid para acceder al registro asociado contact EntityType.

    Solicitud:

    GET [Organization Uri]/api/data/v9.2/accounts(2728bcb4-bb27-ed11-9db1-002248274ada)?$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": "2728bcb4-bb27-ed11-9db1-002248274ada",
     "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": "0928bcb4-bb27-ed11-9db1-002248274ada"
     }
    }
    

    Salida de la consola:

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

Esta sección muestra cómo crear una fila de tabla y una fila relacionada, en una sola solicitud POST. Con este método, todas las filas se crean nuevamente; no existen filas con las que asociarse. Este método tiene dos ventajas. Es más eficiente, reemplazando múltiples operaciones más sencillas de creación y asociación con una operación combinada. Además, es atómico, pues o bien toda la operación se realiza correctamente y se crean todos los objetos relacionados, o la operación fracasa y no se crea ninguno.

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(2e28bcb4-bb27-ed11-9db1-002248274ada)
    

    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(2e28bcb4-bb27-ed11-9db1-002248274ada)?$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": "2e28bcb4-bb27-ed11-9db1-002248274ada",
     "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

Esta sección demuestra cómo asociar y disociar filas de tablas existentes. La formación de una asociación requiere el uso de un URI de referencia y un objeto de relación, que a continuación se envían en una solicitud POST. Para desasociar se requiere el envío de una solicitud de ELIMINACIÓN al URI de referencia para esa asociación. Primero se forma una asociación de uno a varios entre un contacto y una cuenta. A continuación se forma una asociación de varios a varios entre un competidor y una o varias oportunidades.

  1. Agregue a Rafel Shillo como contacto a la cuenta de Fourth Coffee utilizando la propiedad de navegación valorada como 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(2e28bcb4-bb27-ed11-9db1-002248274ada)/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(0928bcb4-bb27-ed11-9db1-002248274ada)"
    }
    

    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(2e28bcb4-bb27-ed11-9db1-002248274ada)/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": "0928bcb4-bb27-ed11-9db1-002248274ada"
       }
     ]
    }
    

    Salida de la consola:

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

    Solicitud:

    DELETE [Organization Uri]/api/data/v9.2/accounts(2e28bcb4-bb27-ed11-9db1-002248274ada)/contact_customer_accounts(0928bcb4-bb27-ed11-9db1-002248274ada)/$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(e359feba-bb27-ed11-9db1-002248274ada)
    
  5. Asocie el nuevo rol de seguridad a su registro de usuario del sistema.

    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(e359feba-bb27-ed11-9db1-002248274ada)"
    }
    

    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 Ejemplo rol de seguridad usando la relación de muchos a muchos de 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": "e359feba-bb27-ed11-9db1-002248274ada"
       }
     ]
    }
    

    Salida de la consola:

    Retrieved role: Example Security Role
    
  7. Disocie el rol de seguridad de su registro de usuario. Observe de nuevo, que tiene la misma sintaxis general usada para quitar una asociación de uno a varios.

    Solicitud:

    DELETE [Organization Uri]/api/data/v9.2/systemusers(4026be43-6b69-e111-8f65-78e7d1620f5e)/systemuserroles_association(e359feba-bb27-ed11-9db1-002248274ada)/$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. Se elimina cada elemento de la colección de URL de fila. El primero es un registro de contacto para Rafel Shillo.

    Solicitud:

    DELETE [Organization Uri]/api/data/v9.2/contacts(0928bcb4-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 204 NoContent
    OData-Version: 4.0
    
  2. Las iteraciones siguientes a través de la colección eliminan los registros restantes.

    Solicitud:

    DELETE [Organization Uri]/api/data/v9.2/accounts(2728bcb4-bb27-ed11-9db1-002248274ada) HTTP/1.1
    . . .  
    
    DELETE [Organization Uri]/api/data/v9.2/accounts(2e28bcb4-bb27-ed11-9db1-002248274ada) 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(e359feba-bb27-ed11-9db1-002248274ada) 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#)

Nota

¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)

La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).