Essa é uma pergunta extremamente comum, porém a resposta não é tão trivial.
Em geral, por API, se entende que hajam alguns end points bem documentados, que permitam ler, incluir, editar e deletar elementos em uma estrutura de dados bem definida, a partir de outro sistema. Isso funciona bem para sistemas que possuem uma estrutura de dados rígida, mas em um sistema como a Zazos, em que cada empresa possui uma estrutura de dados diferente, é preciso uma abordagem diferente.
Além disso, dado que a estrutura de uma APIs REST é fixa, geralmente é necessário algum sistema no meio do caminho para conectar duas APIs. Esse é um dos principais usos do Zapier (ou n8n).
Com a Zazos você tem a possibilidade de atingir os mesmos resultados de forma bem mais simples, criando end points específicos para sua estrutura de dados, e já adaptando-os ao sistema com o qual quer se conectar, sem precisar usar um sistema intermediário como o Zapier.
Abaixo vamos passar pelos principais casos de uso de uma API REST, e mostrar como criar algo semelhante na Zazos.
Recebimento passivo de dados (API Rest)
Numa API convencional, para uma determinada estrutura de dados, geralmente temos as seguintes operações:
Criar uma nova entrada
POST /
✅Na Zazos, você precisa:
Criar uma automação com gatilho
Webhook
Isso vai disponibilizar um endereço único que serve como endpoint para uma chamada POST com os dados a serem incluídos
Na configuração do gatilho, você diz quais chaves espera receber
Criar uma ação subsequente de
Criar entrada
Nessa ação, você escolhe em qual tabela será criada a entrada
Você também define quais valores serão atribuídos a cada campo da tabela, podendo usar os valores recebidos nas chaves definidas do gatilho.
Exemplo:
Atualizar uma entrada existente
PUT/PATCH /:id
✅Na Zazos, você precisa:
Criar uma automação com gatilho
Webhook
Isso vai disponibilizar um endereço único que serve como endpoint para uma chamada POST com os dados a serem incluídos
Na configuração do gatilho, você diz quais chaves espera receber. Configure uma chave única que permita buscar essa entrada na Zazos
Buscar na tabela desejada, a entrada que possua o id recebido
Criar uma automação
Chamada de API
que salve esses dados em outro sistema de sua escolha.Obs: As chamadas de busca, ainda não conseguem retornar uma entrada diretamente. Essa é uma limitação conhecida que será resolvida em breve.
Buscar informações de uma entrada específica
GET /:id
✅Na Zazos, você precisa:
Criar uma automação com gatilho
Webhook
Isso vai disponibilizar um endereço único que serve como endpoint para uma chamada POST com os dados a serem incluídos
Na configuração do gatilho, você diz quais chaves espera receber. Configure uma chave única que permita buscar essa entrada na Zazos
Buscar na tabela desejada, a entrada que possua o id recebido
Criar uma automação de
Atualizar entrada
referenciando a entrada encontradaObs: É possível utilizar a ação de
Criar ou atualizar entrada
, para simplificar o caso em que desejamos manter a entrada com o id recebido atualizada, independente de ela já existir ou não
Envio ativo de dados ✅
É possível enviar chamadas de API automaticamente a partir de algum evento na Zazos. Por exemplo, se você quiser criar um usuário em outro sistema assim que o colaborador for admitido. Basta utilizar a ação de
Chamada de API
para o novo sistema, associada ao gatilho de sua escolha.
Casos ainda não permitidos
Buscar uma lista com todas as entradas
GET /
⏳Esse caso de uso está em desenvolvimento e deve ser lançado em breve.
Apesar disso é possível enviar os dados através de uma automação agendada que faz envios unitários para outro sistema (vamos explicar melhor abaixo, em Webhooks).
Deletar uma entrada específica
DELETE /
🚫Por questões de segurança, e para evitar perdas de dados críticos em volume, ainda não habilitamos a deleção automatizada de entradas.