CAJU Javascript Library
A JavaScript library to interface with CAJU API, it works in Node.js
Description
This library covers all your needs for Caju integration, providing:
- A clean Promise-based interface for all endpoints in CAJU API
- The library was create using (mappersmith)[https://github.com/mappersmith/]
API
To know more about all endpoints check the API Reference.
How to use
First, install it:
yarn add caju-connector
Or using npm:
npm install caju-connector
CAJU JavaScript library can be used in two ways:
Node.js
Using import:
it also works with require
:
const cajuConnector =
Client API
All of CAJU REST API endpoints are covered in the client
object. Every
function call issued to client
will return a Promise
which represents and
manages the result's lifecycle.
connect
Using When you call connect
, a Promise
which resolves to a client
or an
error will be thrown. If an authentication error happens, you can catch
the error with the Promise
interface:
cajuConnectorclient
As the entire library is based on promises, you can also use ES6 generators to make code more procedural:
let client try client = cajuConnectorclient catch err console try const settlements = clientsettlementall console catch err console
The downside of this approach is that you need to handle errors using try/catch.
Parameters
If your method doesn't require any parameter, you can just call it without them:
clientsettlement all // https://url/settlements
Every parameter that doesn't match a pattern {parameter-name}
in path will be sent as part of the query string:
clientsettlementall amount: 10 // https://url/settlements?amount=10
When a method requires a parameters and the method is called without it, Mappersmith will raise an error:
clientsettlement// throw '[Mappersmith] required parameter missing (id), "/settlements/{id}" cannot be resolved'
Body
To send values in the request body (usually for POST, PUT or PATCH methods) you will use the special parameter body
:
clientsettlement
Response object
Mappersmith will provide an instance of its own Response
object to the promises. This object has the methods:
request()
- Returns the original Requeststatus()
- Returns the status numbersuccess()
- Returns true for status greater than 200 and lower than 400headers()
- Returns an object with all headers, keys in lower caseheader(name)
- Returns the value of the headerdata()
- Returns the response data, ifContent-Type
isapplication/json
it parses the response and returns an object
Building
To build the library, use yarn build:commonjs
.
- Node.js build is produced inside the
dist
directory.
Testing
To run the library tests, use yarn test:all
.
License
The MIT License (MIT)
Copyright (c) 2018 Pagar.me Pagamentos S/A