@jazzdev/dpd-local-sdk 1.0.6 → 1.0.8
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.
- package/dist/index.d.mts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.js +32 -0
- package/dist/index.mjs +32 -0
- package/package.json +3 -2
package/dist/index.d.mts
CHANGED
|
@@ -50,7 +50,7 @@ interface PricingConfig {
|
|
|
50
50
|
};
|
|
51
51
|
}
|
|
52
52
|
interface LabelConfig {
|
|
53
|
-
format: 'zpl' | 'clp' | 'html';
|
|
53
|
+
format: 'zpl' | 'clp' | 'epl' | 'html';
|
|
54
54
|
printer: {
|
|
55
55
|
model: string;
|
|
56
56
|
dpi: number;
|
|
@@ -263,7 +263,7 @@ interface CreateShipmentResult {
|
|
|
263
263
|
}
|
|
264
264
|
interface GenerateLabelParams {
|
|
265
265
|
shipmentId: string | number;
|
|
266
|
-
labelFormat: 'zpl' | 'clp' | 'html';
|
|
266
|
+
labelFormat: 'zpl' | 'clp' | 'epl' | 'html';
|
|
267
267
|
}
|
|
268
268
|
interface GenerateLabelResult {
|
|
269
269
|
success: boolean;
|
|
@@ -420,7 +420,7 @@ declare function generateConsignmentRef(orderId: string): string;
|
|
|
420
420
|
declare function createCompleteShipment(orderId: string, params: Omit<CreateShipmentParams, 'orderId'>, config: DPDModuleConfig, dbAdapter: DatabaseAdapter, storageAdapter: StorageAdapter): Promise<CreateShipmentResult & {
|
|
421
421
|
labelUrl?: string;
|
|
422
422
|
}>;
|
|
423
|
-
declare function generateAndUploadLabel(shipmentId: string | number, consignmentNumber: string, labelFormat: 'zpl' | 'clp' | 'html', credentials: DPDCredentials, storageAdapter: StorageAdapter): Promise<GenerateLabelResult>;
|
|
423
|
+
declare function generateAndUploadLabel(shipmentId: string | number, consignmentNumber: string, labelFormat: 'zpl' | 'clp' | 'epl' | 'html', credentials: DPDCredentials, storageAdapter: StorageAdapter): Promise<GenerateLabelResult>;
|
|
424
424
|
declare function validateDeliveryAddress(params: ValidateAddressParams, credentials: DPDCredentials): Promise<ValidateAddressResult>;
|
|
425
425
|
declare function saveAddress(userId: string, address: Omit<SavedAddress, 'id' | 'userId' | 'createdAt' | 'updatedAt'>, credentials: DPDCredentials, dbAdapter: DatabaseAdapter): Promise<string>;
|
|
426
426
|
declare function getSavedAddresses(userId: string, dbAdapter: DatabaseAdapter): Promise<SavedAddress[]>;
|
|
@@ -428,7 +428,7 @@ declare function getSavedAddress(addressId: string, dbAdapter: DatabaseAdapter):
|
|
|
428
428
|
declare function updateSavedAddress(addressId: string, data: Partial<SavedAddress>, dbAdapter: DatabaseAdapter): Promise<void>;
|
|
429
429
|
declare function deleteSavedAddress(addressId: string, dbAdapter: DatabaseAdapter): Promise<void>;
|
|
430
430
|
declare function getLabelUrl(consignmentNumber: string, storageAdapter: StorageAdapter): Promise<string | null>;
|
|
431
|
-
declare function regenerateLabel(shipmentId: string | number, consignmentNumber: string, labelFormat: 'zpl' | 'clp' | 'html', credentials: DPDCredentials, storageAdapter: StorageAdapter): Promise<GenerateLabelResult>;
|
|
431
|
+
declare function regenerateLabel(shipmentId: string | number, consignmentNumber: string, labelFormat: 'zpl' | 'clp' | 'epl' | 'html', credentials: DPDCredentials, storageAdapter: StorageAdapter): Promise<GenerateLabelResult>;
|
|
432
432
|
declare function testDPDConnection(credentials: DPDCredentials): Promise<{
|
|
433
433
|
success: boolean;
|
|
434
434
|
message: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -50,7 +50,7 @@ interface PricingConfig {
|
|
|
50
50
|
};
|
|
51
51
|
}
|
|
52
52
|
interface LabelConfig {
|
|
53
|
-
format: 'zpl' | 'clp' | 'html';
|
|
53
|
+
format: 'zpl' | 'clp' | 'epl' | 'html';
|
|
54
54
|
printer: {
|
|
55
55
|
model: string;
|
|
56
56
|
dpi: number;
|
|
@@ -263,7 +263,7 @@ interface CreateShipmentResult {
|
|
|
263
263
|
}
|
|
264
264
|
interface GenerateLabelParams {
|
|
265
265
|
shipmentId: string | number;
|
|
266
|
-
labelFormat: 'zpl' | 'clp' | 'html';
|
|
266
|
+
labelFormat: 'zpl' | 'clp' | 'epl' | 'html';
|
|
267
267
|
}
|
|
268
268
|
interface GenerateLabelResult {
|
|
269
269
|
success: boolean;
|
|
@@ -420,7 +420,7 @@ declare function generateConsignmentRef(orderId: string): string;
|
|
|
420
420
|
declare function createCompleteShipment(orderId: string, params: Omit<CreateShipmentParams, 'orderId'>, config: DPDModuleConfig, dbAdapter: DatabaseAdapter, storageAdapter: StorageAdapter): Promise<CreateShipmentResult & {
|
|
421
421
|
labelUrl?: string;
|
|
422
422
|
}>;
|
|
423
|
-
declare function generateAndUploadLabel(shipmentId: string | number, consignmentNumber: string, labelFormat: 'zpl' | 'clp' | 'html', credentials: DPDCredentials, storageAdapter: StorageAdapter): Promise<GenerateLabelResult>;
|
|
423
|
+
declare function generateAndUploadLabel(shipmentId: string | number, consignmentNumber: string, labelFormat: 'zpl' | 'clp' | 'epl' | 'html', credentials: DPDCredentials, storageAdapter: StorageAdapter): Promise<GenerateLabelResult>;
|
|
424
424
|
declare function validateDeliveryAddress(params: ValidateAddressParams, credentials: DPDCredentials): Promise<ValidateAddressResult>;
|
|
425
425
|
declare function saveAddress(userId: string, address: Omit<SavedAddress, 'id' | 'userId' | 'createdAt' | 'updatedAt'>, credentials: DPDCredentials, dbAdapter: DatabaseAdapter): Promise<string>;
|
|
426
426
|
declare function getSavedAddresses(userId: string, dbAdapter: DatabaseAdapter): Promise<SavedAddress[]>;
|
|
@@ -428,7 +428,7 @@ declare function getSavedAddress(addressId: string, dbAdapter: DatabaseAdapter):
|
|
|
428
428
|
declare function updateSavedAddress(addressId: string, data: Partial<SavedAddress>, dbAdapter: DatabaseAdapter): Promise<void>;
|
|
429
429
|
declare function deleteSavedAddress(addressId: string, dbAdapter: DatabaseAdapter): Promise<void>;
|
|
430
430
|
declare function getLabelUrl(consignmentNumber: string, storageAdapter: StorageAdapter): Promise<string | null>;
|
|
431
|
-
declare function regenerateLabel(shipmentId: string | number, consignmentNumber: string, labelFormat: 'zpl' | 'clp' | 'html', credentials: DPDCredentials, storageAdapter: StorageAdapter): Promise<GenerateLabelResult>;
|
|
431
|
+
declare function regenerateLabel(shipmentId: string | number, consignmentNumber: string, labelFormat: 'zpl' | 'clp' | 'epl' | 'html', credentials: DPDCredentials, storageAdapter: StorageAdapter): Promise<GenerateLabelResult>;
|
|
432
432
|
declare function testDPDConnection(credentials: DPDCredentials): Promise<{
|
|
433
433
|
success: boolean;
|
|
434
434
|
message: string;
|
package/dist/index.js
CHANGED
|
@@ -329,6 +329,36 @@ async function authenticatedRequest(credentials, options) {
|
|
|
329
329
|
`Label request failed: ${response.status} ${response.statusText}`
|
|
330
330
|
);
|
|
331
331
|
}
|
|
332
|
+
try {
|
|
333
|
+
const parsed = JSON.parse(raw);
|
|
334
|
+
if (parsed?.error || parsed?.data === null) {
|
|
335
|
+
const errorObj = parsed?.error;
|
|
336
|
+
let errorMessage = "Label generation failed";
|
|
337
|
+
let errorCode = "UNKNOWN";
|
|
338
|
+
if (errorObj) {
|
|
339
|
+
if (errorObj.errorMessage) {
|
|
340
|
+
errorMessage = errorObj.errorMessage;
|
|
341
|
+
errorCode = errorObj.errorCode || errorObj.name || "UNKNOWN";
|
|
342
|
+
} else if (errorObj.name) {
|
|
343
|
+
errorMessage = errorObj.name;
|
|
344
|
+
errorCode = errorObj.name;
|
|
345
|
+
if (Array.isArray(errorObj.errors) && errorObj.errors.length > 0) {
|
|
346
|
+
const detailedError = errorObj.errors[0];
|
|
347
|
+
errorMessage = detailedError.errorMessage || detailedError.message || errorMessage;
|
|
348
|
+
errorCode = detailedError.errorCode || errorCode;
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
throw new Error(`DPD API Error ${errorCode}: ${errorMessage}`);
|
|
353
|
+
}
|
|
354
|
+
if (parsed?.data) {
|
|
355
|
+
return parsed.data;
|
|
356
|
+
}
|
|
357
|
+
} catch (parseError) {
|
|
358
|
+
if (parseError instanceof Error && parseError.message.startsWith("DPD API Error")) {
|
|
359
|
+
throw parseError;
|
|
360
|
+
}
|
|
361
|
+
}
|
|
332
362
|
return raw;
|
|
333
363
|
}
|
|
334
364
|
try {
|
|
@@ -414,6 +444,8 @@ function getAcceptHeader(format) {
|
|
|
414
444
|
return "text/vnd.zebra-zpl";
|
|
415
445
|
case "clp":
|
|
416
446
|
return "text/vnd.citizen-clp";
|
|
447
|
+
case "epl":
|
|
448
|
+
return "text/vnd.eltron-epl";
|
|
417
449
|
default:
|
|
418
450
|
return "text/vnd.zebra-zpl";
|
|
419
451
|
}
|
package/dist/index.mjs
CHANGED
|
@@ -241,6 +241,36 @@ async function authenticatedRequest(credentials, options) {
|
|
|
241
241
|
`Label request failed: ${response.status} ${response.statusText}`
|
|
242
242
|
);
|
|
243
243
|
}
|
|
244
|
+
try {
|
|
245
|
+
const parsed = JSON.parse(raw);
|
|
246
|
+
if (parsed?.error || parsed?.data === null) {
|
|
247
|
+
const errorObj = parsed?.error;
|
|
248
|
+
let errorMessage = "Label generation failed";
|
|
249
|
+
let errorCode = "UNKNOWN";
|
|
250
|
+
if (errorObj) {
|
|
251
|
+
if (errorObj.errorMessage) {
|
|
252
|
+
errorMessage = errorObj.errorMessage;
|
|
253
|
+
errorCode = errorObj.errorCode || errorObj.name || "UNKNOWN";
|
|
254
|
+
} else if (errorObj.name) {
|
|
255
|
+
errorMessage = errorObj.name;
|
|
256
|
+
errorCode = errorObj.name;
|
|
257
|
+
if (Array.isArray(errorObj.errors) && errorObj.errors.length > 0) {
|
|
258
|
+
const detailedError = errorObj.errors[0];
|
|
259
|
+
errorMessage = detailedError.errorMessage || detailedError.message || errorMessage;
|
|
260
|
+
errorCode = detailedError.errorCode || errorCode;
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
throw new Error(`DPD API Error ${errorCode}: ${errorMessage}`);
|
|
265
|
+
}
|
|
266
|
+
if (parsed?.data) {
|
|
267
|
+
return parsed.data;
|
|
268
|
+
}
|
|
269
|
+
} catch (parseError) {
|
|
270
|
+
if (parseError instanceof Error && parseError.message.startsWith("DPD API Error")) {
|
|
271
|
+
throw parseError;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
244
274
|
return raw;
|
|
245
275
|
}
|
|
246
276
|
try {
|
|
@@ -326,6 +356,8 @@ function getAcceptHeader(format) {
|
|
|
326
356
|
return "text/vnd.zebra-zpl";
|
|
327
357
|
case "clp":
|
|
328
358
|
return "text/vnd.citizen-clp";
|
|
359
|
+
case "epl":
|
|
360
|
+
return "text/vnd.eltron-epl";
|
|
329
361
|
default:
|
|
330
362
|
return "text/vnd.zebra-zpl";
|
|
331
363
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jazzdev/dpd-local-sdk",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.8",
|
|
4
4
|
"description": "TypeScript SDK for DPD Local shipping API integration - database-agnostic and framework-independent",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -48,10 +48,11 @@
|
|
|
48
48
|
"url": "https://github.com/TheJazzDev/dpd-local-sdk.git/issues"
|
|
49
49
|
},
|
|
50
50
|
"homepage": "https://github.com/TheJazzDev/dpd-local-sdk.git#readme",
|
|
51
|
-
"peerDependencies": {},
|
|
52
51
|
"devDependencies": {
|
|
53
52
|
"@types/node": "^20.0.0",
|
|
53
|
+
"dotenv": "^17.2.3",
|
|
54
54
|
"tsup": "^8.0.0",
|
|
55
|
+
"tsx": "^4.21.0",
|
|
55
56
|
"typescript": "^5.3.0"
|
|
56
57
|
},
|
|
57
58
|
"engines": {
|