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>