Tipos complejos y de enumeración de API web

En el documento $metadata de CSDL, encontrará elementos ComplexType y EnumType.

Tipos complejos

Los tipos complejos son tipos estructurados con nombre sin clave que constan de un conjunto de propiedades. Los tipos complejos suelen utilizarse como valores de propiedad en definiciones de tabla o como parámetros o valores devueltos para operaciones.

Por ejemplo, WhoAmI Function devuelve este WhoAmIResponse ComplexType:

<ComplexType Name="WhoAmIResponse">  
  <Property Name="BusinessUnitId" Type="Edm.Guid" Nullable="false" />  
  <Property Name="UserId" Type="Edm.Guid" Nullable="false" />  
  <Property Name="OrganizationId" Type="Edm.Guid" Nullable="false" />  
</ComplexType>

Tipos de enumeración

Los tipos de enumeración son tipos primitivos con nombre cuyos valores son constantes con nombre con valores enteros subyacentes.

Por ejemplo, esta es la definición de AccessRights EnumType

<EnumType Name="AccessRights">  
  <Member Name="None" Value="0" />  
  <Member Name="ReadAccess" Value="1" />  
  <Member Name="WriteAccess" Value="2" />  
  <Member Name="AppendAccess" Value="4" />  
  <Member Name="AppendToAccess" Value="16" />  
  <Member Name="CreateAccess" Value="32" />  
  <Member Name="DeleteAccess" Value="65536" />  
  <Member Name="ShareAccess" Value="262144" />  
  <Member Name="AssignAccess" Value="524288" />  
</EnumType>

El tipo de enumeración AccessRights se utiliza para la propiedad AccessMask de PrincipalAccess ComplexType, que se utiliza para establecer el parámetro PrincipalAccess para ModifyAccess Action. Esta es la acción utilizada para cambiar el acceso al compartir un registro.

El siguiente ejemplo otorga derechos de acceso ReadAccess, WriteAccess, DeleteAccess, AppendAccess, y AssignAccess al registro account especificado por el parámetro Target al systemuser designado por la propiedad Principal del tipo complejo PrincipalAccess.

Solicitud:

POST [Organization URI]/api/data/v9.0/ModifyAccess
OData-Version: 4.0
OData-MaxVersion: 4.0
Content-Type: application/json; charset=UTF-8
Accept: application/json

{
    "Target": {
        "accountid": "cbcf8bbc-aa41-ec11-8c62-000d3a53893c",
        "@odata.type": "Microsoft.Dynamics.CRM.account"
    },
    "PrincipalAccess": {
        "Principal": {
            "systemuserid": "8061643d-ebf7-e811-a974-000d3a1e1c9a",
            "@odata.type": "Microsoft.Dynamics.CRM.systemuser"
        },
        "AccessMask": "ReadAccess,WriteAccess,DeleteAccess,AppendAccess,AssignAccess"
    }
}

Respuesta:

HTTP/1.1 204 No Content

Pasos siguientes

Realizar operaciones mediante la API web.

Consulte también

Tipos y operaciones de API web
Documentos de servicio de la API web
EntityTypes de la API web
Propiedades de API web
Propiedades de navegación de la API web
Acciones de la API web
Funciones de la API web
Usar la API web de Dataverse
Tipo complejo OData Versión 4.0
Tipo de enumeración OData Versión 4.0

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).