@shipengine/connect-carrier-api 4.25.0 → 4.26.1

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 (95) 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/models/addresses/pudo-location-schema.js +10 -0
  8. package/lib/models/addresses/pudo-location-schema.js.map +1 -1
  9. package/lib/models/documents/index.d.ts +1 -0
  10. package/lib/models/documents/index.js +1 -0
  11. package/lib/models/documents/index.js.map +1 -1
  12. package/lib/models/documents/uploads/document-upload-format-schema.d.ts +2 -0
  13. package/lib/models/documents/uploads/document-upload-format-schema.js +8 -0
  14. package/lib/models/documents/uploads/document-upload-format-schema.js.map +1 -0
  15. package/lib/models/documents/uploads/document-upload-format.d.ts +5 -0
  16. package/lib/models/documents/uploads/document-upload-format.js +10 -0
  17. package/lib/models/documents/uploads/document-upload-format.js.map +1 -0
  18. package/lib/models/documents/uploads/document-upload-type-schema.d.ts +2 -0
  19. package/lib/models/documents/uploads/document-upload-type-schema.js +8 -0
  20. package/lib/models/documents/uploads/document-upload-type-schema.js.map +1 -0
  21. package/lib/models/documents/uploads/document-upload-type.d.ts +35 -0
  22. package/lib/models/documents/uploads/document-upload-type.js +40 -0
  23. package/lib/models/documents/uploads/document-upload-type.js.map +1 -0
  24. package/lib/models/documents/uploads/index.d.ts +4 -0
  25. package/lib/models/documents/uploads/index.js +8 -0
  26. package/lib/models/documents/uploads/index.js.map +1 -0
  27. package/lib/models/index.d.ts +0 -1
  28. package/lib/models/index.js +0 -1
  29. package/lib/models/index.js.map +1 -1
  30. package/lib/requests/index.d.ts +1 -1
  31. package/lib/requests/index.js +1 -1
  32. package/lib/requests/index.js.map +1 -1
  33. package/lib/requests/upload-document-request.d.ts +21 -0
  34. package/lib/requests/upload-document-request.js +25 -0
  35. package/lib/requests/upload-document-request.js.map +1 -0
  36. package/lib/responses/index.d.ts +2 -4
  37. package/lib/responses/index.js +2 -4
  38. package/lib/responses/index.js.map +1 -1
  39. package/lib/responses/upload-document-response-schema.d.ts +2 -0
  40. package/lib/responses/upload-document-response-schema.js +10 -0
  41. package/lib/responses/upload-document-response-schema.js.map +1 -0
  42. package/lib/responses/upload-document-response.d.ts +8 -0
  43. package/lib/responses/upload-document-response.js +13 -0
  44. package/lib/responses/upload-document-response.js.map +1 -0
  45. package/package.json +1 -1
  46. package/spec.json +105 -115
  47. package/src/app/carrier-app-definition.ts +9 -9
  48. package/src/app/constants.ts +1 -1
  49. package/src/app/create-endpoint-mapping.ts +1 -1
  50. package/src/models/addresses/pudo-location-schema.ts +10 -0
  51. package/src/models/documents/index.ts +1 -0
  52. package/src/models/documents/uploads/document-upload-format-schema.ts +6 -0
  53. package/src/models/documents/uploads/document-upload-format.ts +5 -0
  54. package/src/models/documents/uploads/document-upload-type-schema.ts +4 -0
  55. package/src/models/documents/uploads/document-upload-type.ts +35 -0
  56. package/src/models/documents/uploads/index.ts +4 -0
  57. package/src/models/index.ts +0 -1
  58. package/src/requests/index.ts +1 -1
  59. package/src/requests/upload-document-request.ts +22 -0
  60. package/src/responses/index.ts +2 -4
  61. package/src/responses/upload-document-response-schema.ts +6 -0
  62. package/src/responses/upload-document-response.ts +9 -0
  63. package/tsconfig.tsbuildinfo +1 -1
  64. package/lib/models/seller-documents/index.d.ts +0 -2
  65. package/lib/models/seller-documents/index.js +0 -6
  66. package/lib/models/seller-documents/index.js.map +0 -1
  67. package/lib/models/seller-documents/seller-document.d.ts +0 -9
  68. package/lib/models/seller-documents/seller-document.js +0 -14
  69. package/lib/models/seller-documents/seller-document.js.map +0 -1
  70. package/lib/models/seller-documents/seller-documents-schema.d.ts +0 -5
  71. package/lib/models/seller-documents/seller-documents-schema.js +0 -17
  72. package/lib/models/seller-documents/seller-documents-schema.js.map +0 -1
  73. package/lib/requests/upload-documents-request.d.ts +0 -29
  74. package/lib/requests/upload-documents-request.js +0 -33
  75. package/lib/requests/upload-documents-request.js.map +0 -1
  76. package/lib/responses/seller-document-result.d.ts +0 -9
  77. package/lib/responses/seller-document-result.js +0 -14
  78. package/lib/responses/seller-document-result.js.map +0 -1
  79. package/lib/responses/upload-document-result-schema.d.ts +0 -2
  80. package/lib/responses/upload-document-result-schema.js +0 -12
  81. package/lib/responses/upload-document-result-schema.js.map +0 -1
  82. package/lib/responses/upload-documents-response-schema.d.ts +0 -2
  83. package/lib/responses/upload-documents-response-schema.js +0 -11
  84. package/lib/responses/upload-documents-response-schema.js.map +0 -1
  85. package/lib/responses/upload-documents-response.d.ts +0 -8
  86. package/lib/responses/upload-documents-response.js +0 -12
  87. package/lib/responses/upload-documents-response.js.map +0 -1
  88. package/src/models/seller-documents/index.ts +0 -2
  89. package/src/models/seller-documents/seller-document.ts +0 -12
  90. package/src/models/seller-documents/seller-documents-schema.ts +0 -13
  91. package/src/requests/upload-documents-request.ts +0 -38
  92. package/src/responses/seller-document-result.ts +0 -9
  93. package/src/responses/upload-document-result-schema.ts +0 -8
  94. package/src/responses/upload-documents-response-schema.ts +0 -7
  95. 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.39.0"
6
+ "version": "1.39.1"
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": [
@@ -957,7 +988,7 @@
957
988
  },
958
989
  "service_configuration_id": {
959
990
  "type": "string",
960
- "description": "A unique ID representing a specific carrier service-level or automation rule within the carrier's or aggregator's system.",
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.",
961
992
  "nullable": true
962
993
  },
963
994
  "delivery_as_addressed": {
@@ -2340,8 +2371,7 @@
2340
2371
  "DisplayScheme": {
2341
2372
  "enum": [
2342
2373
  "label",
2343
- "paperless_label",
2344
- "no_box_no_label"
2374
+ "paperless_label"
2345
2375
  ],
2346
2376
  "type": "string"
2347
2377
  },
@@ -2391,6 +2421,34 @@
2391
2421
  ],
2392
2422
  "type": "string"
2393
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
+ },
2394
2452
  "EstimatedImportCharges": {
2395
2453
  "type": "object",
2396
2454
  "properties": {
@@ -3863,16 +3921,25 @@
3863
3921
  "description": "Base class for all subscription channel protocols"
3864
3922
  },
3865
3923
  "PudoLocation": {
3866
- "required": [
3867
- "postal_code",
3868
- "country_code"
3869
- ],
3870
3924
  "type": "object",
3871
3925
  "allOf": [
3872
3926
  {
3873
3927
  "$ref": "#/components/schemas/AddressWithContact"
3874
3928
  }
3875
3929
  ],
3930
+ "anyOf": [
3931
+ {
3932
+ "required": [
3933
+ "location_id"
3934
+ ]
3935
+ },
3936
+ {
3937
+ "required": [
3938
+ "postal_code",
3939
+ "country_code"
3940
+ ]
3941
+ }
3942
+ ],
3876
3943
  "properties": {
3877
3944
  "carrier_code": {
3878
3945
  "type": "string",
@@ -4316,62 +4383,6 @@
4316
4383
  ],
4317
4384
  "type": "string"
4318
4385
  },
4319
- "SellerDocument": {
4320
- "type": "object",
4321
- "properties": {
4322
- "document_upload_id": {
4323
- "type": "string",
4324
- "nullable": true
4325
- },
4326
- "type": {
4327
- "type": "string",
4328
- "description": "Standardized document format.",
4329
- "nullable": true
4330
- },
4331
- "name": {
4332
- "type": "string",
4333
- "description": "The document name.",
4334
- "nullable": true
4335
- },
4336
- "content": {
4337
- "type": "string",
4338
- "description": "Document content in base64 format.",
4339
- "nullable": true
4340
- }
4341
- },
4342
- "additionalProperties": false,
4343
- "description": "Represents a document in the upload request."
4344
- },
4345
- "SellerDocumentResult": {
4346
- "type": "object",
4347
- "properties": {
4348
- "document_upload_id": {
4349
- "type": "string",
4350
- "nullable": true
4351
- },
4352
- "carrier_document_id": {
4353
- "type": "string",
4354
- "description": "The document ID in the carrier's system.",
4355
- "nullable": true
4356
- },
4357
- "uploaded_to_carrier_at": {
4358
- "type": "string",
4359
- "description": "The UTC timestamp of when the document was successfully uploaded to the carrier.",
4360
- "format": "date-time",
4361
- "nullable": true
4362
- },
4363
- "errors": {
4364
- "type": "array",
4365
- "items": {
4366
- "type": "string"
4367
- },
4368
- "description": "The errors that occurred while uploading a document.",
4369
- "nullable": true
4370
- }
4371
- },
4372
- "additionalProperties": false,
4373
- "description": "Represents the result of uploading a document to the carrier."
4374
- },
4375
4386
  "Service": {
4376
4387
  "type": "object",
4377
4388
  "properties": {
@@ -5547,10 +5558,8 @@
5547
5558
  "additionalProperties": false,
5548
5559
  "description": "This model represents the successful response for updating carrier settings request."
5549
5560
  },
5550
- "UploadDocumentsRequest": {
5561
+ "UploadDocumentRequest": {
5551
5562
  "required": [
5552
- "documents",
5553
- "ship_from",
5554
5563
  "transaction_id"
5555
5564
  ],
5556
5565
  "type": "object",
@@ -5560,65 +5569,45 @@
5560
5569
  }
5561
5570
  ],
5562
5571
  "properties": {
5563
- "documents": {
5564
- "type": "array",
5565
- "items": {
5566
- "$ref": "#/components/schemas/SellerDocument"
5567
- },
5568
- "description": "An array of objects, one for each successfully processed document.",
5572
+ "document_id": {
5573
+ "type": "string",
5574
+ "description": "The document id",
5569
5575
  "nullable": true
5570
5576
  },
5571
- "ship_from": {
5572
- "$ref": "#/components/schemas/ShipFrom"
5577
+ "document_type": {
5578
+ "$ref": "#/components/schemas/DocumentUploadType"
5573
5579
  },
5574
- "tracking_number": {
5580
+ "document_format": {
5581
+ "$ref": "#/components/schemas/DocumentUploadFormat"
5582
+ },
5583
+ "file_name": {
5575
5584
  "type": "string",
5576
- "description": "The carrier tracking number for this shipment",
5585
+ "description": "The file name",
5577
5586
  "nullable": true
5578
5587
  },
5579
- "ship_to": {
5580
- "$ref": "#/components/schemas/ShipTo"
5581
- },
5582
- "alternative_identifiers": {
5583
- "type": "array",
5584
- "items": {
5585
- "$ref": "#/components/schemas/Identifier"
5586
- },
5587
- "description": "Alternative identifiers associated with this package",
5588
+ "file_url": {
5589
+ "type": "string",
5590
+ "description": "The file URL",
5588
5591
  "nullable": true
5589
5592
  },
5590
- "service_code": {
5593
+ "tracking_number": {
5591
5594
  "type": "string",
5592
- "description": "The service code used for this shipment",
5595
+ "description": "The carrier tracking number for this shipment",
5593
5596
  "nullable": true
5594
5597
  },
5595
- "packages": {
5598
+ "alternative_identifiers": {
5596
5599
  "type": "array",
5597
5600
  "items": {
5598
- "$ref": "#/components/schemas/ShippedPackage"
5601
+ "$ref": "#/components/schemas/Identifier"
5599
5602
  },
5600
- "description": "The list of packages associated with this shipment",
5601
- "nullable": true
5602
- },
5603
- "advanced_options": {
5604
- "$ref": "#/components/schemas/AdvancedOptions"
5605
- },
5606
- "pickup_location": {
5607
- "$ref": "#/components/schemas/PudoLocation"
5608
- },
5609
- "dropoff_location": {
5610
- "$ref": "#/components/schemas/PudoLocation"
5611
- },
5612
- "reference": {
5613
- "type": "string",
5614
- "description": "User specified free form string to identify shipment in their own system",
5603
+ "description": "Alternative identifiers associated with this package",
5615
5604
  "nullable": true
5616
5605
  }
5617
5606
  },
5618
5607
  "additionalProperties": false,
5619
- "description": "A request to upload documents for a shipment."
5608
+ "description": "A request to upload a document for a shipment."
5620
5609
  },
5621
- "UploadDocumentsResponse": {
5610
+ "UploadDocumentResponse": {
5622
5611
  "type": "object",
5623
5612
  "allOf": [
5624
5613
  {
@@ -5626,17 +5615,14 @@
5626
5615
  }
5627
5616
  ],
5628
5617
  "properties": {
5629
- "documents": {
5630
- "type": "array",
5631
- "items": {
5632
- "$ref": "#/components/schemas/SellerDocumentResult"
5633
- },
5634
- "description": "An array of objects, one for each successfully processed document.",
5618
+ "carrier_document_id": {
5619
+ "type": "string",
5620
+ "description": "The carrier document ID.",
5635
5621
  "nullable": true
5636
5622
  }
5637
5623
  },
5638
5624
  "additionalProperties": false,
5639
- "description": "Response for uploading documents to a carrier."
5625
+ "description": "Response for uploading a document to a carrier."
5640
5626
  },
5641
5627
  "ValidateInboundDataRequest": {
5642
5628
  "required": [
@@ -6082,6 +6068,10 @@
6082
6068
  {
6083
6069
  "name": "Normalize Inbound Data",
6084
6070
  "description": "Given inbound data, such as a webhook with tracking updates, return normalized information."
6071
+ },
6072
+ {
6073
+ "name": "Documents",
6074
+ "description": ""
6085
6075
  }
6086
6076
  ]
6087
- }
6077
+ }
@@ -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
  ];
@@ -4,4 +4,14 @@ import { AddressBaseSchema } from './address-base-schema';
4
4
  export const PudoLocationSchema = AddressBaseSchema.keys({
5
5
  carrier_code: Joi.string().optional(),
6
6
  location_id: Joi.string().optional(),
7
+ postal_code: Joi.string().when('location_id', {
8
+ is: Joi.exist(),
9
+ then: Joi.optional().allow(''),
10
+ otherwise: Joi.required(),
11
+ }),
12
+ country_code: Joi.string().when('location_id', {
13
+ is: Joi.exist(),
14
+ then: Joi.optional().allow(''),
15
+ otherwise: Joi.required(),
16
+ }),
7
17
  });
@@ -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
+ }