Protocolos de segurança#
A API da Pluggy exige o uso de HTTPS TLSv1.2 ou versões superiores por razões de segurança. Outros pedidos de versões TLS serão rejeitados. Toda comunicação deve ser feita em HTTPS.
Verbos da API e Protocolos#
A API da Pluggy é uma API RESTful baseada em solicitações e respostas JSON, portanto, todas as solicitações devem ter o cabeçalho Content-Type definido como application/json.
Seguimos os padrões RESTful e todos os verbos correspondem à sua ação específica para o recurso com o qual você estará se comunicando.
Campos de resposta da API
Evoluímos nossa API de uma maneira não destrutiva, adicionando novos campos às respostas de nossos endpoints. Isso torna mais simples, uma vez que não há mecanismos complicados de versionamento, mas também significa que seu cliente HTTP deve suportar o recebimento de campos desconhecidos em uma resposta e ignorá-los. Na maioria das bibliotecas, isso é suportado por padrão, mas, por favor, revise seu caso particular para verificar se isso está configurado corretamente.
Ambiente#
Nosso ambiente de produção está aceitando solicitações no seguinte host:
https://api.pluggy.ai
IDs de Solicitação#
Cada resposta da API da Pluggy carrega um cabeçalho x-request-id — um UUID identificando aquela única solicitação:
x-request-id: 079482e5-8aa4-4708-9aaa-43c2f2792b4a
Está presente em cada resposta, bem-sucedida ou não, e é o único valor que nos permite encontrar sua solicitação exata em nossos logs. Lê-lo não custa nada:
curl -i https://api.pluggy.ai/connectors \
-H 'X-API-KEY: YOUR_API_KEY' | grep -i x-request-idRegistre-o junto com seus próprios erros. Quando algo falha — um 4xx que você não esperava, uma solicitação que expirou, uma resposta cujo conteúdo parece errado — nos envie o x-request-id com seu relatório. Sem ele, procuramos por item, por janela de tempo e por endpoint e frequentemente encontramos vários candidatos; com ele, vamos direto para a solicitação que você viu, o que geralmente faz a diferença entre uma resposta no mesmo dia e uma conversa que se estende por vários dias.
Paginação#
Algumas respostas da Pluggy podem gerar uma grande quantidade de dados, em cujos casos o tamanho da resposta é limitado e dividido em páginas.
Por exemplo, se você fizer uma solicitação para /transaction?accountId={ACCOUNT_ID}, você receberá um objeto como:
{
"total": 200,
"totalPages": 15,
"results": [],
"page": 1
}- total: o tamanho dos dados da solicitação
- totalPages: o número total de páginas abrangendo todos os registros disponíveis
- results: o conteúdo da página atual
- page: o número da página atual
Por exemplo, /transaction?accountId={ACCOUNT_ID}&page=2 é a segunda página dos resultados das transações.
Ao recuperar /transaction?accountId={ACCOUNT_ID}, depois /transaction?accountId={ACCOUNT_ID}&page=2, e assim por diante, você pode acessar todos os dados disponíveis, uma página de cada vez.
Resumindo, para obter todos os dados de um endpoint paginado, após sua primeira solicitação, você deve iterar tantas vezes quanto totalPages, fazendo uma nova solicitação e alterando o parâmetro de consulta page.
