Passar para o conteúdo principal

A Zazos tem API?

Atualizado há mais de 2 meses

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 encontrada

        • Obs: É 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.

Respondeu à sua pergunta?