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