API unificada: preenchendo a lacuna entre aplicativos SaaS
Publicados: 2023-10-31Uma interface de programação de aplicativos (API) unificada é uma API que serve como uma camada de abstração que pode se comunicar com várias APIs subjacentes simultaneamente.
Como resultado, cada objeto e endpoint na API unificada é mapeado para um objeto e endpoint correspondente na API subjacente. Isso permite que as empresas de SaaS criem uma integração única com a API unificada e enviem instantaneamente integrações com cada uma das APIs subjacentes.
Neste artigo, vamos nos aprofundar nas APIs unificadas, como funcionam, seus desafios e recursos e como beneficiam as empresas de SaaS.
Que problema as APIs unificadas resolvem?
Os compradores de SaaS esperam integrações nativas perfeitas das soluções que adquirem. A interoperabilidade não é mais algo agradável, mas sim um requisito. No entanto, construir essas integrações nativas com outras ferramentas é um desafio que toda empresa de SaaS enfrenta hoje, pois requer recursos de engenharia significativos para envio e manutenção.
Para cada integração, os engenheiros devem criar uma autenticação segura, vasculhar a documentação da API do aplicativo de terceiros, implementar a lógica de negócios necessária para entregar o caso de uso e criar uma experiência de configuração intuitiva para o usuário final.
E isso não leva em conta todo o trabalho envolvido na manutenção e atualização da integração à medida que novas solicitações de recursos são adicionadas, quando a API de terceiros lança alterações importantes e o tempo que os desenvolvedores gastam ajudando os clientes a depurar problemas de integração.
No contexto das integrações SaaS , as APIs unificadas surgiram nos últimos anos como uma forma de enfrentar o desafio de entender a documentação da API de cada aplicativo de terceiros.
Basicamente, isso deve evitar que as equipes de engenharia aprendam ou revisem constantemente as nuances, formas e nomenclatura de cada API individual, uma vez para cada integração.
Como funcionam as APIs unificadas?
Vejamos como funciona uma API unificada com um exemplo tangível.
Imagine que seus clientes estão solicitando a integração do seu produto ao CRM deles: em toda a sua base de usuários, alguns clientes usam Salesforce, outros usam HubSpot e alguns usam Dynamics ou Pipedrive.
Uma API de CRM unificada abstrairia as APIs de cada um desses CRMs, mantendo referências a cada uma das APIs dos CRMs subjacentes.
Fonte: Paragon
O exemplo aqui mostra que cada CRM subjacente possui um objeto que representa um “contato”.
O HubSpot o chama de Contato, o Salesforce fornece um objeto Lead e um Contato, e o Pipedrive se refere aos contatos como Clientes potenciais. Quando uma chamada é feita para o objeto “Contato” na API unificada, a API unificada fará referência ao objeto correspondente no serviço especificado.
Agora, as referências em nível de objeto são a primeira camada, mas dentro desses objetos também existem propriedades ou campos que são abstraídos. No exemplo acima, isso poderia incluir nomenclatura diferente para nome, ID, empresa, etc.
Portanto, se sua equipe estiver construindo várias integrações de CRM, teoricamente, você poderá construir uma única integração com uma API de CRM unificada que permite enviar todas as integrações de CRM subjacentes simultaneamente.
APIs unificadas específicas da categoria
Nem todas as APIs podem ser unificadas em uma única API porque diferentes aplicativos SaaS possuem modelos de dados, estruturas e recursos exclusivos.
Portanto, os fornecedores normalmente oferecem diversas APIs unificadas específicas para uma determinada vertical de SaaS, como CRM, contabilidade ou publicidade, já que esses aplicativos SaaS terão estruturas de dados relativamente semelhantes e compartilharão muitos objetos ou propriedades comuns.
Ao projetar uma API unificada, o provedor de API deve escolher cuidadosamente quais APIs subjacentes incluir na API unificada, pois quanto mais sobreposição as APIs subjacentes tiverem, mais ampla será a cobertura que a API unificada pode fornecer.
No entanto, se a API unificada incluísse aplicativos que não são tão semelhantes entre si, seria menos útil, pois não seria capaz de revelar todos os objetos e propriedades que as APIs subjacentes compartilham. Por exemplo, uma API unificada que inclua um CRM e um aplicativo de contabilidade pode não ser muito útil porque, fora de um objeto “cliente”, pode não haver muita sobreposição entre os demais modelos de dados dos aplicativos.
Quais são os benefícios das APIs unificadas?
APIs unificadas oferecem vários benefícios para equipes de engenharia que precisam enviar e manter dezenas de integrações.
Abstrações de API
Em vez de aprender e interagir com as APIs individuais de cada serviço, sua equipe de engenharia só precisa aprender como interagir com a API unificada uma vez (por categoria).
Isso não apenas torna a construção dessas integrações mais fácil e rápida, mas também ajuda a reduzir a complexidade das integrações.
Além disso, quando se trata de manutenção, o fornecedor da API unificada é responsável por lidar com a comunicação com as APIs subjacentes, o que significa que sua equipe não precisa se preocupar com alterações significativas feitas em uma das APIs subjacentes. Em última análise, o fornecedor da API unificada será responsável por atualizar a sua abstração para garantir que a integração continue a funcionar.
Autenticação gerenciada
Os provedores de API unificada geralmente oferecem um serviço de autenticação gerenciado que abstrai as complexidades da autenticação com as APIs subjacentes, seja por meio de chaves de API ou OAuth.
Ao integrar diretamente várias APIs, você precisa gerenciar o processo de autenticação de cada uma delas, incluindo o gerenciamento de credenciais de usuário e a garantia de políticas seguras de atualização de token.
Dado que existem muitas nuances na forma como cada aplicação lida com a autenticação, esta pode ser uma tarefa complicada e propensa a erros, especialmente se você estiver trabalhando com um grande número de APIs.
Exploração madeireira
Por natureza, a API unificada faz solicitações de proxy para suas APIs subjacentes. Como tal, recolherão e analisarão dados sobre os pedidos efetuados às aplicações de terceiros. Como resultado, quando uma solicitação falha, o provedor de API unificado pode registrar esse evento e fornecer detalhes sobre a mensagem de erro retornada pela API subjacente.
Essa funcionalidade de registro pode ser útil para sua equipe, pois permite identificar rapidamente problemas que podem estar ocorrendo em suas integrações. Em vez de analisar os logs de várias APIs de terceiros, eles podem contar com o provedor de API unificado para centralizar o registro em log e o relatório de erros.
Com erros de depuração, os provedores de API unificados geralmente podem fornecer mensagens de erro mais detalhadas do que as próprias APIs subjacentes. Isso ocorre porque eles podem analisar a resposta ao erro e fornecer mais contexto sobre a causa raiz do problema, o que pode reduzir bastante o tempo gasto no diagnóstico de erros e acelerar os tempos de resposta a incidentes .
Interface de usuário pré-construída
A maioria dos provedores de API unificados fornece uma interface pré-construída para que seus clientes se autentiquem em uma integração, evitando que você mesmo crie a experiência de configuração.
Isso dispensa sua equipe de projetar a experiência do usuário para cada integração, o que pode aumentar em termos de economia de tempo ao considerar as dezenas de integrações potenciais que você pode construir na API unificada.
Quais são os desafios do uso de APIs unificadas?
Embora as APIs unificadas forneçam os benefícios compartilhados acima, elas são prejudicadas por algumas limitações estruturais das quais as empresas estão começando a se conscientizar.
Limitações de casos de uso
Dado que as APIs unificadas só podem abstrair os objetos e endpoints “compartilhados” entre as APIs subjacentes, você só pode construir recursos que sejam relativamente simples e generalizáveis em todas as integrações. Esta é de longe a maior limitação de qualquer solução API unificada.
Além disso, quanto mais aplicativos forem suportados em uma API unificada, mais limitada ela se tornará.
Fonte: Paragon
Vejamos alguns exemplos dessas limitações.
Recursos irreconciliáveis
Se você precisar criar um recurso de integração que envolva funcionalidades ou propriedades específicas de uma das integrações, isso não será possível com uma API unificada.
Por exemplo, digamos que você deseja integrar várias ferramentas de feedback do cliente por meio de uma “API de feedback unificada”. Se uma ferramenta utiliza um modelo quantitativo com pontuações de feedback entre 1 e 10, enquanto outra coleta apenas “negativo, neutro, positivo” acompanhado de “notas”, não há como uma API unificada poder suportar esses casos de uso, já que não é possível conciliar aqueles em uma única referência.
Campos ausentes
Se a propriedade que você precisa atualizar por meio da integração estiver disponível apenas para um subconjunto específico de integrações suportadas, essa propriedade não será disponibilizada na API unificada.
Por exemplo, mesmo que alguns dos aplicativos de terceiros subjacentes tenham CEP como campo, desde que não o tenham, o CEP não poderá ser acessado como uma propriedade por meio da API unificada.
Objetos e campos personalizados
Por natureza, as APIs unificadas fornecem um conjunto de referências predefinidas para cada API subjacente. No entanto, se você introduzir objetos ou campos personalizados na combinação, o provedor de API unificado não poderá prever quais são esses objetos ou campos. Portanto, eles não podem suportar integrações que envolvam objetos ou campos personalizados.
Isso pode ser um grande obstáculo se seus clientes precisarem das integrações que você fornece para oferecer suporte ao uso de objetos personalizados em aplicativos de terceiros.
Limites de taxa
Ao integrar várias APIs ao mesmo tempo por meio de uma API unificada, você precisa estar ciente dos limites de taxa de cada API e garantir que sua lógica de integração não exceda os limites de nenhuma API.
Isso significa que a lógica que você cria deve aderir aos limites de taxa da API com o limite mais baixo para limites de taxa. Simplificando, a API com o limite de taxa mais baixo será o fator limitante para sua integração. Se você tentar fazer muitas solicitações aos endpoints dessa API, suas solicitações começarão a falhar, mesmo que as outras APIs na API unificada possam suportar tecnicamente esse mesmo volume.
Para evitar erros de limite de taxa ao fazer solicitações em massa para endpoints específicos para essas integrações, você deve usar lotes ou limitação para controlar a taxa de solicitações enviadas para cada API.
Portanto, embora ainda seja possível contornar limites de taxas mais baixos, você se verá criando complexidade adicional em sua base de código para acomodar as limitações de qualquer uma das integrações subjacentes.
Segurança
As APIs unificadas geralmente exigem que você autorize o acesso a todos os escopos de um serviço de terceiros para usar sua API, em vez de permitir que você selecione escopos individuais para cada integração.
Isso significa que quando você autentica um usuário para usar sua integração, o usuário será forçado a conceder acesso a todos os dados associados a esse serviço de terceiros, e não apenas aos dados necessários para a integração.
Por exemplo, você está construindo uma integração de CRM por meio de uma API unificada, e o CRM tem acesso a dados de vendas, marketing e suporte ao cliente. Quando um usuário autentica sua conta para usar sua integração, você terá acesso a todos os três conjuntos de dados, mesmo que tudo o que seu aplicativo precise sejam os dados de vendas.
Isso pode levantar preocupações de segurança para seus clientes. Para mitigar essas preocupações, é importante ser transparente com seus usuários sobre quais dados você está solicitando acesso e explicar claramente por que você precisa desses dados.
Além disso, como o fornecedor geralmente hospeda APIs unificadas, você depende do fornecedor para garantir que ele tenha fortes medidas de segurança em vigor para proteger os dados dos seus usuários contra acesso não autorizado ou violações.
Modelo de dados opinativo
A forma como o fornecedor reconcilia diferentes APIs subjacentes e endpoints de referência está sujeita à sua própria opinião. Embora isso não seja um problema para a maioria dos casos de uso, haverá momentos em que eles poderão apresentar uma abstração da qual você discorda ou que não atende ao comportamento esperado.
Restrições do roteiro
Em comparação com plataformas de integração incorporadas , que fornecem abstrações individuais de cada API de terceiros em muitas categorias, os fornecedores de API unificada estão restritos às categorias para as quais criaram APIs unificadas.
Embora eles possam e irão construir novas APIs unificadas ao longo do tempo, se você solicitar uma integração com uma categoria que não é suportada atualmente, é provável que você tenha que esperar anos para que essa integração seja disponibilizada.
A única exceção seria se o fornecedor estivesse construindo uma API unificada para a categoria na qual a integração solicitada se enquadra. Ainda assim, dada a amplitude do ecossistema SaaS e as categorias potenciais que poderiam suportar, este raramente será o caso.
Soluções alternativas: Definitivamente, existem muitas limitações nas APIs unificadas, o que pode fazer você pensar duas vezes sobre o verdadeiro valor das APIs unificadas; os fornecedores que existem hoje estão tentando encontrar soluções exclusivas para fornecer soluções alternativas.
Por exemplo, certos provedores criaram a capacidade de fazer solicitações de “passagem” para a API subjacente. No entanto, a implementação atual ainda é muito limitante e cria uma experiência de desenvolvedor abaixo da média.
Quando você deve usar uma API unificada
Quando se trata de decidir se uma API unificada é a solução certa para sua equipe, você pode seguir critérios simples de tomada de decisão.
Critério
Se todas as afirmações a seguir forem verdadeiras, certamente vale a pena avaliar.
- Seu roteiro de integração está limitado às categorias suportadas pelo provedor de API unificado.
- Cada caso de uso de integração que você precisará criar pode ser generalizado em todos os aplicativos da categoria.
- Você pode investir recursos dedicados para construir uma infraestrutura que possa lidar com o volume de solicitações necessárias para dar suporte aos seus clientes à medida que você escala.
- Você não precisa que sua equipe de suporte tenha visibilidade de como a integração se comporta e onde houve erros, e você pode fazer com que a equipe de engenharia intervenha para depurar.
Se você não consegue dizer sim com segurança aos quatro pontos acima, talvez não queira ficar preso ao uso de uma API unificada.
Em vez disso, um A plataforma de integração incorporada pode ser uma solução melhor, pois permite construir integrações muito mais profundas, ao mesmo tempo que fornece ferramentas mais abrangentes para ajudar a agilizar o processo de desenvolvimento de integração.
O desafio da integração SaaS B2B
Decidir sobre uma solução para ajudá-lo a dimensionar o roteiro de integração nativa do seu produto SaaS não é fácil. Você não só precisa garantir que ele possa atender aos seus casos de uso hoje, mas também a todos os possíveis casos de uso que seus clientes poderão solicitar no futuro.
APIs unificadas podem ser uma ótima solução para enviar dezenas de integrações com esforço mínimo, desde que os casos de uso exigidos pelos seus clientes sejam uniformes em todas as integrações de uma determinada categoria.
É um mercado em desenvolvimento com muitos novos participantes e é certamente uma abordagem interessante para resolver o desafio da integração SaaS B2B.
Saiba tudo sobre APIs, seus benefícios, desafios e casos de uso no guia completo.