Consultar dados do Microsoft Dynamics CRM 2015 usando o ponto de extremidade OData
Publicado: novembro de 2016
Aplicável a: Dynamics CRM 2015
Para localizar e recuperar dados com o ponto de extremidade OData, manipule o URI. Todas as ações exigem que você comece com o URI de raiz de serviço. No Atualização do Microsoft Dynamics CRM 2015 e Microsoft Dynamics CRM Online 2015, a raiz de serviço do URI está no exemplo a seguir.
[Your Organization Root URL]/XRMServices/2011/OrganizationData.svc
Observação
A URL raiz da organização deve incluir o nome da organização. Consulte a raiz de serviço com a função getClientUrl no objeto de contexto. Se for um recurso da Web estiver hospedado em um formulário, você pode consultar o Xrm.Page.context para chamar o getClientUrl. Caso contrário, você precisa incluir uma referência à página ClientGlobalContext.js.aspx de modo que possa usar Função GetGlobalContext para obter o objeto de contexto.
Na URI raiz de serviço, você identifica recursos específicos usando um caminho de recurso e refina ainda mais a sua consulta usando opções de pesquisa do sistema.
Neste tópico
Acessando dados de entidade do Microsoft Dynamics CRM
Limitações no número de registros retornados
Propriedades de entidade
Tipos complexos do Microsoft Dynamics CRM
EntityReference
OptionSetValue
Dinheiro
BooleanManagedProperty
Entidades relacionadas
Acessando dados de entidade do Microsoft Dynamics CRM
Cada entidade do Microsoft Dynamics 365 é representada na linguagem de definição do esquema conceitual (CSDL) como um conjunto usando o elemento <EntitySet>. O nome da cada coleção acompanha a convenção de nomenclatura de [Nome de Esquema da Entidade]+ Set. Esse nome será usado na URL para acessar um conjunto de registros de entidade. Uma lista de todos os conjuntos disponíveis aparece ao exibir o URI raiz de serviço. Para criar uma consulta anexe seu critério ao caminho de recursos.
Por exemplo, em seu navegador você pode exibir registros da entidade de conta ATOM (chamados “entradas") usando o caminho no exemplo a seguir.
[Your Organization Root URL]/XRMServices/2011/OrganizationData.svc/AccountSet
Depois de exibir a lista de registros de conta, poderá ver como cada um deles pode ser consultado individual usando a sintaxe da URL no exemplo a seguir.
[Your Organization Root URL]/XRMServices/2011/OrganizationData.svc/AccountSet(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
Observação
Para exibir os dados no Internet Explorer, primeiro é necessário garantir que o Internet Explorer não esteja habilitado para formatar feeds RSS. Na guia Conteúdo de Opções da Internet. selecione Configurações no grupo Feeds e Web Slices . Clique para desmarcar a opção Ativar a exibição de feeds de leitura. Feche e reabra o Internet Explorer.
<<<<<<< HEAD
=======
fe691d894f0f328d7ef70a2b278a480999857a62
Limitações no número de registros retornados
Sempre que você recupera registros, somente os 50 principais registros na sua consulta serão retornados. Se houver mais de 50 registros, haverá um nó <link rel="next" href="<url to next set of records>" > em XML ou uma propriedade JSON**__next** no final do conjunto de resultados. Você pode usar o valor da URL no nó ou na propriedade para continuar com o próximo conjunto de registros. A URL contém um parâmetro $skiptoken que fornece informações sobre o limite de paginação.
Para recuperar registros adicionais, crie um método que detecta a existência desta propriedade ou nó e use a URL fornecida para recuperar o próximo conjunto de registros. Para obter mais informações, consulte: Exemplo: Recuperar vários registros usando o ponto de extremidade OData a JavaScript,
Propriedades de entidade
Cada linguagem de definição do esquema conceitual (CSDL) <EntitySet> refere-se a um elemento <EntityType> que descreve as propriedades e os relacionamentos de uma entidade. Nos elementos do <EntityType>, os elementos <Property> correspondem aos atributos de entidade do Microsoft Dynamics 365. Cada propriedade será atribuída com um tipo de dados correspondente a um dos tipos de dados do EDM (Modelo de Dados de Entidade) primitivos ou um <ComplexType> definido especificamente para o Microsoft Dynamics 365. A tabela a seguir lista os tipos de dados.
Tipo OData |
Tipo de dados do Microsoft Dynamics 365 |
---|---|
Edm.Boolean |
Boolean |
Edm.DateTime |
DateTime |
Edm.Decimal |
Decimal |
Edm.Double |
Double |
Edm.Guid |
UniqueIdentifier |
Edm.Int32 |
Integer |
Edm.Int64 |
BigInt |
Edm.String |
String |
Microsoft.Crm.Sdk.Data.Services.EntityReference |
EntityReference |
Microsoft.Crm.Sdk.Data.Services.OptionSetValue |
OptionSetValue |
Microsoft.Crm.Sdk.Data.Services.Dinheiro |
|
Microsoft.Crm.Sdk.Data.Services.BooleanManagedProperty |
Tipos complexos do Microsoft Dynamics CRM
Determinados tipos de dados usados pelo Microsoft Dynamics 365 não podem usar os tipos de dados EDM simples.
Observação
Para definir valores de tipo complexo do Microsoft Dynamics 365 como nulos, defina cada propriedade do tipo complexo como nula. Para obter mais informações, consulte Definindo tipos complexos como null.
<<<<<<< HEAD
=======
fe691d894f0f328d7ef70a2b278a480999857a62
EntityReference
O tipo Microsoft.Crm.Sdk.Data.Services.EntityReference representa uma pesquisa. Corresponde ao EntityReference. A tabela a seguir lista as propriedades.
Nome |
Tipo |
Descrição |
---|---|---|
Id |
GUID |
A ID exclusiva para o registro associado na pesquisa. |
LogicalName |
String |
O nome da entidade. |
Name |
String |
O valor do atributo primário do registro associado na pesquisa. |
O exemplo a seguir é um ATOM XML EntityReference:
<d:PrimaryContactId m:type="Microsoft.Crm.Sdk.Data.Services.EntityReference">
<d:Id m:type="Edm.Guid">76713858-5e81-df11-afdb-00155dba380a</d:Id>
<d:LogicalName>contact</d:LogicalName>
<d:Name>Cat Francis (sample)</d:Name>
</d:PrimaryContactId>
O exemplo a seguir é um JSON EntityReference:
"PrimaryContactId" :{
"__metadata": {"type": "Microsoft.Crm.Sdk.Data.Services.EntityReference" },
"Id": "78713858-5e81-df11-afdb-00155dba380a",
"LogicalName": "contact",
"Name": "Cathan Cook (sample)"}
OptionSetValue
O tipo Microsoft.Crm.Sdk.Data.Services.OptionSetValue representa um atributo de lista de seleção. Corresponde ao OptionSetValue. A tabela a seguir lista as propriedades.
Nome |
Tipo |
Descrição |
---|---|---|
Value |
Number |
O valor selecionado do atributo OptionSet. |
O exemplo a seguir é um ATOMXMLOptionSetValue.
<d:PreferredContactMethodCode m:type="Microsoft.Crm.Sdk.Data.Services.OptionSetValue">
<d:Value m:type="Edm.Int32">1</d:Value>
</d:PreferredContactMethodCode>
O exemplo a seguir é um JSON OptionSetValue:
"PreferredContactMethodCode" :{
"__metadata": {"type": "Microsoft.Crm.Sdk.Data.Services.OptionSetValue" },
"Value": 1}
Dinheiro
O tipo Microsoft.Crm.Sdk.Data.Services.Money representa um atributo Money. Corresponde ao Money. A tabela a seguir lista as propriedades.
Nome |
Tipo |
Descrição |
---|---|---|
Value |
Number |
O valor da quantia. |
O exemplo a seguir é um ATOMXMLMoney.
<d:CreditLimit m:type="Microsoft.Crm.Sdk.Data.Services.Money">
<d:Value m:type="Edm.Decimal">500.0000</d:Value>
</d:CreditLimit>
O exemplo a seguir é um JSON Money:
"CreditLimit" :{
"__metadata": {"type": "Microsoft.Crm.Sdk.Data.Services.Money" },
"Value": 500.0000}
BooleanManagedProperty
Certas entidades da organização têm registros que podem ser incluídos em uma solução, por exemplo, WebResource. Exemplos de propriedades gerenciadas incluem IsCustomizable, IsHidden e CanBeDeleted. Corresponde ao BooleanManagedProperty. Essas propriedades Boolean controlam o comportamento dos componentes de solução gerenciada. Para obter mais informações, consulte Usar propriedades gerenciadas. A tabela a seguir lista o BooleanManagedProperty.
Nome |
Tipo |
Descrição |
---|---|---|
Value |
Boolean |
Indica se a propriedade gerenciada está em vigor. |
CanBeChanged |
Boolean |
Indica se o valor da propriedade gerenciada pode ser alterado. |
ManagedPropertyLogicalName |
String |
Especifica o nome da propriedade gerenciada. Essa propriedade é somente leitura. |
O exemplo a seguir é um ATOMXMLBooleanManagedProperty.
<d:IsCustomizable m:type="Microsoft.Crm.Sdk.Data.Services.BooleanManagedProperty">
<d:Value m:type="Edm.Boolean">true</d:Value>
<d:CanBeChanged m:type="Edm.Boolean">true</d:CanBeChanged>
<d:ManagedPropertyLogicalName>iscustomizableanddeletable</d:ManagedPropertyLogicalName>
</d:IsCustomizable>
O exemplo a seguir é um JSON BooleanManagedProperty:
"IsCustomizable" :{
"__metadata": { "type": "Microsoft.Crm.Sdk.Data.Services.BooleanManagedProperty" },
"CanBeChanged": true,
"ManagedPropertyLogicalName": "iscustomizableanddeletable",
"Value": true}
Entidades relacionadas
A linguagem de definição de esquema conceitual (CSDL) elemento <NavigationProperty> inclui todos os relacionamentos 1:N e N:N para a entidade. Se o relacionamento representa um relacionamento autorreferencial, há dois elementos do <NavigationProperty> para este relacionamento. O nome do relacionamento usa o prefixo Referenced e Referencing para diferenciar a função que um registro específico tem no relacionamento. Para obter mais informações, consulte Tipos de relacionamentos de entidade.
Use <NavigationProperty> quando quiser criar uma consulta para recuperar registros relacionados. No exemplo a seguir, para recuperar uma lista de oportunidades onde uma conta específica é o cliente, use o relacionamento de entidade opportunity_customer_accounts no contexto de uma conta específica:
/AccountSet(guid'[GUID value]')/opportunity_customer_accounts
Se você precisar apenas dos endereços da URL relativos aos registros relacionados, poderá usar a opção de consulta $links mostrada no exemplo a seguir.
/AccountSet(guid'[GUID value]')/$links/opportunity_customer_accounts
Isso retornará somente as URLs para os dados de cada registro relacionado. Os resultados quando exibidos no navegador serão semelhantes ao exemplo a seguir.
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<links xmlns="https://schemas.microsoft.com/ado/2007/08/dataservices">
<uri>[Your Organization Root URL]/xrmservices/2011/OrganizationData.svc/OpportunitySet(guid'a6713858-5e81-df11-afdb-00155dba380a')</uri>
<uri>[Your Organization Root URL]/xrmservices/2011/OrganizationData.svc/OpportunitySet(guid'1224342F-D024-4B47-A3F5-FB22D236E655')</uri>
<uri>[Your Organization Root URL]/xrmservices/2011/OrganizationData.svc/OpportunitySet(guid'7AF675A8-4FBE-42E7-8279-C32605D2B49B')</uri>
<uri>[Your Organization Root URL]/xrmservices/2011/OrganizationData.svc/OpportunitySet(guid'2DD9BA88-2A37-4F53-8946-68ABBDC73FC1')</uri>
</links>
Se quiser incluir dados de registros relacionados ao recuperar um registro, use a opção de consulta do sistema $expand.
Confira Também
Usar o ponto de extremidade do OData com os recursos da Web
Opções de consulta do sistema OData usando o ponto de extremidade do OData
Executar operações de dados básicas usando o ponto de extremidade OData
Executar operações de dados adicionais usando o ponto de extremidade OData
Usar o ponto de extremidade do OData com os recursos da Web JScript e Ajax
Exemplo: Criar, recuperar, atualizar e excluir usando o ponto de extremidade OData com o JavaScript e jQuery
Exemplo: Criar, recuperar, atualizar e excluir usando o ponto de extremidade OData com JavaScript
Amostra: Editor de contato jQuery do ponto de extremidade OData
Protocolo Open Data (OData)
Artigo técnico: Using Option Set Options with the REST Endpoint - JScript
© 2017 Microsoft. Todos os direitos reservados. Direitos autorais