Compartir por


Tipos de la API de la web complejos y de enumeración

Dentro del documento $metadata CSDL, hay elementos ComplexType y EnumType.

Tipos complejos

Los tipos complejos son tipos estructurados sin clave que constan de un conjunto de propiedades. Los tipos complejos se usan normalmente como valores de propiedad en definiciones de tabla, o como parámetros o valores devueltos para las operaciones.

Por ejemplo, la función WhoAmI devuelve este tipo complejo WhoAmIResponse:

<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 se denominan tipos primitivos cuyos valores se denominan constantes con valores enteros subyacentes.

Por ejemplo, el siguiente nodo XML es la definición del tipo de enumeración AccessRights.

<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 del tipo complejo PrincipalAccess, que se utiliza para establecer el parámetro PrincipalAccess para la acción ModifyAccess. Use esta acción 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.2/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

Realice operaciones mediante la API web.

Consulte también

Operaciones y tipos de API web
Documentos del servicio API web
Web API EntityTypes
Propiedades de api web
Propiedades de navegación de api web
Acciones de API web
Funciones de API web
Usar la API web de Dataverse
Versión de OData: 4.0 Tipo complejo
Tipo de enumeración OData versión 4.0