b5-api-client 0.0.21 → 0.0.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CreateOrderRequest, CreateUserRequest, Order, OrderResponse, TakeOrderRequest, TestEventParams, UpdateOrderRequest, TransactionStatusResponse, RateUserRequest, OrderEventsResponse, PushNotificationsRegisterRequest, ConfigResponse, DashboardMetricsResponse, UsersResponse, GetOrdersParams, CreateDisputeRequest, DisputesResponse } from './types';
|
|
1
|
+
import { CreateOrderRequest, CreateUserRequest, Order, OrderResponse, TakeOrderRequest, TestEventParams, UpdateOrderRequest, TransactionStatusResponse, RateUserRequest, OrderEventsResponse, PushNotificationsRegisterRequest, ConfigResponse, DashboardMetricsResponse, UsersResponse, GetOrdersParams, CreateDisputeRequest, DisputesResponse, OrderOffersResponse, TransactionRequest, KioscoinOperationResponse, UpdateUserSettingsRequest } from './types';
|
|
2
2
|
declare class P2PMarketplaceAPIClient {
|
|
3
3
|
private readonly client;
|
|
4
4
|
private readonly defaultHeaders;
|
|
@@ -15,10 +15,13 @@ declare class P2PMarketplaceAPIClient {
|
|
|
15
15
|
createUser(user: CreateUserRequest, headers?: Record<string, string>): Promise<UsersResponse>;
|
|
16
16
|
getUser(userId: string, headers?: Record<string, string>): Promise<UsersResponse>;
|
|
17
17
|
rateUser(rateUserRequest: RateUserRequest, headers?: Record<string, string>): Promise<any>;
|
|
18
|
+
updateUserSettings(request: UpdateUserSettingsRequest, headers?: Record<string, string>): Promise<UsersResponse>;
|
|
18
19
|
registerPushToken(registerRequest: PushNotificationsRegisterRequest, headers?: Record<string, string>): Promise<any>;
|
|
19
20
|
getConfig<T>(): Promise<ConfigResponse<T>>;
|
|
20
21
|
getOrderEvents(id: string, headers?: Record<string, string>): Promise<OrderEventsResponse>;
|
|
21
22
|
getDashboardMetrics(headers?: Record<string, string>): Promise<DashboardMetricsResponse>;
|
|
23
|
+
getOrderOffers(headers?: Record<string, string>): Promise<OrderOffersResponse>;
|
|
24
|
+
pointOfSaleTransact(request: TransactionRequest, headers?: Record<string, string>): Promise<KioscoinOperationResponse>;
|
|
22
25
|
testLockFunds(order: Order, testParams?: TestEventParams, headers?: Record<string, string>): Promise<void>;
|
|
23
26
|
testReleaseFunds(order: Order, testParams?: TestEventParams, headers?: Record<string, string>): Promise<void>;
|
|
24
27
|
releaseFunds(order: Order, testParams?: TestEventParams, headers?: Record<string, string>): Promise<string>;
|
|
@@ -151,6 +151,12 @@ class P2PMarketplaceAPIClient {
|
|
|
151
151
|
return this.post(url, rateUserRequest, headers);
|
|
152
152
|
});
|
|
153
153
|
}
|
|
154
|
+
updateUserSettings(request, headers) {
|
|
155
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
156
|
+
const url = '/api/users/settings';
|
|
157
|
+
return this.post(url, request, headers);
|
|
158
|
+
});
|
|
159
|
+
}
|
|
154
160
|
registerPushToken(registerRequest, headers) {
|
|
155
161
|
return __awaiter(this, void 0, void 0, function* () {
|
|
156
162
|
const url = `/api/notifications/register-push`;
|
|
@@ -175,6 +181,18 @@ class P2PMarketplaceAPIClient {
|
|
|
175
181
|
return this.get(url, headers);
|
|
176
182
|
});
|
|
177
183
|
}
|
|
184
|
+
getOrderOffers(headers) {
|
|
185
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
186
|
+
const url = '/api/order_offers';
|
|
187
|
+
return this.get(url, headers);
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
pointOfSaleTransact(request, headers) {
|
|
191
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
192
|
+
const url = '/api/point_of_sale/transact';
|
|
193
|
+
return this.post(url, request, headers);
|
|
194
|
+
});
|
|
195
|
+
}
|
|
178
196
|
testLockFunds(order, testParams, headers) {
|
|
179
197
|
var _a, _b, _c, _d;
|
|
180
198
|
return __awaiter(this, void 0, void 0, function* () {
|
package/dist/types.d.ts
CHANGED
|
@@ -43,6 +43,8 @@ export interface Order {
|
|
|
43
43
|
sellerCanDispute?: boolean;
|
|
44
44
|
buyerDisputed?: boolean;
|
|
45
45
|
sellerDisputed?: boolean;
|
|
46
|
+
escrowOrder?: EscrowOrderModel;
|
|
47
|
+
dispute?: Dispute[];
|
|
46
48
|
}
|
|
47
49
|
export interface OrderResponse {
|
|
48
50
|
orders: Order[];
|
|
@@ -50,6 +52,14 @@ export interface OrderResponse {
|
|
|
50
52
|
export interface UsersResponse {
|
|
51
53
|
users: KioscoinUser[];
|
|
52
54
|
}
|
|
55
|
+
export interface UserSettings {
|
|
56
|
+
preferredTokenCode?: string;
|
|
57
|
+
paymentMethods: PaymentMethod[];
|
|
58
|
+
}
|
|
59
|
+
export interface UpdateUserSettingsRequest {
|
|
60
|
+
userId: string;
|
|
61
|
+
settings: UserSettings;
|
|
62
|
+
}
|
|
53
63
|
export interface PaymentMethod {
|
|
54
64
|
type: string;
|
|
55
65
|
alias?: string;
|
|
@@ -239,6 +249,7 @@ export interface KioscoinUser {
|
|
|
239
249
|
timeToRelease?: number;
|
|
240
250
|
timeToFiatSent?: number;
|
|
241
251
|
reviews?: UserReview[];
|
|
252
|
+
settings?: UserSettings;
|
|
242
253
|
}
|
|
243
254
|
export type DisputeReason = 'SELLER_NOT_LOCKING' | 'BUYER_FIAT_NOT_SENT' | 'SELLER_NOT_RELEASING';
|
|
244
255
|
export interface CreateDisputeRequest {
|
|
@@ -260,3 +271,71 @@ export interface Dispute {
|
|
|
260
271
|
export interface DisputesResponse {
|
|
261
272
|
disputes: Dispute[];
|
|
262
273
|
}
|
|
274
|
+
export interface OrderOffer {
|
|
275
|
+
id: string;
|
|
276
|
+
type: OrderType;
|
|
277
|
+
tokenAmount: string;
|
|
278
|
+
exchangeMethods: PaymentMethod[];
|
|
279
|
+
tokenCode: string;
|
|
280
|
+
blockchain: string;
|
|
281
|
+
fiatCode: string;
|
|
282
|
+
fiatAmount: string;
|
|
283
|
+
title: string;
|
|
284
|
+
actionButtonDescription: string;
|
|
285
|
+
exchangeRateOfferId?: string;
|
|
286
|
+
}
|
|
287
|
+
export interface OrderOffersResponse {
|
|
288
|
+
offers: OrderOffer[];
|
|
289
|
+
}
|
|
290
|
+
export interface TransactionRequest {
|
|
291
|
+
offer: OrderOffer;
|
|
292
|
+
buyerAddress?: string;
|
|
293
|
+
}
|
|
294
|
+
export type EscrowOrderStatus = 'NON_EXISTING' | 'LOCKED' | 'RELEASED' | 'REFUNDED';
|
|
295
|
+
export interface EscrowOrderModel {
|
|
296
|
+
id: string;
|
|
297
|
+
timestamp?: string;
|
|
298
|
+
tokenContractAddress?: string;
|
|
299
|
+
buyerAddress?: string;
|
|
300
|
+
sellerAddress?: string;
|
|
301
|
+
amount?: string;
|
|
302
|
+
fee?: string;
|
|
303
|
+
status?: EscrowOrderStatus;
|
|
304
|
+
adminAction?: boolean;
|
|
305
|
+
token?: string;
|
|
306
|
+
}
|
|
307
|
+
export interface ExchangeRateOffer {
|
|
308
|
+
id: string;
|
|
309
|
+
tokenCode: string;
|
|
310
|
+
blockchainEnvironment: string;
|
|
311
|
+
fiatCode: string;
|
|
312
|
+
baseFiatRate: string;
|
|
313
|
+
offeredFiatRate: string;
|
|
314
|
+
margin: string;
|
|
315
|
+
validUntil: string;
|
|
316
|
+
isActive: boolean;
|
|
317
|
+
createdAt: string;
|
|
318
|
+
}
|
|
319
|
+
export interface KioscoinOperation {
|
|
320
|
+
orderType: OrderType;
|
|
321
|
+
tokenAmount: string;
|
|
322
|
+
fiatAmount: string;
|
|
323
|
+
tokenCode: string;
|
|
324
|
+
fiatCode: string;
|
|
325
|
+
blockchain: string;
|
|
326
|
+
userId: string;
|
|
327
|
+
username?: string;
|
|
328
|
+
buyerAddress?: string;
|
|
329
|
+
paymentMethods?: PaymentMethod[];
|
|
330
|
+
orderOffer?: OrderOffer;
|
|
331
|
+
exchangeRateOffer?: ExchangeRateOffer;
|
|
332
|
+
}
|
|
333
|
+
export type OperationErrorType = 'INVALID_TRANSACTION' | 'HAS_ACTIVE_ORDERS' | 'INSUFFICIENT_FUNDS' | 'UNKNOWN_ERROR';
|
|
334
|
+
export interface OperationError {
|
|
335
|
+
type: OperationErrorType;
|
|
336
|
+
message: string;
|
|
337
|
+
}
|
|
338
|
+
export interface KioscoinOperationResponse {
|
|
339
|
+
error?: OperationError;
|
|
340
|
+
order?: Order;
|
|
341
|
+
}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios';
|
|
2
|
-
import { CreateOrderRequest, CreateUserRequest, Order, OrderLockedEvent, OrderResponse, ReleaseOrderEvent as OrderReleasedEvent, TakeOrderRequest, TestEventParams, UpdateOrderRequest, TransactionStatusResponse, RateUserRequest, OrderEventsResponse, PushNotificationsRegisterRequest, ConfigResponse, DashboardMetricsResponse, KioscoinUser, UsersResponse, PaymentMethod, GetOrdersParams, CreateDisputeRequest, DisputesResponse } from './types';
|
|
2
|
+
import { CreateOrderRequest, CreateUserRequest, Order, OrderLockedEvent, OrderResponse, ReleaseOrderEvent as OrderReleasedEvent, TakeOrderRequest, TestEventParams, UpdateOrderRequest, TransactionStatusResponse, RateUserRequest, OrderEventsResponse, PushNotificationsRegisterRequest, ConfigResponse, DashboardMetricsResponse, KioscoinUser, UsersResponse, PaymentMethod, GetOrdersParams, CreateDisputeRequest, DisputesResponse, OrderOffersResponse, TransactionRequest, KioscoinOperationResponse, UpdateUserSettingsRequest } from './types';
|
|
3
3
|
import { isPlainObject, camelCase, snakeCase, transform } from 'lodash';
|
|
4
4
|
|
|
5
5
|
class P2PMarketplaceAPIClient {
|
|
@@ -137,6 +137,11 @@ class P2PMarketplaceAPIClient {
|
|
|
137
137
|
return this.post<any>(url, rateUserRequest, headers);
|
|
138
138
|
}
|
|
139
139
|
|
|
140
|
+
public async updateUserSettings(request: UpdateUserSettingsRequest, headers?: Record<string, string>): Promise<UsersResponse> {
|
|
141
|
+
const url = '/api/users/settings';
|
|
142
|
+
return this.post<UsersResponse>(url, request, headers);
|
|
143
|
+
}
|
|
144
|
+
|
|
140
145
|
public async registerPushToken(registerRequest: PushNotificationsRegisterRequest, headers?: Record<string, string>): Promise<any> {
|
|
141
146
|
const url = `/api/notifications/register-push`;
|
|
142
147
|
return this.post<PushNotificationsRegisterRequest>(url, registerRequest, headers);
|
|
@@ -157,6 +162,18 @@ class P2PMarketplaceAPIClient {
|
|
|
157
162
|
return this.get<DashboardMetricsResponse>(url, headers);
|
|
158
163
|
}
|
|
159
164
|
|
|
165
|
+
public async getOrderOffers(headers?: Record<string, string>): Promise<OrderOffersResponse> {
|
|
166
|
+
const url = '/api/order_offers';
|
|
167
|
+
return this.get<OrderOffersResponse>(url, headers);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
public async pointOfSaleTransact(request: TransactionRequest, headers?: Record<string, string>): Promise<KioscoinOperationResponse> {
|
|
171
|
+
const url = '/api/point_of_sale/transact';
|
|
172
|
+
return this.post<KioscoinOperationResponse>(url, request, headers);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
|
|
160
177
|
public async testLockFunds(order: Order, testParams?: TestEventParams, headers?: Record<string, string>) {
|
|
161
178
|
const orderEvent: OrderLockedEvent = {
|
|
162
179
|
type: "LOCKED",
|
package/src/types.ts
CHANGED
|
@@ -63,6 +63,8 @@ export interface Order {
|
|
|
63
63
|
sellerCanDispute?: boolean;
|
|
64
64
|
buyerDisputed?: boolean;
|
|
65
65
|
sellerDisputed?: boolean;
|
|
66
|
+
escrowOrder?: EscrowOrderModel;
|
|
67
|
+
dispute?: Dispute[];
|
|
66
68
|
}
|
|
67
69
|
|
|
68
70
|
export interface OrderResponse {
|
|
@@ -73,6 +75,16 @@ export interface UsersResponse {
|
|
|
73
75
|
users: KioscoinUser[]
|
|
74
76
|
}
|
|
75
77
|
|
|
78
|
+
export interface UserSettings {
|
|
79
|
+
preferredTokenCode?: string;
|
|
80
|
+
paymentMethods: PaymentMethod[];
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export interface UpdateUserSettingsRequest {
|
|
84
|
+
userId: string;
|
|
85
|
+
settings: UserSettings;
|
|
86
|
+
}
|
|
87
|
+
|
|
76
88
|
export interface PaymentMethod {
|
|
77
89
|
type: string;
|
|
78
90
|
alias?: string;
|
|
@@ -289,6 +301,7 @@ export interface KioscoinUser {
|
|
|
289
301
|
timeToRelease?: number;
|
|
290
302
|
timeToFiatSent?: number;
|
|
291
303
|
reviews?: UserReview[];
|
|
304
|
+
settings?: UserSettings;
|
|
292
305
|
}
|
|
293
306
|
|
|
294
307
|
export type DisputeReason = 'SELLER_NOT_LOCKING' | 'BUYER_FIAT_NOT_SENT' | 'SELLER_NOT_RELEASING';
|
|
@@ -314,3 +327,82 @@ export interface Dispute {
|
|
|
314
327
|
export interface DisputesResponse {
|
|
315
328
|
disputes: Dispute[];
|
|
316
329
|
}
|
|
330
|
+
|
|
331
|
+
|
|
332
|
+
export interface OrderOffer {
|
|
333
|
+
id: string;
|
|
334
|
+
type: OrderType;
|
|
335
|
+
tokenAmount: string;
|
|
336
|
+
exchangeMethods: PaymentMethod[];
|
|
337
|
+
tokenCode: string;
|
|
338
|
+
blockchain: string;
|
|
339
|
+
fiatCode: string;
|
|
340
|
+
fiatAmount: string;
|
|
341
|
+
title: string;
|
|
342
|
+
actionButtonDescription: string;
|
|
343
|
+
exchangeRateOfferId?: string;
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
export interface OrderOffersResponse {
|
|
347
|
+
offers: OrderOffer[];
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
export interface TransactionRequest {
|
|
351
|
+
offer: OrderOffer;
|
|
352
|
+
buyerAddress?: string;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
export type EscrowOrderStatus = 'NON_EXISTING' | 'LOCKED' | 'RELEASED' | 'REFUNDED';
|
|
356
|
+
|
|
357
|
+
export interface EscrowOrderModel {
|
|
358
|
+
id: string;
|
|
359
|
+
timestamp?: string;
|
|
360
|
+
tokenContractAddress?: string;
|
|
361
|
+
buyerAddress?: string;
|
|
362
|
+
sellerAddress?: string;
|
|
363
|
+
amount?: string;
|
|
364
|
+
fee?: string;
|
|
365
|
+
status?: EscrowOrderStatus;
|
|
366
|
+
adminAction?: boolean;
|
|
367
|
+
token?: string;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
export interface ExchangeRateOffer {
|
|
371
|
+
id: string;
|
|
372
|
+
tokenCode: string;
|
|
373
|
+
blockchainEnvironment: string;
|
|
374
|
+
fiatCode: string;
|
|
375
|
+
baseFiatRate: string;
|
|
376
|
+
offeredFiatRate: string;
|
|
377
|
+
margin: string;
|
|
378
|
+
validUntil: string;
|
|
379
|
+
isActive: boolean;
|
|
380
|
+
createdAt: string;
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
export interface KioscoinOperation {
|
|
384
|
+
orderType: OrderType;
|
|
385
|
+
tokenAmount: string;
|
|
386
|
+
fiatAmount: string;
|
|
387
|
+
tokenCode: string;
|
|
388
|
+
fiatCode: string;
|
|
389
|
+
blockchain: string;
|
|
390
|
+
userId: string;
|
|
391
|
+
username?: string;
|
|
392
|
+
buyerAddress?: string;
|
|
393
|
+
paymentMethods?: PaymentMethod[];
|
|
394
|
+
orderOffer?: OrderOffer;
|
|
395
|
+
exchangeRateOffer?: ExchangeRateOffer;
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
export type OperationErrorType = 'INVALID_TRANSACTION' | 'HAS_ACTIVE_ORDERS' | 'INSUFFICIENT_FUNDS' | 'UNKNOWN_ERROR';
|
|
399
|
+
|
|
400
|
+
export interface OperationError {
|
|
401
|
+
type: OperationErrorType;
|
|
402
|
+
message: string;
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
export interface KioscoinOperationResponse {
|
|
406
|
+
error?: OperationError;
|
|
407
|
+
order?: Order;
|
|
408
|
+
}
|