UNPKG

2.02 kBMarkdownView Raw
1# customer-js-sdk
2
3The customer-js-sdk is a Front-End layer of abstraction for communicating with Back-End services.
4
5## Install
6```bash
7npm install --save customer-js-sdk
8```
9
10## Import
11
12```javascript
13import { v0 as sdk } from 'customer-js-sdk';
14```
15
16## BaseUrl
17
18- Setting the `baseUrl`
19
20```javascript
21sdk.baseUrl.set('http://custom.api/');
22```
23
24## Headers
25
26- Setting a header
27
28```javascript
29sdk.headers.append('Content-Type', 'application/json');
30```
31
32- Retrieving all headers
33
34```javascript
35sdk.headers.get();
36```
37
38- Removing a header
39
40```javascript
41sdk.headers.remove('Content-Type');
42```
43
44## Usage Examples
45
46- `GET` request without parameters
47
48```javascript
49sdk.merchants.partners.get();
50```
51
52- `GET` request with URL parameter
53
54```javascript
55sdk.merchants.addresses.get({
56 urlParam: '123456789'
57});
58```
59
60- `POST` request with body
61
62```javascript
63sdk.merchants.contacts.post({}, {
64 body: '123456789'
65});
66```
67
68- `POST` request with URL parameter and body
69
70```javascript
71sdk.merchants.contacts.post({
72 urlParam: '123456789'
73}, {
74 body: '123456789'
75});
76```
77
78- Passing a custom `baseUrl` to overide the default in a specific request
79
80```javascript
81sdk.merchants.partners.get('https://custom.api/');
82
83sdk.merchants.addresses.get('https://custom.api/', {
84 urlParam: '123456789'
85});
86
87sdk.merchants.contacts.post('https://custom.api/', {
88 urlParam: '123456789'
89}, {
90 body: '123456789'
91});
92```
93
94## Using Middlewares
95Middlewares run before and after every request in the same order that they were declared. Every middleware must call either `proceed` or `quit` in order to work.
96
97```javascript
98sdk.middleware.use({
99 beforeRequest({ proceed, quit }) {
100 if (conditionMet) {
101 proceed();
102 } else {
103 quit();
104 }
105 },
106 afterRequest({ proceed }) {
107 logSomething();
108 proceed();
109 }
110});
111
112sdk.middleware.use({
113 async beforeRequest({ proceed }) {
114 await doSomethingAsync();
115 proceed();
116 }
117});
118```
119
120### See more information on our [Wiki](https://github.com/stone-payments/customer-js-sdk/wiki) page.