Ir para o conteúdo principal
Adaptive Planning
Última atualização: 2023-06-23
Atualização em massa de metadados

Atualização em massa de metadados

Com suporte na API v17 +
O principal benefício das APIs de atualização em massa de metadados é que elas permitem sincronizar níveis, dimensões e contas LR em
Adaptive Planning
com contrapartes em um sistema externo de forma regular e programada. Em vez de chamar elementos individuais um por um, essas APIs permitem que você envie um arquivo XML bruto ou XML compactado (zipado) para atualizar, reordenar e criar elementos.
Com APIs em massa de metadados, a nova versão da árvore de elementos existentes é importada para o
Adaptive Planning
.
APIs de atualização em massa de metadados:
  • Nunca excluir. Os elementos que faltam na versão carregada permanecem intactos.
  • Se possível, crie todos os novos elementos encontrados no carregamento.
  • Atualize as propriedades de todos os elementos que estão sendo carregados, incluindo as propriedades de parentesco.
  • Atualize as atribuições de atributo que estão sendo carregadas.
  • Eles permitem especificamente o carregamento parcial de árvores (como a exclusão nunca é executada, os carregamentos parciais não são destrutivos).
  • Elas permitem identificar os elementos existentes em uma árvore pelo número de ID interna ou pelo campo de ID exclusivo "original" (pré-atualização).
  • Interromper em caso de erros catastróficos e reverter. Os erros catastróficos incluem:
    • Tentativas de criar um ciclo em uma hierarquia
    • Tentativas de criar um novo elemento cujo campo de identificação colide com um já existente no sistema (por exemplo, criar uma nova conta com um código que está em uso)
    • Tenta atualizar o campo de identificação de um elemento para que ele entre em conflito com um já existente no sistema.
  • Prossiga com erros que podem ser ignorados e que não interrompam a importação e reporte a resposta resultante como aviso. Os erros que podem ser ignorados incluem aqueles que provavelmente não produzirão nenhum efeito em cascata, como:
    • Tentativas de alterar uma atribuição de atributo para um valor que não existe.
    • Tentativas de definir um nome de nível como algo muito longo para o campo.

Carregamento em massa usando XML compactado (compactado)

Para cargas grandes, você pode carregar conteúdo compactado como um arquivo ZIP contendo apenas o xml das atualizações, sem subdiretórios, pastas ou outro conteúdo. Se pastas ou subdiretórios são detectados no ZIP na publicação, a solicitação é rejeitada.

Anexar um arquivo XML compactado (zipado) - Exemplo de arquivo ondulado

curl -i -X POST -H "Content-Type: multipart/form-data" -F "request=<C:/temp/requestUpdateDimVal.xml" -F "content=@C:/temp/updateDimensions.zip" https://api.adaptiveplanning.com/api/v20
requestUpdateDimVal.xml content
<?xml version='1.0' encoding='UTF-8'?> <call method="updateDimensions" callerName="Steve C"> <credentials login="sampleuser@company.com" password="my_password"/> </call>
updateDimVal.zip/content.xml
<?xml version='1.0' encoding='UTF-8'?> <dimensions> <dimension id="7" name="Education" shortName="" autoCreate="0" listDimension="1" keepSorted="0" useOnLevels="0"> <dimensionValue id="32" name="Graduate" description="Modified Graduate degree" /> </dimension> </dimensions>
Você ainda pode fazer solicitações de API no corpo de uma chamada de API sem usar anexos.
<?xml version='1.0' encoding='UTF-8'?> <call method="updateDimensions" callerName="Steve C"> <credentials login="sampleuser@company.com" password="my_password"/> <dimensions> <dimension id="7" name="Education" shortName="" autoCreate="0" listDimension="1" keepSorted="0" useOnLevels="0"> <dimensionValue id="32" name="Graduate" description="Modified Graduate degree" /> </dimension> </dimensions> </call>

APIs de atualização em massa de metadados: