Aqui podes encontrar um guia completo sobre como criar uma encomenda na Skyplanner com todos os dados relacionados. Alguns destes aspectos já foram abordados no tutorial de integração, mas aqui abordamos a estrutura de dados da Skyplanner e o processo de integração com mais pormenor.
Estrutura de dados #
Em primeiro lugar, vamos ver como está estruturada uma encomenda Skyplanner. Os pontos de extremidade da API para as entidades de dados aqui mencionadas são destacados da seguinte forma: /phaser-orders
No nível superior, temos a encomenda(/phaser-orders)
Cada encomenda deve ter um cliente(/clientes).
Cada encomenda pode ter vários itens de encomenda(/phaser-Order-items)
Cada item de encomenda pode ter um produto(/products) associado, mas não é obrigatório. Cada produto tem um stock(/saldos). Nota que a entidade stock é criada automaticamente quando um produto é criado com a API.
Cada item de ordem pode ter várias tarefas (também conhecidas como etapas do processo)(/phaser-jobs).
Cada tarefa deve ter uma fase de trabalho(/workstages).
Fluxo de trabalho de integração #
Aqui está um exemplo passo a passo de como pode estruturar a integração do seu sistema ERP com a Skyplanner.
- Vai buscar as vendas/ordens de trabalho ao ERP
- Cria um cliente (obtém o ID do cliente na resposta)
- Cria uma encomenda com o ID do cliente (obtém o ID da encomenda na resposta)
- Obtém os dados do item de ordem de venda/ordem de serviço do ERP
- Cria um produto (obtém o ID do produto na resposta)
- Cria um item de encomenda com o ID da encomenda e outros dados (obtém o ID do item de encomenda na resposta)
- Obtém os dados da etapa do processo a partir do ERP
- Cria uma fase de trabalho (obtém o ID da fase de trabalho na resposta)
- Cria um trabalho com a identificação da fase de trabalho e outros dados
Dicas extra #
Ao apagar #
Eliminar phaser-orders, phaser-Order-items ou phaser-jobs através da API (e a partir da UI) é feito de uma forma soft delete. Isto significa que os dados não são realmente eliminados da base de dados, mas são marcados como arquivados. De facto, o atributo is_archive da entidade é definido como verdadeiro quando é eliminado. As entidades arquivadas/eliminadas podem ainda ser acedidas com a API utilizando o parâmetro include_archived. Quando include_archived=true, um pedido GET recupera a entidade mesmo que esteja arquivada.
Tem em atenção que a eliminação suave não está disponível em todos os pontos de extremidade da API! Por isso, tens de ter cuidado, pois a eliminação de, por exemplo, clientes, pessoas, etc. é permanente!
Utilizar etapas de processo predefinidas para o teu item de ordem #
Se tiveres criado algumas etapas de processo predefinidas para o produto que o teu item de encomenda está a produzir, podes dizer ao sistema para trazer as etapas predefinidas para o item de encomenda com a API, utilizando o atributo get_default_steps.
Adiciona materiais ao item da ordem #
Se tiveres anexado materiais ao produto produzido, estes são automaticamente anexados à linha da encomenda.
No entanto, se não pretenderes utilizar os materiais associados ao produto (por exemplo, se o artigo for uma encomenda especial e pretenderes utilizar materiais diferentes, etc.), podes utilizar o atributo use_custom_materials.