b5-api-client 0.0.22 → 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, OrderOffersResponse, TransactionRequest } 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,12 +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>;
|
|
22
23
|
getOrderOffers(headers?: Record<string, string>): Promise<OrderOffersResponse>;
|
|
23
|
-
pointOfSaleTransact(request: TransactionRequest, headers?: Record<string, string>): Promise<
|
|
24
|
+
pointOfSaleTransact(request: TransactionRequest, headers?: Record<string, string>): Promise<KioscoinOperationResponse>;
|
|
24
25
|
testLockFunds(order: Order, testParams?: TestEventParams, headers?: Record<string, string>): Promise<void>;
|
|
25
26
|
testReleaseFunds(order: Order, testParams?: TestEventParams, headers?: Record<string, string>): Promise<void>;
|
|
26
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`;
|
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 {
|
|
@@ -280,3 +291,51 @@ export interface TransactionRequest {
|
|
|
280
291
|
offer: OrderOffer;
|
|
281
292
|
buyerAddress?: string;
|
|
282
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, OrderOffersResponse, TransactionRequest } 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);
|
|
@@ -162,9 +167,9 @@ class P2PMarketplaceAPIClient {
|
|
|
162
167
|
return this.get<OrderOffersResponse>(url, headers);
|
|
163
168
|
}
|
|
164
169
|
|
|
165
|
-
public async pointOfSaleTransact(request: TransactionRequest, headers?: Record<string, string>): Promise<
|
|
170
|
+
public async pointOfSaleTransact(request: TransactionRequest, headers?: Record<string, string>): Promise<KioscoinOperationResponse> {
|
|
166
171
|
const url = '/api/point_of_sale/transact';
|
|
167
|
-
return this.post<
|
|
172
|
+
return this.post<KioscoinOperationResponse>(url, request, headers);
|
|
168
173
|
}
|
|
169
174
|
|
|
170
175
|
|
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';
|
|
@@ -338,3 +351,58 @@ export interface TransactionRequest {
|
|
|
338
351
|
offer: OrderOffer;
|
|
339
352
|
buyerAddress?: string;
|
|
340
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
|
+
}
|