@shipengine/connect-carrier-api 4.24.2 → 4.26.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.
Files changed (100) hide show
  1. package/lib/app/carrier-app-definition.d.ts +7 -9
  2. package/lib/app/constants.d.ts +1 -1
  3. package/lib/app/constants.js +1 -1
  4. package/lib/app/constants.js.map +1 -1
  5. package/lib/app/create-endpoint-mapping.js +1 -1
  6. package/lib/app/create-endpoint-mapping.js.map +1 -1
  7. package/lib/app/metadata/shipping-option.d.ts +1 -0
  8. package/lib/app/metadata/shipping-option.js +1 -0
  9. package/lib/app/metadata/shipping-option.js.map +1 -1
  10. package/lib/models/advanced-options.d.ts +2 -0
  11. package/lib/models/advanced-options.js +2 -0
  12. package/lib/models/advanced-options.js.map +1 -1
  13. package/lib/models/documents/index.d.ts +1 -0
  14. package/lib/models/documents/index.js +1 -0
  15. package/lib/models/documents/index.js.map +1 -1
  16. package/lib/models/documents/uploads/document-upload-format-schema.d.ts +2 -0
  17. package/lib/models/documents/uploads/document-upload-format-schema.js +8 -0
  18. package/lib/models/documents/uploads/document-upload-format-schema.js.map +1 -0
  19. package/lib/models/documents/uploads/document-upload-format.d.ts +5 -0
  20. package/lib/models/documents/uploads/document-upload-format.js +10 -0
  21. package/lib/models/documents/uploads/document-upload-format.js.map +1 -0
  22. package/lib/models/documents/uploads/document-upload-type-schema.d.ts +2 -0
  23. package/lib/models/documents/uploads/document-upload-type-schema.js +8 -0
  24. package/lib/models/documents/uploads/document-upload-type-schema.js.map +1 -0
  25. package/lib/models/documents/uploads/document-upload-type.d.ts +35 -0
  26. package/lib/models/documents/uploads/document-upload-type.js +40 -0
  27. package/lib/models/documents/uploads/document-upload-type.js.map +1 -0
  28. package/lib/models/documents/uploads/index.d.ts +4 -0
  29. package/lib/models/documents/uploads/index.js +8 -0
  30. package/lib/models/documents/uploads/index.js.map +1 -0
  31. package/lib/models/index.d.ts +0 -1
  32. package/lib/models/index.js +0 -1
  33. package/lib/models/index.js.map +1 -1
  34. package/lib/requests/index.d.ts +1 -1
  35. package/lib/requests/index.js +1 -1
  36. package/lib/requests/index.js.map +1 -1
  37. package/lib/requests/upload-document-request.d.ts +21 -0
  38. package/lib/requests/upload-document-request.js +25 -0
  39. package/lib/requests/upload-document-request.js.map +1 -0
  40. package/lib/responses/index.d.ts +2 -4
  41. package/lib/responses/index.js +2 -4
  42. package/lib/responses/index.js.map +1 -1
  43. package/lib/responses/upload-document-response-schema.d.ts +2 -0
  44. package/lib/responses/upload-document-response-schema.js +10 -0
  45. package/lib/responses/upload-document-response-schema.js.map +1 -0
  46. package/lib/responses/upload-document-response.d.ts +8 -0
  47. package/lib/responses/upload-document-response.js +13 -0
  48. package/lib/responses/upload-document-response.js.map +1 -0
  49. package/package.json +1 -1
  50. package/spec.json +96 -110
  51. package/src/app/carrier-app-definition.ts +9 -9
  52. package/src/app/constants.ts +1 -1
  53. package/src/app/create-endpoint-mapping.ts +1 -1
  54. package/src/app/metadata/shipping-option.ts +1 -0
  55. package/src/models/advanced-options.ts +2 -0
  56. package/src/models/documents/index.ts +1 -0
  57. package/src/models/documents/uploads/document-upload-format-schema.ts +6 -0
  58. package/src/models/documents/uploads/document-upload-format.ts +5 -0
  59. package/src/models/documents/uploads/document-upload-type-schema.ts +4 -0
  60. package/src/models/documents/uploads/document-upload-type.ts +35 -0
  61. package/src/models/documents/uploads/index.ts +4 -0
  62. package/src/models/index.ts +0 -1
  63. package/src/requests/index.ts +1 -1
  64. package/src/requests/upload-document-request.ts +22 -0
  65. package/src/responses/index.ts +2 -4
  66. package/src/responses/upload-document-response-schema.ts +6 -0
  67. package/src/responses/upload-document-response.ts +9 -0
  68. package/tsconfig.tsbuildinfo +1 -1
  69. package/lib/models/seller-documents/index.d.ts +0 -2
  70. package/lib/models/seller-documents/index.js +0 -6
  71. package/lib/models/seller-documents/index.js.map +0 -1
  72. package/lib/models/seller-documents/seller-document.d.ts +0 -9
  73. package/lib/models/seller-documents/seller-document.js +0 -14
  74. package/lib/models/seller-documents/seller-document.js.map +0 -1
  75. package/lib/models/seller-documents/seller-documents-schema.d.ts +0 -5
  76. package/lib/models/seller-documents/seller-documents-schema.js +0 -17
  77. package/lib/models/seller-documents/seller-documents-schema.js.map +0 -1
  78. package/lib/requests/upload-documents-request.d.ts +0 -29
  79. package/lib/requests/upload-documents-request.js +0 -33
  80. package/lib/requests/upload-documents-request.js.map +0 -1
  81. package/lib/responses/seller-document-result.d.ts +0 -9
  82. package/lib/responses/seller-document-result.js +0 -14
  83. package/lib/responses/seller-document-result.js.map +0 -1
  84. package/lib/responses/upload-document-result-schema.d.ts +0 -2
  85. package/lib/responses/upload-document-result-schema.js +0 -12
  86. package/lib/responses/upload-document-result-schema.js.map +0 -1
  87. package/lib/responses/upload-documents-response-schema.d.ts +0 -2
  88. package/lib/responses/upload-documents-response-schema.js +0 -11
  89. package/lib/responses/upload-documents-response-schema.js.map +0 -1
  90. package/lib/responses/upload-documents-response.d.ts +0 -8
  91. package/lib/responses/upload-documents-response.js +0 -12
  92. package/lib/responses/upload-documents-response.js.map +0 -1
  93. package/src/models/seller-documents/index.ts +0 -2
  94. package/src/models/seller-documents/seller-document.ts +0 -12
  95. package/src/models/seller-documents/seller-documents-schema.ts +0 -13
  96. package/src/requests/upload-documents-request.ts +0 -38
  97. package/src/responses/seller-document-result.ts +0 -9
  98. package/src/responses/upload-document-result-schema.ts +0 -8
  99. package/src/responses/upload-documents-response-schema.ts +0 -7
  100. package/src/responses/upload-documents-response.ts +0 -9
package/spec.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "info": {
4
4
  "title": "Shipping API",
5
5
  "description": "This API specification describes the canonical ShipEngine Shipping API connector module.",
6
- "version": "1.38.0"
6
+ "version": "1.39.0"
7
7
  },
8
8
  "paths": {
9
9
  "/Register": {
@@ -39,6 +39,37 @@
39
39
  }
40
40
  }
41
41
  },
42
+ "/UploadDocument": {
43
+ "post": {
44
+ "tags": [
45
+ "Documents"
46
+ ],
47
+ "description": "This method uploads a document to the carrier.",
48
+ "operationId": "Upload Document",
49
+ "requestBody": {
50
+ "description": "An object information about the document to upload.",
51
+ "content": {
52
+ "application/json": {
53
+ "schema": {
54
+ "$ref": "#/components/schemas/UploadDocumentRequest"
55
+ }
56
+ }
57
+ }
58
+ },
59
+ "responses": {
60
+ "200": {
61
+ "description": "This object model represents the response from a successful upload document response.",
62
+ "content": {
63
+ "application/json": {
64
+ "schema": {
65
+ "$ref": "#/components/schemas/UploadDocumentResponse"
66
+ }
67
+ }
68
+ }
69
+ }
70
+ }
71
+ }
72
+ },
42
73
  "/CreateLabel": {
43
74
  "post": {
44
75
  "tags": [
@@ -955,6 +986,11 @@
955
986
  "type": "boolean",
956
987
  "description": "Indicates whether the shipment contains fragile items that require special handling to prevent damage during transit and delivery."
957
988
  },
989
+ "service_configuration_id": {
990
+ "type": "string",
991
+ "description": "A unique ID representing a specific carrier service-level or automation rule within the carrier's/aggregator's system.\r\nRequired for configuration-based service selection (e.g., Logistics Aggregators) and custom service-levels (e.g., Royal Mail)\r\nto leverage negotiated rates and service levels.",
992
+ "nullable": true
993
+ },
958
994
  "delivery_as_addressed": {
959
995
  "type": "boolean",
960
996
  "description": "Instructs the carrier to deliver the package only to the exact address provided."
@@ -2335,8 +2371,7 @@
2335
2371
  "DisplayScheme": {
2336
2372
  "enum": [
2337
2373
  "label",
2338
- "paperless_label",
2339
- "no_box_no_label"
2374
+ "paperless_label"
2340
2375
  ],
2341
2376
  "type": "string"
2342
2377
  },
@@ -2386,6 +2421,34 @@
2386
2421
  ],
2387
2422
  "type": "string"
2388
2423
  },
2424
+ "DocumentUploadFormat": {
2425
+ "enum": [
2426
+ "PDF",
2427
+ "PNG"
2428
+ ],
2429
+ "type": "string"
2430
+ },
2431
+ "DocumentUploadType": {
2432
+ "enum": [
2433
+ "commercial_invoice",
2434
+ "certificate_of_origin",
2435
+ "usmca_commercial_invoice_certification_of_origin",
2436
+ "usmca_certification_of_origin",
2437
+ "pro_forma_invoice",
2438
+ "other",
2439
+ "authorization_form",
2440
+ "export_accompanying_document",
2441
+ "export_license",
2442
+ "import_permit",
2443
+ "one_time_nafta",
2444
+ "power_of_attorney",
2445
+ "packing_list",
2446
+ "sed_document",
2447
+ "shippers_letter_of_instruction",
2448
+ "declaration"
2449
+ ],
2450
+ "type": "string"
2451
+ },
2389
2452
  "EstimatedImportCharges": {
2390
2453
  "type": "object",
2391
2454
  "properties": {
@@ -4311,62 +4374,6 @@
4311
4374
  ],
4312
4375
  "type": "string"
4313
4376
  },
4314
- "SellerDocument": {
4315
- "type": "object",
4316
- "properties": {
4317
- "document_upload_id": {
4318
- "type": "string",
4319
- "nullable": true
4320
- },
4321
- "type": {
4322
- "type": "string",
4323
- "description": "Standardized document format.",
4324
- "nullable": true
4325
- },
4326
- "name": {
4327
- "type": "string",
4328
- "description": "The document name.",
4329
- "nullable": true
4330
- },
4331
- "content": {
4332
- "type": "string",
4333
- "description": "Document content in base64 format.",
4334
- "nullable": true
4335
- }
4336
- },
4337
- "additionalProperties": false,
4338
- "description": "Represents a document in the upload request."
4339
- },
4340
- "SellerDocumentResult": {
4341
- "type": "object",
4342
- "properties": {
4343
- "document_upload_id": {
4344
- "type": "string",
4345
- "nullable": true
4346
- },
4347
- "carrier_document_id": {
4348
- "type": "string",
4349
- "description": "The document ID in the carrier's system.",
4350
- "nullable": true
4351
- },
4352
- "uploaded_to_carrier_at": {
4353
- "type": "string",
4354
- "description": "The UTC timestamp of when the document was successfully uploaded to the carrier.",
4355
- "format": "date-time",
4356
- "nullable": true
4357
- },
4358
- "errors": {
4359
- "type": "array",
4360
- "items": {
4361
- "type": "string"
4362
- },
4363
- "description": "The errors that occurred while uploading a document.",
4364
- "nullable": true
4365
- }
4366
- },
4367
- "additionalProperties": false,
4368
- "description": "Represents the result of uploading a document to the carrier."
4369
- },
4370
4377
  "Service": {
4371
4378
  "type": "object",
4372
4379
  "properties": {
@@ -5542,10 +5549,8 @@
5542
5549
  "additionalProperties": false,
5543
5550
  "description": "This model represents the successful response for updating carrier settings request."
5544
5551
  },
5545
- "UploadDocumentsRequest": {
5552
+ "UploadDocumentRequest": {
5546
5553
  "required": [
5547
- "documents",
5548
- "ship_from",
5549
5554
  "transaction_id"
5550
5555
  ],
5551
5556
  "type": "object",
@@ -5555,65 +5560,45 @@
5555
5560
  }
5556
5561
  ],
5557
5562
  "properties": {
5558
- "documents": {
5559
- "type": "array",
5560
- "items": {
5561
- "$ref": "#/components/schemas/SellerDocument"
5562
- },
5563
- "description": "An array of objects, one for each successfully processed document.",
5563
+ "document_id": {
5564
+ "type": "string",
5565
+ "description": "The document id",
5564
5566
  "nullable": true
5565
5567
  },
5566
- "ship_from": {
5567
- "$ref": "#/components/schemas/ShipFrom"
5568
+ "document_type": {
5569
+ "$ref": "#/components/schemas/DocumentUploadType"
5568
5570
  },
5569
- "tracking_number": {
5571
+ "document_format": {
5572
+ "$ref": "#/components/schemas/DocumentUploadFormat"
5573
+ },
5574
+ "file_name": {
5570
5575
  "type": "string",
5571
- "description": "The carrier tracking number for this shipment",
5576
+ "description": "The file name",
5572
5577
  "nullable": true
5573
5578
  },
5574
- "ship_to": {
5575
- "$ref": "#/components/schemas/ShipTo"
5576
- },
5577
- "alternative_identifiers": {
5578
- "type": "array",
5579
- "items": {
5580
- "$ref": "#/components/schemas/Identifier"
5581
- },
5582
- "description": "Alternative identifiers associated with this package",
5579
+ "file_url": {
5580
+ "type": "string",
5581
+ "description": "The file URL",
5583
5582
  "nullable": true
5584
5583
  },
5585
- "service_code": {
5584
+ "tracking_number": {
5586
5585
  "type": "string",
5587
- "description": "The service code used for this shipment",
5586
+ "description": "The carrier tracking number for this shipment",
5588
5587
  "nullable": true
5589
5588
  },
5590
- "packages": {
5589
+ "alternative_identifiers": {
5591
5590
  "type": "array",
5592
5591
  "items": {
5593
- "$ref": "#/components/schemas/ShippedPackage"
5592
+ "$ref": "#/components/schemas/Identifier"
5594
5593
  },
5595
- "description": "The list of packages associated with this shipment",
5596
- "nullable": true
5597
- },
5598
- "advanced_options": {
5599
- "$ref": "#/components/schemas/AdvancedOptions"
5600
- },
5601
- "pickup_location": {
5602
- "$ref": "#/components/schemas/PudoLocation"
5603
- },
5604
- "dropoff_location": {
5605
- "$ref": "#/components/schemas/PudoLocation"
5606
- },
5607
- "reference": {
5608
- "type": "string",
5609
- "description": "User specified free form string to identify shipment in their own system",
5594
+ "description": "Alternative identifiers associated with this package",
5610
5595
  "nullable": true
5611
5596
  }
5612
5597
  },
5613
5598
  "additionalProperties": false,
5614
- "description": "A request to upload documents for a shipment."
5599
+ "description": "A request to upload a document for a shipment."
5615
5600
  },
5616
- "UploadDocumentsResponse": {
5601
+ "UploadDocumentResponse": {
5617
5602
  "type": "object",
5618
5603
  "allOf": [
5619
5604
  {
@@ -5621,17 +5606,14 @@
5621
5606
  }
5622
5607
  ],
5623
5608
  "properties": {
5624
- "documents": {
5625
- "type": "array",
5626
- "items": {
5627
- "$ref": "#/components/schemas/SellerDocumentResult"
5628
- },
5629
- "description": "An array of objects, one for each successfully processed document.",
5609
+ "carrier_document_id": {
5610
+ "type": "string",
5611
+ "description": "The carrier document ID.",
5630
5612
  "nullable": true
5631
5613
  }
5632
5614
  },
5633
5615
  "additionalProperties": false,
5634
- "description": "Response for uploading documents to a carrier."
5616
+ "description": "Response for uploading a document to a carrier."
5635
5617
  },
5636
5618
  "ValidateInboundDataRequest": {
5637
5619
  "required": [
@@ -6077,6 +6059,10 @@
6077
6059
  {
6078
6060
  "name": "Normalize Inbound Data",
6079
6061
  "description": "Given inbound data, such as a webhook with tracking updates, return normalized information."
6062
+ },
6063
+ {
6064
+ "name": "Documents",
6065
+ "description": ""
6080
6066
  }
6081
6067
  ]
6082
- }
6068
+ }
@@ -21,6 +21,7 @@ import {
21
21
  UpdateSettingsRequest,
22
22
  ListPickupsRequest,
23
23
  StartTrackingRequest,
24
+ UploadDocumentRequest,
24
25
  } from '../requests';
25
26
 
26
27
  import {
@@ -42,26 +43,18 @@ import {
42
43
  UpdateSettingsResponse,
43
44
  ListPickupsResponse,
44
45
  StartTrackingResponse,
46
+ UploadDocumentResponse,
45
47
  } from '../responses';
46
48
 
47
49
  import { CarrierAppMetadata } from './metadata/carrier-app-metadata';
48
50
 
49
51
  import { RequestResponseInfo, Handler } from '@shipengine/connect-runtime';
50
- import { UploadDocumentsRequest } from '../requests/upload-documents-request';
51
- import { UploadDocumentsResponse } from '../responses/upload-documents-response';
52
52
 
53
53
  /**
54
54
  * @description This defines a connect carrier app
55
55
  */
56
56
  export interface CarrierAppDefinition {
57
57
  Metadata: CarrierAppMetadata;
58
- /**
59
- * @description This method is used to upload documents to carrier
60
- * @param request Data needed by the provider to upload documents
61
- */
62
- UploadDocuments?: (
63
- request: UploadDocumentsRequest,
64
- ) => UploadDocumentsResponse | Promise<UploadDocumentsResponse>;
65
58
  /**
66
59
  * @description This method is used to register an account
67
60
  * @param request The information needed to register or initialize a connection with the shipping provider
@@ -201,6 +194,13 @@ export interface CarrierAppDefinition {
201
194
  StartTracking?: (
202
195
  request: StartTrackingRequest,
203
196
  ) => StartTrackingResponse | Promise<StartTrackingResponse>;
197
+ /**
198
+ * @description This method is used to upload a document to carrier
199
+ * @param request Data needed by the provider to upload a document
200
+ */
201
+ UploadDocument?: (
202
+ request: UploadDocumentRequest,
203
+ ) => UploadDocumentResponse | Promise<UploadDocumentResponse>;
204
204
  /**
205
205
  * @description A collection of additional routes that can be used to extend the functionality of the app.
206
206
  * Extension methods are not automatically called by the ShipEngine platform, and require working with Auctane developers to implement.
@@ -19,5 +19,5 @@ export enum ApiEndpoints {
19
19
  UpdateSettings = '/UpdateSettings',
20
20
  ListPickups = '/ListPickups',
21
21
  StartTracking = '/StartTracking',
22
- UploadDocuments = '/UploadDocuments',
22
+ UploadDocument = '/UploadDocument',
23
23
  }
@@ -10,7 +10,6 @@ export const createEndpointMapping = (
10
10
  [Method.POST, ApiEndpoints.CancelNotification, definition.CancelNotification],
11
11
  [Method.POST, ApiEndpoints.CancelPickup, definition.CancelPickup],
12
12
  [Method.POST, ApiEndpoints.CreateLabel, definition.CreateLabel],
13
- [Method.POST, ApiEndpoints.UploadDocuments, definition.UploadDocuments],
14
13
  [Method.POST, ApiEndpoints.CreateManifest, definition.CreateManifest],
15
14
  [Method.POST, ApiEndpoints.GetManifest, definition.GetManifest],
16
15
  [Method.POST, ApiEndpoints.CreateNotification, definition.CreateNotification],
@@ -28,5 +27,6 @@ export const createEndpointMapping = (
28
27
  [Method.POST, ApiEndpoints.UpdateSettings, definition.UpdateSettings],
29
28
  [Method.POST, ApiEndpoints.ListPickups, definition.ListPickups],
30
29
  [Method.POST, ApiEndpoints.StartTracking, definition.StartTracking],
30
+ [Method.POST, ApiEndpoints.UploadDocument, definition.UploadDocument],
31
31
  ...mapExtensions(definition.Extensions),
32
32
  ];
@@ -52,6 +52,7 @@ export enum ShippingOptionEnum {
52
52
  CustomerExpectedDeliveryFromDate = 'customer-expected-delivery-from-date',
53
53
  CustomerExpectedDeliveryToDate = 'customer-expected-delivery-to-date',
54
54
  Fragile = 'fragile',
55
+ ServiceConfigurationId = 'service-configuration-id',
55
56
  DeliveryAsAddressed = 'delivery-as-addressed',
56
57
  ReturnAfterFirstAttempt = 'return-after-first-attempt',
57
58
  }
@@ -60,6 +60,8 @@ export class AdvancedOptions {
60
60
  customer_expected_delivery?: CustomerExpectedDelivery;
61
61
  /** @description Describes whether or not the shipment is fragile. */
62
62
  fragile?: boolean;
63
+ /** @description A unique ID representing a specific carrier service-level or automation rule within the carrier's/aggregator's system. */
64
+ service_configuration_id?: string;
63
65
  /** @description Indicates whether the recipient should be notified of events related to the shipment. */
64
66
  delivery_as_addressed?: boolean;
65
67
  /** @description Instructs the carrier to deliver the package only to the exact address provided. */
@@ -1,3 +1,4 @@
1
1
  export * from './document';
2
2
  export * from './document-type';
3
3
  export * from './document-type-schema';
4
+ export * from './uploads';
@@ -0,0 +1,6 @@
1
+ import Joi from 'joi';
2
+ import { DocumentUploadFormat } from './document-upload-format';
3
+
4
+ export const DocumentUploadFormatSchema = Joi.string().valid(
5
+ ...Object.values(DocumentUploadFormat),
6
+ );
@@ -0,0 +1,5 @@
1
+ /** @description Accepted document upload formats */
2
+ export enum DocumentUploadFormat {
3
+ Pdf = 'PDF',
4
+ Png = 'PNG',
5
+ }
@@ -0,0 +1,4 @@
1
+ import Joi from 'joi';
2
+ import { DocumentUploadType } from './document-upload-type';
3
+
4
+ export const DocumentUploadTypeSchema = Joi.string().valid(...Object.values(DocumentUploadType));
@@ -0,0 +1,35 @@
1
+ /** @description Types of uploaded documents */
2
+ export enum DocumentUploadType {
3
+ /** @description A legal document issued by the seller (exporter) to the buyer (importer) in an international transaction and serves as a contract and a proof of sale between the buyer and seller */
4
+ CommercialInvoice = 'commercial_invoice',
5
+ /** @description A certificate of origin */
6
+ CertificateOfOrigin = 'certificate_of_origin',
7
+ /** @description A USMCA commercial invoice certification of origin */
8
+ UsmcaCommercialInvoiceCertificationOfOrigin = 'usmca_commercial_invoice_certification_of_origin',
9
+ /** @description A USMCA Certification of origin */
10
+ UsmcaCertificationOfOrigin = 'usmca_certification_of_origin',
11
+ /** @description A pro forma invoice */
12
+ ProFormaInvoice = 'pro_forma_invoice',
13
+ /** @description Other document type */
14
+ Other = 'other',
15
+ /** @description An authorization form */
16
+ AuthorizationForm = 'authorization_form',
17
+ /** @description An export accompanying document */
18
+ ExportAccompanyingDocument = 'export_accompanying_document',
19
+ /** @description An export license */
20
+ ExportLicense = 'export_license',
21
+ /** @description An import permit */
22
+ ImportPermit = 'import_permit',
23
+ /** @description A one-time NAFTA certificate */
24
+ OneTimeNafta = 'one_time_nafta',
25
+ /** @description A power of attorney document */
26
+ PowerOfAttorney = 'power_of_attorney',
27
+ /** @description A packing list */
28
+ PackingList = 'packing_list',
29
+ /** @description A SED (Shipper's Export Declaration) document */
30
+ SedDocument = 'sed_document',
31
+ /** @description A shipper's letter of instruction */
32
+ ShippersLetterOfInstruction = 'shippers_letter_of_instruction',
33
+ /** @description A declaration document */
34
+ Declaration = 'declaration',
35
+ }
@@ -0,0 +1,4 @@
1
+ export * from './document-upload-format';
2
+ export * from './document-upload-format-schema';
3
+ export * from './document-upload-type';
4
+ export * from './document-upload-type-schema';
@@ -33,7 +33,6 @@ export * from './time-window-schema';
33
33
  export * from './time-window';
34
34
  export * from './tracking';
35
35
  export * from './units';
36
- export * from './seller-documents';
37
36
  export * from './bill-to';
38
37
  export * from './labels/paperless-details';
39
38
  export * from './native-rating-details';
@@ -19,4 +19,4 @@ export * from './void-labels-request';
19
19
  export * from './update-settings-request';
20
20
  export * from './start-tracking-request';
21
21
  export * from './start-tracking-request-schema';
22
- export * from './upload-documents-request';
22
+ export * from './upload-document-request';
@@ -0,0 +1,22 @@
1
+ import { BaseRequest } from './base-request';
2
+ import { Identifier, DocumentUploadFormat, DocumentUploadType } from '../models';
3
+
4
+ /**
5
+ * A request to upload a document for a shipment.
6
+ */
7
+ export class UploadDocumentRequest extends BaseRequest {
8
+ /** @description The document id */
9
+ document_id!: string;
10
+ /** @description The document upload type */
11
+ document_type!: DocumentUploadType;
12
+ /** @description The document upload format */
13
+ document_format!: DocumentUploadFormat;
14
+ /** @description The file name */
15
+ file_name!: string;
16
+ /** @description The file URL */
17
+ file_url!: string;
18
+ /** @description The carrier tracking number for this shipment */
19
+ tracking_number!: string;
20
+ /** @description Non-tracking alternative ids associated with this shipment */
21
+ alternative_identifiers?: Identifier[];
22
+ }
@@ -35,7 +35,5 @@ export * from './update-settings-response-schema';
35
35
  export * from './update-settings-response';
36
36
  export * from './start-tracking-response';
37
37
  export * from './start-tracking-response-schema';
38
- export * from './seller-document-result';
39
- export * from './upload-document-result-schema';
40
- export * from './upload-documents-response-schema';
41
- export * from './upload-documents-response';
38
+ export * from './upload-document-response';
39
+ export * from './upload-document-response-schema';
@@ -0,0 +1,6 @@
1
+ import Joi from 'joi';
2
+ import { BaseResponseSchema } from './base-response-schema';
3
+
4
+ export const UploadDocumentResponseSchema = BaseResponseSchema.keys({
5
+ carrier_document_id: Joi.string().optional().empty(''),
6
+ });
@@ -0,0 +1,9 @@
1
+ import { BaseResponse } from './base-response';
2
+
3
+ /**
4
+ * Response for uploading a document to a carrier.
5
+ */
6
+ export class UploadDocumentResponse extends BaseResponse {
7
+ /** @description The carrier document ID */
8
+ carrier_document_id?: string;
9
+ }