Table of contents
Sobre a CashU
A gente trouxe Inteligência Artificial para o Crédito B2B. Explore crédito personalizado, dinâmico e em tempo real como alavanca de crescimento com a nossa API. Com aprovação rápida, oferta precisa e garantia contra riscos, você não precisa mais se limitar ao tempo de análise tradicional para melhorar suas condições de vendas e escalar seu negócio.
Personalizado, dinâmico e em tempo real: Limites, prazos e taxas customizados por aprendizado de máquina para explorar todo o potencial de compras, conforme o comportamento e o risco de cada cliente. E o melhor: assumimos o risco de todas as nossas recomendações.
API Reference
Nossa API é RESTful. Isso significa que usamos URLs previsíveis e orientados a recursos. Os recursos definidos são os seguintes(com os seus devidos aninhamentos):
-
Cliente: as informações dos clientes do parceiro
a. Opt-in: Informações de aceite do termo de uso que novos clientes irão assinar para que a CashU tenha direito a acessar dados para análise de crédito. Para entender como você deve coletar esse aceite, clique aqui
b. Recomendações de limite/prazo: Listagem contendo o log de todas recomendações de crédito sugeridas pela CashU.
Caso as recomendações não sejam seguidas, não iremos fornecer o serviço de antecipação
-
Pedidos: Recurso que irá conter todos os pedidos realizados pelos clientes do parceiro
a. NFes: Recurso que contém informações de notas fiscais
b. Parcelas: recurso que irá conter as condições de pagamento e liquidação que serão descritas junto com o pedido
Todos os recursos acima devem ser enviados pelo parceiro pelas notas rotas descritas em nosso docs no postman, com exceção do item 1.b, que é a CashU quem irá fornecer limite e prazo. Para entender mais quais são as rotas e métodos, acesse a página de documentação da API e leia a página de Jornada do Produto
Observações Importantes na API
Quando estiver integrando com nossa API, é essencial levar em consideração os seguintes pontos:
Identificação Externa de Recursos
external_id
: Cada recurso (como Pedidos ou Clientes) possui umexternal_id
. Este é um identificador único fornecido por você, que corresponde ao ID do respectivo recurso em seu sistema de banco de dados. Utilize oexternal_id
para buscar e interagir com recursos específicos em nossa aplicação, especialmente útil em operações como a consulta (GET
) de um recurso.
Envio de Nota Fiscal
xml_base64
: Ao enviar informações de nota fiscal, é crucial codificar o conteúdo do XML em base64 e nos enviar. Esta codificação deve ser aplicada ao conteúdo antes de ser enviado em requisições para a API. A conversão para base64 garante que o conteúdo seja transmitido de forma segura e sem erros de interpretação pelo sistema.
Estas diretrizes ajudam a garantir que a integração com nossa API seja realizada de maneira eficaz, minimizando erros e otimizando a comunicação entre os sistemas.
Eventos
Eventos são a forma de notificarmos quando nossos serviços foram executados. Por exemplo, quando a emissão de um boleto é bem-sucedido, criamos um evento bank_billet.registered
, e quando é cancelado, criamos um evento bank_billet.canceled
. Certas solicitações de API podem criar múltiplos eventos. Por exemplo, se você um novo pedido, você receberá tanto um evento order_installment.approved
(pedido aprovado para antecipação) quanto um evento customer.credit_terms.updated
(atualização de condições de crédito do cliente). Ao gerar esse evento enviamos nos webhook que você cadastra com a gente. Para entender mais, acesse a página de eventos
Autenticação
A autenticação via POST para app.cashu.com.br/api/v2/auth
utilizando email
e password
para obter um token de acesso é um processo padrão para validar usuários em APIs. O email e senha será enviado a você pelo time de operação([email protected]).
1. Obtendo o Token de Acesso
Inicialmente, o usuário deve enviar suas credenciais (email e senha) para a API, através de uma solicitação POST. Isso é feito da seguinte maneira:
POST /api/v2/auth HTTP/1.1
Host: app.cashu.com.br
Content-Type: application/json
{
"email": "[email protected]",
"password": "senha123"
}
2. Resposta da API com Token de Acesso
Se as credenciais forem validadas com sucesso pelo servidor, a API responde com um token de acesso. Este token é geralmente um JWT (JSON Web Token) e é usado para autenticar o usuário em todas as requisições subsequentes à API. A resposta se parece com isso:
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IlVzdcOhcmlvIEV4ZW1wbG8iLCJpYXQiOjE1MTYyMzkwMjJ9.s5PvU9mC5x4T3A2-qsCk-7e5LpTJY16U8jCO6EB6X1Q",
"token_type": "Bearer",
"expires_in": 3600
}
3. Utilizando o Token em Requisições Subsequentes
Para fazer requisições autenticadas após obter o token, você deve incluir este token no cabeçalho Authorization das suas solicitações HTTP, precedido pela palavra Bearer. Isso indica que o tipo de autenticação é um Bearer Token. Veja um exemplo de como usar o token em uma requisição:
GET /api/v2/resource HTTP/1.1
Host: app.cashu.com.br
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IlVzdcOhcmlvIEV4ZW1wbG8iLCJpYXQiOjE1MTYyMzkwMjJ9.s5PvU9mC5x4T3A2-qsCk-7e5LpTJY16U8jCO6EB6X1Q
Nesse cabeçalho, eyJhbGciOiJIUzI1Ni...
é o token de acesso recebido na resposta do servidor. Este token é essencial para acessar recursos protegidos na API, pois serve como uma prova de autenticação do usuário.
HTTP responses
Aqui está a lista de http responses que serão utilizados na API. Uma vez que nossas requisições não são padrão, para simplificar utilizaremos apenas 3 status:
-
200 - OK
Para qualquer requisição com sucesso
-
400 - bad request
Qualquer erro associado aos dados recebidos como:
i. Dado duplicado(já criado na base com aquela chave primária) ii. Erro no campo x
-
500 - internal error
Erro inesperado do sistema
Data e hora
Todas as nossas datas irão retornar no formato ISO 8601
Ambientes Disponíveis
Nossa API oferece dois ambientes distintos para facilitar a integração e o teste de suas funcionalidades: o ambiente de staging (pré-produção) e o ambiente de produção. Esses ambientes são projetados para atender às diferentes fases do ciclo de desenvolvimento e implantação de suas aplicações.
Ambiente de Staging (Pré-Produção)
Ideal para testes e validação de novas funcionalidades antes de sua liberação em produção. Esse ambiente simula o ambiente de produção, permitindo que você teste as integrações em um contexto seguro, sem afetar os dados e operações em produção. A URL de acesso ao ambiente de staging é https://staging.cashu.com.br
.
- Em staging temos o seguinte setup para simular produção:
- 80% dos clientes cadastrados terão uma boa recomendação de crédito e 20% com péssima recomendação - essa recomendação é gerada diariamente no começo do dia e distribuída de forma aleatória, portanto um cliente pode passar de bom para ruim de um dia para outro.
- Boletos falsos são criados automaticamente para pedidos enviados e aprovados
- Existem 2 clientes que sempre têm a mesma recomendação:
25.214.541/0001-43
- sempre boa14.133.335/0001-92
- sempre ruim
- Sellers de teste são cadastrados automaticamente e o CNPJ está disponível para consulta em GET
https://staging.cashu.com.br/api/v2/businesses
Com esses dados você pode simular vários casos em staging!
Ambiente de Produção
Destinado ao uso real e operacional da sua aplicação, onde todas as transações e atividades são reais e impactam diretamente seus usuários finais. A URL de acesso ao ambiente de produção é https://app.cashu.com.br
.
Rotas e Acessos
Importante destacar que todas as rotas disponíveis são idênticas em ambos os ambientes. A única diferença reside na URL base utilizada para acessar os respectivos ambientes. Isso simplifica o processo de migração de um ambiente para outro, garantindo consistência e facilitando a manutenção e o desenvolvimento contínuo de sua aplicação.
Recomendamos o uso do ambiente de staging para desenvolvimento, testes e validações antes de promover suas aplicações ou funcionalidades para o ambiente de produção. Isso assegura que todas as integrações funcionem conforme esperado, minimizando riscos e potenciais interrupções para os usuários finais.
Tech Support
O processo de integração (onboarding) de nossos serviços será conduzido em estreita colaboração com nossa equipe de Sucesso do Cliente (Customer Success). Durante este processo, a equipe será responsável por fornecer as credenciais de acesso necessárias e auxiliar na configuração de webhooks, garantindo uma transição suave e eficiente para o uso de nossos serviços. Contamos com um compromisso dedicado para assegurar que todas as suas necessidades sejam atendidas e que a configuração seja concluída de forma satisfatória e personalizada às suas demandas.
Para assistência técnica, relato de bugs, sugestões de melhorias, ou questões relacionadas a SDKs, por favor, não hesite em entrar em contato conosco. Envie um e-mail para [email protected], e nossa equipe de suporte se dedicará a fornecer o auxílio necessário o mais rápido possível. Valorizamos o seu feedback e estamos empenhados em melhorar continuamente nossos serviços e produtos.