Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Use esse grupo de código de exemplo para aprender a consultar dados usando a API Web do Microsoft Dataverse. Este exemplo é implementado como um projeto separado para os seguintes idiomas:
- Exemplo de dados de consulta (C#)
- Exemplo de dados de consulta da API Web (JavaScript do lado do cliente)
- Exemplo de dados de consulta da API Web (PowerShell)
Este tópico descreve um conjunto comum de operações que cada exemplo neste grupo implementa. Ele descreve as solicitações e respostas HTTP e a saída de texto que cada exemplo desse grupo executa sem os detalhes específicos do idioma. Para obter detalhes sobre como essas operações são executadas, consulte as descrições específicas do idioma e os exemplos individuais.
Demonstra
Este exemplo é dividido nas seções principais a seguir, contendo operações de dados de consulta da API Web que são discutidas com mais detalhes nos tópicos conceituais associados.
As seções a seguir contêm uma breve discussão sobre as operações da API Web do Dataverse, juntamente com as mensagens HTTP correspondentes e a saída do console associada.
Seção 0: Criar registros para consultar
O código de exemplo cria um conjunto de linhas de exemplo a serem consultadas. O código exclui os dados no final, a menos que você opte por mantê-los. Você pode obter resultados diferentes dependendo dos dados existentes em seu ambiente.
O código adiciona os dados usando a inserção profunda em uma única POST solicitação. Os dados correspondem à seguinte estrutura:
{
"name": "Contoso, Ltd. (sample)",
"Account_Tasks": [
{
"subject": "Task 1 for Contoso, Ltd.",
"description": "Task 1 for Contoso, Ltd. description",
"actualdurationminutes": 10
},
{
"subject": "Task 2 for Contoso, Ltd.",
"description": "Task 2 for Contoso, Ltd. description",
"actualdurationminutes": 10
},
{
"subject": "Task 3 for Contoso, Ltd.",
"description": "Task 3 for Contoso, Ltd. description",
"actualdurationminutes": 10
}
],
"primarycontactid": {
"firstname": "Yvonne",
"lastname": "McKay (sample)",
"jobtitle": "Coffee Master",
"annualincome": 45000,
"Contact_Tasks": [
{
"subject": "Task 1 for Yvonne McKay",
"description": "Task 1 for Yvonne McKay description",
"actualdurationminutes": 5
},
{
"subject": "Task 2 for Yvonne McKay",
"description": "Task 2 for Yvonne McKay description",
"actualdurationminutes": 5
},
{
"subject": "Task 3 for Yvonne McKay",
"description": "Task 3 for Yvonne McKay description",
"actualdurationminutes": 5
}
]
},
"contact_customer_accounts": [
{
"firstname": "Susanna",
"lastname": "Stubberod (sample)",
"jobtitle": "Senior Purchaser",
"annualincome": 52000,
"Contact_Tasks": [
{
"subject": "Task 1 for Susanna Stubberod",
"description": "Task 1 for Susanna Stubberod description",
"actualdurationminutes": 3
},
{
"subject": "Task 2 for Susanna Stubberod",
"description": "Task 2 for Susanna Stubberod description",
"actualdurationminutes": 3
},
{
"subject": "Task 3 for Susanna Stubberod",
"description": "Task 3 for Susanna Stubberod description",
"actualdurationminutes": 3
}
]
},
{
"firstname": "Nancy",
"lastname": "Anderson (sample)",
"jobtitle": "Activities Manager",
"annualincome": 55500,
"Contact_Tasks": [
{
"subject": "Task 1 for Nancy Anderson",
"description": "Task 1 for Nancy Anderson description",
"actualdurationminutes": 4
},
{
"subject": "Task 2 for Nancy Anderson",
"description": "Task 2 for Nancy Anderson description",
"actualdurationminutes": 4
},
{
"subject": "Task 3 for Nancy Anderson",
"description": "Task 3 for Nancy Anderson description",
"actualdurationminutes": 4
}
]
},
{
"firstname": "Maria",
"lastname": "Cambell (sample)",
"jobtitle": "Accounts Manager",
"annualincome": 31000,
"Contact_Tasks": [
{
"subject": "Task 1 for Maria Cambell",
"description": "Task 1 for Maria Cambell description",
"actualdurationminutes": 5
},
{
"subject": "Task 2 for Maria Cambell",
"description": "Task 2 for Maria Cambell description",
"actualdurationminutes": 5
},
{
"subject": "Task 3 for Maria Cambell",
"description": "Task 3 for Maria Cambell description",
"actualdurationminutes": 5
}
]
},
{
"firstname": "Scott",
"lastname": "Konersmann (sample)",
"jobtitle": "Accounts Manager",
"annualincome": 38000,
"Contact_Tasks": [
{
"subject": "Task 1 for Scott Konersmann",
"description": "Task 1 for Scott Konersmann description",
"actualdurationminutes": 6
},
{
"subject": "Task 2 for Scott Konersmann",
"description": "Task 2 for Scott Konersmann description",
"actualdurationminutes": 6
},
{
"subject": "Task 3 for Scott Konersmann",
"description": "Task 3 for Scott Konersmann description",
"actualdurationminutes": 6
}
]
},
{
"firstname": "Robert",
"lastname": "Lyon (sample)",
"jobtitle": "Senior Technician",
"annualincome": 78000,
"Contact_Tasks": [
{
"subject": "Task 1 for Robert Lyon",
"description": "Task 1 for Robert Lyon description",
"actualdurationminutes": 7
},
{
"subject": "Task 2 for Robert Lyon",
"description": "Task 2 for Robert Lyon description",
"actualdurationminutes": 7
},
{
"subject": "Task 3 for Robert Lyon",
"description": "Task 3 for Robert Lyon description",
"actualdurationminutes": 7
}
]
},
{
"firstname": "Paul",
"lastname": "Cannon (sample)",
"jobtitle": "Ski Instructor",
"annualincome": 68500,
"Contact_Tasks": [
{
"subject": "Task 1 for Paul Cannon",
"description": "Task 1 for Paul Cannon description",
"actualdurationminutes": 8
},
{
"subject": "Task 2 for Paul Cannon",
"description": "Task 2 for Paul Cannon description",
"actualdurationminutes": 8
},
{
"subject": "Task 3 for Paul Cannon",
"description": "Task 3 for Paul Cannon description",
"actualdurationminutes": 8
}
]
},
{
"firstname": "Rene",
"lastname": "Valdes (sample)",
"jobtitle": "Data Analyst III",
"annualincome": 86000,
"Contact_Tasks": [
{
"subject": "Task 1 for Rene Valdes",
"description": "Task 1 for Rene Valdes description",
"actualdurationminutes": 9
},
{
"subject": "Task 2 for Rene Valdes",
"description": "Task 2 for Rene Valdes description",
"actualdurationminutes": 9
},
{
"subject": "Task 3 for Rene Valdes",
"description": "Task 3 for Rene Valdes description",
"actualdurationminutes": 9
}
]
},
{
"firstname": "Jim",
"lastname": "Glynn (sample)",
"jobtitle": "Senior International Sales Manager",
"annualincome": 81400,
"Contact_Tasks": [
{
"subject": "Task 1 for Jim Glynn",
"description": "Task 1 for Jim Glynn description",
"actualdurationminutes": 10
},
{
"subject": "Task 2 for Jim Glynn",
"description": "Task 2 for Jim Glynn description",
"actualdurationminutes": 10
},
{
"subject": "Task 3 for Jim Glynn",
"description": "Task 3 for Jim Glynn description",
"actualdurationminutes": 10
}
]
}
]
}
Seção 1: Selecionar propriedades específicas
Sempre inclua a opção $select de consulta em suas consultas. Se você não fizer isso, o servidor retornará todas as propriedades de cada linha de tabela, o que reduz o desempenho.
Saiba como selecionar colunas.
Este exemplo mostra como construir uma consulta básica selecionando três propriedades de um tipo de entidade contato. As propriedades são fullname, jobtitlee annualincome. A seção também ilustra as diferenças entre valores formatados e desformatados, conforme observado nos resultados da propriedade annualincome do contato.
Neste exemplo, você solicita um contato específico. Nesse caso, é o contato principal da conta. Yvonne McKay (sample)
Pedir:
GET [Organization Uri]/api/data/v9.2/contacts(81716234-9628-ed11-9db1-000d3a320482)?$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
Resposta:
HTTP/1.1 200 OK
ETag: W/"1146626"
OData-Version: 4.0
Preference-Applied: odata.include-annotations="*"
{
"@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#contacts(fullname,jobtitle,annualincome)/$entity",
"@odata.etag": "W/\"1146626\"",
"fullname": "Yvonne McKay (sample)",
"jobtitle": "Coffee Master",
"annualincome@OData.Community.Display.V1.FormattedValue": "$45,000.00",
"annualincome": 45000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "81716234-9628-ed11-9db1-000d3a320482"
}
Saída do console:
Contact basic info:
Fullname: Yvonne McKay (sample)
Jobtitle: Coffee Master
Annualincome (unformatted): 45000
Annualincome (formatted): $45,000.00
Seção 2: Usar funções de consulta
Use opções de filtro para definir critérios para os resultados desejados. Você pode criar filtros simples a complexos usando uma combinação de funções de consulta, operadores de comparação e operadores lógicos. Saiba como filtrar linhas
Funções de consulta são funções que você pode usar como um critério de filtro em uma consulta. Essas funções aceitam parâmetros e retornam um Boolean valor. Há funções de consulta padrão e funções de consulta específicas do Dataverse. Este exemplo ilustra como criar uma consulta para cada tipo.
Funções de consulta padrão
O Dataverse dá suporte a um subconjunto de funções de consulta internas OData, especificamente: contains, endswithe startswith. Por exemplo, a contains função de consulta padrão permite filtrar as propriedades que correspondem a uma cadeia de caracteres.
Saiba como usar funções de consulta OData.
Nesta operação, consulte todos os contatos com fullname contendo a cadeia de caracteres (sample).
Pedir:
GET [Organization Uri]/api/data/v9.2/contacts?$select=fullname,jobtitle,annualincome&$filter=contains(fullname,'(sample)') and _parentcustomerid_value eq 7d716234-9628-ed11-9db1-000d3a320482 HTTP/1.1
Prefer: odata.include-annotations="*"
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Resposta:
HTTP/1.1 200 OK
OData-Version: 4.0
Preference-Applied: odata.include-annotations="*"
{
"@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#contacts(fullname,jobtitle,annualincome)",
"@Microsoft.Dynamics.CRM.totalrecordcount": -1,
"@Microsoft.Dynamics.CRM.totalrecordcountlimitexceeded": false,
"@Microsoft.Dynamics.CRM.globalmetadataversion": "1144249",
"value": [
{
"@odata.etag": "W/\"1146759\"",
"fullname": "Susanna Stubberod (sample)",
"jobtitle": "Senior Purchaser",
"annualincome@OData.Community.Display.V1.FormattedValue": "$52,000.00",
"annualincome": 52000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "85716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146761\"",
"fullname": "Nancy Anderson (sample)",
"jobtitle": "Activities Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$55,500.00",
"annualincome": 55500.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "89716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146763\"",
"fullname": "Maria Cambell (sample)",
"jobtitle": "Accounts Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$31,000.00",
"annualincome": 31000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "8d716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146765\"",
"fullname": "Scott Konersmann (sample)",
"jobtitle": "Accounts Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$38,000.00",
"annualincome": 38000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "91716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146767\"",
"fullname": "Robert Lyon (sample)",
"jobtitle": "Senior Technician",
"annualincome@OData.Community.Display.V1.FormattedValue": "$78,000.00",
"annualincome": 78000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "95716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146769\"",
"fullname": "Paul Cannon (sample)",
"jobtitle": "Ski Instructor",
"annualincome@OData.Community.Display.V1.FormattedValue": "$68,500.00",
"annualincome": 68500.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "99716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146771\"",
"fullname": "Rene Valdes (sample)",
"jobtitle": "Data Analyst III",
"annualincome@OData.Community.Display.V1.FormattedValue": "$86,000.00",
"annualincome": 86000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "9d716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146773\"",
"fullname": "Jim Glynn (sample)",
"jobtitle": "Senior International Sales Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$81,400.00",
"annualincome": 81400.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "a1716234-9628-ed11-9db1-000d3a320482"
}
]
}
Saída do console:
Contacts filtered by fullname containing '(sample)':
|Full Name |Job Title |Annual Income
|---------------------------|-----------------------------------|---------------
|Susanna Stubberod (sample) |Senior Purchaser |$52,000.00
|Nancy Anderson (sample) |Activities Manager |$55,500.00
|Maria Cambell (sample) |Accounts Manager |$31,000.00
|Scott Konersmann (sample) |Accounts Manager |$38,000.00
|Robert Lyon (sample) |Senior Technician |$78,000.00
|Paul Cannon (sample) |Ski Instructor |$68,500.00
|Rene Valdes (sample) |Data Analyst III |$86,000.00
|Jim Glynn (sample) |Senior International Sales Manager |$81,400.00
Funções de consulta do Dataverse
As funções de consulta do Dataverse fornecem muitas opções para criar consultas relevantes para o Dataverse. Para obter uma lista completa dessas funções, consulte o Web API Query Function Reference. Saiba como compor uma consulta com funções
As funções de consulta do Dataverse são semelhantes às funções de consulta padrão. A principal diferença é que, ao usar funções de consulta do Dataverse, você deve fornecer o nome completo da função, incluindo os nomes dos parâmetros. Por exemplo, para obter uma lista de contatos criados na última hora, você pode criar uma consulta usando a função LastXHours.
Pedir:
GET [Organization Uri]/api/data/v9.2/contacts?$select=fullname,jobtitle,annualincome&$filter=Microsoft.Dynamics.CRM.LastXHours(PropertyName=@p1,PropertyValue=@p2) and _parentcustomerid_value eq 7d716234-9628-ed11-9db1-000d3a320482&@p1='createdon'&@p2='1' HTTP/1.1
Prefer: odata.include-annotations="*"
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Resposta:
HTTP/1.1 200 OK
OData-Version: 4.0
Preference-Applied: odata.include-annotations="*"
{
"@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#contacts(fullname,jobtitle,annualincome)",
"@Microsoft.Dynamics.CRM.totalrecordcount": -1,
"@Microsoft.Dynamics.CRM.totalrecordcountlimitexceeded": false,
"@Microsoft.Dynamics.CRM.globalmetadataversion": "1144249",
"value": [
{
"@odata.etag": "W/\"1146759\"",
"fullname": "Susanna Stubberod (sample)",
"jobtitle": "Senior Purchaser",
"annualincome@OData.Community.Display.V1.FormattedValue": "$52,000.00",
"annualincome": 52000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "85716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146761\"",
"fullname": "Nancy Anderson (sample)",
"jobtitle": "Activities Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$55,500.00",
"annualincome": 55500.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "89716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146763\"",
"fullname": "Maria Cambell (sample)",
"jobtitle": "Accounts Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$31,000.00",
"annualincome": 31000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "8d716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146765\"",
"fullname": "Scott Konersmann (sample)",
"jobtitle": "Accounts Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$38,000.00",
"annualincome": 38000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "91716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146767\"",
"fullname": "Robert Lyon (sample)",
"jobtitle": "Senior Technician",
"annualincome@OData.Community.Display.V1.FormattedValue": "$78,000.00",
"annualincome": 78000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "95716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146769\"",
"fullname": "Paul Cannon (sample)",
"jobtitle": "Ski Instructor",
"annualincome@OData.Community.Display.V1.FormattedValue": "$68,500.00",
"annualincome": 68500.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "99716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146771\"",
"fullname": "Rene Valdes (sample)",
"jobtitle": "Data Analyst III",
"annualincome@OData.Community.Display.V1.FormattedValue": "$86,000.00",
"annualincome": 86000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "9d716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146773\"",
"fullname": "Jim Glynn (sample)",
"jobtitle": "Senior International Sales Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$81,400.00",
"annualincome": 81400.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "a1716234-9628-ed11-9db1-000d3a320482"
}
]
}
Saída do console:
Contacts that were created within the last 1hr:
|Full Name |Job Title |Annual Income
|---------------------------|-----------------------------------|---------------
|Susanna Stubberod (sample) |Senior Purchaser |$52,000.00
|Nancy Anderson (sample) |Activities Manager |$55,500.00
|Maria Cambell (sample) |Accounts Manager |$31,000.00
|Scott Konersmann (sample) |Accounts Manager |$38,000.00
|Robert Lyon (sample) |Senior Technician |$78,000.00
|Paul Cannon (sample) |Ski Instructor |$68,500.00
|Rene Valdes (sample) |Data Analyst III |$86,000.00
|Jim Glynn (sample) |Senior International Sales Manager |$81,400.00
Usar operadores
Use operadores de comparação e operadores lógicos (eq, , ne, gt, ge, lt, le, and, or, ) notpara refinar ainda mais seus resultados. Neste exemplo, você está solicitando uma lista de todos os contatos onde fullname contém (sample) e a renda anual é maior que 55000.
Pedir:
GET [Organization Uri]/api/data/v9.2/contacts?$select=fullname,jobtitle,annualincome&$filter=contains(fullname,'(sample)') and annualincome gt 55000 and _parentcustomerid_value eq 7d716234-9628-ed11-9db1-000d3a320482 HTTP/1.1
Prefer: odata.include-annotations="*"
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Resposta:
HTTP/1.1 200 OK
OData-Version: 4.0
Preference-Applied: odata.include-annotations="*"
{
"@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#contacts(fullname,jobtitle,annualincome)",
"@Microsoft.Dynamics.CRM.totalrecordcount": -1,
"@Microsoft.Dynamics.CRM.totalrecordcountlimitexceeded": false,
"@Microsoft.Dynamics.CRM.globalmetadataversion": "1144249",
"value": [
{
"@odata.etag": "W/\"1146761\"",
"fullname": "Nancy Anderson (sample)",
"jobtitle": "Activities Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$55,500.00",
"annualincome": 55500.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "89716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146767\"",
"fullname": "Robert Lyon (sample)",
"jobtitle": "Senior Technician",
"annualincome@OData.Community.Display.V1.FormattedValue": "$78,000.00",
"annualincome": 78000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "95716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146769\"",
"fullname": "Paul Cannon (sample)",
"jobtitle": "Ski Instructor",
"annualincome@OData.Community.Display.V1.FormattedValue": "$68,500.00",
"annualincome": 68500.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "99716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146771\"",
"fullname": "Rene Valdes (sample)",
"jobtitle": "Data Analyst III",
"annualincome@OData.Community.Display.V1.FormattedValue": "$86,000.00",
"annualincome": 86000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "9d716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146773\"",
"fullname": "Jim Glynn (sample)",
"jobtitle": "Senior International Sales Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$81,400.00",
"annualincome": 81400.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "a1716234-9628-ed11-9db1-000d3a320482"
}
]
}
Saída do console:
Contacts with '(sample)' in name and income above $55,000:
|Full Name |Job Title |Annual Income
|---------------------------|-----------------------------------|---------------
|Nancy Anderson (sample) |Activities Manager |$55,500.00
|Robert Lyon (sample) |Senior Technician |$78,000.00
|Paul Cannon (sample) |Ski Instructor |$68,500.00
|Rene Valdes (sample) |Data Analyst III |$86,000.00
|Jim Glynn (sample) |Senior International Sales Manager |$81,400.00
Definir precedência
Como todos os operadores têm a mesma precedência, use parênteses para definir a ordem na qual as condições de consulta são avaliadas. Os filtros são aplicados da esquerda para a direita. A ordem na qual as instruções aparecem no filtro pode afetar os resultados.
Neste exemplo, você solicita uma lista de todos os contatos em que fullname contém (sample), jobtitle contém senior ou manager, e annualincome é maior que 55000. Para obter os resultados desejados, use parênteses para agrupar os jobtitle filtros. Se você não fizer isso, o or operador terá a mesma precedência que os and operadores. A consulta neste exemplo tem esta aparência: $filter=contains(fullname,'(sample)') and (contains(jobtitle,'senior') or contains(jobtitle,'manager')) and annualincome gt 55000.
Pedir:
GET [Organization Uri]/api/data/v9.2/contacts?$select=fullname,jobtitle,annualincome&$filter=contains(fullname,'(sample)') and (contains(jobtitle, 'senior') or contains(jobtitle,'manager')) and annualincome gt 55000 and _parentcustomerid_value eq 7d716234-9628-ed11-9db1-000d3a320482 HTTP/1.1
Prefer: odata.include-annotations="*"
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Resposta:
HTTP/1.1 200 OK
OData-Version: 4.0
Preference-Applied: odata.include-annotations="*"
{
"@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#contacts(fullname,jobtitle,annualincome)",
"@Microsoft.Dynamics.CRM.totalrecordcount": -1,
"@Microsoft.Dynamics.CRM.totalrecordcountlimitexceeded": false,
"@Microsoft.Dynamics.CRM.globalmetadataversion": "1144249",
"value": [
{
"@odata.etag": "W/\"1146761\"",
"fullname": "Nancy Anderson (sample)",
"jobtitle": "Activities Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$55,500.00",
"annualincome": 55500.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "89716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146767\"",
"fullname": "Robert Lyon (sample)",
"jobtitle": "Senior Technician",
"annualincome@OData.Community.Display.V1.FormattedValue": "$78,000.00",
"annualincome": 78000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "95716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146773\"",
"fullname": "Jim Glynn (sample)",
"jobtitle": "Senior International Sales Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$81,400.00",
"annualincome": 81400.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "a1716234-9628-ed11-9db1-000d3a320482"
}
]
}
Saída do console:
Contacts with '(sample)' in name senior jobtitle or high income:
|Full Name |Job Title |Annual Income
|---------------------------|-----------------------------------|---------------
|Nancy Anderson (sample) |Activities Manager |$55,500.00
|Robert Lyon (sample) |Senior Technician |$78,000.00
|Jim Glynn (sample) |Senior International Sales Manager |$81,400.00
Seção 3: Ordenação e Apelidos
Resultados do pedido
Para classificar os resultados em ordem crescente ou decrescente, use a opção $orderby de filtro. Neste exemplo, você consulta todos os contatos contendo fullname(sample) e solicita os dados em ordem crescente com base no valor da propriedade jobtitle e, em seguida, em ordem decrescente com base no valor da propriedade annualincome usando esta sintaxe: $orderby=jobtitle asc, annualincome desc.
Saiba como ordenar linhas.
Pedir:
GET [Organization Uri]/api/data/v9.2/contacts?$select=fullname,jobtitle,annualincome&$filter=contains(fullname,'(sample)') and _parentcustomerid_value eq 7d716234-9628-ed11-9db1-000d3a320482&$orderby=jobtitle asc, annualincome desc HTTP/1.1
Prefer: odata.include-annotations="*"
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Resposta:
HTTP/1.1 200 OK
OData-Version: 4.0
Preference-Applied: odata.include-annotations="*"
{
"@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#contacts(fullname,jobtitle,annualincome)",
"@Microsoft.Dynamics.CRM.totalrecordcount": -1,
"@Microsoft.Dynamics.CRM.totalrecordcountlimitexceeded": false,
"@Microsoft.Dynamics.CRM.globalmetadataversion": "1144249",
"value": [
{
"@odata.etag": "W/\"1146765\"",
"fullname": "Scott Konersmann (sample)",
"jobtitle": "Accounts Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$38,000.00",
"annualincome": 38000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "91716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146763\"",
"fullname": "Maria Cambell (sample)",
"jobtitle": "Accounts Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$31,000.00",
"annualincome": 31000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "8d716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146761\"",
"fullname": "Nancy Anderson (sample)",
"jobtitle": "Activities Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$55,500.00",
"annualincome": 55500.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "89716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146771\"",
"fullname": "Rene Valdes (sample)",
"jobtitle": "Data Analyst III",
"annualincome@OData.Community.Display.V1.FormattedValue": "$86,000.00",
"annualincome": 86000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "9d716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146773\"",
"fullname": "Jim Glynn (sample)",
"jobtitle": "Senior International Sales Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$81,400.00",
"annualincome": 81400.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "a1716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146759\"",
"fullname": "Susanna Stubberod (sample)",
"jobtitle": "Senior Purchaser",
"annualincome@OData.Community.Display.V1.FormattedValue": "$52,000.00",
"annualincome": 52000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "85716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146767\"",
"fullname": "Robert Lyon (sample)",
"jobtitle": "Senior Technician",
"annualincome@OData.Community.Display.V1.FormattedValue": "$78,000.00",
"annualincome": 78000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "95716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146769\"",
"fullname": "Paul Cannon (sample)",
"jobtitle": "Ski Instructor",
"annualincome@OData.Community.Display.V1.FormattedValue": "$68,500.00",
"annualincome": 68500.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "99716234-9628-ed11-9db1-000d3a320482"
}
]
}
Saída do console:
Contacts ordered by jobtitle (Ascending) and annualincome (descending)
|Full Name |Job Title |Annual Income
|---------------------------|-----------------------------------|---------------
|Scott Konersmann (sample) |Accounts Manager |$38,000.00
|Maria Cambell (sample) |Accounts Manager |$31,000.00
|Nancy Anderson (sample) |Activities Manager |$55,500.00
|Rene Valdes (sample) |Data Analyst III |$86,000.00
|Jim Glynn (sample) |Senior International Sales Manager |$81,400.00
|Susanna Stubberod (sample) |Senior Purchaser |$52,000.00
|Robert Lyon (sample) |Senior Technician |$78,000.00
|Paul Cannon (sample) |Ski Instructor |$68,500.00
Alias de parâmetro
Use aliases de parâmetro para reutilizar parâmetros com mais facilidade em seus filtros. Você pode usar aliases nas opções $filter e $orderby. Se o alias não tiver um valor, ele será nulo.
Você também pode usar aliases de parâmetro ao chamar funções. Por exemplo, você pode reescrever a consulta na operação de ordenação anterior para usar parâmetros e obter o mesmo resultado.
Pedir:
GET [Organization Uri]/api/data/v9.2/contacts?$select=fullname,jobtitle,annualincome&$filter=contains(@p1,'(sample)') and @p2 eq @p3&$orderby=@p4 asc, @p5 desc&@p1=fullname&@p2=_parentcustomerid_value&@p3=7d716234-9628-ed11-9db1-000d3a320482&@p4=jobtitle&@p5=annualincome HTTP/1.1
Prefer: odata.include-annotations="*"
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Resposta:
HTTP/1.1 200 OK
OData-Version: 4.0
Preference-Applied: odata.include-annotations="*"
{
"@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#contacts(fullname,jobtitle,annualincome)",
"@Microsoft.Dynamics.CRM.totalrecordcount": -1,
"@Microsoft.Dynamics.CRM.totalrecordcountlimitexceeded": false,
"@Microsoft.Dynamics.CRM.globalmetadataversion": "1144249",
"value": [
{
"@odata.etag": "W/\"1146765\"",
"fullname": "Scott Konersmann (sample)",
"jobtitle": "Accounts Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$38,000.00",
"annualincome": 38000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "91716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146763\"",
"fullname": "Maria Cambell (sample)",
"jobtitle": "Accounts Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$31,000.00",
"annualincome": 31000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "8d716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146761\"",
"fullname": "Nancy Anderson (sample)",
"jobtitle": "Activities Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$55,500.00",
"annualincome": 55500.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "89716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146771\"",
"fullname": "Rene Valdes (sample)",
"jobtitle": "Data Analyst III",
"annualincome@OData.Community.Display.V1.FormattedValue": "$86,000.00",
"annualincome": 86000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "9d716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146773\"",
"fullname": "Jim Glynn (sample)",
"jobtitle": "Senior International Sales Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$81,400.00",
"annualincome": 81400.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "a1716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146759\"",
"fullname": "Susanna Stubberod (sample)",
"jobtitle": "Senior Purchaser",
"annualincome@OData.Community.Display.V1.FormattedValue": "$52,000.00",
"annualincome": 52000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "85716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146767\"",
"fullname": "Robert Lyon (sample)",
"jobtitle": "Senior Technician",
"annualincome@OData.Community.Display.V1.FormattedValue": "$78,000.00",
"annualincome": 78000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "95716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146769\"",
"fullname": "Paul Cannon (sample)",
"jobtitle": "Ski Instructor",
"annualincome@OData.Community.Display.V1.FormattedValue": "$68,500.00",
"annualincome": 68500.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "99716234-9628-ed11-9db1-000d3a320482"
}
]
}
Saída do console:
Contacts ordered by jobtitle (Ascending) and annualincome (descending)
|Full Name |Job Title |Annual Income
|---------------------------|-----------------------------------|---------------
|Scott Konersmann (sample) |Accounts Manager |$38,000.00
|Maria Cambell (sample) |Accounts Manager |$31,000.00
|Nancy Anderson (sample) |Activities Manager |$55,500.00
|Rene Valdes (sample) |Data Analyst III |$86,000.00
|Jim Glynn (sample) |Senior International Sales Manager |$81,400.00
|Susanna Stubberod (sample) |Senior Purchaser |$52,000.00
|Robert Lyon (sample) |Senior Technician |$78,000.00
|Paul Cannon (sample) |Ski Instructor |$68,500.00
Seção 4: Limitar e contar resultados
Como prática recomendada, não retorne mais dados do que você precisa. Para proteger o desempenho, o servidor retorna um máximo de 5.000 linhas de tabela padrão por solicitação ou 500 linhas para tabelas elásticas.
Para limitar o número de resultados retornados, use a opção $top de consulta ou adicione odata.maxpagesize o cabeçalho da solicitação. A $top opção de consulta retorna o número superior de linhas do conjunto de resultados e ignora o restante. O cabeçalho da solicitação odata.maxpagesize especifica o número de linhas a serem retornadas por página, juntamente com a propriedade @odata.nextLink para obter os resultados da próxima página.
Saiba mais sobre os resultados da página.
Principais resultados
Você pode usar a opção $top de consulta para limitar a operação de consulta básica aos cinco primeiros contatos contendo fullname(sample). Nesse caso, a solicitação realmente produz pelo menos 10 resultados, mas a resposta retorna apenas as cinco primeiras entradas.
Pedir:
GET [Organization Uri]/api/data/v9.2/contacts?$select=fullname,jobtitle,annualincome&$filter=contains(fullname,'(sample)') and _parentcustomerid_value eq 7d716234-9628-ed11-9db1-000d3a320482&$top=5 HTTP/1.1
Prefer: odata.include-annotations="*"
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Resposta:
HTTP/1.1 200 OK
OData-Version: 4.0
Preference-Applied: odata.include-annotations="*"
{
"@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#contacts(fullname,jobtitle,annualincome)",
"@Microsoft.Dynamics.CRM.totalrecordcount": -1,
"@Microsoft.Dynamics.CRM.totalrecordcountlimitexceeded": false,
"@Microsoft.Dynamics.CRM.globalmetadataversion": "1144249",
"value": [
{
"@odata.etag": "W/\"1146759\"",
"fullname": "Susanna Stubberod (sample)",
"jobtitle": "Senior Purchaser",
"annualincome@OData.Community.Display.V1.FormattedValue": "$52,000.00",
"annualincome": 52000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "85716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146761\"",
"fullname": "Nancy Anderson (sample)",
"jobtitle": "Activities Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$55,500.00",
"annualincome": 55500.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "89716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146763\"",
"fullname": "Maria Cambell (sample)",
"jobtitle": "Accounts Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$31,000.00",
"annualincome": 31000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "8d716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146765\"",
"fullname": "Scott Konersmann (sample)",
"jobtitle": "Accounts Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$38,000.00",
"annualincome": 38000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "91716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146767\"",
"fullname": "Robert Lyon (sample)",
"jobtitle": "Senior Technician",
"annualincome@OData.Community.Display.V1.FormattedValue": "$78,000.00",
"annualincome": 78000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "95716234-9628-ed11-9db1-000d3a320482"
}
]
}
Saída do console:
Contacts top 5 results:
|Full Name |Job Title |Annual Income
|---------------------------|-----------------------------------|---------------
|Susanna Stubberod (sample) |Senior Purchaser |$52,000.00
|Nancy Anderson (sample) |Activities Manager |$55,500.00
|Maria Cambell (sample) |Accounts Manager |$31,000.00
|Scott Konersmann (sample) |Accounts Manager |$38,000.00
|Robert Lyon (sample) |Senior Technician |$78,000.00
Contagem de coleções
Se você quiser o número de registros em uma coleção, adicione /$count à URL da coleção. O valor máximo é 5.000 para tabelas padrão e 500 para tabelas elásticas.
Pedir:
GET [Organization Uri]/api/data/v9.2/contacts/$count HTTP/1.1
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Resposta:
HTTP/1.1 200 OK
OData-Version: 4.0
9
Saída do console:
The contacts collection has 9 contacts.
Contagem de resultados
Você pode obter a contagem de linhas de uma propriedade de coleção ou uma contagem de linhas de tabela correspondentes em um filtro. A contagem mostra o número de linhas possíveis em seu resultado. No entanto, o Dataverse retorna uma contagem máxima mesmo que o resultado tenha mais linhas. Para tabelas padrão, a contagem máxima é de 5.000 e, para tabelas elásticas, é 500.
Neste exemplo, você cria um filtro onde jobtitle contém ou Senior ou Manager e também solicita um $count do resultado. A resposta contém a contagem na @odata.count propriedade junto com os resultados da consulta.
Pedir:
GET [Organization Uri]/api/data/v9.2/contacts?$select=fullname,jobtitle,annualincome&$filter=(contains(jobtitle,'senior') or contains(jobtitle, 'manager')) and _parentcustomerid_value eq 7d716234-9628-ed11-9db1-000d3a320482&$count=true HTTP/1.1
Prefer: odata.include-annotations="*"
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Resposta:
HTTP/1.1 200 OK
OData-Version: 4.0
Preference-Applied: odata.include-annotations="*"
{
"@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#contacts(fullname,jobtitle,annualincome)",
"@odata.count": 6,
"@Microsoft.Dynamics.CRM.totalrecordcount": 6,
"@Microsoft.Dynamics.CRM.totalrecordcountlimitexceeded": false,
"@Microsoft.Dynamics.CRM.globalmetadataversion": "1144249",
"value": [
{
"@odata.etag": "W/\"1146759\"",
"fullname": "Susanna Stubberod (sample)",
"jobtitle": "Senior Purchaser",
"annualincome@OData.Community.Display.V1.FormattedValue": "$52,000.00",
"annualincome": 52000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "85716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146761\"",
"fullname": "Nancy Anderson (sample)",
"jobtitle": "Activities Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$55,500.00",
"annualincome": 55500.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "89716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146763\"",
"fullname": "Maria Cambell (sample)",
"jobtitle": "Accounts Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$31,000.00",
"annualincome": 31000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "8d716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146765\"",
"fullname": "Scott Konersmann (sample)",
"jobtitle": "Accounts Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$38,000.00",
"annualincome": 38000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "91716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146767\"",
"fullname": "Robert Lyon (sample)",
"jobtitle": "Senior Technician",
"annualincome@OData.Community.Display.V1.FormattedValue": "$78,000.00",
"annualincome": 78000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "95716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146773\"",
"fullname": "Jim Glynn (sample)",
"jobtitle": "Senior International Sales Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$81,400.00",
"annualincome": 81400.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "a1716234-9628-ed11-9db1-000d3a320482"
}
]
}
Saída do console:
6 Contacts with 'senior' or 'manager' in job title:
|Full Name |Job Title |Annual Income
|---------------------------|-----------------------------------|---------------
|Susanna Stubberod (sample) |Senior Purchaser |$52,000.00
|Nancy Anderson (sample) |Activities Manager |$55,500.00
|Maria Cambell (sample) |Accounts Manager |$31,000.00
|Scott Konersmann (sample) |Accounts Manager |$38,000.00
|Robert Lyon (sample) |Senior Technician |$78,000.00
|Jim Glynn (sample) |Senior International Sales Manager |$81,400.00
Seção 5: Paginação
Algumas consultas retornam um grande número de linhas e é mais fácil exibi-las uma página de cada vez. Para recuperar resultados paginados, use a opção odata.maxpagesize em vez de $top.
Neste exemplo, você solicitará um $count e definirá o odata.maxpagesize para 4. Esse filtro corresponde a 10 contatos, mas você só recupera 4 de cada vez. Você também usa a contagem e o tamanho máximo da página para descobrir quantas páginas existem. O resultado da primeira página é retornado nesta solicitação.
Pedir:
GET [Organization Uri]/api/data/v9.2/contacts?$select=fullname,jobtitle,annualincome&$filter=contains(fullname,'(sample)')&$count=true HTTP/1.1
Prefer: odata.maxpagesize=4; odata.include-annotations="*"
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Resposta:
HTTP/1.1 200 OK
OData-Version: 4.0
Preference-Applied: odata.include-annotations="*"; odata.maxpagesize=4
{
"@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#contacts(fullname,jobtitle,annualincome)",
"@odata.count": 9,
"@Microsoft.Dynamics.CRM.totalrecordcount": 9,
"@Microsoft.Dynamics.CRM.totalrecordcountlimitexceeded": false,
"@Microsoft.Dynamics.CRM.globalmetadataversion": "1144249",
"value": [
{
"@odata.etag": "W/\"1146626\"",
"fullname": "Yvonne McKay (sample)",
"jobtitle": "Coffee Master",
"annualincome@OData.Community.Display.V1.FormattedValue": "$45,000.00",
"annualincome": 45000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "81716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146759\"",
"fullname": "Susanna Stubberod (sample)",
"jobtitle": "Senior Purchaser",
"annualincome@OData.Community.Display.V1.FormattedValue": "$52,000.00",
"annualincome": 52000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "85716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146761\"",
"fullname": "Nancy Anderson (sample)",
"jobtitle": "Activities Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$55,500.00",
"annualincome": 55500.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "89716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146763\"",
"fullname": "Maria Cambell (sample)",
"jobtitle": "Accounts Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$31,000.00",
"annualincome": 31000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "8d716234-9628-ed11-9db1-000d3a320482"
}
],
"@odata.nextLink": "[Organization Uri]/api/data/v9.2/contacts?$select=fullname,jobtitle,annualincome&$filter=contains(fullname,'(sample)')&$count=true&$skiptoken=%3Ccookie%20pagenumber=%222%22%20pagingcookie=%22%253ccookie%2520page%253d%25221%2522%253e%253ccontactid%2520last%253d%2522%257b8D716234-9628-ED11-9DB1-000D3A320482%257d%2522%2520first%253d%2522%257b81716234-9628-ED11-9DB1-000D3A320482%257d%2522%2520%252f%253e%253c%252fcookie%253e%22%20istracking=%22False%22%20/%3E"
}
Saída do console:
Contacts total: 9 Contacts per page: 4.
Page 1 of 3:
|Full Name |Job Title |Annual Income
|---------------------------|-----------------------------------|---------------
|Yvonne McKay (sample) |Coffee Master |$45,000.00
|Susanna Stubberod (sample) |Senior Purchaser |$52,000.00
|Nancy Anderson (sample) |Activities Manager |$55,500.00
|Maria Cambell (sample) |Accounts Manager |$31,000.00
Para recuperar a página 2, use uma GET solicitação com o valor da propriedade @odata.nextLink.
Pedir:
GET [Organization Uri]/api/data/v9.2/contacts?$select=fullname,jobtitle,annualincome&$filter=contains(fullname,'(sample)')&$count=true&$skiptoken=<cookie pagenumber="2" pagingcookie="%3ccookie%20page%3d%221%22%3e%3ccontactid%20last%3d%22%7b8D716234-9628-ED11-9DB1-000D3A320482%7d%22%20first%3d%22%7b81716234-9628-ED11-9DB1-000D3A320482%7d%22%20%2f%3e%3c%2fcookie%3e" istracking="False" /> HTTP/1.1
Prefer: odata.maxpagesize=4; odata.include-annotations="*"
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Resposta:
HTTP/1.1 200 OK
OData-Version: 4.0
Preference-Applied: odata.include-annotations="*"; odata.maxpagesize=4
{
"@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#contacts(fullname,jobtitle,annualincome)",
"@odata.count": 9,
"@Microsoft.Dynamics.CRM.totalrecordcount": 9,
"@Microsoft.Dynamics.CRM.totalrecordcountlimitexceeded": false,
"@Microsoft.Dynamics.CRM.globalmetadataversion": "1144249",
"value": [
{
"@odata.etag": "W/\"1146765\"",
"fullname": "Scott Konersmann (sample)",
"jobtitle": "Accounts Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$38,000.00",
"annualincome": 38000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "91716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146767\"",
"fullname": "Robert Lyon (sample)",
"jobtitle": "Senior Technician",
"annualincome@OData.Community.Display.V1.FormattedValue": "$78,000.00",
"annualincome": 78000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "95716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146769\"",
"fullname": "Paul Cannon (sample)",
"jobtitle": "Ski Instructor",
"annualincome@OData.Community.Display.V1.FormattedValue": "$68,500.00",
"annualincome": 68500.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "99716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146771\"",
"fullname": "Rene Valdes (sample)",
"jobtitle": "Data Analyst III",
"annualincome@OData.Community.Display.V1.FormattedValue": "$86,000.00",
"annualincome": 86000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "9d716234-9628-ed11-9db1-000d3a320482"
}
],
"@odata.nextLink": "[Organization Uri]/api/data/v9.2/contacts?$select=fullname,jobtitle,annualincome&$filter=contains(fullname,'(sample)')&$count=true&$skiptoken=%3Ccookie%20pagenumber=%223%22%20pagingcookie=%22%253ccookie%2520page%253d%25222%2522%253e%253ccontactid%2520last%253d%2522%257b9D716234-9628-ED11-9DB1-000D3A320482%257d%2522%2520first%253d%2522%257b91716234-9628-ED11-9DB1-000D3A320482%257d%2522%2520%252f%253e%253c%252fcookie%253e%22%20istracking=%22False%22%20/%3E"
}
Saída do console:
Page 2 of 3:
|Full Name |Job Title |Annual Income
|---------------------------|-----------------------------------|---------------
|Scott Konersmann (sample) |Accounts Manager |$38,000.00
|Robert Lyon (sample) |Senior Technician |$78,000.00
|Paul Cannon (sample) |Ski Instructor |$68,500.00
|Rene Valdes (sample) |Data Analyst III |$86,000.00
Seção 6: Expandir resultados
Para obter informações sobre linhas de tabela associadas, use a opção $expand de consulta nas propriedades de navegação.
Saiba como juntar Tabelas.
Expandir a propriedade de navegação com valor único
Uma propriedade de navegação de único valor representa uma relação muitos-para-um. Nos dados de exemplo, a conta tem uma relação com um contato por meio da coluna ou do atributo primarycontactid. Nessa relação, a conta pode ter apenas um contato primário. Usando a conta EntityType, você pode criar uma consulta para obter informações sobre a conta e informações detalhadas sobre seu contato principal.
Pedir:
GET [Organization Uri]/api/data/v9.2/accounts(7d716234-9628-ed11-9db1-000d3a320482)?$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
Resposta:
HTTP/1.1 200 OK
ETag: W/"1146751"
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/\"1146751\"",
"name": "Contoso, Ltd. (sample)",
"accountid": "7d716234-9628-ed11-9db1-000d3a320482",
"primarycontactid": {
"@odata.etag": "W/\"1146626\"",
"fullname": "Yvonne McKay (sample)",
"jobtitle": "Coffee Master",
"annualincome@OData.Community.Display.V1.FormattedValue": "$45,000.00",
"annualincome": 45000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "81716234-9628-ed11-9db1-000d3a320482"
}
}
Saída do console:
Account Contoso, Ltd. (sample) has the following primary contact person:
Fullname: Yvonne McKay (sample)
Jobtitle: Coffee Master
Annualincome: 45000
Expandir a propriedade do parceiro
Cada propriedade de navegação tem uma propriedade parceira correspondente. Depois de criar uma associação, você pode recuperar informações por meio dela. A tabela base que você consulta determina qual coluna você usa.
Por exemplo, na operação anterior, você criou uma consulta no tipo de entidade da conta. Você queria obter mais informações sobre seu contato primário, portanto, você usou a primarycontactid coluna ou o atributo. Se você pesquisar o tipo de entidade de conta, na seção de propriedades de navegação com valor único, você descobrirá que a propriedade de parceiro de primarycontactid é a propriedade de navegação com valor de coleção account_primary_contact, que é encontrada no tipo de entidade de contato.
Se você criar uma consulta em relação a um contato, poderá expandir a account_primary_contact coluna para obter informações sobre contas em que o contato é o contato principal. Nos dados de exemplo, Yvonne McKay (sample) é a pessoa de contato principal para apenas uma conta. No entanto, Yvonne pode potencialmente ser atribuída a outras contas como o contato primário. Como a account_primary_contact propriedade tem uma relação muitos para um, o resultado é retornado como uma matriz de linhas de conta.
Pedir:
GET [Organization Uri]/api/data/v9.2/contacts(81716234-9628-ed11-9db1-000d3a320482)?$select=fullname,jobtitle,annualincome&$expand=account_primary_contact($select=name) HTTP/1.1
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Resposta:
HTTP/1.1 200 OK
ETag: W/"1146626"
OData-Version: 4.0
{
"@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#contacts(fullname,jobtitle,annualincome,account_primary_contact(name))/$entity",
"@odata.etag": "W/\"1146626\"",
"fullname": "Yvonne McKay (sample)",
"jobtitle": "Coffee Master",
"annualincome": 45000.0,
"_transactioncurrencyid_value": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "81716234-9628-ed11-9db1-000d3a320482",
"account_primary_contact": [
{
"@odata.etag": "W/\"1146751\"",
"name": "Contoso, Ltd. (sample)",
"accountid": "7d716234-9628-ed11-9db1-000d3a320482"
}
]
}
Saída do console:
Contact 'Yvonne McKay (sample)' is the primary contact for the following accounts:
Contoso, Ltd. (sample)
Expandir a propriedade de navegação com valor de coleção
As propriedades de navegação com valor de coleção dão suporte a relações um para muitos ou muitos para muitos. Por exemplo, nos dados de exemplo, a conta tem uma relação com muitos contatos por meio da contact_customer_accounts coluna ou atributo.
Use o tipo de entidade de conta em uma consulta para obter informações sobre a conta e expandir informações sobre seus contatos. Nesse caso, a Contoso, Ltd. (sample) está associada a nove outros contatos por meio da propriedade de navegação com valor de coleção contact_customer_accounts.
Pedir:
GET [Organization Uri]/api/data/v9.2/accounts(7d716234-9628-ed11-9db1-000d3a320482)?$select=name&$expand=contact_customer_accounts($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
Resposta:
HTTP/1.1 200 OK
ETag: W/"1146751"
OData-Version: 4.0
Preference-Applied: odata.include-annotations="*"
{
"@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#accounts(name,contact_customer_accounts(fullname,jobtitle,annualincome))/$entity",
"@odata.etag": "W/\"1146751\"",
"name": "Contoso, Ltd. (sample)",
"accountid": "7d716234-9628-ed11-9db1-000d3a320482",
"contact_customer_accounts": [
{
"@odata.etag": "W/\"1146759\"",
"fullname": "Susanna Stubberod (sample)",
"jobtitle": "Senior Purchaser",
"annualincome@OData.Community.Display.V1.FormattedValue": "$52,000.00",
"annualincome": 52000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "85716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146761\"",
"fullname": "Nancy Anderson (sample)",
"jobtitle": "Activities Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$55,500.00",
"annualincome": 55500.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "89716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146763\"",
"fullname": "Maria Cambell (sample)",
"jobtitle": "Accounts Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$31,000.00",
"annualincome": 31000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "8d716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146765\"",
"fullname": "Scott Konersmann (sample)",
"jobtitle": "Accounts Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$38,000.00",
"annualincome": 38000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "91716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146767\"",
"fullname": "Robert Lyon (sample)",
"jobtitle": "Senior Technician",
"annualincome@OData.Community.Display.V1.FormattedValue": "$78,000.00",
"annualincome": 78000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "95716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146769\"",
"fullname": "Paul Cannon (sample)",
"jobtitle": "Ski Instructor",
"annualincome@OData.Community.Display.V1.FormattedValue": "$68,500.00",
"annualincome": 68500.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "99716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146771\"",
"fullname": "Rene Valdes (sample)",
"jobtitle": "Data Analyst III",
"annualincome@OData.Community.Display.V1.FormattedValue": "$86,000.00",
"annualincome": 86000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "9d716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146773\"",
"fullname": "Jim Glynn (sample)",
"jobtitle": "Senior International Sales Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$81,400.00",
"annualincome": 81400.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "a1716234-9628-ed11-9db1-000d3a320482"
}
]
}
Saída do console:
Account 'Contoso, Ltd. (sample)' has the following contact customers:
|Full Name |Job Title |Annual Income
|---------------------------|-----------------------------------|---------------
|Susanna Stubberod (sample) |Senior Purchaser |$52,000.00
|Nancy Anderson (sample) |Activities Manager |$55,500.00
|Maria Cambell (sample) |Accounts Manager |$31,000.00
|Scott Konersmann (sample) |Accounts Manager |$38,000.00
|Robert Lyon (sample) |Senior Technician |$78,000.00
|Paul Cannon (sample) |Ski Instructor |$68,500.00
|Rene Valdes (sample) |Data Analyst III |$86,000.00
|Jim Glynn (sample) |Senior International Sales Manager |$81,400.00
Expandir várias propriedades de navegação
Você pode expandir quantas propriedades de navegação forem necessárias para a consulta. No entanto, a opção $expand só pode chegar a um nível de profundidade.
Este exemplo expande as propriedades de navegação primarycontactid, contact_customer_accounts e Account_Tasks do tipo de entidade 'account'. A consulta retorna uma resposta que contém informações sobre a conta e duas coleções, uma coleção de contatos e uma coleção de tarefas. O código de exemplo processa as coleções separadamente.
Pedir:
GET [Organization Uri]/api/data/v9.2/accounts(7d716234-9628-ed11-9db1-000d3a320482)?$select=name&$expand=primarycontactid($select=fullname,jobtitle,annualincome),contact_customer_accounts($select=fullname,jobtitle,annualincome),Account_Tasks($select=subject,description) HTTP/1.1
Prefer: odata.include-annotations="*"
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Resposta:
HTTP/1.1 200 OK
ETag: W/"1146751"
OData-Version: 4.0
Preference-Applied: odata.include-annotations="*"
{
"@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#accounts(name,primarycontactid(fullname,jobtitle,annualincome),contact_customer_accounts(fullname,jobtitle,annualincome),Account_Tasks(subject,description))/$entity",
"@odata.etag": "W/\"1146751\"",
"name": "Contoso, Ltd. (sample)",
"accountid": "7d716234-9628-ed11-9db1-000d3a320482",
"primarycontactid": {
"@odata.etag": "W/\"1146626\"",
"fullname": "Yvonne McKay (sample)",
"jobtitle": "Coffee Master",
"annualincome@OData.Community.Display.V1.FormattedValue": "$45,000.00",
"annualincome": 45000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "81716234-9628-ed11-9db1-000d3a320482"
},
"contact_customer_accounts": [
{
"@odata.etag": "W/\"1146759\"",
"fullname": "Susanna Stubberod (sample)",
"jobtitle": "Senior Purchaser",
"annualincome@OData.Community.Display.V1.FormattedValue": "$52,000.00",
"annualincome": 52000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "85716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146761\"",
"fullname": "Nancy Anderson (sample)",
"jobtitle": "Activities Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$55,500.00",
"annualincome": 55500.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "89716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146763\"",
"fullname": "Maria Cambell (sample)",
"jobtitle": "Accounts Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$31,000.00",
"annualincome": 31000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "8d716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146765\"",
"fullname": "Scott Konersmann (sample)",
"jobtitle": "Accounts Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$38,000.00",
"annualincome": 38000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "91716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146767\"",
"fullname": "Robert Lyon (sample)",
"jobtitle": "Senior Technician",
"annualincome@OData.Community.Display.V1.FormattedValue": "$78,000.00",
"annualincome": 78000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "95716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146769\"",
"fullname": "Paul Cannon (sample)",
"jobtitle": "Ski Instructor",
"annualincome@OData.Community.Display.V1.FormattedValue": "$68,500.00",
"annualincome": 68500.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "99716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146771\"",
"fullname": "Rene Valdes (sample)",
"jobtitle": "Data Analyst III",
"annualincome@OData.Community.Display.V1.FormattedValue": "$86,000.00",
"annualincome": 86000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "9d716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146773\"",
"fullname": "Jim Glynn (sample)",
"jobtitle": "Senior International Sales Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$81,400.00",
"annualincome": 81400.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "a1716234-9628-ed11-9db1-000d3a320482"
}
],
"Account_Tasks": [
{
"@odata.etag": "W/\"1146746\"",
"subject": "Task 1 for Contoso, Ltd.",
"description": "Task 1 for Contoso, Ltd. description",
"activityid": "7e716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146748\"",
"subject": "Task 2 for Contoso, Ltd.",
"description": "Task 2 for Contoso, Ltd. description",
"activityid": "7f716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146750\"",
"subject": "Task 3 for Contoso, Ltd.",
"description": "Task 3 for Contoso, Ltd. description",
"activityid": "80716234-9628-ed11-9db1-000d3a320482"
}
]
}
Saída do console:
-- Expanding multiple property types in one request --
Account Contoso, Ltd. (sample) has the following primary contact person:
Fullname: Yvonne McKay (sample)
Jobtitle: Coffee Master
Annualincome: 45000
Account 'Contoso, Ltd. (sample)' has the following contact customers:
|Full Name |Job Title |Annual Income
|---------------------------|-----------------------------------|---------------
|Susanna Stubberod (sample) |Senior Purchaser |$52,000.00
|Nancy Anderson (sample) |Activities Manager |$55,500.00
|Maria Cambell (sample) |Accounts Manager |$31,000.00
|Scott Konersmann (sample) |Accounts Manager |$38,000.00
|Robert Lyon (sample) |Senior Technician |$78,000.00
|Paul Cannon (sample) |Ski Instructor |$68,500.00
|Rene Valdes (sample) |Data Analyst III |$86,000.00
|Jim Glynn (sample) |Senior International Sales Manager |$81,400.00
Account 'Contoso, Ltd. (sample)' has the following tasks:
Task 1 for Contoso, Ltd.
Task 2 for Contoso, Ltd.
Task 3 for Contoso, Ltd.
Expansões de vários níveis
Usando propriedades de navegação com valor único, você pode usar $expand para passar por vários níveis. Essa consulta começa com task registros e traz dados das tabelas contact, account e systemuser, usando apenas propriedades de navegação com valor único.
Pedir:
GET [Organization Uri]/api/data/v9.2/tasks?$select=subject&$filter=regardingobjectid_contact_task/_accountid_value eq 7d716234-9628-ed11-9db1-000d3a320482&$expand=regardingobjectid_contact_task($select=fullname;$expand=parentcustomerid_account($select=name;$expand=createdby($select=fullname))) HTTP/1.1
Prefer: odata.include-annotations="*"
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Resposta:
HTTP/1.1 200 OK
OData-Version: 4.0
Preference-Applied: odata.include-annotations="*"
{
"@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#tasks(subject,regardingobjectid_contact_task(fullname,parentcustomerid_account(name,createdby(fullname))))",
"@Microsoft.Dynamics.CRM.totalrecordcount": -1,
"@Microsoft.Dynamics.CRM.totalrecordcountlimitexceeded": false,
"@Microsoft.Dynamics.CRM.globalmetadataversion": "1144249",
"value": [
{
"@odata.etag": "W/\"1146775\"",
"subject": "Task 1 for Susanna Stubberod",
"activityid": "86716234-9628-ed11-9db1-000d3a320482",
"regardingobjectid_contact_task": {
"fullname": "Susanna Stubberod (sample)",
"contactid": "85716234-9628-ed11-9db1-000d3a320482",
"parentcustomerid_account": {
"name": "Contoso, Ltd. (sample)",
"accountid": "7d716234-9628-ed11-9db1-000d3a320482",
"createdby": {
"fullname": "FirstName Lastname",
"systemuserid": "ce939f72-a724-ed11-b83e-00224804438a",
"ownerid": "ce939f72-a724-ed11-b83e-00224804438a"
}
}
}
},
{
"@odata.etag": "W/\"1146777\"",
"subject": "Task 2 for Susanna Stubberod",
"activityid": "87716234-9628-ed11-9db1-000d3a320482",
"regardingobjectid_contact_task": {
"fullname": "Susanna Stubberod (sample)",
"contactid": "85716234-9628-ed11-9db1-000d3a320482",
"parentcustomerid_account": {
"name": "Contoso, Ltd. (sample)",
"accountid": "7d716234-9628-ed11-9db1-000d3a320482",
"createdby": {
"fullname": "FirstName Lastname",
"systemuserid": "ce939f72-a724-ed11-b83e-00224804438a",
"ownerid": "ce939f72-a724-ed11-b83e-00224804438a"
}
}
}
},
{
"@odata.etag": "W/\"1146779\"",
"subject": "Task 3 for Susanna Stubberod",
"activityid": "88716234-9628-ed11-9db1-000d3a320482",
"regardingobjectid_contact_task": {
"fullname": "Susanna Stubberod (sample)",
"contactid": "85716234-9628-ed11-9db1-000d3a320482",
"parentcustomerid_account": {
"name": "Contoso, Ltd. (sample)",
"accountid": "7d716234-9628-ed11-9db1-000d3a320482",
"createdby": {
"fullname": "FirstName Lastname",
"systemuserid": "ce939f72-a724-ed11-b83e-00224804438a",
"ownerid": "ce939f72-a724-ed11-b83e-00224804438a"
}
}
}
},
{
"@odata.etag": "W/\"1146781\"",
"subject": "Task 1 for Nancy Anderson",
"activityid": "8a716234-9628-ed11-9db1-000d3a320482",
"regardingobjectid_contact_task": {
"fullname": "Nancy Anderson (sample)",
"contactid": "89716234-9628-ed11-9db1-000d3a320482",
"parentcustomerid_account": {
"name": "Contoso, Ltd. (sample)",
"accountid": "7d716234-9628-ed11-9db1-000d3a320482",
"createdby": {
"fullname": "FirstName Lastname",
"systemuserid": "ce939f72-a724-ed11-b83e-00224804438a",
"ownerid": "ce939f72-a724-ed11-b83e-00224804438a"
}
}
}
},
{
"@odata.etag": "W/\"1146783\"",
"subject": "Task 2 for Nancy Anderson",
"activityid": "8b716234-9628-ed11-9db1-000d3a320482",
"regardingobjectid_contact_task": {
"fullname": "Nancy Anderson (sample)",
"contactid": "89716234-9628-ed11-9db1-000d3a320482",
"parentcustomerid_account": {
"name": "Contoso, Ltd. (sample)",
"accountid": "7d716234-9628-ed11-9db1-000d3a320482",
"createdby": {
"fullname": "FirstName Lastname",
"systemuserid": "ce939f72-a724-ed11-b83e-00224804438a",
"ownerid": "ce939f72-a724-ed11-b83e-00224804438a"
}
}
}
},
{
"@odata.etag": "W/\"1146785\"",
"subject": "Task 3 for Nancy Anderson",
"activityid": "8c716234-9628-ed11-9db1-000d3a320482",
"regardingobjectid_contact_task": {
"fullname": "Nancy Anderson (sample)",
"contactid": "89716234-9628-ed11-9db1-000d3a320482",
"parentcustomerid_account": {
"name": "Contoso, Ltd. (sample)",
"accountid": "7d716234-9628-ed11-9db1-000d3a320482",
"createdby": {
"fullname": "FirstName Lastname",
"systemuserid": "ce939f72-a724-ed11-b83e-00224804438a",
"ownerid": "ce939f72-a724-ed11-b83e-00224804438a"
}
}
}
},
{
"@odata.etag": "W/\"1146787\"",
"subject": "Task 1 for Maria Cambell",
"activityid": "8e716234-9628-ed11-9db1-000d3a320482",
"regardingobjectid_contact_task": {
"fullname": "Maria Cambell (sample)",
"contactid": "8d716234-9628-ed11-9db1-000d3a320482",
"parentcustomerid_account": {
"name": "Contoso, Ltd. (sample)",
"accountid": "7d716234-9628-ed11-9db1-000d3a320482",
"createdby": {
"fullname": "FirstName Lastname",
"systemuserid": "ce939f72-a724-ed11-b83e-00224804438a",
"ownerid": "ce939f72-a724-ed11-b83e-00224804438a"
}
}
}
},
{
"@odata.etag": "W/\"1146789\"",
"subject": "Task 2 for Maria Cambell",
"activityid": "8f716234-9628-ed11-9db1-000d3a320482",
"regardingobjectid_contact_task": {
"fullname": "Maria Cambell (sample)",
"contactid": "8d716234-9628-ed11-9db1-000d3a320482",
"parentcustomerid_account": {
"name": "Contoso, Ltd. (sample)",
"accountid": "7d716234-9628-ed11-9db1-000d3a320482",
"createdby": {
"fullname": "FirstName Lastname",
"systemuserid": "ce939f72-a724-ed11-b83e-00224804438a",
"ownerid": "ce939f72-a724-ed11-b83e-00224804438a"
}
}
}
},
{
"@odata.etag": "W/\"1146791\"",
"subject": "Task 3 for Maria Cambell",
"activityid": "90716234-9628-ed11-9db1-000d3a320482",
"regardingobjectid_contact_task": {
"fullname": "Maria Cambell (sample)",
"contactid": "8d716234-9628-ed11-9db1-000d3a320482",
"parentcustomerid_account": {
"name": "Contoso, Ltd. (sample)",
"accountid": "7d716234-9628-ed11-9db1-000d3a320482",
"createdby": {
"fullname": "FirstName Lastname",
"systemuserid": "ce939f72-a724-ed11-b83e-00224804438a",
"ownerid": "ce939f72-a724-ed11-b83e-00224804438a"
}
}
}
},
{
"@odata.etag": "W/\"1146793\"",
"subject": "Task 1 for Scott Konersmann",
"activityid": "92716234-9628-ed11-9db1-000d3a320482",
"regardingobjectid_contact_task": {
"fullname": "Scott Konersmann (sample)",
"contactid": "91716234-9628-ed11-9db1-000d3a320482",
"parentcustomerid_account": {
"name": "Contoso, Ltd. (sample)",
"accountid": "7d716234-9628-ed11-9db1-000d3a320482",
"createdby": {
"fullname": "FirstName Lastname",
"systemuserid": "ce939f72-a724-ed11-b83e-00224804438a",
"ownerid": "ce939f72-a724-ed11-b83e-00224804438a"
}
}
}
},
{
"@odata.etag": "W/\"1146795\"",
"subject": "Task 2 for Scott Konersmann",
"activityid": "93716234-9628-ed11-9db1-000d3a320482",
"regardingobjectid_contact_task": {
"fullname": "Scott Konersmann (sample)",
"contactid": "91716234-9628-ed11-9db1-000d3a320482",
"parentcustomerid_account": {
"name": "Contoso, Ltd. (sample)",
"accountid": "7d716234-9628-ed11-9db1-000d3a320482",
"createdby": {
"fullname": "FirstName Lastname",
"systemuserid": "ce939f72-a724-ed11-b83e-00224804438a",
"ownerid": "ce939f72-a724-ed11-b83e-00224804438a"
}
}
}
},
{
"@odata.etag": "W/\"1146797\"",
"subject": "Task 3 for Scott Konersmann",
"activityid": "94716234-9628-ed11-9db1-000d3a320482",
"regardingobjectid_contact_task": {
"fullname": "Scott Konersmann (sample)",
"contactid": "91716234-9628-ed11-9db1-000d3a320482",
"parentcustomerid_account": {
"name": "Contoso, Ltd. (sample)",
"accountid": "7d716234-9628-ed11-9db1-000d3a320482",
"createdby": {
"fullname": "FirstName Lastname",
"systemuserid": "ce939f72-a724-ed11-b83e-00224804438a",
"ownerid": "ce939f72-a724-ed11-b83e-00224804438a"
}
}
}
},
{
"@odata.etag": "W/\"1146799\"",
"subject": "Task 1 for Robert Lyon",
"activityid": "96716234-9628-ed11-9db1-000d3a320482",
"regardingobjectid_contact_task": {
"fullname": "Robert Lyon (sample)",
"contactid": "95716234-9628-ed11-9db1-000d3a320482",
"parentcustomerid_account": {
"name": "Contoso, Ltd. (sample)",
"accountid": "7d716234-9628-ed11-9db1-000d3a320482",
"createdby": {
"fullname": "FirstName Lastname",
"systemuserid": "ce939f72-a724-ed11-b83e-00224804438a",
"ownerid": "ce939f72-a724-ed11-b83e-00224804438a"
}
}
}
},
{
"@odata.etag": "W/\"1146801\"",
"subject": "Task 2 for Robert Lyon",
"activityid": "97716234-9628-ed11-9db1-000d3a320482",
"regardingobjectid_contact_task": {
"fullname": "Robert Lyon (sample)",
"contactid": "95716234-9628-ed11-9db1-000d3a320482",
"parentcustomerid_account": {
"name": "Contoso, Ltd. (sample)",
"accountid": "7d716234-9628-ed11-9db1-000d3a320482",
"createdby": {
"fullname": "FirstName Lastname",
"systemuserid": "ce939f72-a724-ed11-b83e-00224804438a",
"ownerid": "ce939f72-a724-ed11-b83e-00224804438a"
}
}
}
},
{
"@odata.etag": "W/\"1146803\"",
"subject": "Task 3 for Robert Lyon",
"activityid": "98716234-9628-ed11-9db1-000d3a320482",
"regardingobjectid_contact_task": {
"fullname": "Robert Lyon (sample)",
"contactid": "95716234-9628-ed11-9db1-000d3a320482",
"parentcustomerid_account": {
"name": "Contoso, Ltd. (sample)",
"accountid": "7d716234-9628-ed11-9db1-000d3a320482",
"createdby": {
"fullname": "FirstName Lastname",
"systemuserid": "ce939f72-a724-ed11-b83e-00224804438a",
"ownerid": "ce939f72-a724-ed11-b83e-00224804438a"
}
}
}
},
{
"@odata.etag": "W/\"1146806\"",
"subject": "Task 1 for Paul Cannon",
"activityid": "9a716234-9628-ed11-9db1-000d3a320482",
"regardingobjectid_contact_task": {
"fullname": "Paul Cannon (sample)",
"contactid": "99716234-9628-ed11-9db1-000d3a320482",
"parentcustomerid_account": {
"name": "Contoso, Ltd. (sample)",
"accountid": "7d716234-9628-ed11-9db1-000d3a320482",
"createdby": {
"fullname": "FirstName Lastname",
"systemuserid": "ce939f72-a724-ed11-b83e-00224804438a",
"ownerid": "ce939f72-a724-ed11-b83e-00224804438a"
}
}
}
},
{
"@odata.etag": "W/\"1146808\"",
"subject": "Task 2 for Paul Cannon",
"activityid": "9b716234-9628-ed11-9db1-000d3a320482",
"regardingobjectid_contact_task": {
"fullname": "Paul Cannon (sample)",
"contactid": "99716234-9628-ed11-9db1-000d3a320482",
"parentcustomerid_account": {
"name": "Contoso, Ltd. (sample)",
"accountid": "7d716234-9628-ed11-9db1-000d3a320482",
"createdby": {
"fullname": "FirstName Lastname",
"systemuserid": "ce939f72-a724-ed11-b83e-00224804438a",
"ownerid": "ce939f72-a724-ed11-b83e-00224804438a"
}
}
}
},
{
"@odata.etag": "W/\"1146810\"",
"subject": "Task 3 for Paul Cannon",
"activityid": "9c716234-9628-ed11-9db1-000d3a320482",
"regardingobjectid_contact_task": {
"fullname": "Paul Cannon (sample)",
"contactid": "99716234-9628-ed11-9db1-000d3a320482",
"parentcustomerid_account": {
"name": "Contoso, Ltd. (sample)",
"accountid": "7d716234-9628-ed11-9db1-000d3a320482",
"createdby": {
"fullname": "FirstName Lastname",
"systemuserid": "ce939f72-a724-ed11-b83e-00224804438a",
"ownerid": "ce939f72-a724-ed11-b83e-00224804438a"
}
}
}
},
{
"@odata.etag": "W/\"1146812\"",
"subject": "Task 1 for Rene Valdes",
"activityid": "9e716234-9628-ed11-9db1-000d3a320482",
"regardingobjectid_contact_task": {
"fullname": "Rene Valdes (sample)",
"contactid": "9d716234-9628-ed11-9db1-000d3a320482",
"parentcustomerid_account": {
"name": "Contoso, Ltd. (sample)",
"accountid": "7d716234-9628-ed11-9db1-000d3a320482",
"createdby": {
"fullname": "FirstName Lastname",
"systemuserid": "ce939f72-a724-ed11-b83e-00224804438a",
"ownerid": "ce939f72-a724-ed11-b83e-00224804438a"
}
}
}
},
{
"@odata.etag": "W/\"1146814\"",
"subject": "Task 2 for Rene Valdes",
"activityid": "9f716234-9628-ed11-9db1-000d3a320482",
"regardingobjectid_contact_task": {
"fullname": "Rene Valdes (sample)",
"contactid": "9d716234-9628-ed11-9db1-000d3a320482",
"parentcustomerid_account": {
"name": "Contoso, Ltd. (sample)",
"accountid": "7d716234-9628-ed11-9db1-000d3a320482",
"createdby": {
"fullname": "FirstName Lastname",
"systemuserid": "ce939f72-a724-ed11-b83e-00224804438a",
"ownerid": "ce939f72-a724-ed11-b83e-00224804438a"
}
}
}
},
{
"@odata.etag": "W/\"1146816\"",
"subject": "Task 3 for Rene Valdes",
"activityid": "a0716234-9628-ed11-9db1-000d3a320482",
"regardingobjectid_contact_task": {
"fullname": "Rene Valdes (sample)",
"contactid": "9d716234-9628-ed11-9db1-000d3a320482",
"parentcustomerid_account": {
"name": "Contoso, Ltd. (sample)",
"accountid": "7d716234-9628-ed11-9db1-000d3a320482",
"createdby": {
"fullname": "FirstName Lastname",
"systemuserid": "ce939f72-a724-ed11-b83e-00224804438a",
"ownerid": "ce939f72-a724-ed11-b83e-00224804438a"
}
}
}
},
{
"@odata.etag": "W/\"1146820\"",
"subject": "Task 1 for Jim Glynn",
"activityid": "a2716234-9628-ed11-9db1-000d3a320482",
"regardingobjectid_contact_task": {
"fullname": "Jim Glynn (sample)",
"contactid": "a1716234-9628-ed11-9db1-000d3a320482",
"parentcustomerid_account": {
"name": "Contoso, Ltd. (sample)",
"accountid": "7d716234-9628-ed11-9db1-000d3a320482",
"createdby": {
"fullname": "FirstName Lastname",
"systemuserid": "ce939f72-a724-ed11-b83e-00224804438a",
"ownerid": "ce939f72-a724-ed11-b83e-00224804438a"
}
}
}
},
{
"@odata.etag": "W/\"1146822\"",
"subject": "Task 2 for Jim Glynn",
"activityid": "a3716234-9628-ed11-9db1-000d3a320482",
"regardingobjectid_contact_task": {
"fullname": "Jim Glynn (sample)",
"contactid": "a1716234-9628-ed11-9db1-000d3a320482",
"parentcustomerid_account": {
"name": "Contoso, Ltd. (sample)",
"accountid": "7d716234-9628-ed11-9db1-000d3a320482",
"createdby": {
"fullname": "FirstName Lastname",
"systemuserid": "ce939f72-a724-ed11-b83e-00224804438a",
"ownerid": "ce939f72-a724-ed11-b83e-00224804438a"
}
}
}
},
{
"@odata.etag": "W/\"1146827\"",
"subject": "Task 3 for Jim Glynn",
"activityid": "a4716234-9628-ed11-9db1-000d3a320482",
"regardingobjectid_contact_task": {
"fullname": "Jim Glynn (sample)",
"contactid": "a1716234-9628-ed11-9db1-000d3a320482",
"parentcustomerid_account": {
"name": "Contoso, Ltd. (sample)",
"accountid": "7d716234-9628-ed11-9db1-000d3a320482",
"createdby": {
"fullname": "FirstName Lastname",
"systemuserid": "ce939f72-a724-ed11-b83e-00224804438a",
"ownerid": "ce939f72-a724-ed11-b83e-00224804438a"
}
}
}
}
]
}
Saída do console:
Expanded values from Task:
|Subject |Contact |Account |Account CreatedBy
|------------------------------|------------------------------|-------------------------|--------------------
|Task 1 for Susanna Stubberod |Susanna Stubberod (sample) |Contoso, Ltd. (sample) |FirstName Lastname
|Task 2 for Susanna Stubberod |Susanna Stubberod (sample) |Contoso, Ltd. (sample) |FirstName Lastname
|Task 3 for Susanna Stubberod |Susanna Stubberod (sample) |Contoso, Ltd. (sample) |FirstName Lastname
|Task 1 for Nancy Anderson |Nancy Anderson (sample) |Contoso, Ltd. (sample) |FirstName Lastname
|Task 2 for Nancy Anderson |Nancy Anderson (sample) |Contoso, Ltd. (sample) |FirstName Lastname
|Task 3 for Nancy Anderson |Nancy Anderson (sample) |Contoso, Ltd. (sample) |FirstName Lastname
|Task 1 for Maria Cambell |Maria Cambell (sample) |Contoso, Ltd. (sample) |FirstName Lastname
|Task 2 for Maria Cambell |Maria Cambell (sample) |Contoso, Ltd. (sample) |FirstName Lastname
|Task 3 for Maria Cambell |Maria Cambell (sample) |Contoso, Ltd. (sample) |FirstName Lastname
|Task 1 for Scott Konersmann |Scott Konersmann (sample) |Contoso, Ltd. (sample) |FirstName Lastname
|Task 2 for Scott Konersmann |Scott Konersmann (sample) |Contoso, Ltd. (sample) |FirstName Lastname
|Task 3 for Scott Konersmann |Scott Konersmann (sample) |Contoso, Ltd. (sample) |FirstName Lastname
|Task 1 for Robert Lyon |Robert Lyon (sample) |Contoso, Ltd. (sample) |FirstName Lastname
|Task 2 for Robert Lyon |Robert Lyon (sample) |Contoso, Ltd. (sample) |FirstName Lastname
|Task 3 for Robert Lyon |Robert Lyon (sample) |Contoso, Ltd. (sample) |FirstName Lastname
|Task 1 for Paul Cannon |Paul Cannon (sample) |Contoso, Ltd. (sample) |FirstName Lastname
|Task 2 for Paul Cannon |Paul Cannon (sample) |Contoso, Ltd. (sample) |FirstName Lastname
|Task 3 for Paul Cannon |Paul Cannon (sample) |Contoso, Ltd. (sample) |FirstName Lastname
|Task 1 for Rene Valdes |Rene Valdes (sample) |Contoso, Ltd. (sample) |FirstName Lastname
|Task 2 for Rene Valdes |Rene Valdes (sample) |Contoso, Ltd. (sample) |FirstName Lastname
|Task 3 for Rene Valdes |Rene Valdes (sample) |Contoso, Ltd. (sample) |FirstName Lastname
|Task 1 for Jim Glynn |Jim Glynn (sample) |Contoso, Ltd. (sample) |FirstName Lastname
|Task 2 for Jim Glynn |Jim Glynn (sample) |Contoso, Ltd. (sample) |FirstName Lastname
|Task 3 for Jim Glynn |Jim Glynn (sample) |Contoso, Ltd. (sample) |FirstName Lastname
Seção 7: Resultados agregados
Para retornar valores agregados, use a opção $apply . Este exemplo aplica-se average, sum, mine max a valores de renda anuais.
Pedir:
GET [Organization Uri]/api/data/v9.2/accounts(7d716234-9628-ed11-9db1-000d3a320482)/contact_customer_accounts?$apply=aggregate(annualincome with average as average, annualincome with sum as total, annualincome with min as minimum, annualincome with max as maximum) HTTP/1.1
Prefer: odata.include-annotations="*"
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Resposta:
HTTP/1.1 200 OK
OData-Version: 4.0
Preference-Applied: odata.include-annotations="*"
{
"@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#contacts",
"@Microsoft.Dynamics.CRM.totalrecordcount": -1,
"@Microsoft.Dynamics.CRM.totalrecordcountlimitexceeded": false,
"value": [
{
"telephone3": null,
"address1_shippingmethodcode": null,
"familystatuscode": null,
"haschildrencode": null,
"nickname": null,
"address1_freighttermscode": null,
"address3_upszone": null,
"_ownerid_value": null,
"annualincome_base": null,
"anniversary": null,
"address1_upszone": null,
"fullname": null,
"merged": null,
"websiteurl": null,
"address2_city": null,
"_slainvokedid_value": null,
"address1_postofficebox": null,
"importsequencenumber": null,
"address3_longitude": null,
"preferredappointmentdaycode": null,
"customertypecode": null,
"utcconversiontimezonecode": null,
"overriddencreatedon": null,
"aging90": null,
"stageid": null,
"address3_primarycontactname": null,
"address1_utcoffset": null,
"address1_latitude": null,
"home2": null,
"yomifirstname": null,
"isbackofficecustomer": null,
"_masterid_value": null,
"address3_shippingmethodcode": null,
"lastonholdtime": null,
"address2_fax": null,
"address3_stateorprovince": null,
"address3_telephone3": null,
"address3_telephone2": null,
"address3_telephone1": null,
"_transactioncurrencyid_value": null,
"governmentid": null,
"yomifullname": null,
"participatesinworkflow": null,
"address2_line1": null,
"followemail": null,
"address1_telephone3": null,
"educationcode": null,
"address1_telephone2": null,
"address1_telephone1": null,
"address2_postofficebox": null,
"_owninguser_value": null,
"emailaddress1": null,
"ftpsiteurl": null,
"emailaddress2": null,
"address2_latitude": null,
"processid": null,
"emailaddress3": null,
"address2_shippingmethodcode": null,
"address2_composite": null,
"creditonhold": null,
"traversedpath": null,
"address1_city": null,
"spousesname": null,
"address3_addressid": null,
"address3_name": null,
"address3_postofficebox": null,
"address2_line2": null,
"aging30_base": null,
"address1_addressid": null,
"address1_addresstypecode": null,
"donotphone": null,
"managerphone": null,
"contactid": null,
"address2_stateorprovince": null,
"_createdby_value": null,
"donotemail": null,
"address2_postalcode": null,
"donotsendmm": null,
"entityimage_url": null,
"firstname": null,
"address1_composite": null,
"leadsourcecode": null,
"aging60": null,
"managername": null,
"_modifiedby_value": null,
"address3_postalcode": null,
"marketingonly": null,
"jobtitle": null,
"timezoneruleversionnumber": null,
"address3_utcoffset": null,
"address2_telephone3": null,
"address2_telephone2": null,
"address2_telephone1": null,
"numberofchildren": null,
"address1_postalcode": null,
"address2_upszone": null,
"_owningteam_value": null,
"address2_line3": null,
"timespentbymeonemailandmeetings": null,
"territorycode": null,
"department": null,
"address1_country": null,
"address2_longitude": null,
"suffix": null,
"_modifiedonbehalfby_value": null,
"creditlimit": null,
"address1_line2": null,
"paymenttermscode": null,
"address1_county": null,
"donotpostalmail": null,
"_preferredsystemuserid_value": null,
"accountrolecode": null,
"preferredappointmenttimecode": null,
"assistantname": null,
"address1_fax": null,
"_owningbusinessunit_value": null,
"_parentcustomerid_value": null,
"_createdonbehalfby_value": null,
"annualincome": null,
"_accountid_value": null,
"modifiedon": null,
"address2_name": null,
"creditlimit_base": null,
"_modifiedbyexternalparty_value": null,
"address2_utcoffset": null,
"business2": null,
"statuscode": null,
"address3_composite": null,
"_slaid_value": null,
"fax": null,
"address1_line1": null,
"shippingmethodcode": null,
"donotbulkemail": null,
"childrensnames": null,
"address2_county": null,
"lastname": null,
"versionnumber": null,
"address3_city": null,
"address2_freighttermscode": null,
"aging30": null,
"externaluseridentifier": null,
"address1_line3": null,
"_parentcontactid_value": null,
"assistantphone": null,
"statecode": null,
"address1_stateorprovince": null,
"birthdate": null,
"customersizecode": null,
"address3_addresstypecode": null,
"onholdtime": null,
"_createdbyexternalparty_value": null,
"entityimage_timestamp": null,
"mobilephone": null,
"address3_county": null,
"employeeid": null,
"exchangerate": null,
"subscriptionid": null,
"entityimageid": null,
"company": null,
"donotbulkpostalmail": null,
"gendercode": null,
"callback": null,
"lastusedincampaign": null,
"address3_line3": null,
"donotfax": null,
"telephone2": null,
"address3_freighttermscode": null,
"yomilastname": null,
"address3_fax": null,
"description": null,
"address3_line1": null,
"address3_line2": null,
"address2_addresstypecode": null,
"createdon": null,
"yomimiddlename": null,
"aging90_base": null,
"address1_name": null,
"telephone1": null,
"address1_primarycontactname": null,
"address1_longitude": null,
"middlename": null,
"address2_primarycontactname": null,
"entityimage": null,
"address2_addressid": null,
"preferredcontactmethodcode": null,
"address3_latitude": null,
"salutation": null,
"aging60_base": null,
"pager": null,
"address2_country": null,
"address3_country": null,
"average@OData.Community.Display.V1.AttributeName": "annualincome",
"average@OData.Community.Display.V1.FormattedValue": "$61,300.00",
"average": 61300.0,
"total@OData.Community.Display.V1.AttributeName": "annualincome",
"total@OData.Community.Display.V1.FormattedValue": "$490,400.00",
"total": 490400.0,
"minimum@OData.Community.Display.V1.AttributeName": "annualincome",
"minimum@OData.Community.Display.V1.FormattedValue": "$31,000.00",
"minimum": 31000.0,
"maximum@OData.Community.Display.V1.AttributeName": "annualincome",
"maximum@OData.Community.Display.V1.FormattedValue": "$86,000.00",
"maximum": 86000.0
}
]
}
Saída do console:
Aggregated Annual Income information for Contoso contacts:
Average income: $61,300.00
Total income: $490,400.00
Minium income: $31,000.00
Maximum income: $86,000.00
Seção 8: Consultas FetchXML
Além das operações de filtro de consulta, a API Web também dá suporte a consultas FetchXML. FetchXML fornece uma maneira alternativa de definir consultas e mais opções de agregação. Todas as opções de consulta que você normalmente define, como $select, $filtere $orderby, são definidas no XML.
Para usar FetchXML, redigir uma cadeia de caracteres que representa a consulta. Verifique se a cadeia de caracteres de consulta está em conformidade com a referência FetchXml. Antes de incluir a cadeia de caracteres na URL, você deve codificar a URL.
Neste exemplo, você consulta todos os contatos onde fullname corresponde a (sample), e retorna os resultados por ordem decrescente de fullname.
Este é o XML para a consulta:
<fetch distinct="false">
<entity name="contact">
<attribute name="fullname" />
<attribute name="jobtitle" />
<attribute name="annualincome" />
<order descending="true"
attribute="fullname" />
<filter type="and">
<condition value="%(sample)%"
attribute="fullname"
operator="like" />
<condition value="7d716234-9628-ed11-9db1-000d3a320482"
attribute="parentcustomerid"
operator="eq" />
</filter>
</entity>
</fetch>
Neste exemplo, você envia a consulta usando uma solicitação $batch . As consultas FetchXML podem ser longas, para que possam atingir os limites de URLs que você pode enviar usando GET. Usando uma $batch operação, você envia a URL no corpo da solicitação, em que os limites são mais altos.
Pedir:
POST [Organization Uri]/api/data/v9.2/$batch HTTP/1.1
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
--batch_7118cb08-27c1-44c0-be91-c2442fe9d454
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-Length: 881
GET /api/data/v9.2/contacts?fetchXml=%3Cfetch+mapping%3D%22logical%22+output-format%3D%22xml-platform%22+version%3D%221.0%22+distinct%3D%22false%22%3E%0D%0A++%3Centity+name%3D%22contact%22%3E%0D%0A++++%3Cattribute+name%3D%22fullname%22+%2F%3E%0D%0A++++%3Cattribute+name%3D%22jobtitle%22+%2F%3E%0D%0A++++%3Cattribute+name%3D%22annualincome%22+%2F%3E%0D%0A++++%3Corder+descending%3D%22true%22+attribute%3D%22fullname%22+%2F%3E%0D%0A++++%3Cfilter+type%3D%22and%22%3E%0D%0A++++++%3Ccondition+value%3D%22%25(sample)%25%22+attribute%3D%22fullname%22+operator%3D%22like%22+%2F%3E%0D%0A++++++%3Ccondition+value%3D%227d716234-9628-ed11-9db1-000d3a320482%22+attribute%3D%22parentcustomerid%22+operator%3D%22eq%22+%2F%3E%0D%0A++++%3C%2Ffilter%3E%0D%0A++%3C%2Fentity%3E%0D%0A%3C%2Ffetch%3E&$count=true HTTP/1.1
Prefer: odata.include-annotations="*"
--batch_7118cb08-27c1-44c0-be91-c2442fe9d454--
Resposta:
HTTP/1.1 200 OK
OData-Version: 4.0
--batchresponse_ed1a482b-c942-4da4-8257-adaa53acc8e0
Content-Type: application/http
Content-Transfer-Encoding: binary
HTTP/1.1 200 OK
Content-Type: application/json; odata.metadata=minimal; odata.streaming=true
OData-Version: 4.0
Preference-Applied: odata.include-annotations="*"
{
"@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#contacts(fullname,jobtitle,annualincome,_transactioncurrencyid_value,transactioncurrencyid,contactid,transactioncurrencyid())",
"@odata.count": 8,
"@Microsoft.Dynamics.CRM.totalrecordcount": 8,
"@Microsoft.Dynamics.CRM.totalrecordcountlimitexceeded": false,
"@Microsoft.Dynamics.CRM.globalmetadataversion": "1144249",
"value": [
{
"@odata.etag": "W/\"1146759\"",
"fullname": "Susanna Stubberod (sample)",
"jobtitle": "Senior Purchaser",
"annualincome@OData.Community.Display.V1.FormattedValue": "$52,000.00",
"annualincome": 52000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "85716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146765\"",
"fullname": "Scott Konersmann (sample)",
"jobtitle": "Accounts Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$38,000.00",
"annualincome": 38000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "91716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146767\"",
"fullname": "Robert Lyon (sample)",
"jobtitle": "Senior Technician",
"annualincome@OData.Community.Display.V1.FormattedValue": "$78,000.00",
"annualincome": 78000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "95716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146771\"",
"fullname": "Rene Valdes (sample)",
"jobtitle": "Data Analyst III",
"annualincome@OData.Community.Display.V1.FormattedValue": "$86,000.00",
"annualincome": 86000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "9d716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146769\"",
"fullname": "Paul Cannon (sample)",
"jobtitle": "Ski Instructor",
"annualincome@OData.Community.Display.V1.FormattedValue": "$68,500.00",
"annualincome": 68500.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "99716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146761\"",
"fullname": "Nancy Anderson (sample)",
"jobtitle": "Activities Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$55,500.00",
"annualincome": 55500.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "89716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146763\"",
"fullname": "Maria Cambell (sample)",
"jobtitle": "Accounts Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$31,000.00",
"annualincome": 31000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "8d716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1146773\"",
"fullname": "Jim Glynn (sample)",
"jobtitle": "Senior International Sales Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$81,400.00",
"annualincome": 81400.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "a1716234-9628-ed11-9db1-000d3a320482"
}
]
}
--batchresponse_ed1a482b-c942-4da4-8257-adaa53acc8e0--
Saída do console:
Contacts Fetched by fullname containing '(sample)':
|Full Name |Job Title |Annual Income
|---------------------------|-----------------------------------|---------------
|Susanna Stubberod (sample) |Senior Purchaser |$52,000.00
|Scott Konersmann (sample) |Accounts Manager |$38,000.00
|Robert Lyon (sample) |Senior Technician |$78,000.00
|Rene Valdes (sample) |Data Analyst III |$86,000.00
|Paul Cannon (sample) |Ski Instructor |$68,500.00
|Nancy Anderson (sample) |Activities Manager |$55,500.00
|Maria Cambell (sample) |Accounts Manager |$31,000.00
|Jim Glynn (sample) |Senior International Sales Manager |$81,400.00
Paginação FetchXML
FetchXML manipula a paginação de forma diferente de um filtro de consulta. No FetchXML, você especifica um count valor que indica quantos resultados retornar por página. Na mesma solicitação, use o valor page para especificar o número da página para retorno.
A seguinte operação solicita a página 2 do exemplo FetchXML anterior. Com base nos dados de exemplo, você deverá ver oito contatos no resultado. Dividindo cada página para quatro contatos por página, você tem duas páginas. A página 2 contém apenas quatro contatos. Se você solicitar a página 3, o sistema retornará zero resultados.
<fetch distinct="false"
page="2"
count="4">
<entity name="contact">
<attribute name="fullname" />
<attribute name="jobtitle" />
<attribute name="annualincome" />
<order descending="true"
attribute="fullname" />
<filter type="and">
<condition value="%(sample)%"
attribute="fullname"
operator="like" />
<condition value="7d716234-9628-ed11-9db1-000d3a320482"
attribute="parentcustomerid"
operator="eq" />
</filter>
</entity>
</fetch>
Pedir:
GET [Organization Uri]/api/data/v9.2/contacts?fetchXml=%3Cfetch+mapping%3D%22logical%22+output-format%3D%22xml-platform%22+version%3D%221.0%22+distinct%3D%22false%22+count%3D%224%22+page%3D%222%22%3E%0D%0A++%3Centity+name%3D%22contact%22%3E%0D%0A++++%3Cattribute+name%3D%22fullname%22+%2F%3E%0D%0A++++%3Cattribute+name%3D%22jobtitle%22+%2F%3E%0D%0A++++%3Cattribute+name%3D%22annualincome%22+%2F%3E%0D%0A++++%3Corder+descending%3D%22true%22+attribute%3D%22fullname%22+%2F%3E%0D%0A++++%3Cfilter+type%3D%22and%22%3E%0D%0A++++++%3Ccondition+value%3D%22%25(sample)%25%22+attribute%3D%22fullname%22+operator%3D%22like%22+%2F%3E%0D%0A++++++%3Ccondition+value%3D%227d716234-9628-ed11-9db1-000d3a320482%22+attribute%3D%22parentcustomerid%22+operator%3D%22eq%22+%2F%3E%0D%0A++++%3C%2Ffilter%3E%0D%0A++%3C%2Fentity%3E%0D%0A%3C%2Ffetch%3E&$count=true HTTP/1.1
Prefer: odata.include-annotations="*"
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Resposta:
HTTP/1.1 200 OK
OData-Version: 4.0
Preference-Applied: odata.include-annotations="*"
{
"@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#contacts(fullname,jobtitle,annualincome,_transactioncurrencyid_value,transactioncurrencyid,contactid,transactioncurrencyid())",
"@odata.count": 8,
"@Microsoft.Dynamics.CRM.totalrecordcount": 8,
"@Microsoft.Dynamics.CRM.totalrecordcountlimitexceeded": false,
"@Microsoft.Dynamics.CRM.globalmetadataversion": "1144249",
"value": [
{
"@odata.etag": "W/\"1147963\"",
"fullname": "Paul Cannon (sample)",
"jobtitle": "Ski Instructor",
"annualincome@OData.Community.Display.V1.FormattedValue": "$68,500.00",
"annualincome": 68500.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "99716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1147945\"",
"fullname": "Nancy Anderson (sample)",
"jobtitle": "Activities Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$55,500.00",
"annualincome": 55500.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "89716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1147948\"",
"fullname": "Maria Cambell (sample)",
"jobtitle": "Accounts Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$31,000.00",
"annualincome": 31000.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "8d716234-9628-ed11-9db1-000d3a320482"
},
{
"@odata.etag": "W/\"1147979\"",
"fullname": "Jim Glynn (sample)",
"jobtitle": "Senior International Sales Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$81,400.00",
"annualincome": 81400.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": "daf76074-6820-ed11-b83b-00224802b2ac",
"contactid": "a1716234-9628-ed11-9db1-000d3a320482"
}
]
}
Saída do console:
Contacts Fetched by fullname containing '(sample)' - Page 2:
|Full Name |Job Title |Annual Income
|---------------------------|-----------------------------------|---------------
|Paul Cannon (sample) |Ski Instructor |$68,500.00
|Nancy Anderson (sample) |Activities Manager |$55,500.00
|Maria Cambell (sample) |Accounts Manager |$31,000.00
|Jim Glynn (sample) |Senior International Sales Manager |$81,400.00
Seção 9: Usar consultas predefinidas
Use a API Web para recuperar e executar consultas predefinidas.
Consulta salva
Nesta operação, solicita-se o GUID savedqueryid da consulta salva chamada Contas Ativas. Em seguida, use o GUID e o savedQuery parâmetro para consultar uma lista de contas ativas.
Primeiro, obtenha o GUID da consulta salva.
Pedir:
GET [Organization Uri]/api/data/v9.2/savedqueries?$select=name,savedqueryid&$filter=name eq 'Active Accounts' HTTP/1.1
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Resposta:
HTTP/1.1 200 OK
OData-Version: 4.0
{
"@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#savedqueries(name,savedqueryid)",
"value": [
{
"@odata.etag": "W/\"966435\"",
"name": "Active Accounts",
"savedqueryid": "00000000-0000-0000-00aa-000010001002"
}
]
}
Em seguida, use o savedQuery parâmetro para obter o conteúdo da consulta salva.
Pedir:
GET [Organization Uri]/api/data/v9.2/accounts?savedQuery=00000000-0000-0000-00aa-000010001002 HTTP/1.1
Prefer: odata.maxpagesize=3; odata.include-annotations="*"
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Resposta:
HTTP/1.1 200 OK
OData-Version: 4.0
Preference-Applied: odata.include-annotations="*"; odata.maxpagesize=3
{
"@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#accounts(name,_primarycontactid_value,primarycontactid,accountid,address1_city,telephone1,primarycontactid())",
"@Microsoft.Dynamics.CRM.totalrecordcount": -1,
"@Microsoft.Dynamics.CRM.totalrecordcountlimitexceeded": false,
"@Microsoft.Dynamics.CRM.globalmetadataversion": "1144249",
"@accountprimarycontactidcontactcontactid.OData.Community.Display.V1.CurrentEntityField": "primarycontactid",
"value": [
{
"@odata.etag": "W/\"1147935\"",
"name": "Contoso, Ltd. (sample)",
"_primarycontactid_value@OData.Community.Display.V1.FormattedValue": "Yvonne McKay (sample)",
"_primarycontactid_value@Microsoft.Dynamics.CRM.associatednavigationproperty": "primarycontactid",
"_primarycontactid_value@Microsoft.Dynamics.CRM.lookuplogicalname": "contact",
"_primarycontactid_value": "d36e86e2-a228-ed11-9db1-000d3a320482",
"accountid": "cf6e86e2-a228-ed11-9db1-000d3a320482"
}
]
}
Saída do console:
-- Saved Query --
Active Accounts
1) Contoso, Ltd. (sample), Yvonne McKay (sample), NULL
Consulta de usuário
Este exemplo cria uma consulta de usuário, executa-a e, em seguida, exclui-a do sistema.
Pedir:
POST [Organization Uri]/api/data/v9.2/userqueries HTTP/1.1
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
{
"name": "My User Query",
"description": "User query to display contact info.",
"querytype": 0,
"returnedtypecode": "contact",
"fetchxml": "<fetch>
<entity name ='contact'>
<attribute name ='fullname' />
<attribute name ='contactid' />
<attribute name ='jobtitle' />
<attribute name ='annualincome' />
<order descending ='false' attribute='fullname' />
<filter type ='and'>
<condition value ='%(sample)%' attribute='fullname' operator='like' />
<condition value ='%Manager%' attribute='jobtitle' operator='like' />
<condition value ='55000' attribute='annualincome' operator='gt' />
</filter>
</entity>
</fetch>"
}
Resposta:
HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/userqueries(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
Esta consulta de usuário solicita quaisquer contatos onde fullname contém (sample), jobtitle contém manager, e annualincome é maior que 55000. Os dados de exemplo contêm dois contatos que correspondem à consulta.
No código de exemplo, a solicitação que cria a consulta de usuário retorna o userqueryid valor. Normalmente, você precisa consultar o sistema para recuperá-lo usando uma consulta como a seguinte:
Pedir:
GET https://[Organization URI]/api/data/v9.2/userqueries?$select=name,userqueryid,&$filter=name%20eq%20'My%20User%20Query' HTTP/1.1
OData-MaxVersion: 4.0
OData-Version: 4.0
Content-Type: application/json; charset=utf-8
Resposta:
HTTP/1.1 200 OK
Content-Type: application/json; odata.metadata=minimal
OData-Version: 4.0
Content-Length: 246
{
"@odata.context":"https://[Organization URI]/api/data/v9.2/$metadata#userqueries(name,userqueryid)",
"value":[
{
"@odata.etag":"W/\"621698\"",
"name":"My User Query",
"userqueryid":"00aa00aa-bb11-cc22-dd33-44ee44ee44ee"
}
]
}
Este exemplo passa o valor GUID como parâmetro userQuery para obter o conteúdo da consulta do usuário.
Pedir:
GET [Organization Uri]/api/data/v9.2/contacts?userQuery=00aa00aa-bb11-cc22-dd33-44ee44ee44ee HTTP/1.1
Prefer: odata.maxpagesize=3; odata.include-annotations="*"
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Resposta:
HTTP/1.1 200 OK
OData-Version: 4.0
Preference-Applied: odata.include-annotations="*"; odata.maxpagesize=3
{
"@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#contacts(fullname,contactid,jobtitle,annualincome,_transactioncurrencyid_value,transactioncurrencyid,transactioncurrencyid())",
"@Microsoft.Dynamics.CRM.totalrecordcount": -1,
"@Microsoft.Dynamics.CRM.totalrecordcountlimitexceeded": false,
"@Microsoft.Dynamics.CRM.globalmetadataversion": "1144249",
"value": [
{
"@odata.etag": "W/\"1147979\"",
"fullname": "Jim Glynn (sample)",
"contactid": "f36e86e2-a228-ed11-9db1-000d3a320482",
"jobtitle": "Senior International Sales Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$81,400.00",
"annualincome": 81400.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": "daf76074-6820-ed11-b83b-00224802b2ac"
},
{
"@odata.etag": "W/\"1147945\"",
"fullname": "Nancy Anderson (sample)",
"contactid": "db6e86e2-a228-ed11-9db1-000d3a320482",
"jobtitle": "Activities Manager",
"annualincome@OData.Community.Display.V1.FormattedValue": "$55,500.00",
"annualincome": 55500.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": "daf76074-6820-ed11-b83b-00224802b2ac"
}
]
}
Saída do console:
-- User Query --
Contacts Fetched by My User Query:
|Full Name |Job Title |Annual Income
|---------------------------|-----------------------------------|---------------
|Jim Glynn (sample) |Senior International Sales Manager |$81,400.00
|Nancy Anderson (sample) |Activities Manager |$55,500.00
Seção 10: Excluir registros de exemplo
Use uma $batch operação para excluir todos os registros que você criou na Seção 0: Criar registros para consultar.
Pedir:
POST [Organization Uri]/api/data/v9.2/$batch HTTP/1.1
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
--batch_23ea682f-a60a-412a-b37d-7df10a976508
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-Length: 121
DELETE /api/data/v9.2/contacts(f36e86e2-a228-ed11-9db1-000d3a320482) HTTP/1.1
--batch_23ea682f-a60a-412a-b37d-7df10a976508
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-Length: 121
DELETE /api/data/v9.2/contacts(ef6e86e2-a228-ed11-9db1-000d3a320482) HTTP/1.1
--batch_23ea682f-a60a-412a-b37d-7df10a976508
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-Length: 121
DELETE /api/data/v9.2/contacts(eb6e86e2-a228-ed11-9db1-000d3a320482) HTTP/1.1
--batch_23ea682f-a60a-412a-b37d-7df10a976508
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-Length: 121
DELETE /api/data/v9.2/contacts(e76e86e2-a228-ed11-9db1-000d3a320482) HTTP/1.1
--batch_23ea682f-a60a-412a-b37d-7df10a976508
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-Length: 121
DELETE /api/data/v9.2/contacts(e36e86e2-a228-ed11-9db1-000d3a320482) HTTP/1.1
--batch_23ea682f-a60a-412a-b37d-7df10a976508
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-Length: 121
DELETE /api/data/v9.2/contacts(df6e86e2-a228-ed11-9db1-000d3a320482) HTTP/1.1
--batch_23ea682f-a60a-412a-b37d-7df10a976508
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-Length: 121
DELETE /api/data/v9.2/contacts(db6e86e2-a228-ed11-9db1-000d3a320482) HTTP/1.1
--batch_23ea682f-a60a-412a-b37d-7df10a976508
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-Length: 121
DELETE /api/data/v9.2/contacts(d76e86e2-a228-ed11-9db1-000d3a320482) HTTP/1.1
--batch_23ea682f-a60a-412a-b37d-7df10a976508
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-Length: 121
DELETE /api/data/v9.2/accounts(cf6e86e2-a228-ed11-9db1-000d3a320482) HTTP/1.1
--batch_23ea682f-a60a-412a-b37d-7df10a976508
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-Length: 121
DELETE /api/data/v9.2/contacts(d36e86e2-a228-ed11-9db1-000d3a320482) HTTP/1.1
--batch_23ea682f-a60a-412a-b37d-7df10a976508
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-Length: 124
DELETE /api/data/v9.2/userqueries(00aa00aa-bb11-cc22-dd33-44ee44ee44ee) HTTP/1.1
--batch_23ea682f-a60a-412a-b37d-7df10a976508--
Resposta:
HTTP/1.1 200 OK
OData-Version: 4.0
--batchresponse_1e45a745-8b68-401f-a1c0-0081ec083cdc
Content-Type: application/http
Content-Transfer-Encoding: binary
HTTP/1.1 204 No Content
OData-Version: 4.0
--batchresponse_1e45a745-8b68-401f-a1c0-0081ec083cdc
Content-Type: application/http
Content-Transfer-Encoding: binary
HTTP/1.1 204 No Content
OData-Version: 4.0
--batchresponse_1e45a745-8b68-401f-a1c0-0081ec083cdc
Content-Type: application/http
Content-Transfer-Encoding: binary
HTTP/1.1 204 No Content
OData-Version: 4.0
--batchresponse_1e45a745-8b68-401f-a1c0-0081ec083cdc
Content-Type: application/http
Content-Transfer-Encoding: binary
HTTP/1.1 204 No Content
OData-Version: 4.0
--batchresponse_1e45a745-8b68-401f-a1c0-0081ec083cdc
Content-Type: application/http
Content-Transfer-Encoding: binary
HTTP/1.1 204 No Content
OData-Version: 4.0
--batchresponse_1e45a745-8b68-401f-a1c0-0081ec083cdc
Content-Type: application/http
Content-Transfer-Encoding: binary
HTTP/1.1 204 No Content
OData-Version: 4.0
--batchresponse_1e45a745-8b68-401f-a1c0-0081ec083cdc
Content-Type: application/http
Content-Transfer-Encoding: binary
HTTP/1.1 204 No Content
OData-Version: 4.0
--batchresponse_1e45a745-8b68-401f-a1c0-0081ec083cdc
Content-Type: application/http
Content-Transfer-Encoding: binary
HTTP/1.1 204 No Content
OData-Version: 4.0
--batchresponse_1e45a745-8b68-401f-a1c0-0081ec083cdc
Content-Type: application/http
Content-Transfer-Encoding: binary
HTTP/1.1 204 No Content
OData-Version: 4.0
--batchresponse_1e45a745-8b68-401f-a1c0-0081ec083cdc
Content-Type: application/http
Content-Transfer-Encoding: binary
HTTP/1.1 204 No Content
OData-Version: 4.0
--batchresponse_1e45a745-8b68-401f-a1c0-0081ec083cdc
Content-Type: application/http
Content-Transfer-Encoding: binary
HTTP/1.1 204 No Content
OData-Version: 4.0
--batchresponse_1e45a745-8b68-401f-a1c0-0081ec083cdc--
Consulte também
Utilizar a API Web do Dataverse
Consultar dados usando a API Web
Recuperar e executar consultas predefinidas
Exemplo de dados de consulta da API Web (C#)
Exemplo de dados de consulta da API Web (JavaScript do lado do cliente)
Exemplo de dados de consulta da API Web (PowerShell)