@shipengine/connect-carrier-api 2.12.19 → 4.0.0-beta

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 (252) hide show
  1. package/lib/app/build-app-deployment.d.ts +3 -0
  2. package/lib/app/build-app-deployment.js +41 -0
  3. package/lib/app/build-app-deployment.js.map +1 -0
  4. package/lib/app/create-endpoint-mapping.d.ts +4 -0
  5. package/lib/app/create-endpoint-mapping.js +26 -0
  6. package/lib/app/create-endpoint-mapping.js.map +1 -0
  7. package/lib/app/index.d.ts +4 -2
  8. package/lib/app/index.js +4 -2
  9. package/lib/app/index.js.map +1 -1
  10. package/lib/app/metadata/index.d.ts +2 -0
  11. package/lib/app/metadata/index.js +2 -0
  12. package/lib/app/metadata/index.js.map +1 -1
  13. package/lib/app/{native-rating/data-validator.d.ts → native-rating-data-validator.d.ts} +1 -1
  14. package/lib/app/{native-rating/data-validator.js → native-rating-data-validator.js} +1 -1
  15. package/lib/app/native-rating-data-validator.js.map +1 -0
  16. package/lib/models/addresses/address-base-schema.d.ts +2 -0
  17. package/lib/models/addresses/address-base-schema.js +24 -0
  18. package/lib/models/addresses/address-base-schema.js.map +1 -0
  19. package/lib/models/addresses/address-residential-indicator-schema.d.ts +2 -0
  20. package/lib/models/addresses/address-residential-indicator-schema.js +8 -0
  21. package/lib/models/addresses/address-residential-indicator-schema.js.map +1 -0
  22. package/lib/models/addresses/pudo-location-schema.d.ts +2 -0
  23. package/lib/models/addresses/pudo-location-schema.js +11 -0
  24. package/lib/models/addresses/pudo-location-schema.js.map +1 -0
  25. package/lib/models/addresses/ship-to-schema.d.ts +2 -0
  26. package/lib/models/addresses/ship-to-schema.js +11 -0
  27. package/lib/models/addresses/ship-to-schema.js.map +1 -0
  28. package/lib/models/advanced-options-schema.d.ts +2 -0
  29. package/lib/models/advanced-options-schema.js +15 -0
  30. package/lib/models/advanced-options-schema.js.map +1 -0
  31. package/lib/models/advanced-options.d.ts +0 -5
  32. package/lib/models/advanced-options.js.map +1 -1
  33. package/lib/models/authorization-schema.d.ts +2 -0
  34. package/lib/models/authorization-schema.js +10 -0
  35. package/lib/models/authorization-schema.js.map +1 -0
  36. package/lib/models/billing/index.d.ts +0 -1
  37. package/lib/models/billing/index.js +0 -1
  38. package/lib/models/billing/index.js.map +1 -1
  39. package/lib/models/customs/customs-charges-schema.d.ts +2 -0
  40. package/lib/models/customs/customs-charges-schema.js +13 -0
  41. package/lib/models/customs/customs-charges-schema.js.map +1 -0
  42. package/lib/models/customs/customs-content-types-schema.d.ts +2 -0
  43. package/lib/models/customs/customs-content-types-schema.js +8 -0
  44. package/lib/models/customs/customs-content-types-schema.js.map +1 -0
  45. package/lib/models/customs/customs-item-schema.d.ts +2 -0
  46. package/lib/models/customs/customs-item-schema.js +21 -0
  47. package/lib/models/customs/customs-item-schema.js.map +1 -0
  48. package/lib/models/customs/customs-non-delivery-schema.d.ts +2 -0
  49. package/lib/models/customs/customs-non-delivery-schema.js +8 -0
  50. package/lib/models/customs/customs-non-delivery-schema.js.map +1 -0
  51. package/lib/models/customs/customs-schema.d.ts +2 -0
  52. package/lib/models/customs/customs-schema.js +25 -0
  53. package/lib/models/customs/customs-schema.js.map +1 -0
  54. package/lib/models/customs/customs.d.ts +2 -2
  55. package/lib/models/importer-records/importer-of-record-schema.d.ts +2 -0
  56. package/lib/models/importer-records/importer-of-record-schema.js +20 -0
  57. package/lib/models/importer-records/importer-of-record-schema.js.map +1 -0
  58. package/lib/models/importer-records/{importer_of_record.js → importer-of-record.js} +1 -1
  59. package/lib/models/importer-records/importer-of-record.js.map +1 -0
  60. package/lib/models/inconterms/terms-of-trade-code-schema.d.ts +2 -0
  61. package/lib/models/inconterms/terms-of-trade-code-schema.js +8 -0
  62. package/lib/models/inconterms/terms-of-trade-code-schema.js.map +1 -0
  63. package/lib/models/index.d.ts +0 -3
  64. package/lib/models/index.js +0 -3
  65. package/lib/models/index.js.map +1 -1
  66. package/lib/models/labels/label-message-schema.d.ts +2 -0
  67. package/lib/models/labels/label-message-schema.js +11 -0
  68. package/lib/models/labels/label-message-schema.js.map +1 -0
  69. package/lib/models/pickup/shipped-package-schema.d.ts +2 -0
  70. package/lib/models/pickup/shipped-package-schema.js +25 -0
  71. package/lib/models/pickup/shipped-package-schema.js.map +1 -0
  72. package/lib/models/pickup/shipped-shipment-schema.d.ts +3 -0
  73. package/lib/models/pickup/shipped-shipment-schema.js +21 -0
  74. package/lib/models/pickup/shipped-shipment-schema.js.map +1 -0
  75. package/lib/models/taxes/tax-identifier-schema.d.ts +2 -0
  76. package/lib/models/taxes/tax-identifier-schema.js +13 -0
  77. package/lib/models/taxes/tax-identifier-schema.js.map +1 -0
  78. package/lib/models/taxes/tax-identifier-type-schema.d.ts +2 -0
  79. package/lib/models/taxes/tax-identifier-type-schema.js +8 -0
  80. package/lib/models/taxes/tax-identifier-type-schema.js.map +1 -0
  81. package/lib/models/taxes/tax-identifier.d.ts +1 -3
  82. package/lib/models/taxes/tax-identifier.js.map +1 -1
  83. package/lib/models/units/dimension-details-schema.d.ts +2 -0
  84. package/lib/models/units/dimension-details-schema.js +14 -0
  85. package/lib/models/units/dimension-details-schema.js.map +1 -0
  86. package/lib/models/units/dimension-unit-schema.d.ts +2 -0
  87. package/lib/models/units/dimension-unit-schema.js +8 -0
  88. package/lib/models/units/dimension-unit-schema.js.map +1 -0
  89. package/lib/models/units/weight-details-schema.d.ts +2 -0
  90. package/lib/models/units/weight-details-schema.js +13 -0
  91. package/lib/models/units/weight-details-schema.js.map +1 -0
  92. package/lib/models/units/weight-unit-schema.d.ts +2 -0
  93. package/lib/models/units/weight-unit-schema.js +8 -0
  94. package/lib/models/units/weight-unit-schema.js.map +1 -0
  95. package/lib/requests/base-request-schema.d.ts +2 -0
  96. package/lib/requests/base-request-schema.js +12 -0
  97. package/lib/requests/base-request-schema.js.map +1 -0
  98. package/lib/requests/cancel-notification-request-schema.d.ts +2 -0
  99. package/lib/requests/cancel-notification-request-schema.js +12 -0
  100. package/lib/requests/cancel-notification-request-schema.js.map +1 -0
  101. package/lib/requests/create-label-request.d.ts +1 -3
  102. package/lib/requests/create-label-request.js.map +1 -1
  103. package/lib/requests/get-rates-request.d.ts +1 -3
  104. package/lib/requests/get-rates-request.js.map +1 -1
  105. package/package.json +2 -2
  106. package/spec.json +1 -49
  107. package/src/app/build-app-deployment.ts +50 -0
  108. package/src/app/create-endpoint-mapping.ts +25 -0
  109. package/src/app/index.ts +4 -2
  110. package/src/app/metadata/index.ts +2 -0
  111. package/src/app/{native-rating/data-validator.ts → native-rating-data-validator.ts} +1 -1
  112. package/src/models/addresses/address-base-schema.ts +20 -0
  113. package/src/models/addresses/address-residential-indicator-schema.ts +6 -0
  114. package/src/models/addresses/pudo-location-schema.ts +7 -0
  115. package/src/models/addresses/ship-to-schema.ts +7 -0
  116. package/src/models/advanced-options-schema.ts +11 -0
  117. package/src/models/advanced-options.ts +0 -5
  118. package/src/models/authorization-schema.ts +6 -0
  119. package/src/models/billing/index.ts +0 -1
  120. package/src/models/customs/customs-charges-schema.ts +9 -0
  121. package/src/models/customs/customs-content-types-schema.ts +4 -0
  122. package/src/models/customs/customs-item-schema.ts +17 -0
  123. package/src/models/customs/customs-non-delivery-schema.ts +4 -0
  124. package/src/models/customs/customs-schema.ts +21 -0
  125. package/src/models/customs/customs.ts +2 -2
  126. package/src/models/importer-records/importer-of-record-schema.ts +16 -0
  127. package/src/models/inconterms/terms-of-trade-code-schema.ts +4 -0
  128. package/src/models/index.ts +0 -3
  129. package/src/models/labels/label-message-schema.ts +7 -0
  130. package/src/models/pickup/shipped-package-schema.ts +21 -0
  131. package/src/models/pickup/shipped-shipment-schema.ts +18 -0
  132. package/src/models/taxes/tax-identifier-schema.ts +9 -0
  133. package/src/models/taxes/tax-identifier-type-schema.ts +4 -0
  134. package/src/models/taxes/tax-identifier.ts +1 -3
  135. package/src/models/units/dimension-details-schema.ts +10 -0
  136. package/src/models/units/dimension-unit-schema.ts +4 -0
  137. package/src/models/units/weight-details-schema.ts +9 -0
  138. package/src/models/units/weight-unit-schema.ts +4 -0
  139. package/src/requests/base-request-schema.ts +8 -0
  140. package/src/requests/cancel-notification-request-schema.ts +8 -0
  141. package/src/requests/create-label-request.ts +0 -3
  142. package/src/requests/get-rates-request.ts +0 -3
  143. package/tsconfig.tsbuildinfo +1 -1
  144. package/lib/app/build-native-rating-routes.d.ts +0 -3
  145. package/lib/app/build-native-rating-routes.js +0 -105
  146. package/lib/app/build-native-rating-routes.js.map +0 -1
  147. package/lib/app/carrier-app.d.ts +0 -15
  148. package/lib/app/carrier-app.js +0 -166
  149. package/lib/app/carrier-app.js.map +0 -1
  150. package/lib/app/create-get-rates-handler.d.ts +0 -4
  151. package/lib/app/create-get-rates-handler.js +0 -100
  152. package/lib/app/create-get-rates-handler.js.map +0 -1
  153. package/lib/app/internal/branded-image.d.ts +0 -9
  154. package/lib/app/internal/branded-image.js +0 -3
  155. package/lib/app/internal/branded-image.js.map +0 -1
  156. package/lib/app/internal/carrier-app-specification.d.ts +0 -16
  157. package/lib/app/internal/carrier-app-specification.js +0 -3
  158. package/lib/app/internal/carrier-app-specification.js.map +0 -1
  159. package/lib/app/internal/carrier-specification.d.ts +0 -38
  160. package/lib/app/internal/carrier-specification.js +0 -86
  161. package/lib/app/internal/carrier-specification.js.map +0 -1
  162. package/lib/app/internal/connect-runtime-app.d.ts +0 -14
  163. package/lib/app/internal/connect-runtime-app.js +0 -3
  164. package/lib/app/internal/connect-runtime-app.js.map +0 -1
  165. package/lib/app/internal/document-template.d.ts +0 -7
  166. package/lib/app/internal/document-template.js +0 -3
  167. package/lib/app/internal/document-template.js.map +0 -1
  168. package/lib/app/internal/index.d.ts +0 -3
  169. package/lib/app/internal/index.js +0 -7
  170. package/lib/app/internal/index.js.map +0 -1
  171. package/lib/app/internal/metadata.d.ts +0 -13
  172. package/lib/app/internal/metadata.js +0 -64
  173. package/lib/app/internal/metadata.js.map +0 -1
  174. package/lib/app/internal/native-rating-specification.d.ts +0 -5
  175. package/lib/app/internal/native-rating-specification.js +0 -3
  176. package/lib/app/internal/native-rating-specification.js.map +0 -1
  177. package/lib/app/internal/route.d.ts +0 -27
  178. package/lib/app/internal/route.js +0 -12
  179. package/lib/app/internal/route.js.map +0 -1
  180. package/lib/app/native-rating/base-rate-context.d.ts +0 -3
  181. package/lib/app/native-rating/base-rate-context.js +0 -83
  182. package/lib/app/native-rating/base-rate-context.js.map +0 -1
  183. package/lib/app/native-rating/context-results.d.ts +0 -3
  184. package/lib/app/native-rating/context-results.js +0 -3
  185. package/lib/app/native-rating/context-results.js.map +0 -1
  186. package/lib/app/native-rating/create-dynamic-carrier.d.ts +0 -7
  187. package/lib/app/native-rating/create-dynamic-carrier.js +0 -63
  188. package/lib/app/native-rating/create-dynamic-carrier.js.map +0 -1
  189. package/lib/app/native-rating/data-validator.js.map +0 -1
  190. package/lib/app/native-rating/get-rates.d.ts +0 -7
  191. package/lib/app/native-rating/get-rates.js +0 -3
  192. package/lib/app/native-rating/get-rates.js.map +0 -1
  193. package/lib/app/native-rating/get-variables.d.ts +0 -6
  194. package/lib/app/native-rating/get-variables.js +0 -3
  195. package/lib/app/native-rating/get-variables.js.map +0 -1
  196. package/lib/app/native-rating/get-zone.d.ts +0 -6
  197. package/lib/app/native-rating/get-zone.js +0 -3
  198. package/lib/app/native-rating/get-zone.js.map +0 -1
  199. package/lib/app/native-rating/implementation-type.d.ts +0 -31
  200. package/lib/app/native-rating/implementation-type.js +0 -8
  201. package/lib/app/native-rating/implementation-type.js.map +0 -1
  202. package/lib/app/native-rating/index.d.ts +0 -3
  203. package/lib/app/native-rating/index.js +0 -7
  204. package/lib/app/native-rating/index.js.map +0 -1
  205. package/lib/app/native-rating/numeric-currency.d.ts +0 -5
  206. package/lib/app/native-rating/numeric-currency.js +0 -3
  207. package/lib/app/native-rating/numeric-currency.js.map +0 -1
  208. package/lib/app/native-rating/rating-context.d.ts +0 -15
  209. package/lib/app/native-rating/rating-context.js +0 -3
  210. package/lib/app/native-rating/rating-context.js.map +0 -1
  211. package/lib/models/bill-to.d.ts +0 -14
  212. package/lib/models/bill-to.js +0 -14
  213. package/lib/models/bill-to.js.map +0 -1
  214. package/lib/models/billing/billing-to-party.d.ts +0 -10
  215. package/lib/models/billing/billing-to-party.js +0 -15
  216. package/lib/models/billing/billing-to-party.js.map +0 -1
  217. package/lib/models/cod-payment-type.d.ts +0 -9
  218. package/lib/models/cod-payment-type.js +0 -14
  219. package/lib/models/cod-payment-type.js.map +0 -1
  220. package/lib/models/collect-on-delivery.d.ts +0 -9
  221. package/lib/models/collect-on-delivery.js +0 -8
  222. package/lib/models/collect-on-delivery.js.map +0 -1
  223. package/lib/models/importer-records/importer_of_record.js.map +0 -1
  224. package/src/app/build-native-rating-routes.ts +0 -119
  225. package/src/app/carrier-app.ts +0 -222
  226. package/src/app/create-get-rates-handler.ts +0 -128
  227. package/src/app/internal/README.md +0 -1
  228. package/src/app/internal/branded-image.ts +0 -9
  229. package/src/app/internal/carrier-app-specification.ts +0 -17
  230. package/src/app/internal/carrier-specification.ts +0 -135
  231. package/src/app/internal/connect-runtime-app.ts +0 -15
  232. package/src/app/internal/document-template.ts +0 -7
  233. package/src/app/internal/index.ts +0 -3
  234. package/src/app/internal/metadata.ts +0 -86
  235. package/src/app/internal/native-rating-specification.ts +0 -5
  236. package/src/app/internal/route.ts +0 -31
  237. package/src/app/native-rating/base-rate-context.ts +0 -101
  238. package/src/app/native-rating/context-results.ts +0 -3
  239. package/src/app/native-rating/create-dynamic-carrier.ts +0 -82
  240. package/src/app/native-rating/get-rates.ts +0 -9
  241. package/src/app/native-rating/get-variables.ts +0 -8
  242. package/src/app/native-rating/get-zone.ts +0 -9
  243. package/src/app/native-rating/implementation-type.ts +0 -34
  244. package/src/app/native-rating/index.ts +0 -3
  245. package/src/app/native-rating/numeric-currency.ts +0 -5
  246. package/src/app/native-rating/rating-context.ts +0 -19
  247. package/src/models/bill-to.ts +0 -15
  248. package/src/models/billing/billing-to-party.ts +0 -10
  249. package/src/models/cod-payment-type.ts +0 -9
  250. package/src/models/collect-on-delivery.ts +0 -10
  251. /package/lib/models/importer-records/{importer_of_record.d.ts → importer-of-record.d.ts} +0 -0
  252. /package/src/models/importer-records/{importer_of_record.ts → importer-of-record.ts} +0 -0
@@ -0,0 +1,2 @@
1
+ import Joi from 'joi';
2
+ export declare const LabelMessageSchema: Joi.ObjectSchema<any>;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LabelMessageSchema = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const joi_1 = tslib_1.__importDefault(require("joi"));
6
+ exports.LabelMessageSchema = joi_1.default.object({
7
+ reference1: joi_1.default.string().optional(),
8
+ reference2: joi_1.default.string().optional(),
9
+ reference3: joi_1.default.string().optional(),
10
+ });
11
+ //# sourceMappingURL=label-message-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label-message-schema.js","sourceRoot":"","sources":["../../../src/models/labels/label-message-schema.ts"],"names":[],"mappings":";;;;AAAA,sDAAsB;AAET,QAAA,kBAAkB,GAAG,aAAG,CAAC,MAAM,CAAC;IAC3C,UAAU,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,UAAU,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,UAAU,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import Joi from 'joi';
2
+ export declare const ShippedPackageSchema: Joi.ObjectSchema<any>;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ShippedPackageSchema = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const joi_1 = tslib_1.__importDefault(require("joi"));
6
+ const identifier_schema_1 = require("../identifier-schema");
7
+ const units_1 = require("../units");
8
+ const currency_schema_1 = require("../currency-schema");
9
+ const dimension_details_schema_1 = require("../units/dimension-details-schema");
10
+ const weight_details_schema_1 = require("../units/weight-details-schema");
11
+ const label_message_schema_1 = require("../labels/label-message-schema");
12
+ const customs_schema_1 = require("../customs/customs-schema");
13
+ exports.ShippedPackageSchema = joi_1.default.object({
14
+ tracking_number: joi_1.default.string().optional(),
15
+ alternative_identifiers: joi_1.default.array().items(identifier_schema_1.IdentifierSchema).optional(),
16
+ dimension_details: dimension_details_schema_1.DimensionDetailsSchema.optional(),
17
+ weight_details: weight_details_schema_1.WeightDetailsSchema.optional(),
18
+ package_code: joi_1.default.string().optional(),
19
+ weight: joi_1.default.number().optional(),
20
+ dimensions: units_1.DimensionsSchema.optional(),
21
+ insured_value: currency_schema_1.CurrencySchema.required(),
22
+ label_messages: label_message_schema_1.LabelMessageSchema.optional(),
23
+ customs: customs_schema_1.CustomsSchema.optional(),
24
+ });
25
+ //# sourceMappingURL=shipped-package-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shipped-package-schema.js","sourceRoot":"","sources":["../../../src/models/pickup/shipped-package-schema.ts"],"names":[],"mappings":";;;;AAAA,sDAAsB;AACtB,4DAAwD;AACxD,oCAA4C;AAC5C,wDAAoD;AACpD,gFAA2E;AAC3E,0EAAqE;AACrE,yEAAoE;AACpE,8DAA0D;AAE7C,QAAA,oBAAoB,GAAG,aAAG,CAAC,MAAM,CAAC;IAC7C,eAAe,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,uBAAuB,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,oCAAgB,CAAC,CAAC,QAAQ,EAAE;IACvE,iBAAiB,EAAE,iDAAsB,CAAC,QAAQ,EAAE;IACpD,cAAc,EAAE,2CAAmB,CAAC,QAAQ,EAAE;IAC9C,YAAY,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,MAAM,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,UAAU,EAAE,wBAAgB,CAAC,QAAQ,EAAE;IACvC,aAAa,EAAE,gCAAc,CAAC,QAAQ,EAAE;IACxC,cAAc,EAAE,yCAAkB,CAAC,QAAQ,EAAE;IAC7C,OAAO,EAAE,8BAAa,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import Joi from 'joi';
2
+ export declare const ShippedShipmentSchema: Joi.ObjectSchema<any>;
3
+ export declare const PickupShipment: Joi.ObjectSchema<any>;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PickupShipment = exports.ShippedShipmentSchema = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const joi_1 = tslib_1.__importDefault(require("joi"));
6
+ const models_1 = require("../../models");
7
+ const ship_to_schema_1 = require("../addresses/ship-to-schema");
8
+ const shipped_package_schema_1 = require("./shipped-package-schema");
9
+ const advanced_options_schema_1 = require("../advanced-options-schema");
10
+ const pudo_location_schema_1 = require("../addresses/pudo-location-schema");
11
+ exports.ShippedShipmentSchema = joi_1.default.object({
12
+ tracking_number: joi_1.default.string().optional(),
13
+ ship_to: ship_to_schema_1.ShipToSchema.optional(),
14
+ alternative_identifiers: joi_1.default.array().items(models_1.IdentifierSchema).optional(),
15
+ service_code: joi_1.default.string().optional(),
16
+ packages: joi_1.default.array().items(shipped_package_schema_1.ShippedPackageSchema).optional(),
17
+ advanced_options: advanced_options_schema_1.AdvancedOptionsSchema.optional(),
18
+ pickup_location: pudo_location_schema_1.PudoLocationSchema.optional(),
19
+ });
20
+ exports.PickupShipment = exports.ShippedShipmentSchema;
21
+ //# sourceMappingURL=shipped-shipment-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shipped-shipment-schema.js","sourceRoot":"","sources":["../../../src/models/pickup/shipped-shipment-schema.ts"],"names":[],"mappings":";;;;AAAA,sDAAsB;AACtB,yCAAgD;AAChD,gEAA2D;AAC3D,qEAAgE;AAChE,wEAAmE;AACnE,4EAAuE;AAE1D,QAAA,qBAAqB,GAAG,aAAG,CAAC,MAAM,CAAC;IAC9C,eAAe,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,OAAO,EAAE,6BAAY,CAAC,QAAQ,EAAE;IAChC,uBAAuB,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,yBAAgB,CAAC,CAAC,QAAQ,EAAE;IACvE,YAAY,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,QAAQ,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,6CAAoB,CAAC,CAAC,QAAQ,EAAE;IAC5D,gBAAgB,EAAE,+CAAqB,CAAC,QAAQ,EAAE;IAClD,eAAe,EAAE,yCAAkB,CAAC,QAAQ,EAAE;CAC/C,CAAC,CAAC;AAEU,QAAA,cAAc,GAAG,6BAAqB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import Joi from 'joi';
2
+ export declare const TaxIdentifierSchema: Joi.ObjectSchema<any>;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TaxIdentifierSchema = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const joi_1 = tslib_1.__importDefault(require("joi"));
6
+ const tax_identifier_type_schema_1 = require("./tax-identifier-type-schema");
7
+ exports.TaxIdentifierSchema = joi_1.default.object({
8
+ id: joi_1.default.string(),
9
+ type: tax_identifier_type_schema_1.TaxIdentifierTypeSchema,
10
+ registration_county: joi_1.default.string().optional(),
11
+ description: joi_1.default.string().optional(),
12
+ });
13
+ //# sourceMappingURL=tax-identifier-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tax-identifier-schema.js","sourceRoot":"","sources":["../../../src/models/taxes/tax-identifier-schema.ts"],"names":[],"mappings":";;;;AAAA,sDAAsB;AACtB,6EAAuE;AAE1D,QAAA,mBAAmB,GAAG,aAAG,CAAC,MAAM,CAAC;IAC5C,EAAE,EAAE,aAAG,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,oDAAuB;IAC7B,mBAAmB,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5C,WAAW,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import Joi from 'joi';
2
+ export declare const TaxIdentifierTypeSchema: Joi.StringSchema;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TaxIdentifierTypeSchema = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const joi_1 = tslib_1.__importDefault(require("joi"));
6
+ const tax_identifier_type_1 = require("./tax-identifier-type");
7
+ exports.TaxIdentifierTypeSchema = joi_1.default.string().valid(...Object.values(tax_identifier_type_1.TaxIdentifierType));
8
+ //# sourceMappingURL=tax-identifier-type-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tax-identifier-type-schema.js","sourceRoot":"","sources":["../../../src/models/taxes/tax-identifier-type-schema.ts"],"names":[],"mappings":";;;;AAAA,sDAAsB;AACtB,+DAA0D;AAE7C,QAAA,uBAAuB,GAAG,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,uCAAiB,CAAC,CAAC,CAAC"}
@@ -5,10 +5,8 @@ export declare class TaxIdentifier {
5
5
  id: string;
6
6
  /** @description The Tax ID type */
7
7
  type: TaxIdentifierType;
8
- /** @deprecated This property has been deprecated, please use registration_country instead */
9
- registration_county?: string;
10
8
  /** @description The country where the Tax ID is registered with */
11
- registration_country?: string;
9
+ registration_county?: string;
12
10
  /** @description Description of the tax ID that may give the customs agent more context */
13
11
  description?: string;
14
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tax-identifier.js","sourceRoot":"","sources":["../../../src/models/taxes/tax-identifier.ts"],"names":[],"mappings":";;;AAEA,sGAAsG;AACtG,MAAa,aAAa;CAWzB;AAXD,sCAWC"}
1
+ {"version":3,"file":"tax-identifier.js","sourceRoot":"","sources":["../../../src/models/taxes/tax-identifier.ts"],"names":[],"mappings":";;;AAEA,sGAAsG;AACtG,MAAa,aAAa;CASzB;AATD,sCASC"}
@@ -0,0 +1,2 @@
1
+ import Joi from 'joi';
2
+ export declare const DimensionDetailsSchema: Joi.ObjectSchema<any>;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DimensionDetailsSchema = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const joi_1 = tslib_1.__importDefault(require("joi"));
6
+ const dimensions_schema_1 = require("./dimensions-schema");
7
+ const dimension_unit_schema_1 = require("./dimension-unit-schema");
8
+ exports.DimensionDetailsSchema = joi_1.default.object({
9
+ dimensions_in_centimeters: dimensions_schema_1.DimensionsSchema.optional(),
10
+ dimensions_in_inches: dimensions_schema_1.DimensionsSchema.optional(),
11
+ source_dimensions: dimensions_schema_1.DimensionsSchema.optional(),
12
+ source_dimension_unit: dimension_unit_schema_1.DimensionUnitSchema.required(),
13
+ });
14
+ //# sourceMappingURL=dimension-details-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dimension-details-schema.js","sourceRoot":"","sources":["../../../src/models/units/dimension-details-schema.ts"],"names":[],"mappings":";;;;AAAA,sDAAsB;AACtB,2DAAuD;AACvD,mEAA8D;AAEjD,QAAA,sBAAsB,GAAG,aAAG,CAAC,MAAM,CAAC;IAC/C,yBAAyB,EAAE,oCAAgB,CAAC,QAAQ,EAAE;IACtD,oBAAoB,EAAE,oCAAgB,CAAC,QAAQ,EAAE;IACjD,iBAAiB,EAAE,oCAAgB,CAAC,QAAQ,EAAE;IAC9C,qBAAqB,EAAE,2CAAmB,CAAC,QAAQ,EAAE;CACtD,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import Joi from 'joi';
2
+ export declare const DimensionUnitSchema: Joi.StringSchema;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DimensionUnitSchema = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const joi_1 = tslib_1.__importDefault(require("joi"));
6
+ const dimension_unit_1 = require("./dimension-unit");
7
+ exports.DimensionUnitSchema = joi_1.default.string().valid(...Object.values(dimension_unit_1.DimensionUnit));
8
+ //# sourceMappingURL=dimension-unit-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dimension-unit-schema.js","sourceRoot":"","sources":["../../../src/models/units/dimension-unit-schema.ts"],"names":[],"mappings":";;;;AAAA,sDAAsB;AACtB,qDAAiD;AAEpC,QAAA,mBAAmB,GAAG,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,8BAAa,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import Joi from 'joi';
2
+ export declare const WeightDetailsSchema: Joi.ObjectSchema<any>;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WeightDetailsSchema = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const joi_1 = tslib_1.__importDefault(require("joi"));
6
+ const weight_unit_schema_1 = require("./weight-unit-schema");
7
+ exports.WeightDetailsSchema = joi_1.default.object({
8
+ weight_in_ounces: joi_1.default.number().optional,
9
+ weight_in_grams: joi_1.default.number().optional,
10
+ source_weight: joi_1.default.number().optional,
11
+ source_weight_unit: weight_unit_schema_1.WeightUnitSchema.required(),
12
+ });
13
+ //# sourceMappingURL=weight-details-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"weight-details-schema.js","sourceRoot":"","sources":["../../../src/models/units/weight-details-schema.ts"],"names":[],"mappings":";;;;AAAA,sDAAsB;AACtB,6DAAwD;AAE3C,QAAA,mBAAmB,GAAG,aAAG,CAAC,MAAM,CAAC;IAC5C,gBAAgB,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ;IACvC,eAAe,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ;IACtC,aAAa,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ;IACpC,kBAAkB,EAAE,qCAAgB,CAAC,QAAQ,EAAE;CAChD,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import Joi from 'joi';
2
+ export declare const WeightUnitSchema: Joi.StringSchema;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WeightUnitSchema = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const joi_1 = tslib_1.__importDefault(require("joi"));
6
+ const weight_unit_1 = require("./weight-unit");
7
+ exports.WeightUnitSchema = joi_1.default.string().valid(...Object.values(weight_unit_1.WeightUnit));
8
+ //# sourceMappingURL=weight-unit-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"weight-unit-schema.js","sourceRoot":"","sources":["../../../src/models/units/weight-unit-schema.ts"],"names":[],"mappings":";;;;AAAA,sDAAsB;AACtB,+CAA2C;AAE9B,QAAA,gBAAgB,GAAG,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,wBAAU,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import Joi from 'joi';
2
+ export declare const BaseRequestSchema: Joi.ObjectSchema<any>;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseRequestSchema = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const joi_1 = tslib_1.__importDefault(require("joi"));
6
+ const authorization_schema_1 = require("../models/authorization-schema");
7
+ exports.BaseRequestSchema = joi_1.default.object({
8
+ transaction_id: joi_1.default.string().required(),
9
+ authorization: authorization_schema_1.AuthorizationSchema.optional(),
10
+ metadata: joi_1.default.object().pattern(/.*/, [joi_1.default.any()]).optional(),
11
+ });
12
+ //# sourceMappingURL=base-request-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-request-schema.js","sourceRoot":"","sources":["../../src/requests/base-request-schema.ts"],"names":[],"mappings":";;;;AAAA,sDAAsB;AACtB,yEAAqE;AAExD,QAAA,iBAAiB,GAAG,aAAG,CAAC,MAAM,CAAC;IAC1C,cAAc,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,aAAa,EAAE,0CAAmB,CAAC,QAAQ,EAAE;IAC7C,QAAQ,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,aAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC7D,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import Joi from 'joi';
2
+ export declare const CancelNotificationRequestSchema: Joi.ObjectSchema<any>;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CancelNotificationRequestSchema = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const joi_1 = tslib_1.__importDefault(require("joi"));
6
+ const base_request_schema_1 = require("./base-request-schema");
7
+ const shipped_shipment_schema_1 = require("../models/pickup/shipped-shipment-schema");
8
+ exports.CancelNotificationRequestSchema = base_request_schema_1.BaseRequestSchema.keys({
9
+ notification_id: joi_1.default.string().required(),
10
+ shipment_information: shipped_shipment_schema_1.ShippedShipmentSchema.required(),
11
+ });
12
+ //# sourceMappingURL=cancel-notification-request-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cancel-notification-request-schema.js","sourceRoot":"","sources":["../../src/requests/cancel-notification-request-schema.ts"],"names":[],"mappings":";;;;AAAA,sDAAsB;AACtB,+DAA0D;AAC1D,sFAAiF;AAEpE,QAAA,+BAA+B,GAAG,uCAAiB,CAAC,IAAI,CAAC;IACpE,eAAe,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,oBAAoB,EAAE,+CAAqB,CAAC,QAAQ,EAAE;CACvD,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { BaseRequest } from './base-request';
2
- import { AdvancedOptions, ConfirmationTypes, FulfillmentPlanDetails, InsuranceProviders, DocumentFormat, LabelLayouts, Package, ReturnLabelDetails, ShipFrom, PudoLocation, ShipFromDisplay, ShipTo, Document, TimeWindow, RelayPointDetails, DisplayScheme, Customs, BillTo } from '../models';
2
+ import { AdvancedOptions, ConfirmationTypes, FulfillmentPlanDetails, InsuranceProviders, DocumentFormat, LabelLayouts, Package, ReturnLabelDetails, ShipFrom, PudoLocation, ShipFromDisplay, ShipTo, Document, TimeWindow, RelayPointDetails, DisplayScheme, Customs } from '../models';
3
3
  /** @description Basic structure for a request to create a label */
4
4
  export declare class CreateLabelRequest extends BaseRequest {
5
5
  service_code?: string;
@@ -35,6 +35,4 @@ export declare class CreateLabelRequest extends BaseRequest {
35
35
  /** @description Display schemes that the label will be returned in. Label is returned by default */
36
36
  display_schemes?: DisplayScheme[];
37
37
  customs?: Customs;
38
- /** @description Bill the shipping charges to this entity. If null, it should be assumed the "shipper" is responsible for the shipping charges. */
39
- bill_shipping_to?: BillTo;
40
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create-label-request.js","sourceRoot":"","sources":["../../src/requests/create-label-request.ts"],"names":[],"mappings":";;;AAAA,iDAA6C;AAsB7C,mEAAmE;AACnE,MAAa,kBAAmB,SAAQ,0BAAW;CAoClD;AApCD,gDAoCC"}
1
+ {"version":3,"file":"create-label-request.js","sourceRoot":"","sources":["../../src/requests/create-label-request.ts"],"names":[],"mappings":";;;AAAA,iDAA6C;AAqB7C,mEAAmE;AACnE,MAAa,kBAAmB,SAAQ,0BAAW;CAkClD;AAlCD,gDAkCC"}
@@ -1,5 +1,5 @@
1
1
  import { BaseRequest } from './base-request';
2
- import { ConfirmationTypes, AdvancedOptions, InsuranceProviders, Package, Customs, ShipFrom, ShipTo, PudoLocation, FulfillmentPlanDetails, TimeWindow, BillTo } from '../models';
2
+ import { ConfirmationTypes, AdvancedOptions, InsuranceProviders, Package, Customs, ShipFrom, ShipTo, PudoLocation, FulfillmentPlanDetails, TimeWindow } from '../models';
3
3
  import { ShipmentItem } from '../models/shipment-item';
4
4
  /** @description Basic structure for a request to get rates */
5
5
  export declare class GetRatesRequest extends BaseRequest {
@@ -21,6 +21,4 @@ export declare class GetRatesRequest extends BaseRequest {
21
21
  carrier_pickup_window?: TimeWindow;
22
22
  /** Items included in the shipment */
23
23
  items?: ShipmentItem[];
24
- /** @description Bill the shipping charges to this entity. If null, it should be assumed the "shipper" is responsible for the shipping charges. */
25
- bill_shipping_to?: BillTo;
26
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get-rates-request.js","sourceRoot":"","sources":["../../src/requests/get-rates-request.ts"],"names":[],"mappings":";;;AAAA,iDAA6C;AAgB7C,8DAA8D;AAC9D,MAAa,eAAgB,SAAQ,0BAAW;CAqB/C;AArBD,0CAqBC"}
1
+ {"version":3,"file":"get-rates-request.js","sourceRoot":"","sources":["../../src/requests/get-rates-request.ts"],"names":[],"mappings":";;;AAAA,iDAA6C;AAe7C,8DAA8D;AAC9D,MAAa,eAAgB,SAAQ,0BAAW;CAmB/C;AAnBD,0CAmBC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shipengine/connect-carrier-api",
3
- "version": "2.12.19",
3
+ "version": "4.0.0-beta",
4
4
  "description": "This is the typescript/javascript definitions for carrier api",
5
5
  "homepage": "https://github.com/ShipEngine/connect",
6
6
  "main": "./lib/index.js",
@@ -44,7 +44,7 @@
44
44
  "tslib": "^2.5.0"
45
45
  },
46
46
  "peerDependencies": {
47
- "@shipengine/connect-runtime": "^1.3.3",
47
+ "@shipengine/connect-runtime": "^4.0.0-beta",
48
48
  "express": "^4.18.2",
49
49
  "winston": "^3.8.2"
50
50
  }
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.17.2"
6
+ "version": "1.17.1"
7
7
  },
8
8
  "paths": {
9
9
  "/Register": {
@@ -754,13 +754,6 @@
754
754
  },
755
755
  "description": "Amount to be paid to the driver, used for local delivery and courier services.",
756
756
  "nullable": true
757
- },
758
- "additional_handling": {
759
- "type": "boolean",
760
- "description": "Describes whether Additional Handling is requested for the shipment."
761
- },
762
- "collect_on_delivery": {
763
- "$ref": "#/components/schemas/CollectOnDelivery"
764
757
  }
765
758
  },
766
759
  "additionalProperties": { },
@@ -1092,47 +1085,6 @@
1092
1085
  "additionalProperties": false,
1093
1086
  "description": "This model represents a response for a successful cancel pickup request."
1094
1087
  },
1095
- "CodPaymentType": {
1096
- "enum": [
1097
- "any",
1098
- "cash",
1099
- "guaranteed_funds"
1100
- ],
1101
- "type": "string",
1102
- "description": "Specifies which payment method is permitted when Collect on Delivery (COD) is requested on a shipment.\r\nany - Any payment method is permitted.\r\ncash - Only cash is permitted.\r\nguaranteed_funds - Only guaranteed funds are permitted, such as a money order or cashier's check."
1103
- },
1104
- "CollectOnDelivery": {
1105
- "required": [
1106
- "payment_amount"
1107
- ],
1108
- "type": "object",
1109
- "properties": {
1110
- "payment_amount": {
1111
- "required": [
1112
- "currency",
1113
- "amount"
1114
- ],
1115
- "type": "object",
1116
- "properties": {
1117
- "amount": {
1118
- "type": "string",
1119
- "description": "Decimal currency value, as a string."
1120
- },
1121
- "currency": {
1122
- "type": "string",
1123
- "description": "Alpha-3 currency code complying with ISO 4217."
1124
- }
1125
- },
1126
- "description": "The payment amount for Collect on Delivery (COD).",
1127
- "nullable": true
1128
- },
1129
- "payment_type": {
1130
- "$ref": "#/components/schemas/CodPaymentType"
1131
- }
1132
- },
1133
- "additionalProperties": false,
1134
- "description": "This model represents the option to defer payment for a shipment, otherwise known as Collect on Delivery (COD)."
1135
- },
1136
1088
  "ConfirmationTypes": {
1137
1089
  "enum": [
1138
1090
  "None",
@@ -0,0 +1,50 @@
1
+ import { existsSync } from 'fs';
2
+ import { CarrierAppDefinition } from './carrier-app-definition';
3
+ import { CarrierAppMetadataSchema } from './metadata';
4
+ import { isDataValidationError, validateRatingData } from './native-rating-data-validator';
5
+ import { AppDeployment } from '@shipengine/connect-runtime';
6
+
7
+ // This creates an object that is only used by the Connect CLI
8
+ export const buildAppDeployment = (definition: CarrierAppDefinition): AppDeployment => {
9
+ return {
10
+ id: definition.Metadata.Id,
11
+ getSupportedCountries: () => {
12
+ const countries: (string | undefined)[] = [];
13
+ const rootCountries = definition.Metadata.Carriers.flatMap((c) =>
14
+ c.DefaultSupportedCountries?.flatMap((sc) => sc.FromCountry),
15
+ );
16
+ const serviceCountries = definition.Metadata.Carriers.flatMap((c) =>
17
+ c.ShippingServices?.flatMap((s) => s.SupportedCountries).flatMap((sc) => sc?.FromCountry),
18
+ );
19
+ countries.push(...rootCountries);
20
+ countries.push(...serviceCountries);
21
+ return [...new Set(countries)].filter((c) => c !== undefined) as string[];
22
+ },
23
+ validate: () => {
24
+ const results = CarrierAppMetadataSchema.validate(definition.Metadata, {
25
+ allowUnknown: true,
26
+ abortEarly: false,
27
+ });
28
+ if (results.error) {
29
+ return results.error.details.map((detail) => `${detail.message}`);
30
+ }
31
+
32
+ const nativeRatingCarriers = definition.Metadata.Carriers.filter(
33
+ (carrier) =>
34
+ carrier.NativeRating &&
35
+ carrier.NativeRating.Path &&
36
+ existsSync(carrier.NativeRating.Path),
37
+ );
38
+
39
+ const validationErrors = nativeRatingCarriers
40
+ .map(validateRatingData)
41
+ .filter(isDataValidationError)
42
+ .flat();
43
+ if (validationErrors.length > 0) {
44
+ return validationErrors.map(
45
+ (error) => `${error.message} \n Duplicate Keys: ${error.duplicateKeys?.join(', ')}`,
46
+ );
47
+ }
48
+ },
49
+ };
50
+ };
@@ -0,0 +1,25 @@
1
+ import { Method } from '@shipengine/connect-runtime';
2
+ import { ApiEndpoints } from './constants';
3
+ import { CarrierAppDefinition } from './carrier-app-definition';
4
+
5
+ export const createEndpointMapping = (
6
+ definition: CarrierAppDefinition,
7
+ ): [Method, ApiEndpoints, ((req: any) => any | Promise<any>) | undefined][] => [
8
+ [Method.POST, ApiEndpoints.CancelNotification, definition.CancelNotification],
9
+ [Method.POST, ApiEndpoints.CancelPickup, definition.CancelPickup],
10
+ [Method.POST, ApiEndpoints.CreateLabel, definition.CreateLabel],
11
+ [Method.POST, ApiEndpoints.CreateManifest, definition.CreateManifest],
12
+ [Method.POST, ApiEndpoints.GetManifest, definition.GetManifest],
13
+ [Method.POST, ApiEndpoints.CreateNotification, definition.CreateNotification],
14
+ [Method.POST, ApiEndpoints.GetRates, definition.GetRates],
15
+ [Method.POST, ApiEndpoints.NormalizeTrackingData, definition.NormalizeTrackingData],
16
+ [Method.POST, ApiEndpoints.Register, definition.Register],
17
+ [Method.POST, ApiEndpoints.SchedulePickup, definition.SchedulePickup],
18
+ [Method.POST, ApiEndpoints.Track, definition.Track],
19
+ [Method.POST, ApiEndpoints.ValidateInboundData, definition.ValidateInboundData],
20
+ [Method.POST, ApiEndpoints.VoidLabels, definition.VoidLabels],
21
+ [Method.POST, ApiEndpoints.GetRelayPoints, definition.GetRelayPoints],
22
+ [Method.POST, ApiEndpoints.GetServicePoints, definition.GetServicePoints],
23
+ [Method.POST, ApiEndpoints.GetServicePoint, definition.GetServicePoint],
24
+ [Method.POST, ApiEndpoints.ImportTrackingEvents, definition.ImportTrackingEvents],
25
+ ];
package/src/app/index.ts CHANGED
@@ -1,4 +1,6 @@
1
+ export * from './build-app-deployment';
2
+ export * from './constants';
1
3
  export * from './metadata';
2
4
  export * from './carrier-app-definition';
3
- export * from './carrier-app';
4
- export * from './native-rating';
5
+ export * from './create-endpoint-mapping';
6
+ export * from './native-rating-data-validator';
@@ -12,7 +12,9 @@ export * from './function';
12
12
  export * from './label-formats';
13
13
  export * from './label-sizes';
14
14
  export * from './monoauth';
15
+ export * from './native-rating-configuration';
15
16
  export * from './package-type';
17
+ export * from './rate-card';
16
18
  export * from './service-class';
17
19
  export * from './service-grade';
18
20
  export * from './service-required-properties';
@@ -1,6 +1,6 @@
1
- import { Carrier } from '../metadata/carrier';
2
1
  import { resolve } from 'path';
3
2
  import { existsSync, readFileSync } from 'fs';
3
+ import { Carrier } from './metadata/carrier';
4
4
 
5
5
  interface DataValidationError {
6
6
  message?: string;
@@ -0,0 +1,20 @@
1
+ import Joi from 'joi';
2
+ import { AddressResidentialIndicatorSchema } from './address-residential-indicator-schema';
3
+
4
+ export const AddressBaseSchema = Joi.object({
5
+ name: Joi.string().optional(),
6
+ first_name: Joi.string().optional(),
7
+ last_name: Joi.string().optional(),
8
+ email: Joi.string().optional(),
9
+ phone_number: Joi.string().optional(),
10
+ company_name: Joi.string().optional(),
11
+ address_lines: Joi.array().items(Joi.string()).optional(),
12
+ city_locality: Joi.string().optional(),
13
+ state_province: Joi.string().optional(),
14
+ postal_code: Joi.string(),
15
+ country_code: Joi.string(),
16
+ address_residential_indicator: AddressResidentialIndicatorSchema.optional(),
17
+ is_eu: Joi.boolean().optional(),
18
+ address_metadata: Joi.object().pattern(/.*/, [Joi.string()]).optional(),
19
+ instructions: Joi.string().optional(),
20
+ });
@@ -0,0 +1,6 @@
1
+ import Joi from 'joi';
2
+ import { AddressResidentialIndicator } from './address-residential-indicator';
3
+
4
+ export const AddressResidentialIndicatorSchema = Joi.string().valid(
5
+ ...Object.values(AddressResidentialIndicator),
6
+ );
@@ -0,0 +1,7 @@
1
+ import Joi from 'joi';
2
+ import { AddressBaseSchema } from './address-base-schema';
3
+
4
+ export const PudoLocationSchema = AddressBaseSchema.keys({
5
+ carrier_code: Joi.string().optional(),
6
+ location_id: Joi.string().optional(),
7
+ });
@@ -0,0 +1,7 @@
1
+ import Joi from 'joi';
2
+ import { AddressBaseSchema } from './address-base-schema';
3
+ import { TaxIdentifierSchema } from '../taxes/tax-identifier-schema';
4
+
5
+ export const ShipToSchema = AddressBaseSchema.keys({
6
+ tax_identifiers: Joi.array().items(TaxIdentifierSchema).optional(),
7
+ });
@@ -0,0 +1,11 @@
1
+ import Joi from 'joi';
2
+ import { CurrencySchema } from './currency-schema';
3
+
4
+ export const AdvancedOptionsSchema = Joi.object({
5
+ contains_alcohol: Joi.boolean().optional(),
6
+ no_postage: Joi.boolean().optional(),
7
+ nonmachineable: Joi.boolean().optional(),
8
+ bill_duties_to_sender: Joi.boolean().optional(),
9
+ saturday_delivery: Joi.boolean().optional(),
10
+ tip: CurrencySchema.optional(),
11
+ }).pattern(/.*/, Joi.any());
@@ -1,4 +1,3 @@
1
- import { CollectOnDelivery } from './collect-on-delivery';
2
1
  import { Currency } from './currency';
3
2
 
4
3
  /** @description Basic structure for shipping options */
@@ -15,10 +14,6 @@ export class AdvancedOptions {
15
14
  saturday_delivery?: boolean;
16
15
  /** @description Amount to be paid to the driver, used for local delivery and courier services */
17
16
  tip?: Currency;
18
- /** @description Describes whether Additional Handling is requested for the shipment */
19
- additional_handling?: boolean;
20
- /** @description Describes details for Collect on Delivery (COD) if requested for the shipment */
21
- collect_on_delivery?: CollectOnDelivery;
22
17
  /** @description Any other custom shipping options */
23
18
  [key: string]: any;
24
19
  }
@@ -0,0 +1,6 @@
1
+ import Joi from 'joi';
2
+
3
+ export const AuthorizationSchema = Joi.object({
4
+ access_token: Joi.string().optional(),
5
+ connection_context: Joi.object().optional(),
6
+ });
@@ -2,4 +2,3 @@ export * from './billing-categories';
2
2
  export * from './billing-categories-schema';
3
3
  export * from './billing-line-item';
4
4
  export * from './billing-line-item-schema';
5
- export * from './billing-to-party';
@@ -0,0 +1,9 @@
1
+ import Joi from 'joi';
2
+ import { CurrencySchema } from '../currency-schema';
3
+
4
+ export const CustomsChargesSchema = Joi.object({
5
+ freight_charge: CurrencySchema.optional(),
6
+ other_charge: CurrencySchema.optional(),
7
+ insurance_charge: CurrencySchema.optional(),
8
+ discount: CurrencySchema.optional(),
9
+ });
@@ -0,0 +1,4 @@
1
+ import Joi from 'joi';
2
+ import { CustomsContentTypes } from './customs-content-types';
3
+
4
+ export const CustomsContentTypesSchema = Joi.string().valid(...Object.values(CustomsContentTypes));