Show Menu
TÓPICOS×

Listar formulários em uma página da Web usando APIs

O AEM Forms fornece uma API de pesquisa baseada em REST que os desenvolvedores da Web podem usar para consultar e recuperar um conjunto de formulários que atende aos critérios de pesquisa. Você pode usar APIs para pesquisar formulários com base em vários filtros. O objeto response contém atributos de formulário, propriedades e pontos finais de formulários.
Para pesquisar formulários usando a REST API, envie uma solicitação GET ao servidor com os parâmetros de consulta https://[server]:[port]/libs/fd/fm/content/manage.json descritos abaixo.

Query parameters

Nome do atributo Descrição
func
Especifica a função a ser chamada. Para pesquisar formulários, defina o valor do func atributo como searchForms .
Por exemplo, URLParameterBuilder entityBuilder=new URLParameterBuilder (); entityBuilder.add("func", "searchForms");
Observação: Este parâmetro é obrigatório.
appPath
Especifica o caminho do aplicativo para pesquisar formulários. Por padrão, o atributo appPath pesquisa todos os aplicativos disponíveis no nível do nó raiz.
É possível especificar vários caminhos de aplicativo em uma única consulta de pesquisa. Separe vários caminhos com um caractere de barra vertical (|).
cutPoints
Especifica as propriedades a serem buscadas com os ativos. Você pode usar asterisco (*) para buscar todas as propriedades de uma vez. Use o operador pipe (|) para especificar várias propriedades.
Por exemplo, cutPoints=propertyName1|propertyName2|propertyName3
Nota :
  • Propriedades como id, caminho e nome são sempre buscadas.
  • Cada ativo tem um conjunto diferente de propriedades. Propriedades como formUrl, pdfUrl e guideUrl não dependem do atributo cutpoints. Essas propriedades dependem do tipo de ativo e são buscadas de acordo.
relation Especifica os ativos relacionados a serem obtidos junto com os resultados da pesquisa. Você pode escolher uma das seguintes opções para buscar ativos relacionados:
  • NO_RELATION : Não buscar ativos relacionados.
  • IMEDIATO : Obtém ativos que estão diretamente relacionados aos resultados da pesquisa.
  • TUDO : Buscar ativos direta e indiretamente relacionados.
maxSize Especifica o número máximo de formulários a serem obtidos.
deslocamento Especifica o número de formulários a serem ignorados desde o início.
returnCount Especifica se os resultados da pesquisa que correspondem aos critérios especificados devem ou não ser retornados.
demonstrativos
Especifica a lista de declarações. As consultas são executadas na lista de declarações especificadas no formato JSON.
Por exemplo,
JSONArray statementArray=new JSONArray(); JSONObject statement=new JSONObject(); statement.put("name", "title"); statement.put("value", "SimpleSurveyAF"); statement.put("operator", "EQ"); statementArray.put(statement);
No exemplo acima,
  • name : especifica o nome da propriedade a ser pesquisada.
  • valor : especifica o valor da propriedade a ser pesquisada.
  • operador : especifica o operador a ser aplicado durante a pesquisa. Os seguintes operadores são suportados:
    • EQ - Igual a
    • NEQ - Diferente de
    • GT - Maior que
    • LT - Menor que
    • GTEQ - maior que ou igual a
    • LTEQ - menor que ou igual a
    • CONTÉM - A contém B se B faz parte de A
    • FULLTEXT - Pesquisa de texto completo
    • STARTSWITH - A começa com B se B for a parte inicial de A
    • ENDSWITH - A termina com B se B for a parte final de A
    • LIKE - Implementa o operador LIKE
    • AND - Combine várias declarações
    Observação: Os operadores GT, LT, GTEQ e LTEQ são aplicáveis para propriedades de tipo linear como LONG, DOUBLE e DATE.
pedidos
Especifica os critérios de ordem para os resultados da pesquisa. Os critérios são definidos no formato JSON. É possível classificar os resultados da pesquisa em mais de um campo. Os resultados são classificados na ordem à medida que os campos aparecem na consulta.
Por exemplo,
Para recuperar os resultados da consulta ordenados por propriedade de título na ordem crescente, adicione o seguinte parâmetro:
JSONArray orderingsArray=new JSONArray(); JSONObject orderings=new JSONObject(); orderings.put("name", "title"); orderings.put("criteria", "ASC"); orderingsArray.put(orderings); entityBuilder.add("orderings", orderingsArray.toString());
  • name : Especifica o nome da propriedade a ser usada para ordenar os resultados da pesquisa.
  • critérios : Especifica a ordem dos resultados. O atributo order aceita os seguintes valores:
    • ASC - Use o ASC para organizar os resultados na ordem crescente.
    • DES - Use DES para organizar os resultados na ordem decrescente.
includeXdp Especifica se o conteúdo binário deve ser recuperado ou não. O includeXdp atributo é aplicável para ativos do tipo FORM , PDFFORM e PRINTFORM .
assetType Especifica os tipos de ativos a serem recuperados de todos os ativos publicados. Use o operador pipe (|) para especificar vários tipos de ativos. Os tipos de ativos válidos são FORM, PDFFORM, PRINTFORM, RESOURCE e GUIA.

Solicitação de amostra

func : searchForms
appPath : /content/dam/formsanddocuments/MyApplication23
cutPoints : title|description|author|status|creationDate|lastModifiedDate|activationDate|expiryDate|tags|allowedRenderFormat|formmodel
relation : NO_RELATION
includeXdp : false
maxSize : 10
offset : 0
returnCount : true
statements: [{"name":"name","value":"*Claim.xdp","operator":"CONTAINS"},
                {"name":"","value":"Expense","operator":"FULLTEXT"},
                {"name":"description","value":"ABCD*","operator":"CONTAINS"},
                {"name":"status","value":"false","operator":"EQ"},
                {"name":"lastModifiedDate","value":"01/09/2013","operator":"GTEQ"},
                {"name":"lastModifiedDate","value":"01/18/2013","operator":"LTEQ"}]
orderings:[{"name" :“lastModifiedDate“:”order”:”ASC”}]

Resposta de exemplo

[
{"resultCount":2},
    {"assetType":"FORM","name":"ExpenseClaim.xdp","id":"509fa2d5-e3c9-407b-b8dc-fa0ba08eb0ce",
       "path":"/content/dam/formsanddocuments/MyApplication23/1.0/ExpenseClaim.xdp",
       "title":"Expense Report","description":"ABCDEFGIJK","author":"Frank Bowman",
       "tags":[],"formUrl":"/content/dam/formsanddocuments/MyApplication23/1.0/ExpenseClaim.xdp/jcr:content",
       "pdfUrl":"/content/dam/formsanddocuments/MyApplication23/1.0/ExpenseClaim.xdp/jcr:content?type=pdf",
       "references":[],"images":[{"assetType":"resource","name":"Image.gif","id":"5477a127-8bbf-4cec-8f81-2689e5cb4a15",
       "path":"/content/dam/formsanddocuments/MyApplication23/1.0/Image.gif","resourceSize":0}],
       "status":false,"creationDate":1358429845623,"lastModifiedDate":1358429846771},
{"assetType":"FORM","name":"ExpenseClaim.xdp","id":"4312239b-b666-4d36-95bc-641b3a39ddd4",
       "path":"/content/dam/formsanddocuments/MyApplication23/ExpenseClaim.xdp",
       "title":"Expense Report","description":"ABCDefghijklm","author":"Frank Bowman",
       "tags":[],"formUrl":"/content/dam/formsanddocuments/MyApplication23/ExpenseClaim.xdp/jcr:content",
       "pdfUrl":"/content/dam/formsanddocuments/MyApplication23/ExpenseClaim.xdp/jcr:content?type=pdf",
       "references":[],"images":[{"assetType":"resource","name":"Image.gif","id":"118a2e3f-7097-4d8c-85d1-651306de284a",
       "path":"/content/dam/formsanddocuments/MyApplication23/Image.gif","resourceSize":0}],"status":false,
       "creationDate":1358429856690,"lastModifiedDate":1358430109023}
]