@inkress/admin-sdk 1.0.0

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.
@@ -0,0 +1,445 @@
1
+ export interface InkressConfig {
2
+ /** Bearer token for authentication */
3
+ bearerToken: string;
4
+ /** API endpoint URL */
5
+ endpoint?: string;
6
+ /** API version */
7
+ apiVersion?: string;
8
+ /** Client ID for request identification (format: m-{merchant.username}) */
9
+ clientId?: string;
10
+ /** Request timeout in milliseconds */
11
+ timeout?: number;
12
+ /** Number of retry attempts */
13
+ retries?: number;
14
+ /** Custom headers to include with requests */
15
+ headers?: Record<string, string>;
16
+ }
17
+ export interface PaginationParams {
18
+ page?: number;
19
+ per_page?: number;
20
+ sort?: string;
21
+ order?: 'asc' | 'desc';
22
+ }
23
+ export interface PaginatedResponse<T> {
24
+ data: T[];
25
+ meta: {
26
+ current_page: number;
27
+ per_page: number;
28
+ total: number;
29
+ total_pages: number;
30
+ };
31
+ }
32
+ export interface ApiResponse<T = any> {
33
+ state: 'ok' | 'error';
34
+ data?: T;
35
+ result?: T;
36
+ }
37
+ export interface ErrorResponse {
38
+ state: 'error';
39
+ data: {
40
+ result: string;
41
+ } | {
42
+ reason: string;
43
+ } | string | Record<string, string[]>;
44
+ }
45
+ export interface ValidationError {
46
+ state: 'error';
47
+ data: Record<string, string[]>;
48
+ }
49
+ export interface Currency {
50
+ id: number;
51
+ code: string;
52
+ symbol: string;
53
+ name: string;
54
+ }
55
+ export interface Organisation {
56
+ id: number;
57
+ name: string;
58
+ description: string;
59
+ }
60
+ export interface Address {
61
+ address: string;
62
+ address2?: string;
63
+ city: string;
64
+ state?: string;
65
+ postal_code: string;
66
+ country: string;
67
+ }
68
+ export interface Merchant {
69
+ id: number;
70
+ name: string;
71
+ email: string;
72
+ username: string;
73
+ about?: string;
74
+ logo?: string;
75
+ sector?: string;
76
+ status: number;
77
+ phone?: string;
78
+ business_type?: string;
79
+ theme_colour?: string;
80
+ uid: string;
81
+ is_pre_verified: boolean;
82
+ webhook_url?: string;
83
+ plan_id?: number;
84
+ payment_provider_plan_id?: number;
85
+ platform_fee_structure: 'customer_pay' | 'merchant_absorb';
86
+ provider_fee_structure: 'customer_pay' | 'merchant_absorb';
87
+ address?: {
88
+ street?: string;
89
+ street_optional?: string;
90
+ town?: string;
91
+ city?: string;
92
+ province?: string;
93
+ region?: string;
94
+ };
95
+ data?: {
96
+ pickup_locations?: Array<{
97
+ name: string;
98
+ address: string;
99
+ }>;
100
+ support_phone?: string;
101
+ support_email?: string;
102
+ business_setup?: string;
103
+ bank_info?: {
104
+ account_holder_name?: string;
105
+ account_holder_type?: 'Business' | 'Individual';
106
+ account_number?: string;
107
+ account_type?: 'Checking' | 'Savings';
108
+ bank_name?: string;
109
+ branch_name?: string;
110
+ branch_code?: string;
111
+ routing_number?: string;
112
+ swift_code?: string;
113
+ };
114
+ registration_webhook?: string;
115
+ };
116
+ organisation?: Organisation;
117
+ domain?: {
118
+ cname?: string;
119
+ };
120
+ created_at: string;
121
+ updated_at: string;
122
+ }
123
+ export interface CreateMerchantData {
124
+ name: string;
125
+ email: string;
126
+ phone?: string;
127
+ about?: string;
128
+ }
129
+ export interface UpdateMerchantData {
130
+ name?: string;
131
+ email?: string;
132
+ phone?: string;
133
+ about?: string;
134
+ }
135
+ export interface PublicMerchant {
136
+ id: number;
137
+ name: string;
138
+ username: string;
139
+ about?: string;
140
+ logo?: string;
141
+ sector?: string;
142
+ business_type?: string;
143
+ theme_colour?: string;
144
+ data?: any;
145
+ }
146
+ export interface Category {
147
+ id: number;
148
+ name: string;
149
+ description?: string | null;
150
+ kind: number;
151
+ kind_id?: number | null;
152
+ parent_id?: number | null;
153
+ parent?: {
154
+ id: number;
155
+ name: string;
156
+ } | null;
157
+ children?: {
158
+ id: number;
159
+ name: string;
160
+ }[];
161
+ created_at: string;
162
+ updated_at: string;
163
+ }
164
+ export interface CreateCategoryData {
165
+ name: string;
166
+ description?: string;
167
+ kind: number;
168
+ kind_id?: number;
169
+ parent_id?: number;
170
+ }
171
+ export interface UpdateCategoryData extends Partial<Omit<CreateCategoryData, 'parent_id'>> {
172
+ }
173
+ export interface Product {
174
+ id: number;
175
+ title: string;
176
+ teaser?: string;
177
+ price: number;
178
+ permalink: string;
179
+ image?: string | null;
180
+ status: number;
181
+ public: boolean;
182
+ unlimited: boolean;
183
+ units_remaining?: number | null;
184
+ units_sold?: number | null;
185
+ rating_sum?: number | null;
186
+ rating_count?: number | null;
187
+ tag_ids: number[];
188
+ data?: Record<string, any>;
189
+ meta?: Record<string, any>;
190
+ currency: Currency;
191
+ category?: Category;
192
+ merchant: Merchant;
193
+ organisation: Organisation;
194
+ created_at: string;
195
+ updated_at: string;
196
+ }
197
+ export interface CreateProductData {
198
+ title: string;
199
+ teaser?: string;
200
+ price: number;
201
+ permalink: string;
202
+ image?: string;
203
+ public?: boolean;
204
+ unlimited?: boolean;
205
+ units_remaining?: number;
206
+ tag_ids?: number[];
207
+ data?: Record<string, any>;
208
+ meta?: Record<string, any>;
209
+ }
210
+ export interface UpdateProductData extends Partial<CreateProductData> {
211
+ status?: number;
212
+ }
213
+ export interface Order {
214
+ id: number;
215
+ reference_id?: string;
216
+ total: number;
217
+ kind: number;
218
+ status: number;
219
+ status_on: number;
220
+ uid: string;
221
+ cart_id?: number | null;
222
+ customer?: Customer;
223
+ currency: Currency;
224
+ billing_plan?: any | null;
225
+ order_detail?: Record<string, any>;
226
+ transactions?: any[];
227
+ payment_methods?: PaymentMethod[];
228
+ order_lines: OrderLine[];
229
+ merchant: Merchant;
230
+ organisation: Organisation;
231
+ payment_urls?: {
232
+ short_link: string;
233
+ };
234
+ meta_data?: Record<string, any>;
235
+ created_at: string;
236
+ updated_at: string;
237
+ }
238
+ export interface OrderLine {
239
+ product_id: number;
240
+ quantity: number;
241
+ price: number;
242
+ }
243
+ export interface CreateOrderData {
244
+ reference_id?: string;
245
+ total: number;
246
+ kind?: number;
247
+ order_lines: OrderLine[];
248
+ meta_data?: Record<string, any>;
249
+ }
250
+ export interface UpdateOrderData {
251
+ status?: number;
252
+ meta_data?: Record<string, any>;
253
+ }
254
+ export interface OrderStats {
255
+ [key: string]: any;
256
+ }
257
+ export interface PaymentMethod {
258
+ id: number;
259
+ name: string;
260
+ code: string;
261
+ provider: string;
262
+ active: boolean;
263
+ }
264
+ export interface Customer {
265
+ id: number;
266
+ email: string;
267
+ first_name?: string;
268
+ last_name?: string;
269
+ name?: string;
270
+ phone?: string;
271
+ created_at: string;
272
+ metadata?: Record<string, any>;
273
+ }
274
+ export interface BillingPlan {
275
+ id: number;
276
+ name: string;
277
+ description?: string;
278
+ flat_rate: number;
279
+ transaction_fee: number;
280
+ transaction_percentage: number;
281
+ transaction_percentage_additional: number;
282
+ transaction_minimum_fee: number;
283
+ minimum_fee: number;
284
+ duration: number;
285
+ status: number;
286
+ billing_cycle: number;
287
+ trial_period: number;
288
+ charge_strategy: number;
289
+ kind: number;
290
+ auto_charge: boolean;
291
+ currency: Currency;
292
+ features?: string[];
293
+ }
294
+ export interface CreateBillingPlanData {
295
+ name: string;
296
+ description?: string;
297
+ flat_rate: number;
298
+ transaction_fee: number;
299
+ transaction_percentage: number;
300
+ transaction_percentage_additional?: number;
301
+ transaction_minimum_fee?: number;
302
+ minimum_fee?: number;
303
+ duration: number;
304
+ billing_cycle: number;
305
+ trial_period?: number;
306
+ charge_strategy?: number;
307
+ kind?: number;
308
+ auto_charge?: boolean;
309
+ currency_id: number;
310
+ features?: string[];
311
+ }
312
+ export interface UpdateBillingPlanData extends Partial<CreateBillingPlanData> {
313
+ status?: number;
314
+ }
315
+ export interface Subscription {
316
+ id: number;
317
+ status: number;
318
+ kind: number;
319
+ current_period_start: string;
320
+ current_period_end: string;
321
+ trial_end?: string;
322
+ canceled_at?: string;
323
+ start_date: string;
324
+ end_date?: string;
325
+ record: string;
326
+ record_id: number;
327
+ customer_id?: number;
328
+ uid: string;
329
+ token?: string;
330
+ billing_plan_id: number;
331
+ has_token: boolean;
332
+ billing_plan: BillingPlan;
333
+ subscription_periods?: SubscriptionPeriod[];
334
+ }
335
+ export interface CreateSubscriptionData {
336
+ billing_plan_id: number;
337
+ record: string;
338
+ record_id: number;
339
+ start_date: string;
340
+ end_date?: string;
341
+ status: number;
342
+ }
343
+ export interface SubscriptionPeriod {
344
+ id: number;
345
+ subscription_id: string;
346
+ start_date: string;
347
+ end_date: string;
348
+ amount: number;
349
+ currency: Currency;
350
+ status: 'pending' | 'paid' | 'failed' | 'cancelled';
351
+ charged_at?: string;
352
+ created_at: string;
353
+ metadata?: Record<string, any>;
354
+ }
355
+ export interface SubscriptionLinkData {
356
+ uid: string;
357
+ token: string;
358
+ }
359
+ export interface SubscriptionChargeData {
360
+ amount?: number;
361
+ description?: string;
362
+ }
363
+ export interface User {
364
+ id: number;
365
+ email: string;
366
+ phone?: string;
367
+ first_name?: string;
368
+ last_name?: string;
369
+ username?: string;
370
+ status: number;
371
+ level: number;
372
+ dob?: number | null;
373
+ sex?: number | null;
374
+ image?: string | null;
375
+ uid: string;
376
+ role?: {
377
+ id: number;
378
+ name: string;
379
+ };
380
+ organisation?: Organisation;
381
+ merchant?: Merchant;
382
+ created_at: string;
383
+ updated_at: string;
384
+ }
385
+ export interface CreateUserData {
386
+ email: string;
387
+ phone?: string;
388
+ first_name?: string;
389
+ last_name?: string;
390
+ username?: string;
391
+ password: string;
392
+ role_id?: number;
393
+ }
394
+ export interface UpdateUserData {
395
+ email?: string;
396
+ phone?: string;
397
+ first_name?: string;
398
+ last_name?: string;
399
+ username?: string;
400
+ status?: number;
401
+ level?: number;
402
+ role_id?: number;
403
+ }
404
+ export interface WebhookEvent {
405
+ action: string;
406
+ jwt: string;
407
+ webhook_id?: string;
408
+ data: Record<string, any>;
409
+ }
410
+ export interface RegistrationWebhookEvent extends WebhookEvent {
411
+ action: 'registration';
412
+ data: {
413
+ client_id: string;
414
+ client_secret: string;
415
+ };
416
+ }
417
+ export interface PaymentWebhookEvent extends WebhookEvent {
418
+ action: 'payment';
419
+ data: {
420
+ order: Order;
421
+ payment_status: string;
422
+ transaction_id?: string;
423
+ };
424
+ }
425
+ export interface APIToken {
426
+ id: number;
427
+ public_key: string;
428
+ title?: string;
429
+ provider: string;
430
+ kind: number;
431
+ enabled: boolean;
432
+ expires?: number | null;
433
+ user_id: number;
434
+ role_id?: number | null;
435
+ inserted_at: string;
436
+ updated_at: string;
437
+ }
438
+ export interface PublicMerchantFees {
439
+ [key: string]: any;
440
+ }
441
+ export interface PublicMerchantProducts {
442
+ products: Product[];
443
+ [key: string]: any;
444
+ }
445
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { WebhookEvent } from '../types';
2
+ export interface WebhookPayload {
3
+ id: string;
4
+ timestamp: number;
5
+ event: WebhookEvent;
6
+ }
7
+ export interface WebhookVerificationOptions {
8
+ tolerance?: number;
9
+ }
10
+ export declare class WebhookUtils {
11
+ /**
12
+ * Verify webhook signature using HMAC SHA256
13
+ */
14
+ static verifySignature(payload: string | any, signature: string, secret: string, options?: WebhookVerificationOptions): boolean;
15
+ /**
16
+ * Parse and validate webhook payload
17
+ */
18
+ static parsePayload(payload: string): WebhookPayload;
19
+ /**
20
+ * Verify and parse webhook payload in one step
21
+ */
22
+ static verifyAndParse(payload: string, signature: string, secret: string, options?: WebhookVerificationOptions): WebhookPayload;
23
+ /**
24
+ * Generate webhook signature for testing
25
+ */
26
+ static generateSignature(payload: string, secret: string, timestamp?: number): string;
27
+ /**
28
+ * Create a test webhook payload
29
+ */
30
+ static createTestPayload(event: WebhookEvent): WebhookPayload;
31
+ /**
32
+ * Validate webhook event type
33
+ */
34
+ static isValidEventType(eventType: string): boolean;
35
+ /**
36
+ * Extract event data with type safety
37
+ */
38
+ static extractEventData<T = any>(payload: WebhookPayload): T;
39
+ }
40
+ export declare function createWebhookMiddleware(secret: string, options?: WebhookVerificationOptions): (req: any, res: any, next: any) => any;
41
+ export declare function isWebhookEvent(data: any): data is WebhookPayload;
42
+ //# sourceMappingURL=webhooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/utils/webhooks.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,YAAY,CAAC;CACrB;AAED,MAAM,WAAW,0BAA0B;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,YAAY;IACvB;;OAEG;IACH,MAAM,CAAC,eAAe,CACpB,OAAO,EAAE,MAAM,GAAG,GAAG,EACrB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,0BAA+B,GACvC,OAAO;IAyCV;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc;IAcpD;;OAEG;IACH,MAAM,CAAC,cAAc,CACnB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,0BAA0B,GACnC,cAAc;IAQjB;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAYrF;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,cAAc;IAQ7D;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAoBnD;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,cAAc,GAAG,CAAC;CAG7D;AAGD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,0BAA0B,IAClF,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,SAuBtC;AAGD,wBAAgB,cAAc,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,cAAc,CAQhE"}
package/package.json ADDED
@@ -0,0 +1,92 @@
1
+ {
2
+ "name": "@inkress/admin-sdk",
3
+ "version": "1.0.0",
4
+ "description": "Official Inkress Commerce API SDK for JavaScript/TypeScript",
5
+ "main": "dist/index.js",
6
+ "module": "dist/index.esm.js",
7
+ "types": "dist/index.d.ts",
8
+ "private": false,
9
+ "type": "module",
10
+ "exports": {
11
+ ".": {
12
+ "import": "./dist/index.esm.js",
13
+ "require": "./dist/index.js",
14
+ "types": "./dist/index.d.ts"
15
+ }
16
+ },
17
+ "files": [
18
+ "dist",
19
+ "README.md",
20
+ "CHANGELOG.md",
21
+ "CONTRIBUTING.md",
22
+ "LICENSE"
23
+ ],
24
+ "scripts": {
25
+ "build": "rollup -c",
26
+ "dev": "rollup -c -w",
27
+ "test": "jest",
28
+ "test:watch": "jest --watch",
29
+ "lint": "eslint src --ext .ts,.js",
30
+ "lint:fix": "eslint src --ext .ts,.js --fix",
31
+ "type-check": "tsc --noEmit",
32
+ "clean": "rm -rf dist",
33
+ "prepare": "npm run clean && npm run build"
34
+ },
35
+ "keywords": [
36
+ "inkress",
37
+ "commerce",
38
+ "api",
39
+ "sdk",
40
+ "payments",
41
+ "ecommerce",
42
+ "typescript",
43
+ "javascript",
44
+ "rest-api",
45
+ "client",
46
+ "admin",
47
+ "storefront",
48
+ "orders",
49
+ "products",
50
+ "merchants"
51
+ ],
52
+ "author": {
53
+ "name": "Inkress",
54
+ "email": "dev@inkress.com",
55
+ "url": "https://inkress.com"
56
+ },
57
+ "license": "MIT",
58
+ "repository": {
59
+ "type": "git",
60
+ "url": "https://github.com/inkress/admin-sdk.git"
61
+ },
62
+ "bugs": {
63
+ "url": "https://github.com/inkress/admin-sdk/issues"
64
+ },
65
+ "homepage": "https://github.com/inkress/admin-sdk#readme",
66
+ "devDependencies": {
67
+ "@rollup/plugin-commonjs": "^25.0.7",
68
+ "@rollup/plugin-node-resolve": "^15.2.3",
69
+ "@rollup/plugin-typescript": "^11.1.5",
70
+ "@types/jest": "^29.5.8",
71
+ "@types/node": "^20.9.0",
72
+ "@typescript-eslint/eslint-plugin": "^6.11.0",
73
+ "@typescript-eslint/parser": "^6.11.0",
74
+ "eslint": "^8.53.0",
75
+ "jest": "^29.7.0",
76
+ "rollup": "^4.5.0",
77
+ "ts-jest": "^29.1.1",
78
+ "tslib": "^2.6.2",
79
+ "typescript": "^5.2.2"
80
+ },
81
+ "dependencies": {
82
+ "cross-fetch": "^4.0.0"
83
+ },
84
+ "peerDependencies": {
85
+ "typescript": ">=4.0.0"
86
+ },
87
+ "peerDependenciesMeta": {
88
+ "typescript": {
89
+ "optional": true
90
+ }
91
+ }
92
+ }