From dcb9143e4f9e06e056164b4409bff9e88dbb9a24 Mon Sep 17 00:00:00 2001 From: Rob Wigginton <8102829+bob2021@users.noreply.github.com> Date: Fri, 25 Jul 2025 14:07:59 +0100 Subject: [PATCH 01/22] Only require properties in merged schemas when required by all source schemas. --- resources/models/consolidation/v1.json | 23 +++++++------------- resources/models/freight-ltl/v1.json | 11 ++-------- resources/models/open-ship/v1.json | 5 +---- resources/models/ship/v1.json | 10 ++------- resources/models/track/v1.json | 5 +---- src/Api/ConsolidationV1/Dto/Address.php | 4 ++-- src/Api/ConsolidationV1/Dto/Commodity.php | 4 ++-- src/Api/ConsolidationV1/Dto/ExportDetail.php | 4 ++-- src/Api/ConsolidationV1/Dto/Party2.php | 4 ++-- src/Api/ConsolidationV1/Dto/Payor.php | 4 ++-- src/Api/FreightLTLV1/Dto/Party2.php | 8 +++---- src/Api/FreightLTLV1/Dto/Payor.php | 4 ++-- src/Api/OpenShipV1/Dto/Payor.php | 4 ++-- src/Api/ShipV1/Dto/Party.php | 4 ++-- src/Api/ShipV1/Dto/Payor.php | 4 ++-- src/Api/TrackV1/Dto/TrackingNumberInfo.php | 4 ++-- src/Generator/Schema/Refactorer.php | 8 ++++--- 17 files changed, 43 insertions(+), 67 deletions(-) diff --git a/resources/models/consolidation/v1.json b/resources/models/consolidation/v1.json index 32b7e75a..89b2d57d 100644 --- a/resources/models/consolidation/v1.json +++ b/resources/models/consolidation/v1.json @@ -8397,7 +8397,6 @@ }, "Address": { "required": [ - "city", "countryCode", "streetLines" ], @@ -8883,7 +8882,6 @@ }, "Party_2": { "required": [ - "accountNumber", "address" ], "type": "object", @@ -8985,16 +8983,12 @@ "$ref": "#/components/schemas/Party_2" } }, - "description": "Information about the person who is paying for the shipment. Not applicable for credit card payment. ", - "required": [ - "responsibleParty" - ] + "description": "Information about the person who is paying for the shipment. Not applicable for credit card payment. " }, "ExportDetail": { - "required": { - "0": "b13AFilingOption", - "2": "permitNumber" - }, + "required": [ + "b13AFilingOption" + ], "type": "object", "properties": { "destinationControlDetail": { @@ -9061,11 +9055,10 @@ "description": "VERY IMPORTANT: Specify appropriate destinationcontrol statement type(s),Valid values: DEPARTMENT_OF_COMMERCE, DEPARTMENT_OF_STATE
Be sure to also specify destination country and enduser." }, "Commodity": { - "required": { - "0": "description", - "1": "numberOfPieces", - "3": "name" - }, + "required": [ + "description", + "numberOfPieces" + ], "type": "object", "properties": { "name": { diff --git a/resources/models/freight-ltl/v1.json b/resources/models/freight-ltl/v1.json index 7182dfdd..f052d8a0 100644 --- a/resources/models/freight-ltl/v1.json +++ b/resources/models/freight-ltl/v1.json @@ -7684,11 +7684,7 @@ "expirationDate": "2000-01-23T04:56:07.000+00:00" } ] - }, - "required": [ - "address", - "contact" - ] + } }, "Party_3": { "type": "object", @@ -9867,10 +9863,7 @@ } ] } - }, - "required": [ - "responsibleParty" - ] + } }, "Payment": { "type": "object", diff --git a/resources/models/open-ship/v1.json b/resources/models/open-ship/v1.json index b6e9cf2d..1d63a324 100644 --- a/resources/models/open-ship/v1.json +++ b/resources/models/open-ship/v1.json @@ -8458,10 +8458,7 @@ } ] } - }, - "required": [ - "responsibleParty" - ] + } }, "UploadDocumentReferenceDetail": { "type": "object", diff --git a/resources/models/ship/v1.json b/resources/models/ship/v1.json index be7b14d0..6a3925a5 100644 --- a/resources/models/ship/v1.json +++ b/resources/models/ship/v1.json @@ -7479,10 +7479,7 @@ } ] } - }, - "required": [ - "responsibleParty" - ] + } }, "PartyAccountNumber": { "type": "object", @@ -7593,10 +7590,7 @@ "expirationDate": "2000-01-23T04:56:07.000+00:00" } ] - }, - "required": [ - "contact" - ] + } }, "Party_2": { "type": "object", diff --git a/resources/models/track/v1.json b/resources/models/track/v1.json index 62d066a1..c826b3e3 100644 --- a/resources/models/track/v1.json +++ b/resources/models/track/v1.json @@ -3296,10 +3296,7 @@ "example": "245822~123456789012~FDEG" } }, - "description": "Information uniquely identifying a shipment such as Tracking number, ShipDate, and Tracking number uniqueId.", - "required": [ - "trackingNumber" - ] + "description": "Information uniquely identifying a shipment such as Tracking number, ShipDate, and Tracking number uniqueId." }, "PagingDetails": { "type": "object", diff --git a/src/Api/ConsolidationV1/Dto/Address.php b/src/Api/ConsolidationV1/Dto/Address.php index 2a6647fb..200c815c 100644 --- a/src/Api/ConsolidationV1/Dto/Address.php +++ b/src/Api/ConsolidationV1/Dto/Address.php @@ -16,16 +16,16 @@ final class Address extends Dto { /** * @param string[] $streetLines This is a combination of number, street name, etc.
Note: At least one line is required and streetlines more than 3 will be ignored. Empty lines should not be included. - * @param string $city This is a placeholder for City Name.
Note: This is conditional and not required in all the shipping requests. It is recommended for Express shipments for the most accurate ODA and OPA surcharges and not used for Ground/SmartPost. * @param string $countryCode This is the Two-letter country code. Click here to see Country Codes + * @param ?string $city This is a placeholder for City Name.
Note: This is conditional and not required in all the shipping requests. It is recommended for Express shipments for the most accurate ODA and OPA surcharges and not used for Ground/SmartPost. * @param ?string $stateOrProvinceCode This is a placeholder for State or Province code.
Note: This is conditional and not required in all the shipping requests. It is recommended for Express shipments for the most accurate ODA and OPA surcharges and not used for Ground/SmartPost. * @param ?string $postalCode This is placeholder for postal code.
Note: The postal code is required for postal-aware countries. * @param ?bool $residential Indicate whether this address is Residential as opposed to Commercial.
Valid Values: True or False. */ public function __construct( public array $streetLines, - public string $city, public string $countryCode, + public ?string $city = null, public ?string $stateOrProvinceCode = null, public ?string $postalCode = null, public ?bool $residential = null, diff --git a/src/Api/ConsolidationV1/Dto/Commodity.php b/src/Api/ConsolidationV1/Dto/Commodity.php index f559c57a..b006eab3 100644 --- a/src/Api/ConsolidationV1/Dto/Commodity.php +++ b/src/Api/ConsolidationV1/Dto/Commodity.php @@ -15,9 +15,9 @@ final class Commodity extends Dto { /** - * @param string $name Specify the commodity name * @param int $numberOfPieces Indicates the number of pieces associated with the commodity. Number of pieces cannot be a negative value or exceed 9,999. * @param string $description This is the commodity description. Maximum allowed 450 characters. + * @param ?string $name Specify the commodity name * @param ?string $countryOfManufacture This is commodity country of manufacture. This is required for International shipments. Maximum allowed length is 4. * @param ?Weight $weight Indicate the shipment total weight in pounds.
Example: 10.6
Note: * @param ?int $quantity This is the units quantity (using quantityUnits as the unit of measure) per commodity. This is used to estimate duties and taxes. @@ -27,9 +27,9 @@ final class Commodity extends Dto * @param ?string $commodityId Value used to identify a commodity description; must be unique within the containing shipment. */ public function __construct( - public string $name, public int $numberOfPieces, public string $description, + public ?string $name = null, public ?string $countryOfManufacture = null, public ?Weight $weight = null, public ?int $quantity = null, diff --git a/src/Api/ConsolidationV1/Dto/ExportDetail.php b/src/Api/ConsolidationV1/Dto/ExportDetail.php index e3bb3b5d..367a0fba 100644 --- a/src/Api/ConsolidationV1/Dto/ExportDetail.php +++ b/src/Api/ConsolidationV1/Dto/ExportDetail.php @@ -18,14 +18,14 @@ final class ExportDetail extends Dto /** * @param string $b13aFilingOption Specify the filing option being exercised. Required for non-document shipments originating in Canada destinated for any country other than Canada, the United States, Puerto Rico, or the U.S. Virgin Islands. - * @param string $permitNumber This is a Permit Number. This field is applicable only to Canada export non-document shipments of any value to any destination. No special characters are allowed. * @param ?DestinationControlDetail $destinationControlDetail VERY IMPORTANT: Specify appropriate destinationcontrol statement type(s),Valid values: DEPARTMENT_OF_COMMERCE, DEPARTMENT_OF_STATE
Be sure to also specify destination country and enduser. * @param ?string $exportComplianceStatement For shipments requiring an EEI, enter the ITN number received from AES when you filed your shipment or the FTR (Foreign Trade Regulations) exemption number.The proper format for an ITN number is AES XYYYYMMDDNNNNNN where YYYYMMDD is date and NNNNNN are numbers generated by the AES.
Note: The ITN or FTR exemption number you submit in the Ship request prints on the international shipping label. + * @param ?string $permitNumber This is a Permit Number. This field is applicable only to Canada export non-document shipments of any value to any destination. No special characters are allowed. */ public function __construct( public string $b13aFilingOption, - public string $permitNumber, public ?DestinationControlDetail $destinationControlDetail = null, public ?string $exportComplianceStatement = null, + public ?string $permitNumber = null, ) {} } diff --git a/src/Api/ConsolidationV1/Dto/Party2.php b/src/Api/ConsolidationV1/Dto/Party2.php index 2f540b1e..e766dc07 100644 --- a/src/Api/ConsolidationV1/Dto/Party2.php +++ b/src/Api/ConsolidationV1/Dto/Party2.php @@ -16,12 +16,12 @@ final class Party2 extends Dto { /** * @param Address $address Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of "address parts" which should be handled as a unit (such as a city-state-ZIP combination within the US). - * @param PartyAccountNumber $accountNumber Specify the assigned FedEx Account Number. If the transportation charges to be billed to a payor other than the sender or recipient, provide the FedEx account number. * @param ?Contact $contact Contact details for the Party such as Name, Email, PhoneNumber. + * @param ?PartyAccountNumber $accountNumber Specify the assigned FedEx Account Number. If the transportation charges to be billed to a payor other than the sender or recipient, provide the FedEx account number. */ public function __construct( public Address $address, - public PartyAccountNumber $accountNumber, public ?Contact $contact = null, + public ?PartyAccountNumber $accountNumber = null, ) {} } diff --git a/src/Api/ConsolidationV1/Dto/Payor.php b/src/Api/ConsolidationV1/Dto/Payor.php index 8c0fe3a7..9ed7e1d5 100644 --- a/src/Api/ConsolidationV1/Dto/Payor.php +++ b/src/Api/ConsolidationV1/Dto/Payor.php @@ -15,9 +15,9 @@ final class Payor extends Dto { /** - * @param Party2 $responsibleParty Attributes for a Party to a transaction including the physical address, contact information, and account number information. + * @param ?Party2 $responsibleParty Attributes for a Party to a transaction including the physical address, contact information, and account number information. */ public function __construct( - public Party2 $responsibleParty, + public ?Party2 $responsibleParty = null, ) {} } diff --git a/src/Api/FreightLTLV1/Dto/Party2.php b/src/Api/FreightLTLV1/Dto/Party2.php index c601e30f..81767ee3 100644 --- a/src/Api/FreightLTLV1/Dto/Party2.php +++ b/src/Api/FreightLTLV1/Dto/Party2.php @@ -17,14 +17,14 @@ final class Party2 extends Dto protected static array $complexArrayTypes = ['tins' => TaxpayerIdentification::class]; /** - * @param Address2 $address Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of "address parts" which should be handled as a unit (such as a city-state-ZIP combination within the US). - * @param Contact $contact Indicate the contact details of the shipper. + * @param ?Address2 $address Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of "address parts" which should be handled as a unit (such as a city-state-ZIP combination within the US). + * @param ?Contact $contact Indicate the contact details of the shipper. * @param ?PartyAccountNumber $accountNumber Specify the assigned FedEx Account Number. If the transportation charges to be billed to a payor other than the sender or recipient, provide the FedEx Account Number. Specify this field when payment type is selected as SENDER. * @param TaxpayerIdentification[]|null $tins This is the tax identification number details. */ public function __construct( - public Address2 $address, - public Contact $contact, + public ?Address2 $address = null, + public ?Contact $contact = null, public ?PartyAccountNumber $accountNumber = null, public ?array $tins = null, ) {} diff --git a/src/Api/FreightLTLV1/Dto/Payor.php b/src/Api/FreightLTLV1/Dto/Payor.php index 7ed1a42d..ef893e00 100644 --- a/src/Api/FreightLTLV1/Dto/Payor.php +++ b/src/Api/FreightLTLV1/Dto/Payor.php @@ -15,9 +15,9 @@ final class Payor extends Dto { /** - * @param Party2 $responsibleParty Use this object to provide the attributes such as physical address, contact information and account number information. + * @param ?Party2 $responsibleParty Use this object to provide the attributes such as physical address, contact information and account number information. */ public function __construct( - public Party2 $responsibleParty, + public ?Party2 $responsibleParty = null, ) {} } diff --git a/src/Api/OpenShipV1/Dto/Payor.php b/src/Api/OpenShipV1/Dto/Payor.php index d52745d4..f5b0b465 100644 --- a/src/Api/OpenShipV1/Dto/Payor.php +++ b/src/Api/OpenShipV1/Dto/Payor.php @@ -15,9 +15,9 @@ final class Payor extends Dto { /** - * @param Party $responsibleParty Use this object to provide the attributes such as physical address, contact information and account number information. + * @param ?Party $responsibleParty Use this object to provide the attributes such as physical address, contact information and account number information. */ public function __construct( - public Party $responsibleParty, + public ?Party $responsibleParty = null, ) {} } diff --git a/src/Api/ShipV1/Dto/Party.php b/src/Api/ShipV1/Dto/Party.php index d4e9992b..d21a5e62 100644 --- a/src/Api/ShipV1/Dto/Party.php +++ b/src/Api/ShipV1/Dto/Party.php @@ -17,14 +17,14 @@ final class Party extends Dto protected static array $complexArrayTypes = ['tins' => TaxpayerIdentification::class]; /** - * @param Contact $contact Indicate the contact details of the shipper. * @param ?Address $address Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of "address parts" which should be handled as a unit (such as a city-state-ZIP combination within the US). + * @param ?Contact $contact Indicate the contact details of the shipper. * @param ?PartyAccountNumber $accountNumber The account number of the recipient. * @param TaxpayerIdentification[]|null $tins This is the tax identification number details. */ public function __construct( - public Contact $contact, public ?Address $address = null, + public ?Contact $contact = null, public ?PartyAccountNumber $accountNumber = null, public ?array $tins = null, ) {} diff --git a/src/Api/ShipV1/Dto/Payor.php b/src/Api/ShipV1/Dto/Payor.php index 98eb7adf..fbc66d11 100644 --- a/src/Api/ShipV1/Dto/Payor.php +++ b/src/Api/ShipV1/Dto/Payor.php @@ -15,9 +15,9 @@ final class Payor extends Dto { /** - * @param Party $responsibleParty Use this object to provide the attributes such as physical address, contact information and account number information. + * @param ?Party $responsibleParty Use this object to provide the attributes such as physical address, contact information and account number information. */ public function __construct( - public Party $responsibleParty, + public ?Party $responsibleParty = null, ) {} } diff --git a/src/Api/TrackV1/Dto/TrackingNumberInfo.php b/src/Api/TrackV1/Dto/TrackingNumberInfo.php index fb110e19..cb7c354f 100644 --- a/src/Api/TrackV1/Dto/TrackingNumberInfo.php +++ b/src/Api/TrackV1/Dto/TrackingNumberInfo.php @@ -15,12 +15,12 @@ final class TrackingNumberInfo extends Dto { /** - * @param string $trackingNumber This is a Tracking number for FedEx packages used for tracking a single package or group of packages.
Example: 128667043726
Click here to see Mock Tracking Numbers. + * @param ?string $trackingNumber This is a Tracking number for FedEx packages used for tracking a single package or group of packages.
Example: 128667043726
Click here to see Mock Tracking Numbers. * @param ?string $carrierCode This is a placeholder to provide the FedEx operating company (transportation) code used for package delivery.
Example: FDXE * @param ?string $trackingNumberUniqueId Unique identifier used to distinguish duplicate FedEx tracking numbers. This value will be set by FedEx systems.
Example: 245822\~123456789012\~FDEG */ public function __construct( - public string $trackingNumber, + public ?string $trackingNumber = null, public ?string $carrierCode = null, public ?string $trackingNumberUniqueId = null, ) {} diff --git a/src/Generator/Schema/Refactorer.php b/src/Generator/Schema/Refactorer.php index 2cbb9c73..28b17176 100644 --- a/src/Generator/Schema/Refactorer.php +++ b/src/Generator/Schema/Refactorer.php @@ -538,15 +538,17 @@ protected function deduplicateComponents(stdClass $schema): stdClass foreach ($groups as $group) { $uuid = Str::uuid(); $tempComponentName = "{$baseName}_{$uuid}"; - $requiredProps = []; + $allRequiredArrays = []; foreach ($group as $member => $definition) { $tempNames[$baseName][$member] = $tempComponentName; - $requiredProps = array_merge($requiredProps, $definition->required ?? []); + $allRequiredArrays[] = $definition->required ?? []; } + // Only require fields that ALL schemas require (intersection) + $requiredProps = array_intersect(...$allRequiredArrays); + if ($requiredProps) { - $requiredProps = array_unique($requiredProps); $definition->required = $requiredProps; } $mergedComponents[$tempComponentName] = $definition; From 2994573be4dc5f24c50440d4bb1bd3b314ca4b57 Mon Sep 17 00:00:00 2001 From: Rob Wigginton <8102829+bob2021@users.noreply.github.com> Date: Fri, 25 Jul 2025 16:59:31 +0100 Subject: [PATCH 02/22] Move generator constants to autoload-dev to avoid naming conflicts in production. --- composer.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/composer.json b/composer.json index 23ebc145..2b9611ed 100644 --- a/composer.json +++ b/composer.json @@ -24,15 +24,15 @@ "autoload": { "psr-4": { "ShipStream\\FedEx\\": "src/" - }, - "files": [ - "src/Generator/constants.php" - ] + } }, "autoload-dev": { "psr-4": { "Tests\\": "tests/" - } + }, + "files": [ + "src/Generator/constants.php" + ] }, "scripts": { "lint": [ From 0dbd0b9dca85ac7c629d478bbac27c8f226b5546 Mon Sep 17 00:00:00 2001 From: Rob Wigginton <8102829+bob2021@users.noreply.github.com> Date: Fri, 25 Jul 2025 17:35:15 +0100 Subject: [PATCH 03/22] Add account registration API. --- resources/apis.json | 9 + resources/metadata/modifications.json | 24 + .../v1/AccountRegistration-Resource.json | 1811 +++++++++++++++++ resources/models/account-registration/v1.json | 1202 +++++++++++ src/Api/AccountRegistrationV1/Api.php | 57 + .../Dto/AccountNumber.php | 25 + .../AccountRegistrationV1/Dto/AddressVo.php | 33 + .../Dto/CustomerKeyInputVo.php | 27 + .../Dto/CustomerKeyOutputVo.php | 27 + .../AccountRegistrationV1/Dto/CxsError.php | 32 + .../Dto/InvoiceDetails.php | 29 + .../Dto/IssuePinInputVo.php | 25 + .../Dto/MfaOptionsInner.php | 24 + src/Api/AccountRegistrationV1/Dto/Options.php | 24 + .../AccountRegistrationV1/Dto/Parameter.php | 25 + .../Dto/PinGenerationOutputVoOutput.php | 23 + .../Dto/ValidateInvoiceInputVo.php | 25 + .../Dto/ValidatePinInputVo.php | 25 + .../Requests/CreateCustomerKey.php | 64 + .../Requests/SendPin.php | 73 + .../Requests/ValidateInvoice.php | 74 + .../Requests/ValidatePin.php | 73 + .../Responses/ErrorResponseVo.php | 28 + .../Responses/ErrorResponseVo2.php | 30 + .../Responses/IrcpResponseVo.php | 26 + .../Responses/PinGenerationOutputVo.php | 27 + src/EmptyResponse.php | 1 + 27 files changed, 3843 insertions(+) create mode 100644 resources/models/.raw/account-registration/v1/AccountRegistration-Resource.json create mode 100644 resources/models/account-registration/v1.json create mode 100644 src/Api/AccountRegistrationV1/Api.php create mode 100644 src/Api/AccountRegistrationV1/Dto/AccountNumber.php create mode 100644 src/Api/AccountRegistrationV1/Dto/AddressVo.php create mode 100644 src/Api/AccountRegistrationV1/Dto/CustomerKeyInputVo.php create mode 100644 src/Api/AccountRegistrationV1/Dto/CustomerKeyOutputVo.php create mode 100644 src/Api/AccountRegistrationV1/Dto/CxsError.php create mode 100644 src/Api/AccountRegistrationV1/Dto/InvoiceDetails.php create mode 100644 src/Api/AccountRegistrationV1/Dto/IssuePinInputVo.php create mode 100644 src/Api/AccountRegistrationV1/Dto/MfaOptionsInner.php create mode 100644 src/Api/AccountRegistrationV1/Dto/Options.php create mode 100644 src/Api/AccountRegistrationV1/Dto/Parameter.php create mode 100644 src/Api/AccountRegistrationV1/Dto/PinGenerationOutputVoOutput.php create mode 100644 src/Api/AccountRegistrationV1/Dto/ValidateInvoiceInputVo.php create mode 100644 src/Api/AccountRegistrationV1/Dto/ValidatePinInputVo.php create mode 100644 src/Api/AccountRegistrationV1/Requests/CreateCustomerKey.php create mode 100644 src/Api/AccountRegistrationV1/Requests/SendPin.php create mode 100644 src/Api/AccountRegistrationV1/Requests/ValidateInvoice.php create mode 100644 src/Api/AccountRegistrationV1/Requests/ValidatePin.php create mode 100644 src/Api/AccountRegistrationV1/Responses/ErrorResponseVo.php create mode 100644 src/Api/AccountRegistrationV1/Responses/ErrorResponseVo2.php create mode 100644 src/Api/AccountRegistrationV1/Responses/IrcpResponseVo.php create mode 100644 src/Api/AccountRegistrationV1/Responses/PinGenerationOutputVo.php diff --git a/resources/apis.json b/resources/apis.json index f6970f7b..659426c0 100644 --- a/resources/apis.json +++ b/resources/apis.json @@ -1,4 +1,13 @@ { + "account-registration": { + "name" : "Account Registration", + "versions": [ + { + "version": "1", + "url": "https://developer.fedex.com/wirc/json/api_groups/AccountRegistrationAPI/AccountRegistration-Resource.json" + } + ] + }, "authorization": { "name": "Authorization", "versions": [ diff --git a/resources/metadata/modifications.json b/resources/metadata/modifications.json index c69f7474..7066247a 100644 --- a/resources/metadata/modifications.json +++ b/resources/metadata/modifications.json @@ -1,4 +1,28 @@ { + "account-registration": { + "1": [ + { + "comment": "Remove broken example references from 400 response in address validation endpoint", + "action": "delete", + "path": "paths./registration/v2/address/keysgeneration.post.responses.400.content.application/json.examples" + }, + { + "comment": "Remove broken example references from 400 response in PIN validation endpoint", + "action": "delete", + "path": "paths./registration/v2/pin/keysgeneration.post.responses.400.content.application/json.examples" + }, + { + "comment": "Remove broken example references from 400 response in invoice validation endpoint", + "action": "delete", + "path": "paths./registration/v2/invoice/keysgeneration.post.responses.400.content.application/json.examples" + }, + { + "comment": "Remove broken example references from 400 response in PIN generation endpoint", + "action": "delete", + "path": "paths./registration/v2/customerkeys/pingeneration.post.responses.400.content.application/json.examples" + } + ] + }, "address-validation": { "1": [ { diff --git a/resources/models/.raw/account-registration/v1/AccountRegistration-Resource.json b/resources/models/.raw/account-registration/v1/AccountRegistration-Resource.json new file mode 100644 index 00000000..1bdd52ea --- /dev/null +++ b/resources/models/.raw/account-registration/v1/AccountRegistration-Resource.json @@ -0,0 +1,1811 @@ +{ + "openapi": "3.0.0", + "info": { + "title": "Account Registration Resource", + "version": "API" + }, + "servers": [ + { + "url": "https://cvc.site.fedex.com/virts/API-Factory-Dev/Registration-Resource/API", + "description": "SwaggerHub API Auto Mocking" + }, + { + "url": "https://apis-sandbox.fedex.com" + } + ], + "paths": { + "/registration/v2/address/keysgeneration": { + "post": { + "summary": "Address Validation", + "description": "API End point being used to perform address validation during the credentials registration process of csp consumers. This endpoint validates the address and generates the keys.
Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.", + "operationId": "Create Customer Key", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomerKeyInputVO" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IrcpResponseVO" + }, + "examples": { + "mfaOptions": { + "summary": "Address Validation Results", + "value": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "output": { + "mfaOptions": { + "accountAuthToken": "eyJhbGciOiJIUzI1NiJ9.eyJUeXBlT2ZKV1QiOiJBZGRyZXNzVmFsaWRhdGVkIiwiQWNjb3VudE51bWJlciI6IjE3Mzk5NjE0NCIsIkRhdGVUaW1lIjoxODAwMDAwLCJleHAiOjE2NjcyMTk3MDF9.N6IscMuoewdxKvEIZh8023GFM_mRgoIU2kYQ0STxF7c", + "mfaRequired": true, + "email": "PU***@S***.COM", + "phoneNumber": "***-***-4222", + "options": { + "invoice": "INVOICE", + "secureCode": [ + "SMS" + ] + } + } + } + } + }, + "credentials": { + "summary": "Key Generation", + "value": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "output": { + "child_Key": "d63a0af2-efbf-4086-8333-a0f1a2f69dfa", + "child_secret": "6jJvpNAY7NQTrDM56un9qCwtI" + } + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO" + }, + "examples": { + "AccountNumberNotFoundError": { + "$ref": "#/components/examples/AccountNumberNotFoundExample" + }, + "AddressDetailInvalidError": { + "$ref": "#/components/examples/AddressDetailInvalidExample" + }, + "AddressValidationUnknownError": { + "$ref": "#/components/examples/AddressValidationUnknownExample" + }, + "UserAccountNotFoundError": { + "$ref": "#/components/examples/UserAccountNotFoundExample" + }, + "AccountValidationError": { + "$ref": "#/components/examples/AccountValidationErrorExample" + }, + "AccountNumberRequiredError": { + "$ref": "#/components/examples/AccountNumberRequiredExample" + }, + "ChildKeyNameUniquenessError": { + "$ref": "#/components/examples/ChildKeyNameUniquenessExample" + }, + "CustomerNameRequiredError": { + "$ref": "#/components/examples/CustomerNameRequiredExample" + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO401" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "NOT.AUTHORIZED.ERROR", + "message": "Access token expired. Please modify your request and try again." + } + ] + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO403" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "FORBIDDEN.ERROR", + "message": "We could not authorize your credentials. Please check your permissions and try again." + } + ] + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO404" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "NOT.FOUND.ERROR", + "message": "The resource you requested is no longer available. Please modify your request and try again." + } + ] + } + } + } + }, + "500": { + "description": "Failure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO500" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "INTERNAL.SERVER.ERROR", + "message": "We encountered an unexpected error and are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time." + } + ] + } + } + } + } + }, + "parameters": [ + { + "in": "header", + "name": "x-customer-transaction-id", + "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.", + "required": false, + "schema": { + "type": "string", + "example": "624deea6-b709-470c-8c39-4b5511281492" + } + }, + { + "in": "header", + "name": "content-type", + "description": "This is used to indicate the media type of the resource. The media type is a string sent along with the file indicating format of the file.", + "required": true, + "schema": { + "type": "string", + "example": "application/json" + } + }, + { + "in": "header", + "name": "x-locale", + "description": "This indicates the combination of language code and country code. Click here to see Locales", + "required": false, + "schema": { + "type": "string", + "example": "en_US" + } + }, + { + "in": "header", + "name": "authorization", + "description": "This indicates the authorization token for the input request.", + "required": true, + "schema": { + "type": "string", + "example": "Bearer XXX" + } + } + ], + "x-code-samples": [ + { + "lang": "C#", + "source": "var client = new RestClient(\"https://apis-sandbox.fedex.com/registration/v2/address/keysgeneration\");\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"Authorization\", \"Bearer \");\nrequest.AddHeader(\"X-locale\", \"en_US\");\nrequest.AddHeader(\"Content-Type\", \"application/json\");\n// 'input' refers to JSON Payload\nrequest.AddParameter(\"application/x-www-form-urlencoded\", input, ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);\n\n\n\n\n" + }, + { + "lang": "JAVA", + "source": "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\n// 'input' refers to JSON Payload\nRequestBody body = RequestBody.create(mediaType, input);\nRequest request = new Request.Builder()\n .url(\"https://apis-sandbox.fedex.com/registration/v2/address/keysgeneration\")\n .post(body)\n .addHeader(\"Content-Type\", \"application/json\")\n .addHeader(\"X-locale\", \"en_US\")\n .addHeader(\"Authorization\", \"Bearer \")\n .build();\n \nResponse response = client.newCall(request).execute();" + }, + { + "lang": "JAVASCRIPT", + "source": "// 'input' refers to JSON Payload\nvar data = JSON.stringify(input);\n \n var xhr = new XMLHttpRequest();\n xhr.withCredentials = true;\n \n xhr.addEventListener(\"readystatechange\", function () {\n if (this.readyState === 4) {\n console.log(this.responseText);\n }\n });\n \n xhr.open(\"POST\", \"https://apis-sandbox.fedex.com/registration/v2/address/keysgeneration\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.setRequestHeader(\"X-locale\", \"en_US\");\n xhr.setRequestHeader(\"Authorization\", \"Bearer \");\n \n xhr.send(data);" + }, + { + "lang": "PHP", + "source": "setUrl('https://apis-sandbox.fedex.com/registration/v2/address/keysgeneration');\n$request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n 'Authorization' => 'Bearer ',\n 'X-locale' => 'en_US',\n 'Content-Type' => 'application/json'\n));\n\n$request->setBody(input); // 'input' refers to JSON Payload\n\ntry {\n $response = $request->send();\n\n echo $response->getBody();\n} catch (HttpException $ex) {\n echo $ex;\n}" + }, + { + "lang": "PYTHON", + "source": "import requests\n\nurl = \"https://apis-sandbox.fedex.com/registration/v2/address/keysgeneration\"\n\npayload = input # 'input' refers to JSON Payload\nheaders = {\n 'Content-Type': \"application/json\",\n 'X-locale': \"en_US\",\n 'Authorization': \"Bearer \"\n }\n\nresponse = requests.post(url, data=payload, headers=headers)\n\nprint(response.text)" + }, + { + "lang": "RUST", + "source": "extern crate reqwest;\n\nuse std::io::Read;\n\nfn construct_headers() -> HeaderMap {\n let mut headers = HeaderMap::new();\n headers.insert(\"Content-Type\", \"application/json\");\n headers.insert(\"X-locale\", \"en_US\");\n headers.insert(\"Authorization\", \"Bearer \");\n headers\n}\n\nfn run() -> Result<()> {\n let client = reqwest::Client::new();\n let mut res = client.post(\"https://apis-sandbox.fedex.com/registration/v2/address/keysgeneration\")\n .body(input) // 'input' refers to JSON Payload\n .headers(construct_headers())\n .send()?;\n let mut body = String::new();\n res.read_to_string(&mut body)?;\n\n println!(\"Status: {}\", res.status());\n println!(\"Headers:\\n{:#?}\", res.headers());\n println!(\"Body:\\n{}\", body);\n\n Ok(())\n}" + }, + { + "lang": "SWIFT", + "source": "import Foundation\n\nlet headers = [\n \"Content-Type\": \"application/json\",\n \"X-locale\": \"en_US\",\n \"Authorization\": \"Bearer \"\n]\nlet parameters = [\n input // 'input' refers to JSON Payload\n] as [String : Any]\n\nlet postData = JSONSerialization.data(withJSONObject: parameters, options: [])\n\nlet request = NSMutableURLRequest(url: NSURL(string: \"https://apis-sandbox.fedex.com/registration/v2/address/keysgeneration\")! as URL,\n cachePolicy: .useProtocolCachePolicy,\n timeoutInterval: 10.0)\nrequest.httpMethod = \"POST\"\nrequest.allHTTPHeaderFields = headers\nrequest.httpBody = postData as Data\n\nlet session = URLSession.shared\nlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in\n if (error != nil) {\n print(error)\n } else {\n let httpResponse = response as? HTTPURLResponse\n print(httpResponse)\n }\n})\n\ndataTask.resume()" + } + ] + } + }, + "/registration/v2/pin/keysgeneration": { + "post": { + "summary": "PIN Validation", + "description": "API End point being used to perform PIN validation during the credentials registration process of csp consumers. This endpoint validates the PIN keyed in by the consumer. Then creates customer keys.
Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.", + "operationId": "validatePin", + "parameters": [ + { + "name": "x-customer-transaction-id", + "in": "header", + "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.", + "required": false, + "style": "simple", + "explode": false, + "schema": { + "type": "string", + "example": "624deea6-b709-470c-8c39-4b5511281492" + } + }, + { + "name": "x-locale", + "in": "header", + "description": "This indicates the combination of language code and country code.
Click here to see Locales", + "required": false, + "style": "simple", + "explode": false, + "schema": { + "type": "string", + "example": "en_US" + } + }, + { + "name": "x-clientid", + "in": "header", + "description": "This indicates the Client who is consuming this endpoint", + "required": false, + "style": "simple", + "explode": false, + "schema": { + "type": "string", + "example": "WSXI" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "Bearer token from oauth/token", + "required": true, + "style": "simple", + "explode": false, + "schema": { + "type": "string", + "example": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzY29wZSI6WyJDWFMiXSwiUGF5bG9hZCI6eyJjbGllbnRJZGVudGl0eSI6eyJjbGllbnRLZXkiOiJsNzYzZWU2YzE3NWQxYjRlNTZiZTBkY2JmY2U0NWE3ZjZmIn0sImF1dGhlbnRpY2F0aW9uUmVhbG0iOiJXU1NPIiwiYWRkaXRpb25hbElkZW50aXR5Ijp7InRpbWVTdGFtcCI6IjI4LVNlcC0yMDIyIDA0OjI2OjQ0IEVTVCIsImdyYW50X3R5cGUiOiJjbGllbnRfY3JlZGVudGlhbHMiLCJhcGltb2RlIjoiTGl2ZSIsImN4c0lzcyI6Imh0dHBzOi8vY3hzYXV0aHNlcnZlci1pbnRlZ3JhdGlvbi5hcHAud3RjZGV2Mi5wYWFzLmZlZGV4LmNvbS90b2tlbi9vYXV0aDIifSwicGVyc29uYVR5cGUiOiJFbXBsb3llZSIsImNvbnN1bWVySWRlbnRpdHkiOnsiaWRlbnRpdHkiOiIzNzQ2MDM1IiwicmF3SWRlbnRpdHkiOiIzNzQ2MDM1IiwibG9nZ2VkSW4iOmZhbHNlfX0sImV4cCI6MTY2NDM2MDgwNCwianRpIjoiZWE5NmQyNzktNTU5Yy00NmRlLTgxODctM2UzYTQxNjg0NmRjIn0.e40-levPzQ-WkmICiCHBR5upr-rDaD9gl3HY59uJ9qR_VdkLQkjIhY_DrQEKeJwrsz8vV9Kuy1Aw7IPIse9zFPPOGBYOAlrSd6eg_iEZSSmmAw10OJGHbsfsyuuNVLOx_NzjlBCne7LvsgthNeP74fcy1jtVLCy2WmzlGoA6d-ZW_kKQQWXzWC3qPDKKppvAewuX8uGsPrT-IerzY_XMsdUaiavYZLP1ijkia8LRP4puqpOAzXbxvJDY3DQYb9UQi7QTZgbh2zUoIkHyZSn4ZFCDTAFBlYqn3ialMoHHk7nKXE22Zi12JEFmZpxi61R_5EgTWUS30ljOyiy8P6--NV2HzNpJvk8f9v2AsAm6brEzPmm_l0uS5mBiaCAN_m_V-gi0NxRNd2r1qC24jJyJqWTO2jZfPbPj-Y0LGWKFSEWhVvHVjkyFQ380wYuNh2953jRGcgpZAQ4q449uWDmqT--zto8UJIwRAx1mLGbW1sqhtRFOP_d89oirwtfzfahXtVs7F2G7obWayEyFjxd-SGBkSIxAufNAq73Nbgflw_LqyCAnjJ3nUo8BrBVu44f5OMabZvnEKdaNyOqGd0qYskOkXYHa2AL2Que1t2qLkrmS4I3n3p7b1wPZL54e1CjhJngi4fcOiX-4E4yXQ5YxG6pM3B4xqa0V9NV9YwpgsWk" + } + }, + { + "name": "accountAuthToken", + "in": "header", + "description": "Address validation jwt", + "required": true, + "style": "simple", + "explode": false, + "schema": { + "type": "string", + "example": "eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3MzJiMDgzZi0zZTc0LTRhMjYtOGI0ZS1jY2NmYTA1ZTY1MTQiLCJpYXQiOjE2NjIwMzY0MjQsImlzcyI6IjVmMTA2ZDlmMTM5MTk0MTc5ZjY0NjJkZCIsIk9yZ1VuaXRJZCI6IjU2MDk5Y2ViZjcyM2FhM2UyNGQ4MTlkOSIsIlBheWxvYWQiOnsib3JkZXJOdW1iZXIiOiJkNjVhZTUzMC1iNzA1LTRiYWUtYjJmMy03Y2I1ZjgwNzBiMzQiLCJhbW91bnQiOiIxMDAwMC4wIiwiY3VycmVuY3lDb2RlIjoiRVVSIn0sIlJlZmVyZW5jZUlkIjoiN2YzMzNhOWYtN2JhZi00ZGNhLWJjMjAtYmY2MTU0ZDU2MTdiIiwiZXhwIjoxNjYyMDM3MzI0fQ.9-LVXKCfAJ7xmh3Hp6U7hXGT9z-14_5tPWu3reQRTbo" + } + }, + { + "in": "header", + "name": "content-type", + "description": "This is used to indicate the media type of the resource. The media type is a string sent along with the file indicating format of the file.", + "required": true, + "schema": { + "type": "string", + "example": "application/json" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidatePinInputVO" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IrcpResponseVO_1" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO_1" + }, + "examples": { + "SessionExpiredError": { + "$ref": "#/components/examples/SessionExpiredExample" + }, + "UnauthorizedAccessError": { + "$ref": "#/components/examples/UnauthorizedAccessExample" + }, + "PinOptionInvalidExpiredError": { + "$ref": "#/components/examples/PinOptionInvalidExpiredExample" + }, + "PinSecurecodeReqError": { + "$ref": "#/components/examples/PinSecurecodeReqErrorExample" + }, + "PinUnknownError": { + "$ref": "#/components/examples/PinErrorExample" + }, + "ChildKeyUniqenessExample": { + "$ref": "#/components/examples/ChildKeyUniqenessExample" + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO_1" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "NOT.FOUND.ERROR", + "message": "The resource you requested is no longer available. Please modify your request and try again." + } + ] + } + } + } + }, + "500": { + "description": "Failure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO_1" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "INTERNAL.SERVER.ERROR", + "message": "We encountered an unexpected error and are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time." + } + ] + } + } + } + } + }, + "x-code-samples": [ + { + "lang": "C#", + "source": "var client = new RestClient(\"https://apis-sandbox.fedex.com/registration/v2/pin/keysgeneration\");\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"Authorization\", \"Bearer \");\nrequest.AddHeader(\"X-locale\", \"en_US\");\nrequest.AddHeader(\"Content-Type\", \"application/json\");\n// 'input' refers to JSON Payload\nrequest.AddParameter(\"application/x-www-form-urlencoded\", input, ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);\n\n\n\n\n" + }, + { + "lang": "JAVA", + "source": "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\n// 'input' refers to JSON Payload\nRequestBody body = RequestBody.create(mediaType, input);\nRequest request = new Request.Builder()\n .url(\"https://apis-sandbox.fedex.com/registration/v2/pin/keysgeneration\")\n .post(body)\n .addHeader(\"Content-Type\", \"application/json\")\n .addHeader(\"X-locale\", \"en_US\")\n .addHeader(\"Authorization\", \"Bearer \")\n .build();\n \nResponse response = client.newCall(request).execute();" + }, + { + "lang": "JAVASCRIPT", + "source": "// 'input' refers to JSON Payload\nvar data = JSON.stringify(input);\n \n var xhr = new XMLHttpRequest();\n xhr.withCredentials = true;\n \n xhr.addEventListener(\"readystatechange\", function () {\n if (this.readyState === 4) {\n console.log(this.responseText);\n }\n });\n \n xhr.open(\"POST\", \"https://apis-sandbox.fedex.com/registration/v2/pin/keysgeneration\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.setRequestHeader(\"X-locale\", \"en_US\");\n xhr.setRequestHeader(\"Authorization\", \"Bearer \");\n \n xhr.send(data);" + }, + { + "lang": "PHP", + "source": "setUrl('https://apis-sandbox.fedex.com/registration/v2/pin/keysgeneration');\n$request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n 'Authorization' => 'Bearer ',\n 'X-locale' => 'en_US',\n 'Content-Type' => 'application/json'\n));\n\n$request->setBody(input); // 'input' refers to JSON Payload\n\ntry {\n $response = $request->send();\n\n echo $response->getBody();\n} catch (HttpException $ex) {\n echo $ex;\n}" + }, + { + "lang": "PYTHON", + "source": "import requests\n\nurl = \"https://apis-sandbox.fedex.com/registration/v2/pin/keysgeneration\"\n\npayload = input # 'input' refers to JSON Payload\nheaders = {\n 'Content-Type': \"application/json\",\n 'X-locale': \"en_US\",\n 'Authorization': \"Bearer \"\n }\n\nresponse = requests.post(url, data=payload, headers=headers)\n\nprint(response.text)" + }, + { + "lang": "RUST", + "source": "extern crate reqwest;\n\nuse std::io::Read;\n\nfn construct_headers() -> HeaderMap {\n let mut headers = HeaderMap::new();\n headers.insert(\"Content-Type\", \"application/json\");\n headers.insert(\"X-locale\", \"en_US\");\n headers.insert(\"Authorization\", \"Bearer \");\n headers\n}\n\nfn run() -> Result<()> {\n let client = reqwest::Client::new();\n let mut res = client.post(\"https://apis-sandbox.fedex.com/registration/v2/pin/keysgeneration\")\n .body(input) // 'input' refers to JSON Payload\n .headers(construct_headers())\n .send()?;\n let mut body = String::new();\n res.read_to_string(&mut body)?;\n\n println!(\"Status: {}\", res.status());\n println!(\"Headers:\\n{:#?}\", res.headers());\n println!(\"Body:\\n{}\", body);\n\n Ok(())\n}" + }, + { + "lang": "SWIFT", + "source": "import Foundation\n\nlet headers = [\n \"Content-Type\": \"application/json\",\n \"X-locale\": \"en_US\",\n \"Authorization\": \"Bearer \"\n]\nlet parameters = [\n input // 'input' refers to JSON Payload\n] as [String : Any]\n\nlet postData = JSONSerialization.data(withJSONObject: parameters, options: [])\n\nlet request = NSMutableURLRequest(url: NSURL(string: \"https://apis-sandbox.fedex.com/registration/v2/pin/keysgeneration\")! as URL,\n cachePolicy: .useProtocolCachePolicy,\n timeoutInterval: 10.0)\nrequest.httpMethod = \"POST\"\nrequest.allHTTPHeaderFields = headers\nrequest.httpBody = postData as Data\n\nlet session = URLSession.shared\nlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in\n if (error != nil) {\n print(error)\n } else {\n let httpResponse = response as? HTTPURLResponse\n print(httpResponse)\n }\n})\n\ndataTask.resume()" + } + ] + } + }, + "/registration/v2/invoice/keysgeneration": { + "post": { + "summary": "Invoice Validation", + "description": "API End point being used to perform invoice validation during the credentials registration process of csp consumers. This endpoint validates the invoice detail associated with the FedEx EAN account number & creates customer keysNote: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.", + "operationId": "validateInvoice", + "parameters": [ + { + "name": "x-customer-transaction-id", + "in": "header", + "description": "\"This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.\"", + "required": false, + "style": "simple", + "explode": false, + "schema": { + "type": "string", + "example": "624deea6-b709-470c-8c39-4b5511281492" + } + }, + { + "name": "x-locale", + "in": "header", + "description": "This indicates the combination of language code and country code.", + "required": false, + "style": "simple", + "explode": false, + "schema": { + "type": "string", + "example": "en_US" + } + }, + { + "name": "x-clientid", + "in": "header", + "description": "This indicates the Client who is consuming this endpoint", + "required": false, + "style": "simple", + "explode": false, + "schema": { + "type": "string", + "example": "WSXI" + } + }, + { + "name": "authorization", + "in": "header", + "description": "Bearer token from oauth/token", + "required": true, + "style": "simple", + "explode": false, + "schema": { + "type": "string", + "example": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzY29wZSI6WyJDWFMiXSwiUGF5bG9hZCI6eyJjbGllbnRJZGVudGl0eSI6eyJjbGllbnRLZXkiOiJsNzYzZWU2YzE3NWQxYjRlNTZiZTBkY2JmY2U0NWE3ZjZmIn0sImF1dGhlbnRpY2F0aW9uUmVhbG0iOiJXU1NPIiwiYWRkaXRpb25hbElkZW50aXR5Ijp7InRpbWVTdGFtcCI6IjI4LVNlcC0yMDIyIDA0OjI2OjQ0IEVTVCIsImdyYW50X3R5cGUiOiJjbGllbnRfY3JlZGVudGlhbHMiLCJhcGltb2RlIjoiTGl2ZSIsImN4c0lzcyI6Imh0dHBzOi8vY3hzYXV0aHNlcnZlci1pbnRlZ3JhdGlvbi5hcHAud3RjZGV2Mi5wYWFzLmZlZGV4LmNvbS90b2tlbi9vYXV0aDIifSwicGVyc29uYVR5cGUiOiJFbXBsb3llZSIsImNvbnN1bWVySWRlbnRpdHkiOnsiaWRlbnRpdHkiOiIzNzQ2MDM1IiwicmF3SWRlbnRpdHkiOiIzNzQ2MDM1IiwibG9nZ2VkSW4iOmZhbHNlfX0sImV4cCI6MTY2NDM2MDgwNCwianRpIjoiZWE5NmQyNzktNTU5Yy00NmRlLTgxODctM2UzYTQxNjg0NmRjIn0.e40-levPzQ-WkmICiCHBR5upr-rDaD9gl3HY59uJ9qR_VdkLQkjIhY_DrQEKeJwrsz8vV9Kuy1Aw7IPIse9zFPPOGBYOAlrSd6eg_iEZSSmmAw10OJGHbsfsyuuNVLOx_NzjlBCne7LvsgthNeP74fcy1jtVLCy2WmzlGoA6d-ZW_kKQQWXzWC3qPDKKppvAewuX8uGsPrT-IerzY_XMsdUaiavYZLP1ijkia8LRP4puqpOAzXbxvJDY3DQYb9UQi7QTZgbh2zUoIkHyZSn4ZFCDTAFBlYqn3ialMoHHk7nKXE22Zi12JEFmZpxi61R_5EgTWUS30ljOyiy8P6--NV2HzNpJvk8f9v2AsAm6brEzPmm_l0uS5mBiaCAN_m_V-gi0NxRNd2r1qC24jJyJqWTO2jZfPbPj-Y0LGWKFSEWhVvHVjkyFQ380wYuNh2953jRGcgpZAQ4q449uWDmqT--zto8UJIwRAx1mLGbW1sqhtRFOP_d89oirwtfzfahXtVs7F2G7obWayEyFjxd-SGBkSIxAufNAq73Nbgflw_LqyCAnjJ3nUo8BrBVu44f5OMabZvnEKdaNyOqGd0qYskOkXYHa2AL2Que1t2qLkrmS4I3n3p7b1wPZL54e1CjhJngi4fcOiX-4E4yXQ5YxG6pM3B4xqa0V9NV9YwpgsWk" + } + }, + { + "name": "accountAuthToken", + "in": "header", + "description": "Address validation jwt", + "required": true, + "style": "simple", + "explode": false, + "schema": { + "type": "string", + "example": "eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3MzJiMDgzZi0zZTc0LTRhMjYtOGI0ZS1jY2NmYTA1ZTY1MTQiLCJpYXQiOjE2NjIwMzY0MjQsImlzcyI6IjVmMTA2ZDlmMTM5MTk0MTc5ZjY0NjJkZCIsIk9yZ1VuaXRJZCI6IjU2MDk5Y2ViZjcyM2FhM2UyNGQ4MTlkOSIsIlBheWxvYWQiOnsib3JkZXJOdW1iZXIiOiJkNjVhZTUzMC1iNzA1LTRiYWUtYjJmMy03Y2I1ZjgwNzBiMzQiLCJhbW91bnQiOiIxMDAwMC4wIiwiY3VycmVuY3lDb2RlIjoiRVVSIn0sIlJlZmVyZW5jZUlkIjoiN2YzMzNhOWYtN2JhZi00ZGNhLWJjMjAtYmY2MTU0ZDU2MTdiIiwiZXhwIjoxNjYyMDM3MzI0fQ.9-LVXKCfAJ7xmh3Hp6U7hXGT9z-14_5tPWu3reQRTbo" + } + }, + { + "in": "header", + "name": "content-type", + "description": "This is used to indicate the media type of the resource. The media type is a string sent along with the file indicating format of the file.", + "required": true, + "schema": { + "type": "string", + "example": "application/json" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidateInvoiceInputVO" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IrcpResponseVO_1" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO_2" + }, + "examples": { + "InvoiceNumberRequiredExample": { + "$ref": "#/components/examples/InvoiceNumberRequiredExample" + }, + "InvoiceUnknownExample": { + "$ref": "#/components/examples/InvoiceUnknownExample" + }, + "InvoiceDetailsRequiredExample": { + "$ref": "#/components/examples/InvoiceDetailsRequiredExample" + }, + "ChildKeyNameUniqunessExample": { + "$ref": "#/components/examples/ChildKeyNameUniqunessExample" + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO_2" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "INVOICEDETAILS.NUMBER.NOTEXIST", + "message": "Invoice does not exist for the provided invoice number." + } + ] + } + } + } + }, + "500": { + "description": "Failure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO_2" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "INTERNAL.SERVER.ERROR", + "message": "We encountered an unexpected error and are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time." + } + ] + } + } + } + } + }, + "x-code-samples": [ + { + "lang": "C#", + "source": "var client = new RestClient(\"https://apis-sandbox.fedex.com/registration/v2/invoice/keysgeneration\");\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"Authorization\", \"Bearer \");\nrequest.AddHeader(\"X-locale\", \"en_US\");\nrequest.AddHeader(\"Content-Type\", \"application/json\");\n// 'input' refers to JSON Payload\nrequest.AddParameter(\"application/x-www-form-urlencoded\", input, ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);\n\n\n\n\n" + }, + { + "lang": "JAVA", + "source": "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\n// 'input' refers to JSON Payload\nRequestBody body = RequestBody.create(mediaType, input);\nRequest request = new Request.Builder()\n .url(\"https://apis-sandbox.fedex.com/registration/v2/invoice/keysgeneration\")\n .post(body)\n .addHeader(\"Content-Type\", \"application/json\")\n .addHeader(\"X-locale\", \"en_US\")\n .addHeader(\"Authorization\", \"Bearer \")\n .build();\n \nResponse response = client.newCall(request).execute();" + }, + { + "lang": "JAVASCRIPT", + "source": "// 'input' refers to JSON Payload\nvar data = JSON.stringify(input);\n \n var xhr = new XMLHttpRequest();\n xhr.withCredentials = true;\n \n xhr.addEventListener(\"readystatechange\", function () {\n if (this.readyState === 4) {\n console.log(this.responseText);\n }\n });\n \n xhr.open(\"POST\", \"https://apis-sandbox.fedex.com/registration/v2/invoice/keysgeneration\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.setRequestHeader(\"X-locale\", \"en_US\");\n xhr.setRequestHeader(\"Authorization\", \"Bearer \");\n \n xhr.send(data);" + }, + { + "lang": "PHP", + "source": "setUrl('https://apis-sandbox.fedex.com/registration/v2/invoice/keysgeneration');\n$request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n 'Authorization' => 'Bearer ',\n 'X-locale' => 'en_US',\n 'Content-Type' => 'application/json'\n));\n\n$request->setBody(input); // 'input' refers to JSON Payload\n\ntry {\n $response = $request->send();\n\n echo $response->getBody();\n} catch (HttpException $ex) {\n echo $ex;\n}" + }, + { + "lang": "PYTHON", + "source": "import requests\n\nurl = \"https://apis-sandbox.fedex.com/registration/v2/invoice/keysgeneration\"\n\npayload = input # 'input' refers to JSON Payload\nheaders = {\n 'Content-Type': \"application/json\",\n 'X-locale': \"en_US\",\n 'Authorization': \"Bearer \"\n }\n\nresponse = requests.post(url, data=payload, headers=headers)\n\nprint(response.text)" + }, + { + "lang": "RUST", + "source": "extern crate reqwest;\n\nuse std::io::Read;\n\nfn construct_headers() -> HeaderMap {\n let mut headers = HeaderMap::new();\n headers.insert(\"Content-Type\", \"application/json\");\n headers.insert(\"X-locale\", \"en_US\");\n headers.insert(\"Authorization\", \"Bearer \");\n headers\n}\n\nfn run() -> Result<()> {\n let client = reqwest::Client::new();\n let mut res = client.post(\"https://apis-sandbox.fedex.com/registration/v2/invoice/keysgeneration\")\n .body(input) // 'input' refers to JSON Payload\n .headers(construct_headers())\n .send()?;\n let mut body = String::new();\n res.read_to_string(&mut body)?;\n\n println!(\"Status: {}\", res.status());\n println!(\"Headers:\\n{:#?}\", res.headers());\n println!(\"Body:\\n{}\", body);\n\n Ok(())\n}" + }, + { + "lang": "SWIFT", + "source": "import Foundation\n\nlet headers = [\n \"Content-Type\": \"application/json\",\n \"X-locale\": \"en_US\",\n \"Authorization\": \"Bearer \"\n]\nlet parameters = [\n input // 'input' refers to JSON Payload\n] as [String : Any]\n\nlet postData = JSONSerialization.data(withJSONObject: parameters, options: [])\n\nlet request = NSMutableURLRequest(url: NSURL(string: \"https://apis-sandbox.fedex.com/registration/v2/invoice/keysgeneration\")! as URL,\n cachePolicy: .useProtocolCachePolicy,\n timeoutInterval: 10.0)\nrequest.httpMethod = \"POST\"\nrequest.allHTTPHeaderFields = headers\nrequest.httpBody = postData as Data\n\nlet session = URLSession.shared\nlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in\n if (error != nil) {\n print(error)\n } else {\n let httpResponse = response as? HTTPURLResponse\n print(httpResponse)\n }\n})\n\ndataTask.resume()" + } + ] + } + }, + "/registration/v2/customerkeys/pingeneration": { + "post": { + "summary": "PIN Generation", + "description": "Use this API endpoint to generate the PIN as part of the PIN validation during the credentials registration process of csp consumers. This endpoint generates the 6 digit PIN & sends to the consumer through the PIN delivery option chosen by the consumer.", + "operationId": "sendPin", + "parameters": [ + { + "name": "x-locale", + "in": "header", + "description": "This indicates the combination of language code and country code.
click here to see locales", + "required": false, + "style": "simple", + "explode": false, + "schema": { + "type": "string", + "example": "en_US" + } + }, + { + "name": "x-clientid", + "in": "header", + "description": "This indicates the client who is using this endpoint.", + "required": false, + "style": "simple", + "explode": false, + "schema": { + "type": "string", + "example": "WADM" + } + }, + { + "name": "accountAuthToken", + "in": "header", + "description": "Address validation jwt", + "required": true, + "style": "simple", + "explode": false, + "schema": { + "type": "string", + "example": "eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3MzJiMDgzZi0zZTc0LTRhMjYtOGI0ZS1jY2NmYTA1ZTY1MTQiLCJpYXQiOjE2NjIwMzY0MjQsImlzcyI6IjVmMTA2ZDlmMTM5MTk0MTc5ZjY0NjJkZCIsIk9yZ1VuaXRJZCI6IjU2MDk5Y2ViZjcyM2FhM2UyNGQ4MTlkOSIsIlBheWxvYWQiOnsib3JkZXJOdW1iZXIiOiJkNjVhZTUzMC1iNzA1LTRiYWUtYjJmMy03Y2I1ZjgwNzBiMzQiLCJhbW91bnQiOiIxMDAwMC4wIiwiY3VycmVuY3lDb2RlIjoiRVVSIn0sIlJlZmVyZW5jZUlkIjoiN2YzMzNhOWYtN2JhZi00ZGNhLWJjMjAtYmY2MTU0ZDU2MTdiIiwiZXhwIjoxNjYyMDM3MzI0fQ.9-LVXKCfAJ7xmh3Hp6U7hXGT9z-14_5tPWu3reQRTbo" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "Bearer token generated with child id and secret", + "required": true, + "style": "simple", + "explode": false, + "schema": { + "type": "string", + "example": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzY29wZSI6WyJDWFMiXSwiUGF5bG9hZCI6eyJjbGllbnRJZGVudGl0eSI6eyJjbGllbnRLZXkiOiJsNzQzMzk4OTdhYzMzNjQ2NDI4N2Y5ZjZhOWZhZDBmNjFlIn0sImF1dGhlbnRpY2F0aW9uUmVhbG0iOiJXU1NPIiwiYWRkaXRpb25hbElkZW50aXR5Ijp7InRpbWVTdGFtcCI6IjE4LU5vdi0yMDIyIDA5OjI0OjM5IEVTVCIsImdyYW50X3R5cGUiOiJjbGllbnRfY3JlZGVudGlhbHMiLCJhcGltb2RlIjoiTGl2ZSIsImN4c0lzcyI6Imh0dHBzOi8vY3hzYXV0aHNlcnZlci1zeXN0ZW0uZGV2YXBwLnBhYXMuZmVkZXguY29tL3Rva2VuL29hdXRoMiJ9LCJwZXJzb25hVHlwZSI6IkVtcGxveWVlIiwiY29uc3VtZXJJZGVudGl0eSI6eyJpZGVudGl0eSI6IjM3NDYwMzUiLCJyYXdJZGVudGl0eSI6IjM3NDYwMzUiLCJsb2dnZWRJbiI6ZmFsc2V9fSwiZXhwIjoxNjY4Nzg1MDc5LCJqdGkiOiJiOGU0OTU4Mi03ODBhLTQ2NDgtYjI1Yy00MGRkN2RhZmVkMGIifQ.IWK_gycY2G9vmY5DqeUtKuBbAOL4H6_HUW7nkJ2wa6htt__FKDovhj6iEeJ_nla9LFQx2kJG_9Y70fn8Y0ebo5TSFI0tKBqYJF3YopW08Z8YKKDQGxtCzsw3_z43FYrf-FJ5EVFsW1AZm0Z013Y_zn7YM9W6k-TtMTF2OkQ8SiwdwG226kNdHkyDKZ2VR77ft795WZFz7tFLfckwDurcUY7dslLrta4YYXqjFakCpFWWyRY2rHWvpjT_xeMsnYyo1zoO3IWTbg1dy-cjX-A6s02d_OZI_jYDz_faLxnIj29rHdnGEwVt07ZmKPM9NypWsug3hi9OYbiECzDIFBgcxZf8KOvMEwt0rHZWHW3OR4iGEZpPmdAXiv_Li8bmhM1qWI9hZAiPXq-jKTw5ieuIRpfdujSmXGiwnZKmA1WCRZ09nP9rWsUvgPf9PJlCbFo84_lHcyzcKss8lUZHBhINBPeyferV347GoplvLGhtyUpVbJc40oKDDDqgKXWVP5GPvC5IqgNbwTx83NeWSOMXlig69k2C9mdELNwhrAN1lSRhbbKNf0oydKE6uRcey9_U3Rb-gfW5aB0RmvsmIOEWcG8kKvhflxj-m3Sb4qZaTCqZmwSEfYj8a5GesS3t54v7XHkNcOXDZg4D5_710uVqWx2KbqKksyL5RlJMPePhTIs" + } + }, + { + "in": "header", + "name": "x-customer-transaction-id", + "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.", + "required": false, + "schema": { + "type": "string", + "example": "624deea6-b709-470c-8c39-4b5511281492" + } + }, + { + "in": "header", + "name": "content-type", + "description": "This is used to indicate the media type of the resource. The media type is a string sent along with the file indicating format of the file.", + "required": true, + "schema": { + "type": "string", + "example": "application/json" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IssuePinInputVO" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PinGenerationOutputVO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO_2" + }, + "examples": { + "SessionExpiredError": { + "$ref": "#/components/examples/SessionExpiredExample" + }, + "UnauthorizedAccessError": { + "$ref": "#/components/examples/UnauthorizedAccessExample" + }, + "PinoptionReqError": { + "$ref": "#/components/examples/PinoptionReqErrorExample" + }, + "PinIssueFailedError": { + "$ref": "#/components/examples/PinIssueFailedErrorExample" + }, + "EmailNotRegisteredError": { + "$ref": "#/components/examples/EmailNotRegisteredErrorExample" + }, + "PhonenumberNotRegError": { + "$ref": "#/components/examples/PhonenumberNotRegExample" + }, + "PinErrorExample": { + "$ref": "#/components/examples/PinErrorExample" + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO_2" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "customerTransactionId": "0e671149-016f-1000-941f-ef4dbabadd2e", + "errors": [ + { + "code": "LOGIN.REAUTHENTICATE.ERROR", + "message": "Your session is expired. Please enter your user ID and password to log in again." + } + ] + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO_2" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "customerTransactionId": "0e671149-016f-1000-941f-ef4dbabadd2e", + "errors": [ + { + "code": "FORBIDDEN.ERROR", + "message": "We could not authorize your credentials. Please check your permissions and try again." + } + ] + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO_2" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "customerTransactionId": "0e671149-016f-1000-941f-ef4dbabadd2e", + "errors": [ + { + "code": "NOT.FOUND.ERROR", + "message": "The resource you requested is no longer available. Please modify your request and try again." + } + ] + } + } + } + }, + "500": { + "description": "Failure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO_2" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "customerTransactionId": "0e671149-016f-1000-941f-ef4dbabadd2e", + "errors": [ + { + "code": "INTERNAL.SERVER.ERROR", + "message": "We encountered an unexpected error and are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time." + } + ] + } + } + } + } + }, + "x-code-samples": [ + { + "lang": "C#", + "source": "var client = new RestClient(\"https://apis-sandbox.fedex.com/registration/v2/customerkeys/pingeneration\");\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"Authorization\", \"Bearer \");\nrequest.AddHeader(\"X-locale\", \"en_US\");\nrequest.AddHeader(\"Content-Type\", \"application/json\");\n// 'input' refers to JSON Payload\nrequest.AddParameter(\"application/x-www-form-urlencoded\", input, ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);\n\n\n\n\n" + }, + { + "lang": "JAVA", + "source": "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\n// 'input' refers to JSON Payload\nRequestBody body = RequestBody.create(mediaType, input);\nRequest request = new Request.Builder()\n .url(\"https://apis-sandbox.fedex.com/registration/v2/customerkeys/pingeneration\")\n .post(body)\n .addHeader(\"Content-Type\", \"application/json\")\n .addHeader(\"X-locale\", \"en_US\")\n .addHeader(\"Authorization\", \"Bearer \")\n .build();\n \nResponse response = client.newCall(request).execute();" + }, + { + "lang": "JAVASCRIPT", + "source": "// 'input' refers to JSON Payload\nvar data = JSON.stringify(input);\n \n var xhr = new XMLHttpRequest();\n xhr.withCredentials = true;\n \n xhr.addEventListener(\"readystatechange\", function () {\n if (this.readyState === 4) {\n console.log(this.responseText);\n }\n });\n \n xhr.open(\"POST\", \"https://apis-sandbox.fedex.com/registration/v2/customerkeys/pingeneration\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.setRequestHeader(\"X-locale\", \"en_US\");\n xhr.setRequestHeader(\"Authorization\", \"Bearer \");\n \n xhr.send(data);" + }, + { + "lang": "PHP", + "source": "setUrl('https://apis-sandbox.fedex.com/registration/v2/customerkeys/pingeneration');\n$request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n 'Authorization' => 'Bearer ',\n 'X-locale' => 'en_US',\n 'Content-Type' => 'application/json'\n));\n\n$request->setBody(input); // 'input' refers to JSON Payload\n\ntry {\n $response = $request->send();\n\n echo $response->getBody();\n} catch (HttpException $ex) {\n echo $ex;\n}" + }, + { + "lang": "PYTHON", + "source": "import requests\n\nurl = \"https://apis-sandbox.fedex.com/registration/v2/customerkeys/pingeneration\"\n\npayload = input # 'input' refers to JSON Payload\nheaders = {\n 'Content-Type': \"application/json\",\n 'X-locale': \"en_US\",\n 'Authorization': \"Bearer \"\n }\n\nresponse = requests.post(url, data=payload, headers=headers)\n\nprint(response.text)" + }, + { + "lang": "RUST", + "source": "extern crate reqwest;\n\nuse std::io::Read;\n\nfn construct_headers() -> HeaderMap {\n let mut headers = HeaderMap::new();\n headers.insert(\"Content-Type\", \"application/json\");\n headers.insert(\"X-locale\", \"en_US\");\n headers.insert(\"Authorization\", \"Bearer \");\n headers\n}\n\nfn run() -> Result<()> {\n let client = reqwest::Client::new();\n let mut res = client.post(\"https://apis-sandbox.fedex.com/registration/v2/customerkeys/pingeneration\")\n .body(input) // 'input' refers to JSON Payload\n .headers(construct_headers())\n .send()?;\n let mut body = String::new();\n res.read_to_string(&mut body)?;\n\n println!(\"Status: {}\", res.status());\n println!(\"Headers:\\n{:#?}\", res.headers());\n println!(\"Body:\\n{}\", body);\n\n Ok(())\n}" + }, + { + "lang": "SWIFT", + "source": "import Foundation\n\nlet headers = [\n \"Content-Type\": \"application/json\",\n \"X-locale\": \"en_US\",\n \"Authorization\": \"Bearer \"\n]\nlet parameters = [\n input // 'input' refers to JSON Payload\n] as [String : Any]\n\nlet postData = JSONSerialization.data(withJSONObject: parameters, options: [])\n\nlet request = NSMutableURLRequest(url: NSURL(string: \"https://apis-sandbox.fedex.com/registration/v2/customerkeys/pingeneration\")! as URL,\n cachePolicy: .useProtocolCachePolicy,\n timeoutInterval: 10.0)\nrequest.httpMethod = \"POST\"\nrequest.allHTTPHeaderFields = headers\nrequest.httpBody = postData as Data\n\nlet session = URLSession.shared\nlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in\n if (error != nil) {\n print(error)\n } else {\n let httpResponse = response as? HTTPURLResponse\n print(httpResponse)\n }\n})\n\ndataTask.resume()" + } + ] + } + } + }, + "components": { + "schemas": { + "IrcpResponseVO": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "output": { + "$ref": "#/components/schemas/BaseProcessOutputVO" + } + }, + "description": "This is a wrapper class for outputVO" + }, + "BaseProcessOutputVO": { + "type": "object", + "properties": { + "mfaOptions": { + "$ref": "#/components/schemas/MFAOptions" + }, + "child_Key": { + "type": "string", + "description": "Child Key is a JSON Web Token provided for each of your customers. You must use the Child Key along with the Client Key, Client Secret and Customer Secret to get oAuth token, which should be used as credentials with each API transaction.", + "example": "e366a577-3708-47e5-9af8-98004a01c134" + }, + "child_secret": { + "type": "string", + "description": "Child secret, also referred to as Customer Secret, is provided for each of your customers. You must use the Customer Secret along with the Client Key, Client Secret and Child Key to get the oAuth token, which should be used as credentials with each API transaction.", + "example": "*******" + } + }, + "description": "This is the response object providing Customer Key and secret key as a output." + }, + "ErrorResponseVO": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CXSError" + } + } + } + }, + "CXSError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.
Example: ERROR.LONGLAT.REQUIRED", + "example": "USER.ACCOUNT.NOTFOUND" + }, + "parameterList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Parameter" + } + }, + "message": { + "type": "string", + "description": "Indicates the description of API error alert message.
Example: Account Not Found in Database." + } + }, + "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" + }, + "Parameter": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "This is a placeholder for parameter value." + }, + "key": { + "type": "string", + "description": "This is a placeholder for parameter key." + } + }, + "description": "This object provides additional paramter details resulted in the alert." + }, + "ErrorResponseVO401": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CXSError401" + } + } + } + }, + "ErrorResponseVO403": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CXSError403" + } + } + } + }, + "ErrorResponseVO404": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
Example: 624deea6-b709-470-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CXSError404" + } + } + } + }, + "ErrorResponseVO500": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CXSError500" + } + } + } + }, + "CustomerKeyInputVO": { + "required": [ + "accountNumber", + "address", + "customerName" + ], + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/AddressVO" + }, + "accountNumber": { + "$ref": "#/components/schemas/AccountNumber" + }, + "customerName": { + "type": "string", + "description": "Name of the customer or company requesting authentication details. It accepts upto 50 characters of customerName.", + "example": "George" + } + }, + "description": "This is a request object for requesting customer key and secret key." + }, + "AddressVO": { + "required": [ + "city", + "countryCode", + "postalCode", + "residential", + "stateOrProvinceCode", + "streetLines" + ], + "type": "object", + "properties": { + "residential": { + "type": "boolean", + "description": "Indicates whether this address is residential (as opposed to commercial).", + "example": true + }, + "city": { + "type": "string", + "description": "Specify name of city or town.", + "example": "COLLIERVILLE" + }, + "countryCode": { + "type": "string", + "description": "The two-letter code used to identify a country. Max length is 2.
Click here to see Country Codes", + "example": "US" + }, + "postalCode": { + "type": "string", + "description": "Use this element to input postal code. Postal code is mandatory for postal-aware countries. The Max length is 10.
Click here to see Postal Codes", + "example": "38017" + }, + "streetLines": { + "type": "array", + "description": "Provide street address which is a combination of number, street name, etc. At least one line is required. For a valid physical address, empty lines should not be included. Max Length is 35.", + "example": [ + "20 FED EX PKWY" + ], + "items": { + "type": "string" + } + }, + "stateOrProvinceCode": { + "type": "string", + "description": "Provide 2 letter state or province code. Not used for Ground/SmartPost. Max length is 2.
Click here to see State or Province Codes", + "example": "TN" + } + }, + "description": "Indicates the customer's address you are attempting to get the Customer Key and Customer Secret for. Note that address information needs to match the shipping or billing address as loaded in FedEx systems. Contact FedEx support team for any address-related issues or questions." + }, + "AccountNumber": { + "required": [ + "key", + "value" + ], + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Indicates key to decode account number set in the value field.", + "example": "" + }, + "value": { + "type": "string", + "description": "Indicates Account Number in encoded form.", + "example": "451134221" + } + }, + "description": "This field indicates Account Number object with encoded key and value." + }, + "IrcpResponseVO_1": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "output": { + "$ref": "#/components/schemas/CustomerKeyOutputVO" + } + }, + "description": "This is a wrapper class for outputVO" + }, + "CustomerKeyOutputVO": { + "required": [ + "apiKey", + "child_Key", + "child_secret" + ], + "type": "object", + "properties": { + "child_Key": { + "type": "string", + "description": "Child Key is a JSON Web Token provided for each of your customers. You must use the Child Key along with the Client Key, Client Secret and Customer Secret to get oAuth token, which should be used as credentials with each API transaction..", + "example": "e366a577-3708-47e5-9af8-98004a01c134" + }, + "child_secret": { + "type": "string", + "description": "Child secret, also referred to as Customer Secret, is provided for each of your customers. You must use the Customer Secret along with the Client Key, Client Secret and Child Key to get the oAuth token, which should be used as credentials with each API transaction.", + "example": "e366a577-3708-47e5-9af8-98004a01c135" + } + }, + "description": "This is the response object providing Child Key and secret key as a output." + }, + "ErrorResponseVO_1": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
Example: bc95c0e4-b33e-42a2-80d2-334282b5d37a", + "example": "bc95c0e4-b33e-42a2-80d2-334282b5d37a" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CXSError_1" + } + } + }, + "description": "Error information" + }, + "CXSError_1": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.
Example: LOGIN.REAUTHENTICATE.ERROR,UNAUTHORIZED.USAGE,NOT.FOUND.ERROR,INTERNAL.SERVER.ERROR" + }, + "parameterList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ErrorParameter" + } + }, + "message": { + "type": "string", + "description": "Indicates the description of API error alert message.
Example: Option is missing." + } + }, + "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" + }, + "ErrorParameter": { + "type": "object", + "properties": { + "value": { + "type": "object", + "description": "Identifies the error option to be applied." + }, + "key": { + "type": "object", + "description": "Indicates the value associated with the key." + } + }, + "description": "List of parameters which indicates the properties of the alert message." + }, + "ValidatePinInputVO": { + "required": [ + "secureCodePin" + ], + "type": "object", + "properties": { + "locale": { + "type": "string", + "description": "Indicates the user locale.
Click here to see Locales", + "example": "en_US" + }, + "secureCodePin": { + "type": "string", + "description": "Indicates Pin which user want to validate as part of secure code pin validation.", + "example": "234567" + } + }, + "description": "This field indicates INPUT model" + }, + "ErrorResponseVO_2": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
Example: bc95c0e4-b33e-42a2-80d2-334282b5d37a", + "example": "bc95c0e4-b33e-42a2-80d2-334282b5d37a" + }, + "customerTransactionId": { + "type": "string", + "description": "It is the customerTransactionId sent as part of the request header,by the clients calling this endpoint.", + "example": "0e671149-016f-1000-941f-ef4dbabadd2e" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CXSError_1" + } + } + }, + "description": "Error information" + }, + "ValidateInvoiceInputVO": { + "required": [ + "invoiceDetail" + ], + "type": "object", + "properties": { + "invoiceDetail": { + "$ref": "#/components/schemas/InvoiceDetails" + }, + "locale": { + "type": "string", + "description": "Indicates locale and will be used for locale if x-locale is missed from header.
Click here to see Locales", + "example": "en_US" + } + }, + "description": "This field indicates Invoice Information ( Invoice number, Date, currency and amount) and locale." + }, + "PinGenerationOutputVO": { + "required": [ + "output", + "transactionId" + ], + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "This field contains unique transactionId for this API transaction", + "example": "2edc3fbc-4b39-4790-97eb-74c8849fb432" + }, + "customerTransactionId": { + "type": "string", + "description": "It is the customerTransactionId sent as part of the request header,by the clients calling this endpoint.", + "example": "0e671149-016f-1000-941f-ef4dbabadd2e" + }, + "output": { + "$ref": "#/components/schemas/PinGenerationOutputVO_output" + } + } + }, + "IssuePinInputVO": { + "required": [ + "option" + ], + "type": "object", + "properties": { + "locale": { + "type": "string", + "description": "Indicates the user locale.
click here to see locales", + "example": "en_US" + }, + "option": { + "type": "string", + "description": "Indicates option selected by the user to send generated pin.", + "example": "SMS", + "enum": [ + "SMS", + "CALL", + "EMAIL" + ] + } + }, + "description": "This field indicates INPUT model" + }, + "CustomerKeyOutputMfaOptionsVO": { + "type": "object", + "properties": { + "mfaOptions": { + "$ref": "#/components/schemas/MFAOptions" + }, + "child_Key": { + "type": "string", + "description": "Child Key is a JSON Web Token provided for each of your customers. You must use the Child Key along with the Client Key, Client Secret and Customer Secret to get oAuth token, which should be used as credentials with each API transaction.", + "example": "e366a577-3708-47e5-9af8-98004a01c134" + }, + "child_secret": { + "type": "string", + "description": "Child secret, also referred to as Customer Secret, is provided for each of your customers. You must use the Customer Secret along with the Client Key, Client Secret and Child Key to get the oAuth token, which should be used as credentials with each API transaction.", + "example": "*******" + } + }, + "description": "This is the response object providing Customer Key and secret key as a output." + }, + "MFAOptions": { + "type": "array", + "description": "It provide options to generate the secure pin or validate invoice ", + "items": { + "$ref": "#/components/schemas/MFAOptions_inner" + } + }, + "Options": { + "type": "object", + "properties": { + "invoice": { + "type": "string", + "example": "INVOICE" + }, + "secureCode": { + "type": "array", + "description": "Indicates option selected by the user to send generated pin.", + "example": [ + "SMS", + "CALL", + "EMAIL" + ], + "items": { + "type": "string", + "enum": [ + "SMS", + "CALL", + "EMAIL" + ] + } + } + } + }, + "CXSError401": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.
Example: NOT.AUTHORIZED.ERROR" + }, + "parameterList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Parameter" + } + }, + "message": { + "description": "Indicates the description of API error alert message.Example Access token expired. Please modify yourrequest and try again." + } + }, + "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" + }, + "CXSError403": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.
Example: FORBIDDEN.ERROR" + }, + "parameterList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Parameter" + } + }, + "message": { + "description": "Indicates the description of API error alert message.
Example: We\n could not authorize your credentials. Please check your permissions\n and try again" + } + }, + "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" + }, + "CXSError404": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.
Example: NOT.FOUND.ERROR" + }, + "parameterList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Parameter" + } + }, + "message": { + "description": "Indicates the description of API error alert message.
Example:\n The resource you requested is no longer available. Please modify\n your request and try again." + } + }, + "description": "Indicates error alert when suspicious files, potential exploits and\n viruses found while scanning files , directories and user accounts. This\n includes code, message and parameter" + }, + "CXSError500": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.
Example: INTERNAL.SERVER.ERROR" + }, + "parameterList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Parameter" + } + }, + "message": { + "description": "Indicates the description of API error alertmessage.
Example: We\n encountered an unexpected error and are working to resolve the\n issue. We apologize for any inconvenience. Please check back at a\n later time." + } + }, + "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" + }, + "InvoiceDetails": { + "required": [ + "amount", + "currency", + "date", + "number" + ], + "type": "object", + "properties": { + "number": { + "type": "integer", + "description": "Used to validate invoice details .It accepts no decimal.", + "example": 293235673 + }, + "currency": { + "type": "string", + "description": "Used to validate Invoice details whether invoice is related to user or not.It accepts upto 4 digits currency.
Click here to see Currency Codes", + "example": "USD" + }, + "date": { + "type": "string", + "description": "Used to validate Invoice details whether invoice is related to user or not. Date format is YYYY-MM-DD.", + "example": "2022-10-09" + }, + "amount": { + "type": "number", + "description": "Used to validate Invoice details whether invoice is related to user or not. It accepts upto 2 digit of decimal.", + "example": 2323.22 + } + }, + "description": "This field indicates and Object holds Invoice Details." + }, + "IssuePinOutputVO": { + "required": [ + "output", + "transactionId" + ], + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "This field contains unique transactionId for this API transaction", + "example": "2edc3fbc-4b39-4790-97eb-74c8849fb432" + }, + "customerTransactionId": { + "type": "string", + "description": "It is the customerTransactionId sent as part of the request header,by the clients calling this endpoint.", + "example": "0e671149-016f-1000-941f-ef4dbabadd2e" + }, + "output": { + "$ref": "#/components/schemas/PinGenerationOutputVO_output" + } + } + }, + "PinGenerationOutputVO_output": { + "required": [ + "status" + ], + "type": "object", + "properties": { + "status": { + "description": "Send the confirmation that pin has sent.", + "example": "sent secured Pin" + } + } + }, + "MFAOptions_inner": { + "properties": { + "accountAuthToken": { + "type": "string", + "example": "eyJhbGciOiJIUzI1NiJ9.eyJUeXBlT2ZKV1QiOiJBZGRyZXNzVmFsaWRhdGVkIiwiQWNjb3VudE51bWJlciI6IjE3Mzk5NjE0NCIsIkRhdGVUaW1lIjoxODAwMDAwLCJleHAiOjE2NjcyMTk3MDF9.N6IscMuoewdxKvEIZh8023GFM_mRgoIU2kYQ0STxF7c" + }, + "mfaRequired": { + "type": "boolean", + "example": true + }, + "email": { + "type": "string", + "example": "PU***@S***.COM" + }, + "phoneNumber": { + "type": "string", + "example": "***-***-4222" + }, + "options": { + "$ref": "#/components/schemas/Options" + } + }, + "example": "{\n[ {\n\"accountAuthToken\": \"eyJhbGciOiJIUzI1NiJ9.eyJUeXBlT2ZKV1QiOiJBZGRyZXNzVmFsaWRhdGVkIiwiQWNjb3VudE51bWJlciI6IjE3Mzk5NjE0NCIsIkRhdGVUaW1lIjoxODAwMDAwLCJleHAiOjE2NjcyMTk3MDF9.N6IscMuoewdxKvEIZh8023GFM_mRgoIU2kYQ0STxF7c\", \"mfaRequired\": true, \"email\": \"PU***@S***.COM\", \"phoneNumber\": \"***-***-4222\", \"options\": { \"invoice\": \"INVOICE\", \"secureCode\": [ \"SMS\" ] } } ] }" + } + }, + "examples": { + "AccountNumberNotFoundExample": { + "value": { + "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037", + "errors": [ + { + "code": "ACCOUNT.NUMBER.NOTFOUND", + "message": "Account Number not in database. Please check the number entered and try again. If you continue to have problems, please contact your local FedEx Customer Service representative (in U.S. and Canada, call 1-800-GO-FEDEX®).", + "parameterList": [] + } + ] + } + }, + "AddressDetailInvalidExample": { + "value": { + "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037", + "errors": [ + { + "code": "ADDRESS.DETAIL.INVALID", + "message": "The City, State/Province and ZIP/Postal code combination that you entered is not valid.", + "parameterList": [] + } + ] + } + }, + "AddressValidationUnknownExample": { + "value": { + "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037", + "errors": [ + { + "code": "ADDRESS.VALIDATION.UNKNOWN.ERROR", + "message": "We are unable to process this request. Please try again later or contact FedEx Customer Service.", + "parameterList": [] + } + ] + } + }, + "UserAccountNotFoundExample": { + "value": { + "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037", + "errors": [ + { + "code": "USER.ACCOUNT.NOTFOUND", + "message": "Account Not Found in Database.", + "parameterList": [] + } + ] + } + }, + "AccountValidationErrorExample": { + "value": { + "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037", + "errors": [ + { + "code": "ACCOUNTVALIDATION.UNKNOWN.ERROR", + "message": "We are unable to process this request. Please try again later or contact FedEx Customer Service.", + "parameterList": [] + } + ] + } + }, + "AccountNumberRequiredExample": { + "value": { + "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037", + "errors": [ + { + "code": "ACCOUNT.NUMBER.REQUIRED", + "message": "Account number is required.", + "parameterList": [] + } + ] + } + }, + "ChildKeyNameUniquenessExample": { + "value": { + "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037", + "errors": [ + { + "code": "CHILDKEYNAME.UNIQUENESS.ERROR", + "message": "Child key name already exists. Enter a different child key name.", + "parameterList": [] + } + ] + } + }, + "CustomerNameRequiredExample": { + "value": { + "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037", + "errors": [ + { + "code": "CUSTOMER.NAME.REQUIRED", + "message": "Customer name is required.", + "parameterList": [] + } + ] + } + }, + "SessionExpiredExample": { + "value": { + "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037", + "errors": [ + { + "code": "SESSION.EXPIRED.ERROR", + "message": "Your session is expired. Please enter your user ID and password to log in again.", + "parameterList": [] + } + ] + } + }, + "UnauthorizedAccessExample": { + "value": { + "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037", + "errors": [ + { + "code": "UNAUTHORIZED.ACCESS.ERROR", + "message": "We are unable to process this request. Please try again later or contact FedEx Customer Service.", + "parameterList": [] + } + ] + } + }, + "PinOptionInvalidExpiredExample": { + "value": { + "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037", + "errors": [ + { + "code": "PIN.OPTION.INVALIDEXPIRED", + "message": "Pin is invalid or expired..", + "parameterList": [] + } + ] + } + }, + "PinSecurecodeReqErrorExample": { + "value": { + "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037", + "errors": [ + { + "code": "PIN.PINSECURECODE.REQUIRED", + "message": "We are unable to process this request. Please try again later.", + "parameterList": [] + } + ] + } + }, + "PinErrorExample": { + "value": { + "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037", + "errors": [ + { + "code": "PIN.UNKNOWN.ERROR", + "message": "We are unable to process this request. Please try again later.", + "parameterList": [] + } + ] + } + }, + "ChildKeyUniqenessExample": { + "value": { + "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037", + "errors": [ + { + "code": "CHILDKEYNAME.UNIQUENESS.ERROR", + "message": "Child key name already exists. Enter a different child key name.", + "parameterList": [] + } + ] + } + }, + "InvoiceNumberRequiredExample": { + "value": { + "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037", + "errors": [ + { + "code": "INVOICEDETAILS.NUMBER.REQUIRED", + "message": "Please provide invoice number.", + "parameterList": [] + } + ] + } + }, + "InvoiceUnknownExample": { + "value": { + "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037", + "errors": [ + { + "code": "INVOICE.UNKNOWN.ERROR", + "message": "We are unable to process this request. Please try again later or contact FedEx Customer Service.", + "parameterList": [] + } + ] + } + }, + "InvoiceDetailsRequiredExample": { + "value": { + "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037", + "errors": [ + { + "code": "INVOICE.DETAILS.REQUIRED", + "message": "Invoice details are required.", + "parameterList": [] + } + ] + } + }, + "ChildKeyNameUniqunessExample": { + "value": { + "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037", + "customerTransactionId": "0e671149-016f-1000-941f-ef4dbabadd2e", + "errors": [ + { + "code": "CHILDKEYNAME.UNIQUENESS.ERROR", + "message": "Child key name already exists. Enter a different child key name.", + "parameterList": [] + } + ] + } + }, + "PinoptionReqErrorExample": { + "value": { + "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037", + "customerTransactionId": "0e671149-016f-1000-941f-ef4dbabadd2e", + "errors": [ + { + "code": "PIN.OPTION.REQUIRED", + "message": "Please provide option." + } + ] + } + }, + "PinIssueFailedErrorExample": { + "value": { + "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037", + "customerTransactionId": "0e671149-016f-1000-941f-ef4dbabadd2e", + "errors": [ + { + "code": "ISSUE.PIN.FAILED", + "message": "We are unable to process this request. Please try again later." + } + ] + } + }, + "EmailNotRegisteredErrorExample": { + "value": { + "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037", + "customerTransactionId": "0e671149-016f-1000-941f-ef4dbabadd2e", + "errors": [ + { + "code": "EMAIL.NOT.REGISTERED", + "message": "We are unable to process this request. Please try again later." + } + ] + } + }, + "PhonenumberNotRegExample": { + "value": { + "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037", + "customerTransactionId": "0e671149-016f-1000-941f-ef4dbabadd2e", + "errors": [ + { + "code": "PHONENUMBER.NOT.REGISTERED", + "message": "We are unable to process this request. Please try again later." + } + ] + } + } + } + } +} \ No newline at end of file diff --git a/resources/models/account-registration/v1.json b/resources/models/account-registration/v1.json new file mode 100644 index 00000000..aadcdd0f --- /dev/null +++ b/resources/models/account-registration/v1.json @@ -0,0 +1,1202 @@ +{ + "paths": { + "/registration/v2/address/keysgeneration": { + "post": { + "summary": "Address Validation", + "description": "API End point being used to perform address validation during the credentials registration process of csp consumers. This endpoint validates the address and generates the keys.
Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.", + "operationId": "Create Customer Key", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomerKeyInputVO" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IrcpResponseVO" + }, + "examples": { + "mfaOptions": { + "summary": "Address Validation Results", + "value": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "output": { + "mfaOptions": { + "accountAuthToken": "eyJhbGciOiJIUzI1NiJ9.eyJUeXBlT2ZKV1QiOiJBZGRyZXNzVmFsaWRhdGVkIiwiQWNjb3VudE51bWJlciI6IjE3Mzk5NjE0NCIsIkRhdGVUaW1lIjoxODAwMDAwLCJleHAiOjE2NjcyMTk3MDF9.N6IscMuoewdxKvEIZh8023GFM_mRgoIU2kYQ0STxF7c", + "mfaRequired": true, + "email": "PU***@S***.COM", + "phoneNumber": "***-***-4222", + "options": { + "invoice": "INVOICE", + "secureCode": [ + "SMS" + ] + } + } + } + } + }, + "credentials": { + "summary": "Key Generation", + "value": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "output": { + "child_Key": "d63a0af2-efbf-4086-8333-a0f1a2f69dfa", + "child_secret": "6jJvpNAY7NQTrDM56un9qCwtI" + } + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "NOT.AUTHORIZED.ERROR", + "message": "Access token expired. Please modify your request and try again." + } + ] + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "FORBIDDEN.ERROR", + "message": "We could not authorize your credentials. Please check your permissions and try again." + } + ] + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "NOT.FOUND.ERROR", + "message": "The resource you requested is no longer available. Please modify your request and try again." + } + ] + } + } + } + }, + "500": { + "description": "Failure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "INTERNAL.SERVER.ERROR", + "message": "We encountered an unexpected error and are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time." + } + ] + } + } + } + } + }, + "parameters": [ + { + "in": "header", + "name": "x-customer-transaction-id", + "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.", + "required": false, + "schema": { + "type": "string", + "example": "624deea6-b709-470c-8c39-4b5511281492" + } + }, + { + "in": "header", + "name": "content-type", + "description": "This is used to indicate the media type of the resource. The media type is a string sent along with the file indicating format of the file.", + "required": true, + "schema": { + "type": "string", + "example": "application/json" + } + }, + { + "in": "header", + "name": "x-locale", + "description": "This indicates the combination of language code and country code. Click here to see Locales", + "required": false, + "schema": { + "type": "string", + "example": "en_US" + } + }, + { + "in": "header", + "name": "authorization", + "description": "This indicates the authorization token for the input request.", + "required": true, + "schema": { + "type": "string", + "example": "Bearer XXX" + } + } + ], + "x-code-samples": [ + { + "lang": "C#", + "source": "var client = new RestClient(\"https://apis-sandbox.fedex.com/registration/v2/address/keysgeneration\");\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"Authorization\", \"Bearer \");\nrequest.AddHeader(\"X-locale\", \"en_US\");\nrequest.AddHeader(\"Content-Type\", \"application/json\");\n// 'input' refers to JSON Payload\nrequest.AddParameter(\"application/x-www-form-urlencoded\", input, ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);\n\n\n\n\n" + }, + { + "lang": "JAVA", + "source": "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\n// 'input' refers to JSON Payload\nRequestBody body = RequestBody.create(mediaType, input);\nRequest request = new Request.Builder()\n .url(\"https://apis-sandbox.fedex.com/registration/v2/address/keysgeneration\")\n .post(body)\n .addHeader(\"Content-Type\", \"application/json\")\n .addHeader(\"X-locale\", \"en_US\")\n .addHeader(\"Authorization\", \"Bearer \")\n .build();\n \nResponse response = client.newCall(request).execute();" + }, + { + "lang": "JAVASCRIPT", + "source": "// 'input' refers to JSON Payload\nvar data = JSON.stringify(input);\n \n var xhr = new XMLHttpRequest();\n xhr.withCredentials = true;\n \n xhr.addEventListener(\"readystatechange\", function () {\n if (this.readyState === 4) {\n console.log(this.responseText);\n }\n });\n \n xhr.open(\"POST\", \"https://apis-sandbox.fedex.com/registration/v2/address/keysgeneration\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.setRequestHeader(\"X-locale\", \"en_US\");\n xhr.setRequestHeader(\"Authorization\", \"Bearer \");\n \n xhr.send(data);" + }, + { + "lang": "PHP", + "source": "setUrl('https://apis-sandbox.fedex.com/registration/v2/address/keysgeneration');\n$request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n 'Authorization' => 'Bearer ',\n 'X-locale' => 'en_US',\n 'Content-Type' => 'application/json'\n));\n\n$request->setBody(input); // 'input' refers to JSON Payload\n\ntry {\n $response = $request->send();\n\n echo $response->getBody();\n} catch (HttpException $ex) {\n echo $ex;\n}" + }, + { + "lang": "PYTHON", + "source": "import requests\n\nurl = \"https://apis-sandbox.fedex.com/registration/v2/address/keysgeneration\"\n\npayload = input # 'input' refers to JSON Payload\nheaders = {\n 'Content-Type': \"application/json\",\n 'X-locale': \"en_US\",\n 'Authorization': \"Bearer \"\n }\n\nresponse = requests.post(url, data=payload, headers=headers)\n\nprint(response.text)" + }, + { + "lang": "RUST", + "source": "extern crate reqwest;\n\nuse std::io::Read;\n\nfn construct_headers() -> HeaderMap {\n let mut headers = HeaderMap::new();\n headers.insert(\"Content-Type\", \"application/json\");\n headers.insert(\"X-locale\", \"en_US\");\n headers.insert(\"Authorization\", \"Bearer \");\n headers\n}\n\nfn run() -> Result<()> {\n let client = reqwest::Client::new();\n let mut res = client.post(\"https://apis-sandbox.fedex.com/registration/v2/address/keysgeneration\")\n .body(input) // 'input' refers to JSON Payload\n .headers(construct_headers())\n .send()?;\n let mut body = String::new();\n res.read_to_string(&mut body)?;\n\n println!(\"Status: {}\", res.status());\n println!(\"Headers:\\n{:#?}\", res.headers());\n println!(\"Body:\\n{}\", body);\n\n Ok(())\n}" + }, + { + "lang": "SWIFT", + "source": "import Foundation\n\nlet headers = [\n \"Content-Type\": \"application/json\",\n \"X-locale\": \"en_US\",\n \"Authorization\": \"Bearer \"\n]\nlet parameters = [\n input // 'input' refers to JSON Payload\n] as [String : Any]\n\nlet postData = JSONSerialization.data(withJSONObject: parameters, options: [])\n\nlet request = NSMutableURLRequest(url: NSURL(string: \"https://apis-sandbox.fedex.com/registration/v2/address/keysgeneration\")! as URL,\n cachePolicy: .useProtocolCachePolicy,\n timeoutInterval: 10.0)\nrequest.httpMethod = \"POST\"\nrequest.allHTTPHeaderFields = headers\nrequest.httpBody = postData as Data\n\nlet session = URLSession.shared\nlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in\n if (error != nil) {\n print(error)\n } else {\n let httpResponse = response as? HTTPURLResponse\n print(httpResponse)\n }\n})\n\ndataTask.resume()" + } + ], + "tags": [ + "AccountRegistrationV1" + ] + } + }, + "/registration/v2/pin/keysgeneration": { + "post": { + "summary": "PIN Validation", + "description": "API End point being used to perform PIN validation during the credentials registration process of csp consumers. This endpoint validates the PIN keyed in by the consumer. Then creates customer keys.
Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.", + "operationId": "validatePin", + "parameters": [ + { + "name": "x-customer-transaction-id", + "in": "header", + "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.", + "required": false, + "style": "simple", + "explode": false, + "schema": { + "type": "string", + "example": "624deea6-b709-470c-8c39-4b5511281492" + } + }, + { + "name": "x-locale", + "in": "header", + "description": "This indicates the combination of language code and country code.
Click here to see Locales", + "required": false, + "style": "simple", + "explode": false, + "schema": { + "type": "string", + "example": "en_US" + } + }, + { + "name": "x-clientid", + "in": "header", + "description": "This indicates the Client who is consuming this endpoint", + "required": false, + "style": "simple", + "explode": false, + "schema": { + "type": "string", + "example": "WSXI" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "Bearer token from oauth/token", + "required": true, + "style": "simple", + "explode": false, + "schema": { + "type": "string", + "example": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzY29wZSI6WyJDWFMiXSwiUGF5bG9hZCI6eyJjbGllbnRJZGVudGl0eSI6eyJjbGllbnRLZXkiOiJsNzYzZWU2YzE3NWQxYjRlNTZiZTBkY2JmY2U0NWE3ZjZmIn0sImF1dGhlbnRpY2F0aW9uUmVhbG0iOiJXU1NPIiwiYWRkaXRpb25hbElkZW50aXR5Ijp7InRpbWVTdGFtcCI6IjI4LVNlcC0yMDIyIDA0OjI2OjQ0IEVTVCIsImdyYW50X3R5cGUiOiJjbGllbnRfY3JlZGVudGlhbHMiLCJhcGltb2RlIjoiTGl2ZSIsImN4c0lzcyI6Imh0dHBzOi8vY3hzYXV0aHNlcnZlci1pbnRlZ3JhdGlvbi5hcHAud3RjZGV2Mi5wYWFzLmZlZGV4LmNvbS90b2tlbi9vYXV0aDIifSwicGVyc29uYVR5cGUiOiJFbXBsb3llZSIsImNvbnN1bWVySWRlbnRpdHkiOnsiaWRlbnRpdHkiOiIzNzQ2MDM1IiwicmF3SWRlbnRpdHkiOiIzNzQ2MDM1IiwibG9nZ2VkSW4iOmZhbHNlfX0sImV4cCI6MTY2NDM2MDgwNCwianRpIjoiZWE5NmQyNzktNTU5Yy00NmRlLTgxODctM2UzYTQxNjg0NmRjIn0.e40-levPzQ-WkmICiCHBR5upr-rDaD9gl3HY59uJ9qR_VdkLQkjIhY_DrQEKeJwrsz8vV9Kuy1Aw7IPIse9zFPPOGBYOAlrSd6eg_iEZSSmmAw10OJGHbsfsyuuNVLOx_NzjlBCne7LvsgthNeP74fcy1jtVLCy2WmzlGoA6d-ZW_kKQQWXzWC3qPDKKppvAewuX8uGsPrT-IerzY_XMsdUaiavYZLP1ijkia8LRP4puqpOAzXbxvJDY3DQYb9UQi7QTZgbh2zUoIkHyZSn4ZFCDTAFBlYqn3ialMoHHk7nKXE22Zi12JEFmZpxi61R_5EgTWUS30ljOyiy8P6--NV2HzNpJvk8f9v2AsAm6brEzPmm_l0uS5mBiaCAN_m_V-gi0NxRNd2r1qC24jJyJqWTO2jZfPbPj-Y0LGWKFSEWhVvHVjkyFQ380wYuNh2953jRGcgpZAQ4q449uWDmqT--zto8UJIwRAx1mLGbW1sqhtRFOP_d89oirwtfzfahXtVs7F2G7obWayEyFjxd-SGBkSIxAufNAq73Nbgflw_LqyCAnjJ3nUo8BrBVu44f5OMabZvnEKdaNyOqGd0qYskOkXYHa2AL2Que1t2qLkrmS4I3n3p7b1wPZL54e1CjhJngi4fcOiX-4E4yXQ5YxG6pM3B4xqa0V9NV9YwpgsWk" + } + }, + { + "name": "accountAuthToken", + "in": "header", + "description": "Address validation jwt", + "required": true, + "style": "simple", + "explode": false, + "schema": { + "type": "string", + "example": "eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3MzJiMDgzZi0zZTc0LTRhMjYtOGI0ZS1jY2NmYTA1ZTY1MTQiLCJpYXQiOjE2NjIwMzY0MjQsImlzcyI6IjVmMTA2ZDlmMTM5MTk0MTc5ZjY0NjJkZCIsIk9yZ1VuaXRJZCI6IjU2MDk5Y2ViZjcyM2FhM2UyNGQ4MTlkOSIsIlBheWxvYWQiOnsib3JkZXJOdW1iZXIiOiJkNjVhZTUzMC1iNzA1LTRiYWUtYjJmMy03Y2I1ZjgwNzBiMzQiLCJhbW91bnQiOiIxMDAwMC4wIiwiY3VycmVuY3lDb2RlIjoiRVVSIn0sIlJlZmVyZW5jZUlkIjoiN2YzMzNhOWYtN2JhZi00ZGNhLWJjMjAtYmY2MTU0ZDU2MTdiIiwiZXhwIjoxNjYyMDM3MzI0fQ.9-LVXKCfAJ7xmh3Hp6U7hXGT9z-14_5tPWu3reQRTbo" + } + }, + { + "in": "header", + "name": "content-type", + "description": "This is used to indicate the media type of the resource. The media type is a string sent along with the file indicating format of the file.", + "required": true, + "schema": { + "type": "string", + "example": "application/json" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidatePinInputVO" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IrcpResponseVO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "NOT.FOUND.ERROR", + "message": "The resource you requested is no longer available. Please modify your request and try again." + } + ] + } + } + } + }, + "500": { + "description": "Failure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "INTERNAL.SERVER.ERROR", + "message": "We encountered an unexpected error and are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time." + } + ] + } + } + } + } + }, + "x-code-samples": [ + { + "lang": "C#", + "source": "var client = new RestClient(\"https://apis-sandbox.fedex.com/registration/v2/pin/keysgeneration\");\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"Authorization\", \"Bearer \");\nrequest.AddHeader(\"X-locale\", \"en_US\");\nrequest.AddHeader(\"Content-Type\", \"application/json\");\n// 'input' refers to JSON Payload\nrequest.AddParameter(\"application/x-www-form-urlencoded\", input, ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);\n\n\n\n\n" + }, + { + "lang": "JAVA", + "source": "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\n// 'input' refers to JSON Payload\nRequestBody body = RequestBody.create(mediaType, input);\nRequest request = new Request.Builder()\n .url(\"https://apis-sandbox.fedex.com/registration/v2/pin/keysgeneration\")\n .post(body)\n .addHeader(\"Content-Type\", \"application/json\")\n .addHeader(\"X-locale\", \"en_US\")\n .addHeader(\"Authorization\", \"Bearer \")\n .build();\n \nResponse response = client.newCall(request).execute();" + }, + { + "lang": "JAVASCRIPT", + "source": "// 'input' refers to JSON Payload\nvar data = JSON.stringify(input);\n \n var xhr = new XMLHttpRequest();\n xhr.withCredentials = true;\n \n xhr.addEventListener(\"readystatechange\", function () {\n if (this.readyState === 4) {\n console.log(this.responseText);\n }\n });\n \n xhr.open(\"POST\", \"https://apis-sandbox.fedex.com/registration/v2/pin/keysgeneration\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.setRequestHeader(\"X-locale\", \"en_US\");\n xhr.setRequestHeader(\"Authorization\", \"Bearer \");\n \n xhr.send(data);" + }, + { + "lang": "PHP", + "source": "setUrl('https://apis-sandbox.fedex.com/registration/v2/pin/keysgeneration');\n$request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n 'Authorization' => 'Bearer ',\n 'X-locale' => 'en_US',\n 'Content-Type' => 'application/json'\n));\n\n$request->setBody(input); // 'input' refers to JSON Payload\n\ntry {\n $response = $request->send();\n\n echo $response->getBody();\n} catch (HttpException $ex) {\n echo $ex;\n}" + }, + { + "lang": "PYTHON", + "source": "import requests\n\nurl = \"https://apis-sandbox.fedex.com/registration/v2/pin/keysgeneration\"\n\npayload = input # 'input' refers to JSON Payload\nheaders = {\n 'Content-Type': \"application/json\",\n 'X-locale': \"en_US\",\n 'Authorization': \"Bearer \"\n }\n\nresponse = requests.post(url, data=payload, headers=headers)\n\nprint(response.text)" + }, + { + "lang": "RUST", + "source": "extern crate reqwest;\n\nuse std::io::Read;\n\nfn construct_headers() -> HeaderMap {\n let mut headers = HeaderMap::new();\n headers.insert(\"Content-Type\", \"application/json\");\n headers.insert(\"X-locale\", \"en_US\");\n headers.insert(\"Authorization\", \"Bearer \");\n headers\n}\n\nfn run() -> Result<()> {\n let client = reqwest::Client::new();\n let mut res = client.post(\"https://apis-sandbox.fedex.com/registration/v2/pin/keysgeneration\")\n .body(input) // 'input' refers to JSON Payload\n .headers(construct_headers())\n .send()?;\n let mut body = String::new();\n res.read_to_string(&mut body)?;\n\n println!(\"Status: {}\", res.status());\n println!(\"Headers:\\n{:#?}\", res.headers());\n println!(\"Body:\\n{}\", body);\n\n Ok(())\n}" + }, + { + "lang": "SWIFT", + "source": "import Foundation\n\nlet headers = [\n \"Content-Type\": \"application/json\",\n \"X-locale\": \"en_US\",\n \"Authorization\": \"Bearer \"\n]\nlet parameters = [\n input // 'input' refers to JSON Payload\n] as [String : Any]\n\nlet postData = JSONSerialization.data(withJSONObject: parameters, options: [])\n\nlet request = NSMutableURLRequest(url: NSURL(string: \"https://apis-sandbox.fedex.com/registration/v2/pin/keysgeneration\")! as URL,\n cachePolicy: .useProtocolCachePolicy,\n timeoutInterval: 10.0)\nrequest.httpMethod = \"POST\"\nrequest.allHTTPHeaderFields = headers\nrequest.httpBody = postData as Data\n\nlet session = URLSession.shared\nlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in\n if (error != nil) {\n print(error)\n } else {\n let httpResponse = response as? HTTPURLResponse\n print(httpResponse)\n }\n})\n\ndataTask.resume()" + } + ], + "tags": [ + "AccountRegistrationV1" + ] + } + }, + "/registration/v2/invoice/keysgeneration": { + "post": { + "summary": "Invoice Validation", + "description": "API End point being used to perform invoice validation during the credentials registration process of csp consumers. This endpoint validates the invoice detail associated with the FedEx EAN account number & creates customer keysNote: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.", + "operationId": "validateInvoice", + "parameters": [ + { + "name": "x-customer-transaction-id", + "in": "header", + "description": "\"This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.\"", + "required": false, + "style": "simple", + "explode": false, + "schema": { + "type": "string", + "example": "624deea6-b709-470c-8c39-4b5511281492" + } + }, + { + "name": "x-locale", + "in": "header", + "description": "This indicates the combination of language code and country code.", + "required": false, + "style": "simple", + "explode": false, + "schema": { + "type": "string", + "example": "en_US" + } + }, + { + "name": "x-clientid", + "in": "header", + "description": "This indicates the Client who is consuming this endpoint", + "required": false, + "style": "simple", + "explode": false, + "schema": { + "type": "string", + "example": "WSXI" + } + }, + { + "name": "authorization", + "in": "header", + "description": "Bearer token from oauth/token", + "required": true, + "style": "simple", + "explode": false, + "schema": { + "type": "string", + "example": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzY29wZSI6WyJDWFMiXSwiUGF5bG9hZCI6eyJjbGllbnRJZGVudGl0eSI6eyJjbGllbnRLZXkiOiJsNzYzZWU2YzE3NWQxYjRlNTZiZTBkY2JmY2U0NWE3ZjZmIn0sImF1dGhlbnRpY2F0aW9uUmVhbG0iOiJXU1NPIiwiYWRkaXRpb25hbElkZW50aXR5Ijp7InRpbWVTdGFtcCI6IjI4LVNlcC0yMDIyIDA0OjI2OjQ0IEVTVCIsImdyYW50X3R5cGUiOiJjbGllbnRfY3JlZGVudGlhbHMiLCJhcGltb2RlIjoiTGl2ZSIsImN4c0lzcyI6Imh0dHBzOi8vY3hzYXV0aHNlcnZlci1pbnRlZ3JhdGlvbi5hcHAud3RjZGV2Mi5wYWFzLmZlZGV4LmNvbS90b2tlbi9vYXV0aDIifSwicGVyc29uYVR5cGUiOiJFbXBsb3llZSIsImNvbnN1bWVySWRlbnRpdHkiOnsiaWRlbnRpdHkiOiIzNzQ2MDM1IiwicmF3SWRlbnRpdHkiOiIzNzQ2MDM1IiwibG9nZ2VkSW4iOmZhbHNlfX0sImV4cCI6MTY2NDM2MDgwNCwianRpIjoiZWE5NmQyNzktNTU5Yy00NmRlLTgxODctM2UzYTQxNjg0NmRjIn0.e40-levPzQ-WkmICiCHBR5upr-rDaD9gl3HY59uJ9qR_VdkLQkjIhY_DrQEKeJwrsz8vV9Kuy1Aw7IPIse9zFPPOGBYOAlrSd6eg_iEZSSmmAw10OJGHbsfsyuuNVLOx_NzjlBCne7LvsgthNeP74fcy1jtVLCy2WmzlGoA6d-ZW_kKQQWXzWC3qPDKKppvAewuX8uGsPrT-IerzY_XMsdUaiavYZLP1ijkia8LRP4puqpOAzXbxvJDY3DQYb9UQi7QTZgbh2zUoIkHyZSn4ZFCDTAFBlYqn3ialMoHHk7nKXE22Zi12JEFmZpxi61R_5EgTWUS30ljOyiy8P6--NV2HzNpJvk8f9v2AsAm6brEzPmm_l0uS5mBiaCAN_m_V-gi0NxRNd2r1qC24jJyJqWTO2jZfPbPj-Y0LGWKFSEWhVvHVjkyFQ380wYuNh2953jRGcgpZAQ4q449uWDmqT--zto8UJIwRAx1mLGbW1sqhtRFOP_d89oirwtfzfahXtVs7F2G7obWayEyFjxd-SGBkSIxAufNAq73Nbgflw_LqyCAnjJ3nUo8BrBVu44f5OMabZvnEKdaNyOqGd0qYskOkXYHa2AL2Que1t2qLkrmS4I3n3p7b1wPZL54e1CjhJngi4fcOiX-4E4yXQ5YxG6pM3B4xqa0V9NV9YwpgsWk" + } + }, + { + "name": "accountAuthToken", + "in": "header", + "description": "Address validation jwt", + "required": true, + "style": "simple", + "explode": false, + "schema": { + "type": "string", + "example": "eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3MzJiMDgzZi0zZTc0LTRhMjYtOGI0ZS1jY2NmYTA1ZTY1MTQiLCJpYXQiOjE2NjIwMzY0MjQsImlzcyI6IjVmMTA2ZDlmMTM5MTk0MTc5ZjY0NjJkZCIsIk9yZ1VuaXRJZCI6IjU2MDk5Y2ViZjcyM2FhM2UyNGQ4MTlkOSIsIlBheWxvYWQiOnsib3JkZXJOdW1iZXIiOiJkNjVhZTUzMC1iNzA1LTRiYWUtYjJmMy03Y2I1ZjgwNzBiMzQiLCJhbW91bnQiOiIxMDAwMC4wIiwiY3VycmVuY3lDb2RlIjoiRVVSIn0sIlJlZmVyZW5jZUlkIjoiN2YzMzNhOWYtN2JhZi00ZGNhLWJjMjAtYmY2MTU0ZDU2MTdiIiwiZXhwIjoxNjYyMDM3MzI0fQ.9-LVXKCfAJ7xmh3Hp6U7hXGT9z-14_5tPWu3reQRTbo" + } + }, + { + "in": "header", + "name": "content-type", + "description": "This is used to indicate the media type of the resource. The media type is a string sent along with the file indicating format of the file.", + "required": true, + "schema": { + "type": "string", + "example": "application/json" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidateInvoiceInputVO" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IrcpResponseVO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO_2" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO_2" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "INVOICEDETAILS.NUMBER.NOTEXIST", + "message": "Invoice does not exist for the provided invoice number." + } + ] + } + } + } + }, + "500": { + "description": "Failure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO_2" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "INTERNAL.SERVER.ERROR", + "message": "We encountered an unexpected error and are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time." + } + ] + } + } + } + } + }, + "x-code-samples": [ + { + "lang": "C#", + "source": "var client = new RestClient(\"https://apis-sandbox.fedex.com/registration/v2/invoice/keysgeneration\");\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"Authorization\", \"Bearer \");\nrequest.AddHeader(\"X-locale\", \"en_US\");\nrequest.AddHeader(\"Content-Type\", \"application/json\");\n// 'input' refers to JSON Payload\nrequest.AddParameter(\"application/x-www-form-urlencoded\", input, ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);\n\n\n\n\n" + }, + { + "lang": "JAVA", + "source": "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\n// 'input' refers to JSON Payload\nRequestBody body = RequestBody.create(mediaType, input);\nRequest request = new Request.Builder()\n .url(\"https://apis-sandbox.fedex.com/registration/v2/invoice/keysgeneration\")\n .post(body)\n .addHeader(\"Content-Type\", \"application/json\")\n .addHeader(\"X-locale\", \"en_US\")\n .addHeader(\"Authorization\", \"Bearer \")\n .build();\n \nResponse response = client.newCall(request).execute();" + }, + { + "lang": "JAVASCRIPT", + "source": "// 'input' refers to JSON Payload\nvar data = JSON.stringify(input);\n \n var xhr = new XMLHttpRequest();\n xhr.withCredentials = true;\n \n xhr.addEventListener(\"readystatechange\", function () {\n if (this.readyState === 4) {\n console.log(this.responseText);\n }\n });\n \n xhr.open(\"POST\", \"https://apis-sandbox.fedex.com/registration/v2/invoice/keysgeneration\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.setRequestHeader(\"X-locale\", \"en_US\");\n xhr.setRequestHeader(\"Authorization\", \"Bearer \");\n \n xhr.send(data);" + }, + { + "lang": "PHP", + "source": "setUrl('https://apis-sandbox.fedex.com/registration/v2/invoice/keysgeneration');\n$request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n 'Authorization' => 'Bearer ',\n 'X-locale' => 'en_US',\n 'Content-Type' => 'application/json'\n));\n\n$request->setBody(input); // 'input' refers to JSON Payload\n\ntry {\n $response = $request->send();\n\n echo $response->getBody();\n} catch (HttpException $ex) {\n echo $ex;\n}" + }, + { + "lang": "PYTHON", + "source": "import requests\n\nurl = \"https://apis-sandbox.fedex.com/registration/v2/invoice/keysgeneration\"\n\npayload = input # 'input' refers to JSON Payload\nheaders = {\n 'Content-Type': \"application/json\",\n 'X-locale': \"en_US\",\n 'Authorization': \"Bearer \"\n }\n\nresponse = requests.post(url, data=payload, headers=headers)\n\nprint(response.text)" + }, + { + "lang": "RUST", + "source": "extern crate reqwest;\n\nuse std::io::Read;\n\nfn construct_headers() -> HeaderMap {\n let mut headers = HeaderMap::new();\n headers.insert(\"Content-Type\", \"application/json\");\n headers.insert(\"X-locale\", \"en_US\");\n headers.insert(\"Authorization\", \"Bearer \");\n headers\n}\n\nfn run() -> Result<()> {\n let client = reqwest::Client::new();\n let mut res = client.post(\"https://apis-sandbox.fedex.com/registration/v2/invoice/keysgeneration\")\n .body(input) // 'input' refers to JSON Payload\n .headers(construct_headers())\n .send()?;\n let mut body = String::new();\n res.read_to_string(&mut body)?;\n\n println!(\"Status: {}\", res.status());\n println!(\"Headers:\\n{:#?}\", res.headers());\n println!(\"Body:\\n{}\", body);\n\n Ok(())\n}" + }, + { + "lang": "SWIFT", + "source": "import Foundation\n\nlet headers = [\n \"Content-Type\": \"application/json\",\n \"X-locale\": \"en_US\",\n \"Authorization\": \"Bearer \"\n]\nlet parameters = [\n input // 'input' refers to JSON Payload\n] as [String : Any]\n\nlet postData = JSONSerialization.data(withJSONObject: parameters, options: [])\n\nlet request = NSMutableURLRequest(url: NSURL(string: \"https://apis-sandbox.fedex.com/registration/v2/invoice/keysgeneration\")! as URL,\n cachePolicy: .useProtocolCachePolicy,\n timeoutInterval: 10.0)\nrequest.httpMethod = \"POST\"\nrequest.allHTTPHeaderFields = headers\nrequest.httpBody = postData as Data\n\nlet session = URLSession.shared\nlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in\n if (error != nil) {\n print(error)\n } else {\n let httpResponse = response as? HTTPURLResponse\n print(httpResponse)\n }\n})\n\ndataTask.resume()" + } + ], + "tags": [ + "AccountRegistrationV1" + ] + } + }, + "/registration/v2/customerkeys/pingeneration": { + "post": { + "summary": "PIN Generation", + "description": "Use this API endpoint to generate the PIN as part of the PIN validation during the credentials registration process of csp consumers. This endpoint generates the 6 digit PIN & sends to the consumer through the PIN delivery option chosen by the consumer.", + "operationId": "sendPin", + "parameters": [ + { + "name": "x-locale", + "in": "header", + "description": "This indicates the combination of language code and country code.
click here to see locales", + "required": false, + "style": "simple", + "explode": false, + "schema": { + "type": "string", + "example": "en_US" + } + }, + { + "name": "x-clientid", + "in": "header", + "description": "This indicates the client who is using this endpoint.", + "required": false, + "style": "simple", + "explode": false, + "schema": { + "type": "string", + "example": "WADM" + } + }, + { + "name": "accountAuthToken", + "in": "header", + "description": "Address validation jwt", + "required": true, + "style": "simple", + "explode": false, + "schema": { + "type": "string", + "example": "eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3MzJiMDgzZi0zZTc0LTRhMjYtOGI0ZS1jY2NmYTA1ZTY1MTQiLCJpYXQiOjE2NjIwMzY0MjQsImlzcyI6IjVmMTA2ZDlmMTM5MTk0MTc5ZjY0NjJkZCIsIk9yZ1VuaXRJZCI6IjU2MDk5Y2ViZjcyM2FhM2UyNGQ4MTlkOSIsIlBheWxvYWQiOnsib3JkZXJOdW1iZXIiOiJkNjVhZTUzMC1iNzA1LTRiYWUtYjJmMy03Y2I1ZjgwNzBiMzQiLCJhbW91bnQiOiIxMDAwMC4wIiwiY3VycmVuY3lDb2RlIjoiRVVSIn0sIlJlZmVyZW5jZUlkIjoiN2YzMzNhOWYtN2JhZi00ZGNhLWJjMjAtYmY2MTU0ZDU2MTdiIiwiZXhwIjoxNjYyMDM3MzI0fQ.9-LVXKCfAJ7xmh3Hp6U7hXGT9z-14_5tPWu3reQRTbo" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "Bearer token generated with child id and secret", + "required": true, + "style": "simple", + "explode": false, + "schema": { + "type": "string", + "example": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzY29wZSI6WyJDWFMiXSwiUGF5bG9hZCI6eyJjbGllbnRJZGVudGl0eSI6eyJjbGllbnRLZXkiOiJsNzQzMzk4OTdhYzMzNjQ2NDI4N2Y5ZjZhOWZhZDBmNjFlIn0sImF1dGhlbnRpY2F0aW9uUmVhbG0iOiJXU1NPIiwiYWRkaXRpb25hbElkZW50aXR5Ijp7InRpbWVTdGFtcCI6IjE4LU5vdi0yMDIyIDA5OjI0OjM5IEVTVCIsImdyYW50X3R5cGUiOiJjbGllbnRfY3JlZGVudGlhbHMiLCJhcGltb2RlIjoiTGl2ZSIsImN4c0lzcyI6Imh0dHBzOi8vY3hzYXV0aHNlcnZlci1zeXN0ZW0uZGV2YXBwLnBhYXMuZmVkZXguY29tL3Rva2VuL29hdXRoMiJ9LCJwZXJzb25hVHlwZSI6IkVtcGxveWVlIiwiY29uc3VtZXJJZGVudGl0eSI6eyJpZGVudGl0eSI6IjM3NDYwMzUiLCJyYXdJZGVudGl0eSI6IjM3NDYwMzUiLCJsb2dnZWRJbiI6ZmFsc2V9fSwiZXhwIjoxNjY4Nzg1MDc5LCJqdGkiOiJiOGU0OTU4Mi03ODBhLTQ2NDgtYjI1Yy00MGRkN2RhZmVkMGIifQ.IWK_gycY2G9vmY5DqeUtKuBbAOL4H6_HUW7nkJ2wa6htt__FKDovhj6iEeJ_nla9LFQx2kJG_9Y70fn8Y0ebo5TSFI0tKBqYJF3YopW08Z8YKKDQGxtCzsw3_z43FYrf-FJ5EVFsW1AZm0Z013Y_zn7YM9W6k-TtMTF2OkQ8SiwdwG226kNdHkyDKZ2VR77ft795WZFz7tFLfckwDurcUY7dslLrta4YYXqjFakCpFWWyRY2rHWvpjT_xeMsnYyo1zoO3IWTbg1dy-cjX-A6s02d_OZI_jYDz_faLxnIj29rHdnGEwVt07ZmKPM9NypWsug3hi9OYbiECzDIFBgcxZf8KOvMEwt0rHZWHW3OR4iGEZpPmdAXiv_Li8bmhM1qWI9hZAiPXq-jKTw5ieuIRpfdujSmXGiwnZKmA1WCRZ09nP9rWsUvgPf9PJlCbFo84_lHcyzcKss8lUZHBhINBPeyferV347GoplvLGhtyUpVbJc40oKDDDqgKXWVP5GPvC5IqgNbwTx83NeWSOMXlig69k2C9mdELNwhrAN1lSRhbbKNf0oydKE6uRcey9_U3Rb-gfW5aB0RmvsmIOEWcG8kKvhflxj-m3Sb4qZaTCqZmwSEfYj8a5GesS3t54v7XHkNcOXDZg4D5_710uVqWx2KbqKksyL5RlJMPePhTIs" + } + }, + { + "in": "header", + "name": "x-customer-transaction-id", + "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.", + "required": false, + "schema": { + "type": "string", + "example": "624deea6-b709-470c-8c39-4b5511281492" + } + }, + { + "in": "header", + "name": "content-type", + "description": "This is used to indicate the media type of the resource. The media type is a string sent along with the file indicating format of the file.", + "required": true, + "schema": { + "type": "string", + "example": "application/json" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IssuePinInputVO" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PinGenerationOutputVO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO_2" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO_2" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "customerTransactionId": "0e671149-016f-1000-941f-ef4dbabadd2e", + "errors": [ + { + "code": "LOGIN.REAUTHENTICATE.ERROR", + "message": "Your session is expired. Please enter your user ID and password to log in again." + } + ] + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO_2" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "customerTransactionId": "0e671149-016f-1000-941f-ef4dbabadd2e", + "errors": [ + { + "code": "FORBIDDEN.ERROR", + "message": "We could not authorize your credentials. Please check your permissions and try again." + } + ] + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO_2" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "customerTransactionId": "0e671149-016f-1000-941f-ef4dbabadd2e", + "errors": [ + { + "code": "NOT.FOUND.ERROR", + "message": "The resource you requested is no longer available. Please modify your request and try again." + } + ] + } + } + } + }, + "500": { + "description": "Failure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO_2" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "customerTransactionId": "0e671149-016f-1000-941f-ef4dbabadd2e", + "errors": [ + { + "code": "INTERNAL.SERVER.ERROR", + "message": "We encountered an unexpected error and are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time." + } + ] + } + } + } + } + }, + "x-code-samples": [ + { + "lang": "C#", + "source": "var client = new RestClient(\"https://apis-sandbox.fedex.com/registration/v2/customerkeys/pingeneration\");\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"Authorization\", \"Bearer \");\nrequest.AddHeader(\"X-locale\", \"en_US\");\nrequest.AddHeader(\"Content-Type\", \"application/json\");\n// 'input' refers to JSON Payload\nrequest.AddParameter(\"application/x-www-form-urlencoded\", input, ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);\n\n\n\n\n" + }, + { + "lang": "JAVA", + "source": "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\n// 'input' refers to JSON Payload\nRequestBody body = RequestBody.create(mediaType, input);\nRequest request = new Request.Builder()\n .url(\"https://apis-sandbox.fedex.com/registration/v2/customerkeys/pingeneration\")\n .post(body)\n .addHeader(\"Content-Type\", \"application/json\")\n .addHeader(\"X-locale\", \"en_US\")\n .addHeader(\"Authorization\", \"Bearer \")\n .build();\n \nResponse response = client.newCall(request).execute();" + }, + { + "lang": "JAVASCRIPT", + "source": "// 'input' refers to JSON Payload\nvar data = JSON.stringify(input);\n \n var xhr = new XMLHttpRequest();\n xhr.withCredentials = true;\n \n xhr.addEventListener(\"readystatechange\", function () {\n if (this.readyState === 4) {\n console.log(this.responseText);\n }\n });\n \n xhr.open(\"POST\", \"https://apis-sandbox.fedex.com/registration/v2/customerkeys/pingeneration\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.setRequestHeader(\"X-locale\", \"en_US\");\n xhr.setRequestHeader(\"Authorization\", \"Bearer \");\n \n xhr.send(data);" + }, + { + "lang": "PHP", + "source": "setUrl('https://apis-sandbox.fedex.com/registration/v2/customerkeys/pingeneration');\n$request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n 'Authorization' => 'Bearer ',\n 'X-locale' => 'en_US',\n 'Content-Type' => 'application/json'\n));\n\n$request->setBody(input); // 'input' refers to JSON Payload\n\ntry {\n $response = $request->send();\n\n echo $response->getBody();\n} catch (HttpException $ex) {\n echo $ex;\n}" + }, + { + "lang": "PYTHON", + "source": "import requests\n\nurl = \"https://apis-sandbox.fedex.com/registration/v2/customerkeys/pingeneration\"\n\npayload = input # 'input' refers to JSON Payload\nheaders = {\n 'Content-Type': \"application/json\",\n 'X-locale': \"en_US\",\n 'Authorization': \"Bearer \"\n }\n\nresponse = requests.post(url, data=payload, headers=headers)\n\nprint(response.text)" + }, + { + "lang": "RUST", + "source": "extern crate reqwest;\n\nuse std::io::Read;\n\nfn construct_headers() -> HeaderMap {\n let mut headers = HeaderMap::new();\n headers.insert(\"Content-Type\", \"application/json\");\n headers.insert(\"X-locale\", \"en_US\");\n headers.insert(\"Authorization\", \"Bearer \");\n headers\n}\n\nfn run() -> Result<()> {\n let client = reqwest::Client::new();\n let mut res = client.post(\"https://apis-sandbox.fedex.com/registration/v2/customerkeys/pingeneration\")\n .body(input) // 'input' refers to JSON Payload\n .headers(construct_headers())\n .send()?;\n let mut body = String::new();\n res.read_to_string(&mut body)?;\n\n println!(\"Status: {}\", res.status());\n println!(\"Headers:\\n{:#?}\", res.headers());\n println!(\"Body:\\n{}\", body);\n\n Ok(())\n}" + }, + { + "lang": "SWIFT", + "source": "import Foundation\n\nlet headers = [\n \"Content-Type\": \"application/json\",\n \"X-locale\": \"en_US\",\n \"Authorization\": \"Bearer \"\n]\nlet parameters = [\n input // 'input' refers to JSON Payload\n] as [String : Any]\n\nlet postData = JSONSerialization.data(withJSONObject: parameters, options: [])\n\nlet request = NSMutableURLRequest(url: NSURL(string: \"https://apis-sandbox.fedex.com/registration/v2/customerkeys/pingeneration\")! as URL,\n cachePolicy: .useProtocolCachePolicy,\n timeoutInterval: 10.0)\nrequest.httpMethod = \"POST\"\nrequest.allHTTPHeaderFields = headers\nrequest.httpBody = postData as Data\n\nlet session = URLSession.shared\nlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in\n if (error != nil) {\n print(error)\n } else {\n let httpResponse = response as? HTTPURLResponse\n print(httpResponse)\n }\n})\n\ndataTask.resume()" + } + ], + "tags": [ + "AccountRegistrationV1" + ] + } + } + }, + "components": { + "schemas": { + "Parameter": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "This is a placeholder for parameter value." + }, + "key": { + "type": "string", + "description": "This is a placeholder for parameter key." + } + }, + "description": "This object provides additional paramter details resulted in the alert." + }, + "CustomerKeyInputVO": { + "required": [ + "accountNumber", + "address", + "customerName" + ], + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/AddressVO" + }, + "accountNumber": { + "$ref": "#/components/schemas/AccountNumber" + }, + "customerName": { + "type": "string", + "description": "Name of the customer or company requesting authentication details. It accepts upto 50 characters of customerName.", + "example": "George" + } + }, + "description": "This is a request object for requesting customer key and secret key." + }, + "AddressVO": { + "required": [ + "city", + "countryCode", + "postalCode", + "residential", + "stateOrProvinceCode", + "streetLines" + ], + "type": "object", + "properties": { + "residential": { + "type": "boolean", + "description": "Indicates whether this address is residential (as opposed to commercial).", + "example": true + }, + "city": { + "type": "string", + "description": "Specify name of city or town.", + "example": "COLLIERVILLE" + }, + "countryCode": { + "type": "string", + "description": "The two-letter code used to identify a country. Max length is 2.
Click here to see Country Codes", + "example": "US" + }, + "postalCode": { + "type": "string", + "description": "Use this element to input postal code. Postal code is mandatory for postal-aware countries. The Max length is 10.
Click here to see Postal Codes", + "example": "38017" + }, + "streetLines": { + "type": "array", + "description": "Provide street address which is a combination of number, street name, etc. At least one line is required. For a valid physical address, empty lines should not be included. Max Length is 35.", + "example": [ + "20 FED EX PKWY" + ], + "items": { + "type": "string" + } + }, + "stateOrProvinceCode": { + "type": "string", + "description": "Provide 2 letter state or province code. Not used for Ground/SmartPost. Max length is 2.
Click here to see State or Province Codes", + "example": "TN" + } + }, + "description": "Indicates the customer's address you are attempting to get the Customer Key and Customer Secret for. Note that address information needs to match the shipping or billing address as loaded in FedEx systems. Contact FedEx support team for any address-related issues or questions." + }, + "AccountNumber": { + "required": [ + "key", + "value" + ], + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Indicates key to decode account number set in the value field.", + "example": "" + }, + "value": { + "type": "string", + "description": "Indicates Account Number in encoded form.", + "example": "451134221" + } + }, + "description": "This field indicates Account Number object with encoded key and value." + }, + "CustomerKeyOutputVO": { + "required": [ + "apiKey", + "child_Key", + "child_secret" + ], + "type": "object", + "properties": { + "child_Key": { + "type": "string", + "description": "Child Key is a JSON Web Token provided for each of your customers. You must use the Child Key along with the Client Key, Client Secret and Customer Secret to get oAuth token, which should be used as credentials with each API transaction..", + "example": "e366a577-3708-47e5-9af8-98004a01c134" + }, + "child_secret": { + "type": "string", + "description": "Child secret, also referred to as Customer Secret, is provided for each of your customers. You must use the Customer Secret along with the Client Key, Client Secret and Child Key to get the oAuth token, which should be used as credentials with each API transaction.", + "example": "e366a577-3708-47e5-9af8-98004a01c135" + } + }, + "description": "This is the response object providing Child Key and secret key as a output." + }, + "ValidatePinInputVO": { + "required": [ + "secureCodePin" + ], + "type": "object", + "properties": { + "locale": { + "type": "string", + "description": "Indicates the user locale.
Click here to see Locales", + "example": "en_US" + }, + "secureCodePin": { + "type": "string", + "description": "Indicates Pin which user want to validate as part of secure code pin validation.", + "example": "234567" + } + }, + "description": "This field indicates INPUT model" + }, + "ValidateInvoiceInputVO": { + "required": [ + "invoiceDetail" + ], + "type": "object", + "properties": { + "invoiceDetail": { + "$ref": "#/components/schemas/InvoiceDetails" + }, + "locale": { + "type": "string", + "description": "Indicates locale and will be used for locale if x-locale is missed from header.
Click here to see Locales", + "example": "en_US" + } + }, + "description": "This field indicates Invoice Information ( Invoice number, Date, currency and amount) and locale." + }, + "PinGenerationOutputVO": { + "required": [ + "output", + "transactionId" + ], + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "This field contains unique transactionId for this API transaction", + "example": "2edc3fbc-4b39-4790-97eb-74c8849fb432" + }, + "customerTransactionId": { + "type": "string", + "description": "It is the customerTransactionId sent as part of the request header,by the clients calling this endpoint.", + "example": "0e671149-016f-1000-941f-ef4dbabadd2e" + }, + "output": { + "$ref": "#/components/schemas/PinGenerationOutputVO_output" + } + } + }, + "IssuePinInputVO": { + "required": [ + "option" + ], + "type": "object", + "properties": { + "locale": { + "type": "string", + "description": "Indicates the user locale.
click here to see locales", + "example": "en_US" + }, + "option": { + "type": "string", + "description": "Indicates option selected by the user to send generated pin.", + "example": "SMS", + "enum": [ + "SMS", + "CALL", + "EMAIL" + ] + } + }, + "description": "This field indicates INPUT model" + }, + "MFAOptions": { + "type": "array", + "description": "It provide options to generate the secure pin or validate invoice ", + "items": { + "$ref": "#/components/schemas/MFAOptions_inner", + "type": "string" + } + }, + "Options": { + "type": "object", + "properties": { + "invoice": { + "type": "string", + "example": "INVOICE" + }, + "secureCode": { + "type": "array", + "description": "Indicates option selected by the user to send generated pin.", + "example": [ + "SMS", + "CALL", + "EMAIL" + ], + "items": { + "type": "string", + "enum": [ + "SMS", + "CALL", + "EMAIL" + ] + } + } + } + }, + "InvoiceDetails": { + "required": [ + "amount", + "currency", + "date", + "number" + ], + "type": "object", + "properties": { + "number": { + "type": "integer", + "description": "Used to validate invoice details .It accepts no decimal.", + "example": 293235673 + }, + "currency": { + "type": "string", + "description": "Used to validate Invoice details whether invoice is related to user or not.It accepts upto 4 digits currency.
Click here to see Currency Codes", + "example": "USD" + }, + "date": { + "type": "string", + "description": "Used to validate Invoice details whether invoice is related to user or not. Date format is YYYY-MM-DD.", + "example": "2022-10-09" + }, + "amount": { + "type": "number", + "description": "Used to validate Invoice details whether invoice is related to user or not. It accepts upto 2 digit of decimal.", + "example": 2323.22 + } + }, + "description": "This field indicates and Object holds Invoice Details." + }, + "PinGenerationOutputVO_output": { + "required": [ + "status" + ], + "type": "object", + "properties": { + "status": { + "description": "Send the confirmation that pin has sent.", + "example": "sent secured Pin", + "type": "string" + } + } + }, + "MFAOptions_inner": { + "properties": { + "accountAuthToken": { + "type": "string", + "example": "eyJhbGciOiJIUzI1NiJ9.eyJUeXBlT2ZKV1QiOiJBZGRyZXNzVmFsaWRhdGVkIiwiQWNjb3VudE51bWJlciI6IjE3Mzk5NjE0NCIsIkRhdGVUaW1lIjoxODAwMDAwLCJleHAiOjE2NjcyMTk3MDF9.N6IscMuoewdxKvEIZh8023GFM_mRgoIU2kYQ0STxF7c" + }, + "mfaRequired": { + "type": "boolean", + "example": true + }, + "email": { + "type": "string", + "example": "PU***@S***.COM" + }, + "phoneNumber": { + "type": "string", + "example": "***-***-4222" + }, + "options": { + "$ref": "#/components/schemas/Options" + } + }, + "example": "{\n[ {\n\"accountAuthToken\": \"eyJhbGciOiJIUzI1NiJ9.eyJUeXBlT2ZKV1QiOiJBZGRyZXNzVmFsaWRhdGVkIiwiQWNjb3VudE51bWJlciI6IjE3Mzk5NjE0NCIsIkRhdGVUaW1lIjoxODAwMDAwLCJleHAiOjE2NjcyMTk3MDF9.N6IscMuoewdxKvEIZh8023GFM_mRgoIU2kYQ0STxF7c\", \"mfaRequired\": true, \"email\": \"PU***@S***.COM\", \"phoneNumber\": \"***-***-4222\", \"options\": { \"invoice\": \"INVOICE\", \"secureCode\": [ \"SMS\" ] } } ] }", + "type": "object" + }, + "IrcpResponseVO": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "output": { + "$ref": "#/components/schemas/CustomerKeyOutputVO" + } + }, + "description": "This is a wrapper class for outputVO" + }, + "ErrorResponseVO": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
Example: bc95c0e4-b33e-42a2-80d2-334282b5d37a", + "example": "bc95c0e4-b33e-42a2-80d2-334282b5d37a" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CXSError" + } + } + }, + "description": "Error information" + }, + "ErrorResponseVO_2": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
Example: bc95c0e4-b33e-42a2-80d2-334282b5d37a", + "example": "bc95c0e4-b33e-42a2-80d2-334282b5d37a" + }, + "customerTransactionId": { + "type": "string", + "description": "It is the customerTransactionId sent as part of the request header,by the clients calling this endpoint.", + "example": "0e671149-016f-1000-941f-ef4dbabadd2e" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CXSError" + } + } + }, + "description": "Error information" + }, + "CXSError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.
Example: INTERNAL.SERVER.ERROR" + }, + "parameterList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Parameter" + } + }, + "message": { + "description": "Indicates the description of API error alertmessage.
Example: We\n encountered an unexpected error and are working to resolve the\n issue. We apologize for any inconvenience. Please check back at a\n later time.", + "type": "string" + } + }, + "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" + } + } + }, + "openapi": "3.0.0", + "info": { + "title": "Account Registration Resource", + "version": "API" + } +} \ No newline at end of file diff --git a/src/Api/AccountRegistrationV1/Api.php b/src/Api/AccountRegistrationV1/Api.php new file mode 100644 index 00000000..ae68054c --- /dev/null +++ b/src/Api/AccountRegistrationV1/Api.php @@ -0,0 +1,57 @@ +connector->send(new CreateCustomerKey($customerKeyInputVo)); + } + + /** + * @param ValidatePinInputVo $validatePinInputVo This field indicates INPUT model + */ + public function validatePin(ValidatePinInputVo $validatePinInputVo): Response + { + return $this->connector->send(new ValidatePin($validatePinInputVo)); + } + + /** + * @param ValidateInvoiceInputVo $validateInvoiceInputVo This field indicates Invoice Information ( Invoice number, Date, currency and amount) and locale. + */ + public function validateInvoice(ValidateInvoiceInputVo $validateInvoiceInputVo): Response + { + return $this->connector->send(new ValidateInvoice($validateInvoiceInputVo)); + } + + /** + * @param IssuePinInputVo $issuePinInputVo This field indicates INPUT model + */ + public function sendPin(IssuePinInputVo $issuePinInputVo): Response + { + return $this->connector->send(new SendPin($issuePinInputVo)); + } +} diff --git a/src/Api/AccountRegistrationV1/Dto/AccountNumber.php b/src/Api/AccountRegistrationV1/Dto/AccountNumber.php new file mode 100644 index 00000000..c1bff68b --- /dev/null +++ b/src/Api/AccountRegistrationV1/Dto/AccountNumber.php @@ -0,0 +1,25 @@ +Click here to see Country Codes + * @param string $postalCode Use this element to input postal code. Postal code is mandatory for postal-aware countries. The Max length is 10.
Click here to see Postal Codes + * @param string[] $streetLines Provide street address which is a combination of number, street name, etc. At least one line is required. For a valid physical address, empty lines should not be included. Max Length is 35. + * @param string $stateOrProvinceCode Provide 2 letter state or province code. Not used for Ground/SmartPost. Max length is 2.
Click here to see State or Province Codes + */ + public function __construct( + public bool $residential, + public string $city, + public string $countryCode, + public string $postalCode, + public array $streetLines, + public string $stateOrProvinceCode, + ) {} +} diff --git a/src/Api/AccountRegistrationV1/Dto/CustomerKeyInputVo.php b/src/Api/AccountRegistrationV1/Dto/CustomerKeyInputVo.php new file mode 100644 index 00000000..895258e1 --- /dev/null +++ b/src/Api/AccountRegistrationV1/Dto/CustomerKeyInputVo.php @@ -0,0 +1,27 @@ + 'child_Key', 'childSecret' => 'child_secret']; + + /** + * @param string $childKey Child Key is a JSON Web Token provided for each of your customers. You must use the Child Key along with the Client Key, Client Secret and Customer Secret to get oAuth token, which should be used as credentials with each API transaction.. + * @param string $childSecret Child secret, also referred to as Customer Secret, is provided for each of your customers. You must use the Customer Secret along with the Client Key, Client Secret and Child Key to get the oAuth token, which should be used as credentials with each API transaction. + */ + public function __construct( + public string $childKey, + public string $childSecret, + ) {} +} diff --git a/src/Api/AccountRegistrationV1/Dto/CxsError.php b/src/Api/AccountRegistrationV1/Dto/CxsError.php new file mode 100644 index 00000000..cceabd28 --- /dev/null +++ b/src/Api/AccountRegistrationV1/Dto/CxsError.php @@ -0,0 +1,32 @@ + Parameter::class]; + + /** + * @param ?string $code Indicates the error code.
Example: INTERNAL.SERVER.ERROR + * @param Parameter[]|null $parameterList + * @param ?string $message Indicates the description of API error alertmessage.
Example: We + * encountered an unexpected error and are working to resolve the + * issue. We apologize for any inconvenience. Please check back at a + * later time. + */ + public function __construct( + public ?string $code = null, + public ?array $parameterList = null, + public ?string $message = null, + ) {} +} diff --git a/src/Api/AccountRegistrationV1/Dto/InvoiceDetails.php b/src/Api/AccountRegistrationV1/Dto/InvoiceDetails.php new file mode 100644 index 00000000..60f19309 --- /dev/null +++ b/src/Api/AccountRegistrationV1/Dto/InvoiceDetails.php @@ -0,0 +1,29 @@ +Click here to see Currency Codes + * @param string $date Used to validate Invoice details whether invoice is related to user or not. Date format is YYYY-MM-DD. + * @param float $amount Used to validate Invoice details whether invoice is related to user or not. It accepts upto 2 digit of decimal. + */ + public function __construct( + public int $number, + public string $currency, + public string $date, + public float $amount, + ) {} +} diff --git a/src/Api/AccountRegistrationV1/Dto/IssuePinInputVo.php b/src/Api/AccountRegistrationV1/Dto/IssuePinInputVo.php new file mode 100644 index 00000000..ea7d73b5 --- /dev/null +++ b/src/Api/AccountRegistrationV1/Dto/IssuePinInputVo.php @@ -0,0 +1,25 @@ +click here to see locales + */ + public function __construct( + public string $option, + public ?string $locale = null, + ) {} +} diff --git a/src/Api/AccountRegistrationV1/Dto/MfaOptionsInner.php b/src/Api/AccountRegistrationV1/Dto/MfaOptionsInner.php new file mode 100644 index 00000000..efb27609 --- /dev/null +++ b/src/Api/AccountRegistrationV1/Dto/MfaOptionsInner.php @@ -0,0 +1,24 @@ +Click here to see Locales + */ + public function __construct( + public InvoiceDetails $invoiceDetail, + public ?string $locale = null, + ) {} +} diff --git a/src/Api/AccountRegistrationV1/Dto/ValidatePinInputVo.php b/src/Api/AccountRegistrationV1/Dto/ValidatePinInputVo.php new file mode 100644 index 00000000..75a1f703 --- /dev/null +++ b/src/Api/AccountRegistrationV1/Dto/ValidatePinInputVo.php @@ -0,0 +1,25 @@ +Click here to see Locales + */ + public function __construct( + public string $secureCodePin, + public ?string $locale = null, + ) {} +} diff --git a/src/Api/AccountRegistrationV1/Requests/CreateCustomerKey.php b/src/Api/AccountRegistrationV1/Requests/CreateCustomerKey.php new file mode 100644 index 00000000..494e78fd --- /dev/null +++ b/src/Api/AccountRegistrationV1/Requests/CreateCustomerKey.php @@ -0,0 +1,64 @@ +Note: FedEx APIs + * do not support Cross-Origin Resource Sharing (CORS) mechanism. + */ +class CreateCustomerKey extends Request implements HasBody +{ + use HasJsonBody; + + protected Method $method = Method::POST; + + /** + * @param CustomerKeyInputVo $customerKeyInputVo This is a request object for requesting customer key and secret key. + */ + public function __construct( + public CustomerKeyInputVo $customerKeyInputVo, + ) {} + + public function resolveEndpoint(): string + { + return '/registration/v2/address/keysgeneration'; + } + + public function createDtoFromResponse(Response $response): IrcpResponseVo|ErrorResponseVo + { + $status = $response->status(); + $responseCls = match ($status) { + 200 => IrcpResponseVo::class, + 400, 401, 403, 404, 500 => ErrorResponseVo::class, + default => throw new Exception("Unhandled response status: {$status}") + }; + + return $responseCls::deserialize($response->json()); + } + + public function defaultBody(): array + { + return $this->customerKeyInputVo->toArray(); + } +} diff --git a/src/Api/AccountRegistrationV1/Requests/SendPin.php b/src/Api/AccountRegistrationV1/Requests/SendPin.php new file mode 100644 index 00000000..f1f8f903 --- /dev/null +++ b/src/Api/AccountRegistrationV1/Requests/SendPin.php @@ -0,0 +1,73 @@ +status(); + $responseCls = match ($status) { + 200 => PinGenerationOutputVo::class, + 400, 401, 403, 404, 500 => ErrorResponseVo2::class, + default => throw new Exception("Unhandled response status: {$status}") + }; + + return $responseCls::deserialize($response->json()); + } + + public function defaultBody(): array + { + return $this->issuePinInputVo->toArray(); + } + + public function defaultHeaders(): array + { + return array_filter(['accountAuthToken' => $this->accountAuthToken, 'x-clientid' => $this->xClientid]); + } +} diff --git a/src/Api/AccountRegistrationV1/Requests/ValidateInvoice.php b/src/Api/AccountRegistrationV1/Requests/ValidateInvoice.php new file mode 100644 index 00000000..7e8e200f --- /dev/null +++ b/src/Api/AccountRegistrationV1/Requests/ValidateInvoice.php @@ -0,0 +1,74 @@ +Note: FedEx APIs do not support Cross-Origin Resource Sharing + * (CORS) mechanism. + */ +class ValidateInvoice extends Request implements HasBody +{ + use HasJsonBody; + + protected Method $method = Method::POST; + + /** + * @param ValidateInvoiceInputVo $validateInvoiceInputVo This field indicates Invoice Information ( Invoice number, Date, currency and amount) and locale. + * @param string $accountAuthToken Address validation jwt + * @param ?string $xClientid This indicates the Client who is consuming this endpoint + */ + public function __construct( + public ValidateInvoiceInputVo $validateInvoiceInputVo, + protected string $accountAuthToken, + protected ?string $xClientid = null, + ) {} + + public function resolveEndpoint(): string + { + return '/registration/v2/invoice/keysgeneration'; + } + + public function createDtoFromResponse(Response $response): IrcpResponseVo|ErrorResponseVo2 + { + $status = $response->status(); + $responseCls = match ($status) { + 200 => IrcpResponseVo::class, + 400, 404, 500 => ErrorResponseVo2::class, + default => throw new Exception("Unhandled response status: {$status}") + }; + + return $responseCls::deserialize($response->json()); + } + + public function defaultBody(): array + { + return $this->validateInvoiceInputVo->toArray(); + } + + public function defaultHeaders(): array + { + return array_filter(['accountAuthToken' => $this->accountAuthToken, 'x-clientid' => $this->xClientid]); + } +} diff --git a/src/Api/AccountRegistrationV1/Requests/ValidatePin.php b/src/Api/AccountRegistrationV1/Requests/ValidatePin.php new file mode 100644 index 00000000..af6eb3a5 --- /dev/null +++ b/src/Api/AccountRegistrationV1/Requests/ValidatePin.php @@ -0,0 +1,73 @@ +Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism. + */ +class ValidatePin extends Request implements HasBody +{ + use HasJsonBody; + + protected Method $method = Method::POST; + + /** + * @param ValidatePinInputVo $validatePinInputVo This field indicates INPUT model + * @param string $accountAuthToken Address validation jwt + * @param ?string $xClientid This indicates the Client who is consuming this endpoint + */ + public function __construct( + public ValidatePinInputVo $validatePinInputVo, + protected string $accountAuthToken, + protected ?string $xClientid = null, + ) {} + + public function resolveEndpoint(): string + { + return '/registration/v2/pin/keysgeneration'; + } + + public function createDtoFromResponse(Response $response): IrcpResponseVo|ErrorResponseVo + { + $status = $response->status(); + $responseCls = match ($status) { + 200 => IrcpResponseVo::class, + 400, 404, 500 => ErrorResponseVo::class, + default => throw new Exception("Unhandled response status: {$status}") + }; + + return $responseCls::deserialize($response->json()); + } + + public function defaultBody(): array + { + return $this->validatePinInputVo->toArray(); + } + + public function defaultHeaders(): array + { + return array_filter(['accountAuthToken' => $this->accountAuthToken, 'x-clientid' => $this->xClientid]); + } +} diff --git a/src/Api/AccountRegistrationV1/Responses/ErrorResponseVo.php b/src/Api/AccountRegistrationV1/Responses/ErrorResponseVo.php new file mode 100644 index 00000000..c76d0b1e --- /dev/null +++ b/src/Api/AccountRegistrationV1/Responses/ErrorResponseVo.php @@ -0,0 +1,28 @@ + CxsError::class]; + + /** + * @param ?string $transactionId The transaction ID is a special set of numbers that defines each transaction.
Example: bc95c0e4-b33e-42a2-80d2-334282b5d37a + * @param CxsError[]|null $errors + */ + public function __construct( + public readonly ?string $transactionId = null, + public readonly ?array $errors = null, + ) {} +} diff --git a/src/Api/AccountRegistrationV1/Responses/ErrorResponseVo2.php b/src/Api/AccountRegistrationV1/Responses/ErrorResponseVo2.php new file mode 100644 index 00000000..4d78af7d --- /dev/null +++ b/src/Api/AccountRegistrationV1/Responses/ErrorResponseVo2.php @@ -0,0 +1,30 @@ + CxsError::class]; + + /** + * @param ?string $transactionId The transaction ID is a special set of numbers that defines each transaction.
Example: bc95c0e4-b33e-42a2-80d2-334282b5d37a + * @param ?string $customerTransactionId It is the customerTransactionId sent as part of the request header,by the clients calling this endpoint. + * @param CxsError[]|null $errors + */ + public function __construct( + public readonly ?string $transactionId = null, + public readonly ?string $customerTransactionId = null, + public readonly ?array $errors = null, + ) {} +} diff --git a/src/Api/AccountRegistrationV1/Responses/IrcpResponseVo.php b/src/Api/AccountRegistrationV1/Responses/IrcpResponseVo.php new file mode 100644 index 00000000..a72e81f8 --- /dev/null +++ b/src/Api/AccountRegistrationV1/Responses/IrcpResponseVo.php @@ -0,0 +1,26 @@ +Example: 624deea6-b709-470c-8c39-4b5511281492 + * @param ?CustomerKeyOutputVo $output This is the response object providing Child Key and secret key as a output. + */ + public function __construct( + public readonly ?string $transactionId = null, + public readonly ?CustomerKeyOutputVo $output = null, + ) {} +} diff --git a/src/Api/AccountRegistrationV1/Responses/PinGenerationOutputVo.php b/src/Api/AccountRegistrationV1/Responses/PinGenerationOutputVo.php new file mode 100644 index 00000000..4af4a33a --- /dev/null +++ b/src/Api/AccountRegistrationV1/Responses/PinGenerationOutputVo.php @@ -0,0 +1,27 @@ + Date: Mon, 28 Jul 2025 16:57:39 +0100 Subject: [PATCH 04/22] Do not merge schemas unless all properties have the same names and types. --- resources/metadata/modifications.json | 20 +- resources/models/account-registration/v1.json | 115 +- resources/models/address-validation/v1.json | 42 +- resources/models/consolidation/v1.json | 3360 ++++++++------- resources/models/freight-ltl/v1.json | 3658 +++++++++-------- resources/models/global-trade/v1.json | 40 +- resources/models/ground-eod-close/v1.json | 42 +- resources/models/locations-search/v1.json | 40 +- resources/models/open-ship/v1.json | 1271 +++--- resources/models/pickup-request/v1.json | 118 +- .../models/postal-code-validation/v1.json | 42 +- resources/models/rates-transit-times/v1.json | 154 +- resources/models/service-availability/v1.json | 220 +- resources/models/ship/v1.json | 1547 +++---- resources/models/track/v1.json | 120 +- .../models/trade-documents-upload/v1.json | 127 +- .../Dto/BaseProcessOutputVo.php | 31 + .../AccountRegistrationV1/Dto/CxsError2.php | 29 + .../Dto/ErrorParameter.php | 25 + .../Requests/SendPin.php | 6 +- .../Requests/ValidateInvoice.php | 10 +- .../Requests/ValidatePin.php | 10 +- .../Responses/ErrorResponseVo.php | 2 +- .../Responses/ErrorResponseVo2.php | 8 +- .../Responses/ErrorResponseVo3.php | 30 + .../Responses/IrcpResponseVo.php | 6 +- .../Responses/IrcpResponseVo2.php | 26 + src/Api/ConsolidationV1/Dto/BrokerDetail.php | 2 +- src/Api/ConsolidationV1/Dto/BrokerDetail2.php | 24 + .../Dto/ConsolidationDocumentSpec.php | 34 +- .../Dto/ConsolidationDocumentSpec2.php | 43 + ...onDocumentSpecCondensedCrnReportDetail.php | 23 + ...pecConsolidatedCommercialInvoiceDetail.php | 23 + ...onsolidatedCustomsLinehaulReportDetail.php | 23 + ...umentSpecConsolidatedPartyReportDetail.php | 23 + ...cConsolidatedSoldToSummaryReportDetail.php | 23 + ...nsolidationDocumentSpecCrnReportDetail.php | 23 + ...onDocumentSpecCustomsPackingListDetail.php | 23 + .../Dto/CustomsClearanceDetail.php | 11 +- .../Dto/CustomsClearanceDetail2.php | 53 + ...ustomsClearanceDetailCommercialInvoice.php | 49 + src/Api/ConsolidationV1/Dto/CxsError2.php | 2 +- src/Api/ConsolidationV1/Dto/CxsError3.php | 26 + src/Api/ConsolidationV1/Dto/CxsError4.php | 26 + .../ConsolidationV1/Dto/CxsError401Errors.php | 29 + .../ConsolidationV1/Dto/CxsError403Errors.php | 29 + .../ConsolidationV1/Dto/CxsError404Errors.php | 29 + src/Api/ConsolidationV1/Dto/CxsError5.php | 26 + src/Api/ConsolidationV1/Dto/Origin.php | 4 +- src/Api/ConsolidationV1/Dto/Origin2.php | 25 + .../Dto/RequestedConsolidation.php | 20 +- src/Api/ConsolidationV1/Dto/ShipperParty.php | 4 +- src/Api/ConsolidationV1/Dto/ShipperParty2.php | 31 + src/Api/ConsolidationV1/Dto/SoldToParty.php | 4 +- src/Api/ConsolidationV1/Dto/SoldToParty2.php | 31 + .../Requests/ConfirmConsolidationResults.php | 14 +- .../Requests/ConfirmConsolidations.php | 14 +- .../Requests/ConsolidationShipmentResults.php | 14 +- .../Requests/CreateConsolidation.php | 14 +- .../Requests/CreateConsolidationShipment.php | 14 +- .../Requests/DeleteConsolidation.php | 14 +- .../Requests/DeleteConsolidationShipments.php | 6 +- .../Requests/ModifyConsolidation.php | 14 +- .../Requests/RetrieveConsolidation.php | 14 +- .../Responses/ErrorResponseVo.php | 6 +- .../Responses/ErrorResponseVo2.php | 6 +- .../Responses/ErrorResponseVo3.php | 28 + .../Responses/ErrorResponseVo4.php | 28 + .../Responses/ErrorResponseVo5.php | 30 + .../Responses/ErrorResponseVo6.php | 28 + src/Api/FreightLTLV1/Dto/BrokerDetail2.php | 2 +- .../FreightLTLV1/Dto/ContactAndAddress.php | 4 +- .../FreightLTLV1/Dto/ContactAndAddress2.php | 25 + .../Dto/CustomsClearanceDetail.php | 2 +- .../Dto/Freight2020shipmentDetail.php | 2 +- src/Api/FreightLTLV1/Dto/FreightPayment.php | 2 +- .../Dto/FreightRequestedShipmentFreight.php | 4 +- .../FreightLTLV1/Dto/LabelSpecification.php | 4 +- src/Api/FreightLTLV1/Dto/LocationDetail.php | 2 +- .../Dto/LtlFreightShipmentDetail.php | 2 +- src/Api/FreightLTLV1/Dto/Party2.php | 8 +- src/Api/FreightLTLV1/Dto/Party3.php | 10 +- src/Api/FreightLTLV1/Dto/Party4.php | 29 + src/Api/FreightLTLV1/Dto/Payment.php | 4 +- src/Api/FreightLTLV1/Dto/Payor.php | 4 +- src/Api/FreightLTLV1/Dto/Payor2.php | 23 + .../Dto/ResponsiblePartyParty.php | 27 + .../Dto/UsmcaCertificationOfOriginDetail.php | 2 +- ...cialInvoiceCertificationOfOriginDetail.php | 2 +- src/Api/OpenShipV1/Dto/BrokerDetail.php | 1 - .../OpenShipV1/Dto/CustomsClearanceDetail.php | 1 - src/Api/OpenShipV1/Dto/Party.php | 8 +- src/Api/OpenShipV1/Dto/Party2.php | 10 +- src/Api/OpenShipV1/Dto/Party3.php | 29 + src/Api/OpenShipV1/Dto/Payment.php | 2 +- src/Api/OpenShipV1/Dto/Payment2.php | 4 +- src/Api/OpenShipV1/Dto/Payor.php | 4 +- src/Api/OpenShipV1/Dto/Payor2.php | 23 + .../OpenShipV1/Dto/ResponsiblePartyParty.php | 27 + src/Api/OpenShipV1/Dto/ShipmentCodDetail.php | 1 - .../Dto/UsmcaCertificationOfOriginDetail.php | 2 +- ...cialInvoiceCertificationOfOriginDetail.php | 2 +- src/Api/ShipV1/Dto/BrokerDetail.php | 1 - src/Api/ShipV1/Dto/CustomsClearanceDetail.php | 1 - src/Api/ShipV1/Dto/Party.php | 8 +- src/Api/ShipV1/Dto/Party2.php | 10 +- src/Api/ShipV1/Dto/Party3.php | 29 + src/Api/ShipV1/Dto/Payment.php | 2 +- src/Api/ShipV1/Dto/Payment2.php | 4 +- src/Api/ShipV1/Dto/Payor.php | 4 +- src/Api/ShipV1/Dto/Payor2.php | 23 + src/Api/ShipV1/Dto/ResponsiblePartyParty.php | 27 + src/Api/ShipV1/Dto/ShipmentCodDetail.php | 1 - .../Dto/UsmcaCertificationOfOriginDetail.php | 2 +- ...cialInvoiceCertificationOfOriginDetail.php | 2 +- src/Api/TrackV1/Dto/LocationDetail.php | 6 +- src/Api/TrackV1/Dto/LocationDetail2.php | 27 + src/Api/TrackV1/Dto/TrackResult.php | 8 +- .../Dto/MultiBasePreResponseOutput.php | 25 + .../Requests/UploadMultiEncodedEtDfiles.php | 13 +- .../Requests/UploadMultiEtDfiles.php | 9 +- .../Responses/ErrorResponseVo2.php | 6 +- .../Responses/ErrorResponseVo3.php | 30 + .../Responses/MultiBasePreResponse.php | 8 +- .../Responses/MultiBasePreResponse2.php | 27 + src/Generator/Schema/Refactorer.php | 38 +- 126 files changed, 7551 insertions(+), 5038 deletions(-) create mode 100644 src/Api/AccountRegistrationV1/Dto/BaseProcessOutputVo.php create mode 100644 src/Api/AccountRegistrationV1/Dto/CxsError2.php create mode 100644 src/Api/AccountRegistrationV1/Dto/ErrorParameter.php create mode 100644 src/Api/AccountRegistrationV1/Responses/ErrorResponseVo3.php create mode 100644 src/Api/AccountRegistrationV1/Responses/IrcpResponseVo2.php create mode 100644 src/Api/ConsolidationV1/Dto/BrokerDetail2.php create mode 100644 src/Api/ConsolidationV1/Dto/ConsolidationDocumentSpec2.php create mode 100644 src/Api/ConsolidationV1/Dto/ConsolidationDocumentSpecCondensedCrnReportDetail.php create mode 100644 src/Api/ConsolidationV1/Dto/ConsolidationDocumentSpecConsolidatedCommercialInvoiceDetail.php create mode 100644 src/Api/ConsolidationV1/Dto/ConsolidationDocumentSpecConsolidatedCustomsLinehaulReportDetail.php create mode 100644 src/Api/ConsolidationV1/Dto/ConsolidationDocumentSpecConsolidatedPartyReportDetail.php create mode 100644 src/Api/ConsolidationV1/Dto/ConsolidationDocumentSpecConsolidatedSoldToSummaryReportDetail.php create mode 100644 src/Api/ConsolidationV1/Dto/ConsolidationDocumentSpecCrnReportDetail.php create mode 100644 src/Api/ConsolidationV1/Dto/ConsolidationDocumentSpecCustomsPackingListDetail.php create mode 100644 src/Api/ConsolidationV1/Dto/CustomsClearanceDetail2.php create mode 100644 src/Api/ConsolidationV1/Dto/CustomsClearanceDetailCommercialInvoice.php create mode 100644 src/Api/ConsolidationV1/Dto/CxsError3.php create mode 100644 src/Api/ConsolidationV1/Dto/CxsError4.php create mode 100644 src/Api/ConsolidationV1/Dto/CxsError401Errors.php create mode 100644 src/Api/ConsolidationV1/Dto/CxsError403Errors.php create mode 100644 src/Api/ConsolidationV1/Dto/CxsError404Errors.php create mode 100644 src/Api/ConsolidationV1/Dto/CxsError5.php create mode 100644 src/Api/ConsolidationV1/Dto/Origin2.php create mode 100644 src/Api/ConsolidationV1/Dto/ShipperParty2.php create mode 100644 src/Api/ConsolidationV1/Dto/SoldToParty2.php create mode 100644 src/Api/ConsolidationV1/Responses/ErrorResponseVo3.php create mode 100644 src/Api/ConsolidationV1/Responses/ErrorResponseVo4.php create mode 100644 src/Api/ConsolidationV1/Responses/ErrorResponseVo5.php create mode 100644 src/Api/ConsolidationV1/Responses/ErrorResponseVo6.php create mode 100644 src/Api/FreightLTLV1/Dto/ContactAndAddress2.php create mode 100644 src/Api/FreightLTLV1/Dto/Party4.php create mode 100644 src/Api/FreightLTLV1/Dto/Payor2.php create mode 100644 src/Api/FreightLTLV1/Dto/ResponsiblePartyParty.php create mode 100644 src/Api/OpenShipV1/Dto/Party3.php create mode 100644 src/Api/OpenShipV1/Dto/Payor2.php create mode 100644 src/Api/OpenShipV1/Dto/ResponsiblePartyParty.php create mode 100644 src/Api/ShipV1/Dto/Party3.php create mode 100644 src/Api/ShipV1/Dto/Payor2.php create mode 100644 src/Api/ShipV1/Dto/ResponsiblePartyParty.php create mode 100644 src/Api/TrackV1/Dto/LocationDetail2.php create mode 100644 src/Api/TradeDocumentsUploadV1/Dto/MultiBasePreResponseOutput.php create mode 100644 src/Api/TradeDocumentsUploadV1/Responses/ErrorResponseVo3.php create mode 100644 src/Api/TradeDocumentsUploadV1/Responses/MultiBasePreResponse2.php diff --git a/resources/metadata/modifications.json b/resources/metadata/modifications.json index 7066247a..7010f769 100644 --- a/resources/metadata/modifications.json +++ b/resources/metadata/modifications.json @@ -7,19 +7,35 @@ "path": "paths./registration/v2/address/keysgeneration.post.responses.400.content.application/json.examples" }, { - "comment": "Remove broken example references from 400 response in PIN validation endpoint", + "comment": "Remove broken example references from 400 response in PIN validation endpoint", "action": "delete", "path": "paths./registration/v2/pin/keysgeneration.post.responses.400.content.application/json.examples" }, { "comment": "Remove broken example references from 400 response in invoice validation endpoint", - "action": "delete", + "action": "delete", "path": "paths./registration/v2/invoice/keysgeneration.post.responses.400.content.application/json.examples" }, { "comment": "Remove broken example references from 400 response in PIN generation endpoint", "action": "delete", "path": "paths./registration/v2/customerkeys/pingeneration.post.responses.400.content.application/json.examples" + }, + { + "comment": "Set correct type of ErrorParameter key", + "action": "merge", + "path": "components.schemas.ErrorParameter.properties.key", + "value": { + "type": "string" + } + }, + { + "comment": "Set correct type of ErrorParameter value", + "action": "merge", + "path": "components.schemas.ErrorParameter.properties.value", + "value": { + "type": "string" + } } ] }, diff --git a/resources/models/account-registration/v1.json b/resources/models/account-registration/v1.json index aadcdd0f..c6fc5685 100644 --- a/resources/models/account-registration/v1.json +++ b/resources/models/account-registration/v1.json @@ -313,7 +313,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IrcpResponseVO" + "$ref": "#/components/schemas/IrcpResponseVO_2" } } } @@ -323,7 +323,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO" + "$ref": "#/components/schemas/ErrorResponseVO_2" } } } @@ -333,7 +333,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO" + "$ref": "#/components/schemas/ErrorResponseVO_2" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -352,7 +352,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO" + "$ref": "#/components/schemas/ErrorResponseVO_2" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -494,7 +494,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IrcpResponseVO" + "$ref": "#/components/schemas/IrcpResponseVO_2" } } } @@ -504,7 +504,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_3" } } } @@ -514,7 +514,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_3" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -533,7 +533,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_3" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -683,7 +683,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_3" } } } @@ -693,7 +693,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_3" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -713,7 +713,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_3" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -733,7 +733,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_3" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -753,7 +753,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_3" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -807,6 +807,25 @@ }, "components": { "schemas": { + "BaseProcessOutputVO": { + "type": "object", + "properties": { + "mfaOptions": { + "$ref": "#/components/schemas/MFAOptions" + }, + "child_Key": { + "type": "string", + "description": "Child Key is a JSON Web Token provided for each of your customers. You must use the Child Key along with the Client Key, Client Secret and Customer Secret to get oAuth token, which should be used as credentials with each API transaction.", + "example": "e366a577-3708-47e5-9af8-98004a01c134" + }, + "child_secret": { + "type": "string", + "description": "Child secret, also referred to as Customer Secret, is provided for each of your customers. You must use the Customer Secret along with the Client Key, Client Secret and Child Key to get the oAuth token, which should be used as credentials with each API transaction.", + "example": "*******" + } + }, + "description": "This is the response object providing Customer Key and secret key as a output." + }, "Parameter": { "type": "object", "properties": { @@ -933,6 +952,20 @@ }, "description": "This is the response object providing Child Key and secret key as a output." }, + "ErrorParameter": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Identifies the error option to be applied." + }, + "key": { + "type": "string", + "description": "Indicates the value associated with the key." + } + }, + "description": "List of parameters which indicates the properties of the alert message." + }, "ValidatePinInputVO": { "required": [ "secureCodePin" @@ -1120,6 +1153,20 @@ "type": "object" }, "IrcpResponseVO": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "output": { + "$ref": "#/components/schemas/BaseProcessOutputVO" + } + }, + "description": "This is a wrapper class for outputVO" + }, + "IrcpResponseVO_2": { "type": "object", "properties": { "transactionId": { @@ -1134,6 +1181,22 @@ "description": "This is a wrapper class for outputVO" }, "ErrorResponseVO": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CXSError" + } + } + } + }, + "ErrorResponseVO_2": { "type": "object", "properties": { "transactionId": { @@ -1144,13 +1207,13 @@ "errors": { "type": "array", "items": { - "$ref": "#/components/schemas/CXSError" + "$ref": "#/components/schemas/CXSError_2" } } }, "description": "Error information" }, - "ErrorResponseVO_2": { + "ErrorResponseVO_3": { "type": "object", "properties": { "transactionId": { @@ -1166,7 +1229,7 @@ "errors": { "type": "array", "items": { - "$ref": "#/components/schemas/CXSError" + "$ref": "#/components/schemas/CXSError_2" } } }, @@ -1191,6 +1254,26 @@ } }, "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" + }, + "CXSError_2": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.
Example: LOGIN.REAUTHENTICATE.ERROR,UNAUTHORIZED.USAGE,NOT.FOUND.ERROR,INTERNAL.SERVER.ERROR" + }, + "parameterList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ErrorParameter" + } + }, + "message": { + "type": "string", + "description": "Indicates the description of API error alert message.
Example: Option is missing." + } + }, + "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" } } }, diff --git a/resources/models/address-validation/v1.json b/resources/models/address-validation/v1.json index 2b4be010..59d59346 100644 --- a/resources/models/address-validation/v1.json +++ b/resources/models/address-validation/v1.json @@ -661,6 +661,27 @@ }, "description": "Indicates the resolved address parameters." }, + "CXSError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.
Example: SERVICE.UNAVAILABLE.ERROR" + }, + "parameterList": { + "type": "array", + "description": "Indicates error parameters includes parameter key/value pairs.", + "items": { + "$ref": "#/components/schemas/Parameter" + } + }, + "message": { + "description": "Indicates the description of API error alert message.
Example: The service is currently unavailable and we are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time.", + "type": "string" + } + }, + "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" + }, "ErrorResponseVO": { "type": "object", "properties": { @@ -699,27 +720,6 @@ } } } - }, - "CXSError": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Indicates the error code.
Example: SERVICE.UNAVAILABLE.ERROR" - }, - "parameterList": { - "type": "array", - "description": "Indicates error parameters includes parameter key/value pairs.", - "items": { - "$ref": "#/components/schemas/Parameter" - } - }, - "message": { - "description": "Indicates the description of API error alert message.
Example: The service is currently unavailable and we are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time.", - "type": "string" - } - }, - "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" } } }, diff --git a/resources/models/consolidation/v1.json b/resources/models/consolidation/v1.json index 89b2d57d..bc1a1695 100644 --- a/resources/models/consolidation/v1.json +++ b/resources/models/consolidation/v1.json @@ -109,7 +109,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_3" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -128,7 +128,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_4" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -147,7 +147,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO" + "$ref": "#/components/schemas/ErrorResponseVO_5" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -167,7 +167,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_6" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -325,7 +325,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_3" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -344,7 +344,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_4" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -363,7 +363,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO" + "$ref": "#/components/schemas/ErrorResponseVO_5" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -383,7 +383,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_6" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -513,7 +513,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_3" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -532,7 +532,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_4" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -551,7 +551,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO" + "$ref": "#/components/schemas/ErrorResponseVO_5" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -571,7 +571,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_6" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -731,7 +731,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_3" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -750,7 +750,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_4" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -769,7 +769,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO" + "$ref": "#/components/schemas/ErrorResponseVO_5" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -789,7 +789,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_6" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -949,7 +949,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_3" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -968,7 +968,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_4" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -987,7 +987,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO" + "$ref": "#/components/schemas/ErrorResponseVO_5" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -1007,7 +1007,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_6" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -1167,7 +1167,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_3" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -1186,7 +1186,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_4" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -1205,7 +1205,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO" + "$ref": "#/components/schemas/ErrorResponseVO_5" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -1225,7 +1225,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_6" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -1385,7 +1385,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_3" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -1404,7 +1404,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_4" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -1423,7 +1423,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO" + "$ref": "#/components/schemas/ErrorResponseVO_5" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -1443,7 +1443,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_6" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -1564,7 +1564,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_6" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -1583,7 +1583,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_6" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -1602,7 +1602,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_6" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -1635,7 +1635,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_6" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -1794,7 +1794,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_3" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -1813,7 +1813,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_4" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -1832,7 +1832,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO" + "$ref": "#/components/schemas/ErrorResponseVO_5" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -1852,7 +1852,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_6" }, "example": { "transactionId": "624deea6-b709-470c-8c39-4b5511281492", @@ -2690,14 +2690,14 @@ }, "shipper": { "description": "Descriptive data identifying the party responsible for shipping the package. Shipper and Origin should have the same address.", - "$ref": "#/components/schemas/ShipperParty" + "$ref": "#/components/schemas/ShipperParty_2" }, "origin": { "description": "Descriptive data identifying the Origin.", - "$ref": "#/components/schemas/Origin" + "$ref": "#/components/schemas/Origin_2" }, "soldTo": { - "$ref": "#/components/schemas/SoldToParty" + "$ref": "#/components/schemas/SoldToParty_2" }, "bookingNumber": { "type": "string", @@ -2723,10 +2723,10 @@ "$ref": "#/components/schemas/TransborderDistributionDetail" }, "customsClearanceDetail": { - "$ref": "#/components/schemas/CustomsClearanceDetail" + "$ref": "#/components/schemas/CustomsClearanceDetail_2" }, "consolidationDocumentSpecification": { - "$ref": "#/components/schemas/ConsolidationDocumentSpec" + "$ref": "#/components/schemas/ConsolidationDocumentSpec_2" }, "shippingChargesPayment": { "$ref": "#/components/schemas/Payment" @@ -6605,6 +6605,223 @@ }, "description": "Adjusted total weight of Ground packages" }, + "CustomsClearanceDetail_commercialInvoice": { + "type": "object", + "properties": { + "termsOfSale": { + "type": "string", + "description": "Specify terms Of Sale that will be populated on the Commercial Invoice (or Pro Forma). Maximum length is 3.
Valid values are:
  • FCA/FOB (Free Carrier/Free On Board): Seller is responsible for all costs of delivering goods to destination. (Default)
  • CIP (Costs, Insurance Paid): Seller is responsible for miscellaneous charges to destination.
  • CPT (Carriage Paid To): Buyer is responsible for insurance.
  • EXW (Ex Works): Seller makes goods available to buyer. Buyer is responsible for delivering goods to destination.
  • DDU (Delivered Duty Unpaid): Seller is responsible for delivering goods to destination. Buyer is responsible for clearing goods through Bureau of Customs and Border Protection.
  • DDP (Delivered Duty Paid): Seller is responsible for delivering goods to destination, including duties, taxes, and miscellaneous fees.
  • DAP (Delivered at Place): Seller pays for carriage to the named place except for costs related to import clearance, and assumes all risks prior to the point that the goods are ready for unloading by the buyer.
  • DPU (Deliver at Place of Unloading)
", + "example": "DDP" + }, + "comments": { + "type": "array", + "description": "The comments that will populate the Commercial Invoice (or Pro Forma).", + "example": [ + "optional comments for the commercial invoice" + ], + "items": { + "type": "string" + } + }, + "purpose": { + "type": "string", + "description": "This field is used for calculation of duties and taxes.", + "example": "CONSUMER", + "enum": [ + "BUSINESS", + "CONSUMER" + ] + }, + "freightCharge": { + "$ref": "#/components/schemas/FreightChargeMoney" + }, + "taxesOrMiscellaneousCharge": { + "$ref": "#/components/schemas/TaxesOrMiscellaneousCharges" + }, + "taxesOrMiscellaneousChargeType": { + "type": "string", + "description": "Specifice the kind of tax or miscellaneous charge being reported on a Commercial Invoice.", + "example": "COMMISSIONS", + "enum": [ + "COMMISSIONS", + "DISCOUNTS", + "HANDLING_FEES", + "OTHER", + "ROYALTIES_AND_LICENSE_FEES", + "TAXES" + ] + }, + "packingCosts": { + "$ref": "#/components/schemas/PackingCostCharges" + }, + "handlingCosts": { + "$ref": "#/components/schemas/HandlingCostCharges" + }, + "specialInstructions": { + "type": "string", + "description": "The special instructions that will populate the Commercial Invoice (or Pro Forma).
Example: specialInstructions", + "example": "specialInstructions\"" + }, + "declarationStatement": { + "type": "string", + "description": "The declaration statement that will populate the Commercial Invoice (or Pro Forma).
Max length is 554
Example: declarationStatement", + "example": "declarationStatement" + }, + "paymentTerms": { + "type": "string", + "description": "The payment terms that will populate the Commercial Invoice (or Pro Forma). This field is being supported for completeness only.
Example: payment terms", + "example": "payment terms" + }, + "purposeOfShipmentDescription": { + "type": "string", + "description": "This is the reason for the shipment.
Note: SOLD is not a valid purpose for a Proforma Invoice.", + "example": "REPAIR_AND_RETURN", + "enum": [ + "GIFT", + "NOT_SOLD", + "PERSONAL_EFFECTS", + "REPAIR_AND_RETURN", + "SAMPLE", + "SOLD" + ] + }, + "customerReferences": { + "$ref": "#/components/schemas/CustomerReferences" + }, + "originatorName": { + "type": "string", + "description": "The originatorName that will populate the Commercial Invoice (or Pro Forma).", + "example": "originator Name" + } + }, + "description": "Use this object to provide Commercial Invoice details.
This element is required if a FedEx generated Consolidated Commercial Invoice is requested.
To request a FedEx generated Consolidated Commercial Invoice include \"CONSOLIDATED_COMMERCIAL_INVOICE\" value in the \"consolidationDocumentTypes\" array, in the \"consolidationDocumentSpecification\" object.
Customers are responsible for printing the Consolidated Commercial Invoice." + }, + "ConsolidationDocumentSpec_consolidatedCommercialInvoiceDetail": { + "type": "object", + "properties": { + "format": { + "$ref": "#/components/schemas/Formats" + } + }, + "description": "Specifies consolidated commercial invoice detail." + }, + "ConsolidationDocumentSpec_customsPackingListDetail": { + "type": "object", + "properties": { + "format": { + "$ref": "#/components/schemas/Formats" + } + }, + "description": "Specifies the customs packing list detail." + }, + "ConsolidationDocumentSpec_crnReportDetail": { + "type": "object", + "properties": { + "format": { + "$ref": "#/components/schemas/Formats" + } + }, + "description": "Specifies the child reference number report detail." + }, + "ConsolidationDocumentSpec_condensedCrnReportDetail": { + "type": "object", + "properties": { + "format": { + "$ref": "#/components/schemas/Formats" + } + }, + "description": "Specifies the child reference number report detail for condensed CrnReport Detail." + }, + "ConsolidationDocumentSpec_consolidatedCustomsLinehaulReportDetail": { + "type": "object", + "properties": { + "format": { + "$ref": "#/components/schemas/Formats" + } + }, + "description": "Specifies the child reference number report detail for consolidated customs linehaul report detail." + }, + "ConsolidationDocumentSpec_consolidatedPartyReportDetail": { + "type": "object", + "properties": { + "format": { + "$ref": "#/components/schemas/Formats" + } + }, + "description": "Specifies the child reference number report detail for consolidated party report detail." + }, + "ConsolidationDocumentSpec_consolidatedSoldToSummaryReportDetail": { + "type": "object", + "properties": { + "format": { + "$ref": "#/components/schemas/Formats" + } + }, + "description": "Specifies the child reference number report detail for consolidated SoldTo summary report detail." + }, + "CXSError401_errors": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.", + "example": "LOGIN.REAUTHENTICATE.ERROR" + }, + "message": { + "type": "string", + "description": "Indicates the description of API error alert message.", + "example": "Access token expired. Please modify your request and try again." + }, + "parameterList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Parameter" + } + } + } + }, + "CXSError403_errors": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.", + "example": "FORBIDDEN.ERROR" + }, + "message": { + "type": "string", + "description": "Indicates the description of API error alert message.", + "example": "We could not authorize your credentials. Please check your permissions and try again" + }, + "parameterList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Parameter" + } + } + } + }, + "CXSError404_errors": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.", + "example": "NOT.FOUND.ERROR" + }, + "parameterList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Parameter" + } + }, + "message": { + "type": "string", + "description": "Indicates the description of API error alert message.", + "example": "The resource you requested is no longer available. Please modify your request and try again." + } + } + }, "CXSError500_errors": { "type": "object", "properties": { @@ -7484,150 +7701,21 @@ }, "description": "Specifies Complete Consolidation Details when user selected ASYCHRONOUSLY_PROCESSED" }, - "ShipperParty": { + "PartyContact": { "required": [ - "address", - "contact" + "phoneNumber" ], "type": "object", "properties": { - "address": { - "$ref": "#/components/schemas/PartyAddress_2" - }, - "contact": { - "$ref": "#/components/schemas/PartyContact" + "personName": { + "type": "string", + "description": "Specify contact name. Maximum length is 70.
Note: Either the companyName or personName is mandatory.
Example: John Taylor", + "example": "John Taylor" }, - "tins": { - "type": "array", - "description": "This is the tax identification number details.", - "items": { - "$ref": "#/components/schemas/TaxpayerIdentification" - } - }, - "accountNumber": { - "$ref": "#/components/schemas/PartyAccountNumber" - } - }, - "description": "The descriptive information for the customer shipping the package along with the physical location from where the shipment originates." - }, - "PartyAddress": { - "required": [ - "city", - "countryCode", - "postalCode", - "streetLines" - ], - "type": "object", - "properties": { - "streetLines": { - "type": "array", - "description": "Combination of number, street name, etc. At least one line is required for a valid physical address. Empty lines should not be included. Max Length is 35.
Example: [1550 Union Blvd,Suite 302]", - "example": [ - "1550 Union Blvd", - "Suite 302" - ], - "items": { - "type": "string" - } - }, - "city": { - "maxLength": 35, - "type": "string", - "description": "The name of city, town of the recipient.Max length is 35.
Example: Beverly Hills", - "example": "Beverly Hills" - }, - "stateOrProvinceCode": { - "type": "string", - "description": "The US States,Canada and Puerto Rico Province codes of the recipient. The Format and presence of this field may vary depending on the country. State code is required for US, CA, PR and not required for other countries. Conditional. Max length is 2.
Example: CA ", - "example": "CA" - }, - "postalCode": { - "type": "string", - "description": "This is the postal code.
Note: This is Optional for non postal-aware countries. Maximum length is 10.
Example: 90210
click here to see Postal aware countries", - "example": "90210" - }, - "countryCode": { - "type": "string", - "description": "The two-letter code used to identify a country.
Maximum length is 2.
Example: US
click here to see Country codes", - "example": "US" - }, - "residential": { - "type": "boolean", - "description": " Indicates whether this address is residential (as opposed to commercial).
Example: false", - "example": false - } - }, - "description": "This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US).", - "example": { - "streetLines": [ - "10 FedEx Parkway", - "Suite 302" - ], - "city": "Beverly Hills", - "stateOrProvinceCode": "CA", - "postalCode": "90210", - "countryCode": "US", - "residential": false - } - }, - "PartyAddress_2": { - "required": [ - "city", - "countryCode", - "postalCode", - "streetLines" - ], - "type": "object", - "properties": { - "streetLines": { - "type": "array", - "description": "This is the combination of number, street name, etc. Maximum length per line is 35.
Example: 10 FedEx Parkway, Suite 302.

Note:

  • At least one line is required.
  • Streetlines more than 3 will be ignored.
  • Empty lines should not be included
  • For SmartPost Shipments, only 30 characters from the individual street lines will be printed on the labels.

", - "example": [ - "1550 Union Blvd", - "Suite 302" - ], - "items": { - "type": "string" - } - }, - "city": { - "type": "string", - "description": "The name of city, town of the shipper.Max length is 35.", - "example": "Beverly Hills" - }, - "stateOrProvinceCode": { - "type": "string", - "description": "This is a placeholder for state or province code.
Example: CA.
click here to see State or Province Code", - "example": "CA" - }, - "postalCode": { - "type": "string", - "description": "This is the postal code.
Note: This is Optional for non postal-aware countries. Maximum length is 10.
Example: 65247
click here to see Postal aware countries", - "example": "90210" - }, - "countryCode": { - "type": "string", - "description": "This is the two-letter country code.
Maximum length is 2.
Example: US
click here to see Country codes", - "example": "US" - } - }, - "description": "This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US)." - }, - "PartyContact": { - "required": [ - "phoneNumber" - ], - "type": "object", - "properties": { - "personName": { - "type": "string", - "description": "Specify contact name. Maximum length is 70.
Note: Either the companyName or personName is mandatory.
Example: John Taylor", - "example": "John Taylor" - }, - "emailAddress": { - "type": "string", - "description": "Specify contact email address. Maximum length is 80.
Example: sample@company.com", - "example": "sample@company.com" + "emailAddress": { + "type": "string", + "description": "Specify contact email address. Maximum length is 80.
Example: sample@company.com", + "example": "sample@company.com" }, "phoneExtension": { "type": "string", @@ -7702,40 +7790,6 @@ "value": "123456789" } }, - "Origin": { - "type": "object", - "properties": { - "address": { - "$ref": "#/components/schemas/PartyAddress_2" - }, - "contact": { - "$ref": "#/components/schemas/PartyContact" - } - }, - "description": "The descriptive information for the customer origin." - }, - "SoldToParty": { - "type": "object", - "properties": { - "address": { - "$ref": "#/components/schemas/PartyAddress_soldTo" - }, - "contact": { - "$ref": "#/components/schemas/PartyContact_soldTo_2" - }, - "tins": { - "type": "array", - "description": "Used for adding the tax id", - "items": { - "$ref": "#/components/schemas/TaxpayerIdentification" - } - }, - "accountNumber": { - "$ref": "#/components/schemas/PartyAccountNumber" - } - }, - "description": "Will indicate the party responsible for purchasing the goods shipped from the shipper to the recipient. The sold to party is not necessarily the recipient or the importer of record. The sold to party is relevant when the purchaser, rather than the recipient determines when certain customs regulations apply." - }, "PartyAddress_soldTo": { "required": [ "city", @@ -7789,732 +7843,700 @@ }, "description": "This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US)." }, - "PartyContact_soldTo": { + "ShippingDocumentEmailDetail": { "required": [ - "companyName", - "personName", - "phoneNumber" + "eMailRecipients" ], "type": "object", "properties": { - "personName": { - "type": "string", - "description": "Identifies the contact person's name. Max Length is 70.
Example: John Taylor", - "example": "John Taylor" - }, - "emailAddress": { - "type": "string", - "description": "Shipper's email address. Max length is 80.
Example: sample@company.com", - "example": "sample@company.com" - }, - "phoneExtension": { - "type": "string", - "description": "The shipper's phone extension. Max length is 6.
Example: 91", - "example": "91" + "eMailRecipients": { + "type": "array", + "description": "Shipping Document Email Recipients array", + "items": { + "$ref": "#/components/schemas/ShippingDocumentEmailRecipient" + } }, - "phoneNumber": { - "type": "string", - "description": "The shipper's phone number.
Minimum length is 10 and supports maximum of 15 for certain countries using longer phone numbers.
Note: For US and CA, a phone number must have exactly 10 digits, plus an optional leading country code of '1' or '+1'.
Example: 918xxxxx890", - "example": "918xxxxx890" + "locale": { + "$ref": "#/components/schemas/Locale" }, - "companyName": { + "grouping": { "type": "string", - "description": "The shipper's company name. Max length is 35.
Example: FedEx", - "example": "Fedex" + "description": "Shipping Document Email Grouping Type", + "example": "NONE", + "enum": [ + "BY_RECIPIENT", + "NONE" + ] } }, - "description": "Contact details of the shipper.", - "example": { - "personName": "John Taylor", - "emailAddress": "sample@company.com", - "phoneExtension": "91", - "phoneNumber": "1234567890", - "companyName": "Fedex" - } + "description": "Specifies how to e-mail shipping documents." }, - "PartyContact_soldTo_2": { - "required": [ - "companyName", - "personName", - "phoneNumber" - ], + "ContactAncillaryDetail": { "type": "object", "properties": { - "personName": { - "type": "string", - "description": "Specify contact person name.
Recommended length is 70.
Note: There's no specific validation for the person name.
Example: John Taylor", - "example": "John Taylor" - }, - "emailAddress": { - "type": "string", - "description": "Specify contact email address. Maximum length is 80.
Example: sample@company.com", - "example": "sample@company.com" - }, - "phoneNumber": { - "type": "string", - "description": "Specify contact phone number.
Minimum length is 10 and supports maximum of 15 for certain countries using longer phone numbers.
Note: Recommended Maximum length is 15 and there's no specific validation will be done for the phone number.
Example: 918xxxxx890", - "example": "1234567890" - }, - "companyName": { - "type": "string", - "description": "Specify contact company name.
Recommended length is 35.
Note: There's no specific validation for the company name.", - "example": "FedEx" + "emailAddresses": { + "type": "array", + "description": "Email Addresses", + "items": { + "$ref": "#/components/schemas/EMailDetail" + } } }, - "description": "Contact details of the shipper." + "description": "Indicates additional contact details for the Party such as email and phone contact information." }, - "ConsolidationDataSources": { + "EMailDetail": { "type": "object", "properties": { - "consolidationDataType": { + "emailNotificationFormatType": { "type": "string", - "description": "Identifies the field being specified.", - "example": "TOTAL_INSURED_VALUE", + "description": "Email Notification Format Type", + "example": "SMS_TEXT_MESSAGE", "enum": [ - "TOTAL_CUSTOMS_CODE", - "TOTAL_FREIGHT_CHARGES", - "TOTAL_HANDLING_COSTS", - "TOTAL_INSURANCE_CHARGES", - "TOTAL_INSURED_VALUE", - "TOTAL_PACKING_COSTS", - "TOTAL_TAXES_OR_MISCELLANEOUS_CHARGES" + "SMS_TEXT_MESSAGE", + "TEXT", + "HTML" ] }, - "consolidationDataSourceType": { - "type": "string", - "description": "Identifies how the content of the field should be determined.", - "example": "ACCUMULATED", - "enum": [ - "ACCUMULATED", - "CLIENT" - ] - } - }, - "description": "Specifies how selected values in the consolidation are to be determined." - }, - "CustomerReferences": { - "type": "object", - "properties": { - "customerReferenceType": { + "address": { "type": "string", - "description": "This is a customer reference type. The value specified here for the element is printed on the Commercial Invoice only for tracking and label information.

Note:

  • The P_O_NUMBER value must be specified in customerReferences under requestedPackageLineItems
  • The INVOICE_NUMBER value that is printed on the FedEx-supplied invoice must be specified in customerReferences under commercialInvoice. Value defined in this section will print on the label that is attached to the package

Note: INTRACOUNTRY_REGULATORY_REFERENCE is applicable only in Intra-Brazil.
Click here for more information on Cutsomer References ENUMs", - "example": "CUSTOMER_REFERENCE", - "enum": [ - "BILL_OF_LANDING", - "CUSTOMER_REFERENCE", - "DEPARTMENT_NUMBER", - "ELECTRONIC_PRODUCT_CODE", - "INTRACOUNTRY_REGULATORY_REFERENCE", - "INVOICE_NUMBER", - "P_O_NUMBER", - "PACKING_SLIP_NUMBER", - "RMA_ASSOCIATION", - "SHIPMENT_INTEGRITY", - "STORE_NUMBER" - ] + "description": "Address" }, - "value": { - "type": "string", - "description": "This is a customer reference type value.
Example: 3686
Note: Maximum length for all customer references is 40 characters.", - "example": "USD" + "permissions": { + "type": "object", + "additionalProperties": { + "type": "string", + "enum": [ + "GRANT", + "DENY" + ] + }, + "description": "Email Permission Type" } }, - "description": "These are additional customer reference data for commercial invoice." + "example": { + "emailNotificationFormatType": "SMS_TEXT_MESSAGE", + "address": "address", + "permissions": { + "key": "GRANT" + } + } }, - "LabelSpecification": { + "Address": { "required": [ - "printedLabelOrigin" + "countryCode", + "streetLines" ], "type": "object", "properties": { - "labelFormatType": { + "streetLines": { + "type": "array", + "description": "This is a combination of number, street name, etc.
Note: At least one line is required and streetlines more than 3 will be ignored. Empty lines should not be included.", + "example": "[10 FedEx Parkway, Suite 302]", + "items": { + "type": "string" + } + }, + "city": { "type": "string", - "description": "Specify the label Format Type.
click here to see label format types", - "example": "COMMON2D", - "enum": [ - "COMMON2D", - "ERROR", - "LABEL_DATA_ONLY", - "MAILROOM", - "NO_LABEL", - "OPERATIONAL_LABEL", - "PRE_COMMON2D" - ] + "description": "This is a placeholder for City Name.
Note: This is conditional and not required in all the shipping requests. It is recommended for Express shipments for the most accurate ODA and OPA surcharges and not used for Ground/SmartPost.", + "example": "Beverly Hills" }, - "labelStockType": { + "stateOrProvinceCode": { "type": "string", - "description": "Indicate the label stock type used.
click here to see label format types", - "example": "PAPER_7X475", - "enum": [ - "PAPER_4X6", - "PAPER_4X675", - "PAPER_4X8", - "PAPER_4X9", - "PAPER_7X475", - "PAPER_85X11_BOTTOM_HALF_LABEL", - "PAPER_85X11_TOP_HALF_LABEL", - "PAPER_LETTER", - "STOCK_4X675_LEADING_DOC_TAB", - "STOCK_4X8", - "STOCK_4X9_LEADING_DOC_TAB", - "STOCK_4X6", - "STOCK_4X675_TRAILING_DOC_TAB", - "STOCK_4X9_TRAILING_DOC_TAB", - "STOCK_4X675", - "STOCK_4X9", - "STOCK_4X8.5_TRAILING_DOC_TAB", - "STOCK_4X10.5_TRAILING_DOC_TAB" - ] + "description": "This is a placeholder for State or Province code.
Note: This is conditional and not required in all the shipping requests. It is recommended for Express shipments for the most accurate ODA and OPA surcharges and not used for Ground/SmartPost.", + "example": "CA" }, - "imageType": { + "postalCode": { "type": "string", - "description": "Specify the image format used for a shipping document.
click here to see label format types", - "example": "PDF", + "description": "This is placeholder for postal code.
Note: The postal code is required for postal-aware countries.", + "example": "38127" + }, + "countryCode": { + "type": "string", + "description": "This is the Two-letter country code. Click here to see Country Codes", + "example": "US" + }, + "residential": { + "type": "boolean", + "description": "Indicate whether this address is Residential as opposed to Commercial.
Valid Values: True or False.", + "example": true, "enum": [ - "ZPLII", - "EPL2", - "PDF", - "PNG" + true, + false ] + } + }, + "description": "Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of \"address parts\" which should be handled as a unit (such as a city-state-ZIP combination within the US).", + "example": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "38127", + "countryCode": "US", + "residential": false + } + }, + "DocTabZoneSpecification": { + "type": "object", + "properties": { + "zoneNumber": { + "type": "integer", + "description": "is a nonNegativeInteger
Example: 1", + "format": "int32", + "example": 0 }, - "processingOptionsRequested": { - "$ref": "#/components/schemas/LabelSpecification_processingOptionsRequested" + "header": { + "type": "string", + "description": "header of DocTabZoneSpecification
Example: WHT", + "example": "WHT" }, - "dispositions": { - "type": "array", - "description": "Specifies how to create, organize, and return the document.", - "items": { - "$ref": "#/components/schemas/ShippingDocumentDispositionDetail" - } + "dataField": { + "type": "string", + "description": "dataField of DocTabZoneSpecification
Example: REQUEST/PACKAGE/weight/Value", + "example": "REQUEST/PACKAGE/weight/Value" }, - "labelPrintingOrientation": { + "literalValue": { "type": "string", - "description": "This is applicable only to documents produced on thermal printers with roll stock.", - "example": "TOP_EDGE_OF_TEXT_FIRST", - "default": "TOP_EDGE_OF_TEXT_FIRST", - "enum": [ - "BOTTOM_EDGE_OF_TEXT_FIRST", - "TOP_EDGE_OF_TEXT_FIRST" - ] + "description": "literalValue of DocTabZoneSpecification
", + "example": "mytext" }, - "labelRotation": { + "justification": { "type": "string", - "description": "This is applicable only to documents produced on thermal printers with roll stock.", - "example": "UPSIDE_DOWN", + "description": "Doc Tab Zone Justification Type", + "example": "RIGHT", "enum": [ "LEFT", - "RIGHT", - "UPSIDE_DOWN", - "NONE" + "RIGHT" ] + } + } + }, + "TransborderDistributionDetail": { + "type": "object", + "properties": { + "specialServicesRequested": { + "$ref": "#/components/schemas/TransborderDistributionDetail_specialServicesRequested" }, - "labelOrder": { + "routing": { "type": "string", - "description": "This is the order of the Shipping labels to be generated.", - "example": "SHIPPING_LABEL_FIRST", + "description": "Specifies the transborder distribution routing.", + "example": "CUSTOMER_SPECIFIED", "enum": [ - "SHIPPING_LABEL_FIRST", - "SHIPPING_LABEL_LAST" + "BY_METER", + "BY_ORIGIN", + "CUSTOMER_SPECIFIED" ] }, - "printedLabelOrigin": { - "$ref": "#/components/schemas/ContactAndAddress" - }, - "customerSpecifiedDetail": { - "$ref": "#/components/schemas/CustomerSpecifiedLabelDetail" - }, - "resolution": { - "type": "integer", - "description": "Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203.", - "example": 300 + "summaryDetail": { + "$ref": "#/components/schemas/SummaryDetail" } }, - "description": "These are label specification details includes the image type, printer format, and label stock for label. Can also specify specific details such as doc-tab content, regulatory labels, and masking data on the label.
Mandatory as it is needed during confirming consolidation. If it is not passed while creating consolidation it will fail during confirming consolidation." + "description": "Specifies attributes of a shipment whithin a transborder distribution." }, - "LabelSpecification_2": { - "required": [ - "printedLabelOrigin" - ], + "CustomsOptionDetail": { "type": "object", "properties": { - "labelFormatType": { + "description": { "type": "string", - "description": "Specify the label Format Type.
click here to see label format types", - "example": "COMMON2D", - "enum": [ - "COMMON2D", - "ERROR", - "LABEL_DATA_ONLY", - "MAILROOM", - "NO_LABEL", - "OPERATIONAL_LABEL", - "PRE_COMMON2D" - ] + "description": "Specify additional description about customs options. This is a required field when the Type is OTHER.", + "example": "Description" }, - "labelStockType": { + "type": { "type": "string", - "description": "Indicate the label stock type used.
click here to see label format types", - "example": "PAPER_7X475", + "description": "Specify the reason for a global return, as recognized by Customs. ", + "example": "COURTESY_RETURN_LABEL", "enum": [ - "PAPER_4X6", - "PAPER_4X675", - "PAPER_4X8", - "PAPER_4X9", - "PAPER_7X475", - "PAPER_85X11_BOTTOM_HALF_LABEL", - "PAPER_85X11_TOP_HALF_LABEL", - "PAPER_LETTER", - "STOCK_4X675_LEADING_DOC_TAB", - "STOCK_4X8", - "STOCK_4X9_LEADING_DOC_TAB", - "STOCK_4X6", - "STOCK_4X675_TRAILING_DOC_TAB", - "STOCK_4X9_TRAILING_DOC_TAB", - "STOCK_4X675", - "STOCK_4X9", - "STOCK_4X8.5_TRAILING_DOC_TAB", - "STOCK_4X10.5_TRAILING_DOC_TAB" + "COURTESY_RETURN_LABEL", + "EXHIBITION_TRADE_SHOW", + "FAULTY_ITEM", + "FOLLOWING_REPAIR", + "FOR_REPAIR", + "ITEM_FOR_LOAN", + "OTHER", + "REJECTED", + "REPLACEMENT", + "TRIAL" ] + } + }, + "description": "Customs Option Detail, type must be indicated for each occurrence" + }, + "DestinationControlDetail": { + "required": [ + "statementTypes" + ], + "type": "object", + "properties": { + "endUser": { + "type": "string", + "description": "Specify End User name. Its is required if StatementTypes is entered as DEPARTMENT_OF_STATE.", + "example": "John Wick" }, - "imageType": { + "statementTypes": { "type": "string", - "description": "Specify the image format used for a shipping document.
click here to see label format types", - "example": "PDF", + "description": "Specify appropriate destination control statement type(s), Also make sure to specify destination country and end user.", + "example": "DEPARTMENT_OF_COMMERCE", "enum": [ - "ZPLII", - "EPL2", - "PDF", - "PNG", - "DIB", - "DOC", - "DPL", - "GIF", - "RTF", - "TEXT" + "DEPARTMENT_OF_COMMERCE", + "DEPARTMENT_OF_STATE", + "DEPARTMENT_OF_COMMERCE_AND_DEPARTMENT_OF_STATE" ] }, - "processingOptionsRequested": { - "$ref": "#/components/schemas/LabelSpecification_processingOptionsRequested" - }, - "dispositions": { + "destinationCountries": { "type": "array", - "description": "Specifies how to create, organize, and return the document", + "description": "Specify DCS shipment destination country. You may enter up to four country codes in this element. Up to 11 alphanumeric characters are allowed.", + "example": [ + "USA", + "India" + ], "items": { - "$ref": "#/components/schemas/ShippingDocumentDispositionDetail" + "type": "string" } + } + }, + "description": "VERY IMPORTANT: Specify appropriate destinationcontrol statement type(s),Valid values: DEPARTMENT_OF_COMMERCE, DEPARTMENT_OF_STATE
Be sure to also specify destination country and enduser." + }, + "Commodity": { + "required": [ + "description", + "numberOfPieces" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Specify the commodity name", + "example": "non-threaded rivets" }, - "labelPrintingOrientation": { + "numberOfPieces": { + "type": "integer", + "description": "Indicates the number of pieces associated with the commodity. Number of pieces cannot be a negative value or exceed 9,999.", + "format": "int32", + "example": 12 + }, + "description": { "type": "string", - "description": "This is applicable only to documents produced on thermal printers with roll stock.", - "example": "TOP_EDGE_OF_TEXT_FIRST", - "default": "TOP_EDGE_OF_TEXT_FIRST", - "enum": [ - "BOTTOM_EDGE_OF_TEXT_FIRST", - "TOP_EDGE_OF_TEXT_FIRST" - ] + "description": "This is the commodity description. Maximum allowed 450 characters.", + "example": "AC parts" }, - "labelRotation": { + "countryOfManufacture": { "type": "string", - "description": "This is applicable only to documents produced on thermal printers with roll stock.", - "example": "UPSIDE_DOWN", - "enum": [ - "LEFT", - "RIGHT", - "UPSIDE_DOWN", - "NONE" - ] + "description": "This is commodity country of manufacture. This is required for International shipments. Maximum allowed length is 4.", + "example": "US" }, - "labelOrder": { + "weight": { + "$ref": "#/components/schemas/Weight" + }, + "quantity": { + "type": "integer", + "description": "This is the units quantity (using quantityUnits as the unit of measure) per commodity. This is used to estimate duties and taxes.", + "format": "int32", + "example": 125 + }, + "quantityUnits": { "type": "string", - "description": "This is the order of the Shipping label/documents to be generated.", - "example": "SHIPPING_LABEL_FIRST", - "enum": [ - "SHIPPING_LABEL_FIRST", - "SHIPPING_LABEL_LAST" - ] + "description": "This is the unit of measure for the units quantity. This is used to estimate duties and taxes.", + "example": "EA" }, - "printedLabelOrigin": { - "$ref": "#/components/schemas/ContactAndAddress" + "unitPrice": { + "$ref": "#/components/schemas/Money_2" }, - "customerSpecifiedDetail": { - "$ref": "#/components/schemas/CustomerSpecifiedLabelDetail" + "customsValue": { + "$ref": "#/components/schemas/Money_2" + }, + "commodityId": { + "type": "string", + "description": "Value used to identify a commodity description; must be unique within the containing shipment.", + "example": "commodity Id" } - }, - "description": "These are label specification details includes the image type, printer format, and label stock for label. Can also specify specific details such as doc-tab content, regulatory labels, and masking data on the label.
Mandatory as it is needed during confirming consolidation. If it is not passed while creating consolidation it will fail during confirming consolidation." + } }, - "ShippingDocumentDispositionDetail": { + "Formats": { "type": "object", "properties": { - "eMailDetail": { - "$ref": "#/components/schemas/ShippingDocumentEmailDetail" - }, - "dispositionType": { + "docType": { "type": "string", - "description": "Values in this field specify how to create and return the document.", - "example": "CONFIRMED", + "description": "Specify the image format used for a shipping document.
click here to see label format types", + "example": "PDF", "enum": [ - "CONFIRMED", - "DEFERRED_QUEUED", - "DEFERRED_RETURNED", - "DEFERRED_STORED", - "EMAILED", - "QUEUED", - "RETURNED", - "STORED" + "ZPLII", + "EPL2", + "PDF", + "PNG", + "DIB", + "DOC", + "DPL", + "GIF", + "RTF", + "TEXT" ] }, - "grouping": { + "stockType": { "type": "string", - "description": "Identifies the convention by which documents are to be grouped as email attachment.", + "description": "Specify the label stock type.
click here to see label format types", + "example": "PAPER_LETTER", "enum": [ - "CONSOLIDATED_BY_DOCUMENT_TYPE", - "CONSOLIDATED_BY_IMAGE_TYPE", - "INDIVIDUAL" + "OP_900_LG", + "OP_900_LG_B", + "OP_900_LL", + "OP_900_LL_B", + "OP_950_PAPER_4_PER_PAGE_PORTRAIT", + "PAPER_4X6", + "PAPER_LETTER", + "STOCK_4X6", + "STOCK_4X675_LEADING_DOC_TAB", + "STOCK_4X675_TRAILING_DOC_TAB", + "STOCK_4X8", + "STOCK_4X9_LEADING_DOC_TAB", + "STOCK_4X9_TRAILING_DOC_TAB" ] - }, - "storageDetail": { - "$ref": "#/components/schemas/ShippingDocumentStorageDetail" - }, - "printDetail": { - "$ref": "#/components/schemas/ShippingDocumentPrintDetail" } }, - "description": "Each occurrence of this class specifies a particular way in which a kind of shipping document is to be produced and provided." + "description": "Specifies the formats." }, - "ShippingDocumentEmailDetail": { + "ImporterOfRecord": { "required": [ - "eMailRecipients" + "address", + "contact" ], "type": "object", "properties": { - "eMailRecipients": { - "type": "array", - "description": "Shipping Document Email Recipients array", - "items": { - "$ref": "#/components/schemas/ShippingDocumentEmailRecipient" - } + "address": { + "$ref": "#/components/schemas/PartyAddress_2" }, - "locale": { - "$ref": "#/components/schemas/Locale" + "contact": { + "$ref": "#/components/schemas/PartyContact" }, - "grouping": { - "type": "string", - "description": "Shipping Document Email Grouping Type", - "example": "NONE", - "enum": [ - "BY_RECIPIENT", - "NONE" - ] + "accountNumber": { + "$ref": "#/components/schemas/PartyAccountNumber" } }, - "description": "Specifies how to e-mail shipping documents." + "description": "The descriptive information for the person who is responsible for the shipment." }, - "ContactAndAddress": { + "PieceResponses": { "type": "object", "properties": { - "contact": { - "$ref": "#/components/schemas/Contact" - }, - "contactAncillaryDetail": { - "$ref": "#/components/schemas/ContactAncillaryDetail" + "masterTrackingNumber": { + "type": "string", + "description": "This is a master tracking number for the shipment (must be unique for stand-alone open shipments, or unique within consolidation if consolidation key is provided).
Example: 794953535000", + "example": "794953535000" }, - "address": { - "$ref": "#/components/schemas/Address" + "trackingNumber": { + "type": "string", + "description": "This is a tracking number associted with this package.
Example: 49XXX0000XXX20032835", + "example": "794953535000" }, - "addressAncillaryDetail": { - "$ref": "#/components/schemas/AddressAncillaryDetail" - } - }, - "description": "Idicates the contact and address details of a location." - }, - "Contact": { - "type": "object", - "properties": { - "personName": { - "type": "string", - "description": "Identifies the contact person's name.
Note: Recommended Length is 70. There's no specific validation for the person name.", - "example": "John Taylor" + "additionalChargesDiscount": { + "type": "number", + "description": "These are additional charges or discounts.
Example: 621.45", + "format": "double", + "example": 621.45 }, - "emailAddress": { - "type": "string", - "description": "Contact person's email address. Max length is 80.", - "example": "sample@company.com" + "netRateAmount": { + "type": "number", + "description": "Returns the net rate amount.
Example: 1.45", + "format": "double", + "example": 1.45 }, - "phoneNumber": { - "type": "string", - "description": "Contact person's phone number.
Note: Recommended max Length is 15. There's no specific validation for the phone number.", - "example": "1234567890" + "netChargeAmount": { + "type": "number", + "description": "Indicates Net charge amount.
Example: 21.45", + "format": "double", + "example": 21.45 }, - "phoneExtension": { - "type": "string", - "description": "Contact person's phone extension.
Note: Recommended Length is 6. There's no specific validation for the phone extension.", - "example": "91" + "netDiscountAmount": { + "type": "number", + "description": "Returns the net discount amount.
Example: 121.45", + "format": "double", + "example": 121.45 }, - "faxNumber": { - "type": "string", - "description": "Contact person's fax number.
Note: Recommended Length is 15. There's no specific validation for the fax number.", - "example": "956123" + "packageDocuments": { + "type": "array", + "description": "These are package documents returned in the response", + "items": { + "$ref": "#/components/schemas/LabelResponseVO" + } }, - "companyName": { - "type": "string", - "description": "Contact person's company name.
Note: Recommended Length is 35. There's no specific validation for the company name.", - "example": "FedEx" + "customerReferences": { + "type": "array", + "description": "Additional customer reference data", + "items": { + "$ref": "#/components/schemas/CustomerReference" + } }, - "stateTaxId": { - "type": "string", - "description": "Specify State TaxID for the contact person.", - "example": "54321" + "codcollectionAmount": { + "type": "number", + "description": "Returns the Collect on Delivery charges.
Example: 231.45", + "format": "double", + "example": 231.45 }, - "fedralTaxId": { - "type": "string", - "description": "Specify Fedral TaxId for the contact person.", - "example": "11-N-1745" + "baseRateAmount": { + "type": "number", + "description": "Returns the base rate amount.
Example: 321.45", + "format": "double", + "example": 321.45 } }, - "description": "Contact details for the Party such as Name, Email, PhoneNumber.", - "example": { - "personName": "John Taylor", - "emailAddress": "sample@company.com", - "phoneNumber": "1234567890", - "phoneExtension": 1234, - "faxNumber": "1234567890", - "companyName": "FedEx", - "stateTaxId": "11-N-1745", - "fedralTaxId": "11-N-1745" - } + "description": "These are shipping document/label specific information." }, - "Contact_2": { + "HazardousCommodityQuantityDetail": { + "required": [ + "amount", + "quantityType" + ], "type": "object", "properties": { - "personName": { - "type": "string", - "description": "Specify person name.
Example: John Taylor", - "example": "John Taylor" - }, - "tollFreePhoneNumber": { - "type": "string", - "description": "Specify toll free phone number.
Example: XXXX7812", - "example": "6127812" - }, - "emailAddress": { - "type": "string", - "description": "Specify email address.
Example: sample@company.com", - "example": "sample@company.com" - }, - "phoneNumber": { - "type": "string", - "description": "Specify phone number.
Example: XXX567890", - "example": "1234567890" - }, - "phoneExtension": { - "type": "string", - "description": "Specify phone extension.
Example: 91", - "example": "91" - }, - "companyName": { - "type": "string", - "description": "Specify Company Name.", - "example": "FedEx" - }, - "pagerNumber": { + "quantityType": { "type": "string", - "description": "Specify pager number.
Example: XXX7812", - "example": "6127812" + "description": "Specifies which measure of quantity is to be validated.", + "example": "NET", + "enum": [ + "GROSS", + "NET" + ] }, - "faxNumber": { - "type": "string", - "description": "Specify fax number.
Example: XXXX567890", - "example": "1234567890" + "amount": { + "type": "number", + "description": "Number of units of the type below.", + "format": "double", + "example": 34.56 }, - "title": { + "units": { "type": "string", - "description": "Specify the Title of the Contact.", - "example": "Mr" + "description": "specifies the units.", + "example": "Kg" } }, - "description": "Specifies the Contact information.", - "example": { - "personName": "John Taylor", - "tollFreePhoneNumber": "6127812", - "emailAddress": "sample@company.com", - "phoneNumber": "1234567890", - "phoneExtension": "91", - "faxNumber": "1234567890", - "pagerNumber": "6127812", - "companyName": "Fedex", - "title": "title" - } + "description": "Provides Hazardous Commodity Quantity Detail" }, - "ContactAncillaryDetail": { + "HazardousCommodityContent": { "type": "object", "properties": { - "emailAddresses": { + "quantity": { + "$ref": "#/components/schemas/HazardousCommodityQuantityDetail" + }, + "innerReceptacles": { "type": "array", - "description": "Email Addresses", "items": { - "$ref": "#/components/schemas/EMailDetail" + "$ref": "#/components/schemas/HazardousCommodityInnerReceptacleDetail" } + }, + "options": { + "$ref": "#/components/schemas/HazardousCommodityOptionDetail" + }, + "description": { + "$ref": "#/components/schemas/HazardousCommodityDescription" } }, - "description": "Indicates additional contact details for the Party such as email and phone contact information." + "description": "Customer-provided specifications for handling individual commodities." }, - "EMailDetail": { + "HazardousCommodityInnerReceptacleDetail": { "type": "object", "properties": { - "emailNotificationFormatType": { + "quantity": { + "$ref": "#/components/schemas/HazardousCommodityQuantityDetail" + } + } + }, + "HazardousCommodityOptionDetail": { + "type": "object", + "properties": { + "labelTextOption": { "type": "string", - "description": "Email Notification Format Type", - "example": "SMS_TEXT_MESSAGE", + "description": "Provides the label text option", + "example": "OVERRIDE", "enum": [ - "SMS_TEXT_MESSAGE", - "TEXT", - "HTML" + "APPEND", + "OVERRIDE", + "STANDARD" ] }, - "address": { + "customerSuppliedLabelText": { "type": "string", - "description": "Address" - }, - "permissions": { - "type": "object", - "additionalProperties": { - "type": "string", - "enum": [ - "GRANT", - "DENY" - ] - }, - "description": "Email Permission Type" + "description": "'DG Data Upload Mode:- Optional.,DG Full Validation Mode:- Optional,Text used in labeling the commodity under control of the LabelTextOption field.'\n", + "example": "Customer Supplied Label Text" } }, - "example": { - "emailNotificationFormatType": "SMS_TEXT_MESSAGE", - "address": "address", - "permissions": { - "key": "GRANT" - } - } + "description": "Provides details of Hazardous Commodity Option Detail" }, - "Address": { + "HazardousCommodityDescription": { "required": [ - "countryCode", - "streetLines" + "packingGroup", + "reportableQuantity" ], "type": "object", "properties": { - "streetLines": { + "sequenceNumber": { + "type": "integer", + "description": "RequiredSpecify the sequence number.", + "format": "int32", + "example": 9812 + }, + "processingOptions": { "type": "array", - "description": "This is a combination of number, street name, etc.
Note: At least one line is required and streetlines more than 3 will be ignored. Empty lines should not be included.", - "example": "[10 FedEx Parkway, Suite 302]", + "description": "Indicates any special processing options to be applied to the description of the dangerous goods commodity", "items": { - "type": "string" + "type": "string", + "example": "INCLUDE_SPECIAL_PROVISIONS", + "enum": [ + "INCLUDE_SPECIAL_PROVISIONS" + ] } }, - "city": { - "type": "string", - "description": "This is a placeholder for City Name.
Note: This is conditional and not required in all the shipping requests. It is recommended for Express shipments for the most accurate ODA and OPA surcharges and not used for Ground/SmartPost.", - "example": "Beverly Hills" + "subsidiaryClasses": { + "type": "array", + "description": "Required. Provides list of subsidiary classes", + "example": [ + "Subsidiary Classes" + ], + "items": { + "type": "string" + } }, - "stateOrProvinceCode": { + "labelText": { "type": "string", - "description": "This is a placeholder for State or Province code.
Note: This is conditional and not required in all the shipping requests. It is recommended for Express shipments for the most accurate ODA and OPA surcharges and not used for Ground/SmartPost.", - "example": "CA" + "description": "Specifies the text for the label.\n", + "example": "labelText" }, - "postalCode": { + "technicalName": { "type": "string", - "description": "This is placeholder for postal code.
Note: The postal code is required for postal-aware countries.", - "example": "38127" + "description": "'The element specifies the technical name for the hazardous material.'\n\n", + "example": "technicalName" }, - "countryCode": { + "packingDetails": { + "$ref": "#/components/schemas/HazardousCommodityPackingDetail" + }, + "authorization": { "type": "string", - "description": "This is the Two-letter country code. Click here to see Country Codes", - "example": "US" + "description": "Authorization", + "example": "authorization" }, - "residential": { + "reportableQuantity": { "type": "boolean", - "description": "Indicate whether this address is Residential as opposed to Commercial.
Valid Values: True or False.", + "description": "Reportable Quantity", "example": true, "enum": [ true, false ] + }, + "percentage": { + "type": "number", + "description": "Percentage", + "format": "double", + "example": 12.45 + }, + "id": { + "type": "string", + "description": "ID", + "example": "UN1234" + }, + "packingGroup": { + "type": "string", + "description": "Identifies DOT packing group for a hazardous commodity", + "example": "I", + "enum": [ + "DEFAULT", + "I", + "II", + "III" + ] + }, + "properShippingName": { + "type": "string", + "description": "The proper shipping name as defined by the regulation. The name can also include qualifying words", + "example": "paint" + }, + "hazardClass": { + "type": "string", + "description": "'Specifies the hazard class for the commodity.'\n", + "example": "2.3" } }, - "description": "Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of \"address parts\" which should be handled as a unit (such as a city-state-ZIP combination within the US).", - "example": { - "streetLines": [ - "10 FedEx Parkway", - "Suite 302" - ], - "city": "Beverly Hills", - "stateOrProvinceCode": "CA", - "postalCode": "38127", - "countryCode": "US", - "residential": false - } + "description": "RequiredDetails of HazardousCommodityDescription" }, - "CustomerSpecifiedLabelDetail": { + "HazardousCommodityPackingDetail": { + "required": [ + "cargoAircraftOnly" + ], "type": "object", "properties": { - "maskedData": { - "type": "array", - "description": "Specifies the name of data elements/areas which may be suppressed from printing on labels.", - "items": { - "type": "string", - "example": "[\"PACKAGE_SEQUENCE_AND_COUNT\",\"TOTAL_WEIGHT\"]", - "enum": [ - "CUSTOMS_VALUE", - "DIMENSIONS", - "DUTIES_AND_TAXES_PAYOR_ACCOUNT_NUMBER", - "FREIGHT_PAYOR_ACCOUNT_NUMBER", - "INSURED_VALUE", - "PACKAGE_SEQUENCE_AND_COUNT", - "SECONDARY_BARCODE", - "SHIPPER_ACCOUNT_NUMBER", - "SHIPPER_INFORMATION", - "SUPPLEMENTAL_LABEL_DOC_TAB", - "TERMS_AND_CONDITIONS", - "TOTAL_WEIGHT", - "TRANSPORTATION_CHARGES_PAYOR_ACCOUNT_NUMBER" - ] - } - }, - "regulatoryLabels": { - "type": "array", - "description": "Specifies details needed to generate any label artifacts required due to regulatory requirements", - "items": { - "$ref": "#/components/schemas/RegulatoryLabelContentDetail" - } + "packingInstructions": { + "type": "string", + "description": "Coded specification for how commodity is to be packed.", + "example": "NonBulk" }, - "docTabContent": { - "$ref": "#/components/schemas/DocTabContent" + "cargoAircraftOnly": { + "type": "boolean", + "description": "Shipment is packaged/documented for movement ONLY on cargo aircraft", + "example": true, + "enum": [ + true, + false + ] } }, - "description": "Allows customer-specified control of label content" + "description": "Specifies documentation and limits for validation of an individual packing group/category. DG Data Upload Mode: Required (IATA), Optional (Other), DG Full Validation Mode: Required (IATA), Optional (Other)," }, - "DocTabContent": { + "ShippingDocumentDispositionDetail": { "type": "object", "properties": { - "docTabContentType": { + "eMailDetail": { + "$ref": "#/components/schemas/ShippingDocumentEmailDetail" + }, + "dispositionType": { "type": "string", - "description": "Doc Tab Content Type", - "example": "BARCODED", + "description": "Values in this field specify how to create and return the document.", + "example": "CONFIRMED", "enum": [ - "BARCODED", - "CUSTOM", - "MINIMUM", - "STANDARD", - "ZONE001" + "CONFIRMED", + "DEFERRED_QUEUED", + "DEFERRED_RETURNED", + "DEFERRED_STORED", + "EMAILED", + "QUEUED", + "RETURNED", + "STORED" ] }, - "zone001": { - "$ref": "#/components/schemas/DocTabContentZone" + "grouping": { + "type": "string", + "description": "Identifies the convention by which documents are to be grouped as email attachment.", + "enum": [ + "CONSOLIDATED_BY_DOCUMENT_TYPE", + "CONSOLIDATED_BY_IMAGE_TYPE", + "INDIVIDUAL" + ] }, - "barcoded": { - "$ref": "#/components/schemas/DocTabContentBarcoded" + "storageDetail": { + "$ref": "#/components/schemas/ShippingDocumentStorageDetail" + }, + "printDetail": { + "$ref": "#/components/schemas/ShippingDocumentPrintDetail" } }, - "description": "Specifies details of doc tab content, If provided, thermal documents will include specified doc tab content. If omitted, document will be produced without doc tab content." + "description": "Each occurrence of this class specifies a particular way in which a kind of shipping document is to be produced and provided." + }, + "ContactAndAddress": { + "type": "object", + "properties": { + "contact": { + "$ref": "#/components/schemas/Contact" + }, + "contactAncillaryDetail": { + "$ref": "#/components/schemas/ContactAncillaryDetail" + }, + "address": { + "$ref": "#/components/schemas/Address" + }, + "addressAncillaryDetail": { + "$ref": "#/components/schemas/AddressAncillaryDetail" + } + }, + "description": "Idicates the contact and address details of a location." }, "DocTabContentZone": { "type": "object", @@ -8527,41 +8549,6 @@ } } }, - "DocTabZoneSpecification": { - "type": "object", - "properties": { - "zoneNumber": { - "type": "integer", - "description": "is a nonNegativeInteger
Example: 1", - "format": "int32", - "example": 0 - }, - "header": { - "type": "string", - "description": "header of DocTabZoneSpecification
Example: WHT", - "example": "WHT" - }, - "dataField": { - "type": "string", - "description": "dataField of DocTabZoneSpecification
Example: REQUEST/PACKAGE/weight/Value", - "example": "REQUEST/PACKAGE/weight/Value" - }, - "literalValue": { - "type": "string", - "description": "literalValue of DocTabZoneSpecification
", - "example": "mytext" - }, - "justification": { - "type": "string", - "description": "Doc Tab Zone Justification Type", - "example": "RIGHT", - "enum": [ - "LEFT", - "RIGHT" - ] - } - } - }, "DocTabContentBarcoded": { "type": "object", "properties": { @@ -8636,72 +8623,1023 @@ }, "description": "Specifies the international distribution detail." }, - "Money": { + "ExportDetail": { "required": [ - "value" + "b13AFilingOption" ], "type": "object", "properties": { - "currency": { + "destinationControlDetail": { + "$ref": "#/components/schemas/DestinationControlDetail" + }, + "b13AFilingOption": { "type": "string", - "description": "Three-character ISO currency code (e.g. USD, CAD, EUR, JPY, etc.)", - "example": "USD" + "description": "Specify the filing option being exercised. Required for non-document shipments originating in Canada destinated for any country other than Canada, the United States, Puerto Rico, or the U.S. Virgin Islands.", + "example": "NOT_REQUIRED", + "enum": [ + "NOT_REQUIRED", + "MANUALLY_ATTACHED", + "FILED_ELECTRONICALLY", + "SUMMARY_REPORTING", + "FEDEX_TO_STAMP" + ] + }, + "exportComplianceStatement": { + "type": "string", + "description": "For shipments requiring an EEI, enter the ITN number received from AES when you filed your shipment or the FTR (Foreign Trade Regulations) exemption number.The proper format for an ITN number is AES XYYYYMMDDNNNNNN where YYYYMMDD is date and NNNNNN are numbers generated by the AES.
Note: The ITN or FTR exemption number you submit in the Ship request prints on the international shipping label.", + "example": "AESX20220407123456" + }, + "permitNumber": { + "type": "string", + "description": "This is a Permit Number. This field is applicable only to Canada export non-document shipments of any value to any destination. No special characters are allowed.", + "example": "12345" + } + }, + "description": "Conditional. Export Detail Used for US or CA exports." + }, + "DocTabContent": { + "type": "object", + "properties": { + "docTabContentType": { + "type": "string", + "description": "Doc Tab Content Type", + "example": "BARCODED", + "enum": [ + "BARCODED", + "CUSTOM", + "MINIMUM", + "STANDARD", + "ZONE001" + ] + }, + "zone001": { + "$ref": "#/components/schemas/DocTabContentZone" + }, + "barcoded": { + "$ref": "#/components/schemas/DocTabContentBarcoded" + } + }, + "description": "Specifies details of doc tab content, If provided, thermal documents will include specified doc tab content. If omitted, document will be produced without doc tab content." + }, + "Payor": { + "type": "object", + "properties": { + "responsibleParty": { + "$ref": "#/components/schemas/Party_2" + } + }, + "description": "Information about the person who is paying for the shipment. Not applicable for credit card payment. " + }, + "DistributionLocations": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Specifies the type of distribution locations.", + "example": "CUSTOMER_SPECIFIED", + "enum": [ + "CUSTOMER_SPECIFIED", + "FEDEX_EXPRESS_FREIGHT_RAMP", + "FEDEX_EXPRESS_STATION", + "FEDEX_GROUND_TERMINAL" + ] + }, + "locationNumber": { + "type": "integer", + "description": "Specifies the location number.", + "example": 0 + }, + "id": { + "type": "string", + "description": "This is a customer-specified or system-assigned identifier that uniquely identifies the specific distibution location within a collection of distribution locations. This is not the same as the FedEx locationId or locationNumber..
Example: 123", + "example": "123" + }, + "locationId": { + "type": "string", + "description": "The unique location identifier
Example: YBZA", + "example": "YBZA" + }, + "locationContactAndAddress": { + "$ref": "#/components/schemas/ContactAndAddress" + }, + "clearanceNumber": { + "type": "string", + "description": "This specifies the clearance number associated with the distribution location.
Example: 123", + "example": "123" + }, + "inclusionSpecifications": { + "type": "array", + "description": "Specifies which kinds of shipments will be processed by this distribution location.", + "items": { + "allOf": [ + { + "$ref": "#/components/schemas/CarrierCode" + }, + { + "$ref": "#/components/schemas/ServiceCategory" + } + ], + "type": "string" + } + } + }, + "description": "Specifies the distribution locations for consolidation.
Mandatory for International Ground Distribution." + }, + "CustomerSpecifiedLabelDetail": { + "type": "object", + "properties": { + "maskedData": { + "type": "array", + "description": "Specifies the name of data elements/areas which may be suppressed from printing on labels.", + "items": { + "type": "string", + "example": "[\"PACKAGE_SEQUENCE_AND_COUNT\",\"TOTAL_WEIGHT\"]", + "enum": [ + "CUSTOMS_VALUE", + "DIMENSIONS", + "DUTIES_AND_TAXES_PAYOR_ACCOUNT_NUMBER", + "FREIGHT_PAYOR_ACCOUNT_NUMBER", + "INSURED_VALUE", + "PACKAGE_SEQUENCE_AND_COUNT", + "SECONDARY_BARCODE", + "SHIPPER_ACCOUNT_NUMBER", + "SHIPPER_INFORMATION", + "SUPPLEMENTAL_LABEL_DOC_TAB", + "TERMS_AND_CONDITIONS", + "TOTAL_WEIGHT", + "TRANSPORTATION_CHARGES_PAYOR_ACCOUNT_NUMBER" + ] + } + }, + "regulatoryLabels": { + "type": "array", + "description": "Specifies details needed to generate any label artifacts required due to regulatory requirements", + "items": { + "$ref": "#/components/schemas/RegulatoryLabelContentDetail" + } + }, + "docTabContent": { + "$ref": "#/components/schemas/DocTabContent" + } + }, + "description": "Allows customer-specified control of label content" + }, + "Payment": { + "type": "object", + "properties": { + "payor": { + "$ref": "#/components/schemas/Payor" + }, + "paymentType": { + "type": "string", + "description": "Specify the payment Type.
Note: This is required for Express, Ground and SmartPost shipments.
The payment type COLLECT is applicable only for Ground shipments.", + "example": "THIRD_PARTY", + "enum": [ + "SENDER", + "RECIPIENT", + "THIRD_PARTY", + "BILL_ANONYMOUSLY", + "COLLECT", + "CASH", + "ACCOUNT", + "CONSIGNEE" + ] + } + }, + "description": "Details about who and how the shipment will be paid for. 'payor' is optional when 'paymentType' provided is SENDER." + }, + "ShipperParty": { + "required": [ + "address", + "contact" + ], + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/PartyAddress" + }, + "contact": { + "$ref": "#/components/schemas/PartyContact" + }, + "tins": { + "type": "array", + "description": "This is the tax identification number details.", + "items": { + "$ref": "#/components/schemas/TaxpayerIdentification" + } + }, + "accountNumber": { + "$ref": "#/components/schemas/PartyAccountNumber" + } + }, + "description": "The descriptive information for the customer shipping the package along with the physical location from where the shipment originates." + }, + "ShipperParty_2": { + "required": [ + "address", + "contact" + ], + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/PartyAddress_2" + }, + "contact": { + "$ref": "#/components/schemas/PartyContact" + }, + "tins": { + "type": "array", + "description": "This is the tax identification number details.", + "items": { + "$ref": "#/components/schemas/TaxpayerIdentification" + } + }, + "accountNumber": { + "$ref": "#/components/schemas/PartyAccountNumber" + } + }, + "description": "The descriptive information for the customer shipping the package along with the physical location from where the shipment originates." + }, + "PartyAddress": { + "required": [ + "city", + "countryCode", + "postalCode", + "streetLines" + ], + "type": "object", + "properties": { + "streetLines": { + "type": "array", + "description": "Combination of number, street name, etc. At least one line is required for a valid physical address. Empty lines should not be included. Max Length is 35.
Example: [1550 Union Blvd,Suite 302]", + "example": [ + "1550 Union Blvd", + "Suite 302" + ], + "items": { + "type": "string" + } + }, + "city": { + "maxLength": 35, + "type": "string", + "description": "The name of city, town of the recipient.Max length is 35.
Example: Beverly Hills", + "example": "Beverly Hills" + }, + "stateOrProvinceCode": { + "type": "string", + "description": "The US States,Canada and Puerto Rico Province codes of the recipient. The Format and presence of this field may vary depending on the country. State code is required for US, CA, PR and not required for other countries. Conditional. Max length is 2.
Example: CA ", + "example": "CA" + }, + "postalCode": { + "type": "string", + "description": "This is the postal code.
Note: This is Optional for non postal-aware countries. Maximum length is 10.
Example: 90210
click here to see Postal aware countries", + "example": "90210" + }, + "countryCode": { + "type": "string", + "description": "The two-letter code used to identify a country.
Maximum length is 2.
Example: US
click here to see Country codes", + "example": "US" + }, + "residential": { + "type": "boolean", + "description": " Indicates whether this address is residential (as opposed to commercial).
Example: false", + "example": false + } + }, + "description": "This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US).", + "example": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + } + }, + "PartyAddress_2": { + "required": [ + "city", + "countryCode", + "postalCode", + "streetLines" + ], + "type": "object", + "properties": { + "streetLines": { + "type": "array", + "description": "This is the combination of number, street name, etc. Maximum length per line is 35.
Example: 10 FedEx Parkway, Suite 302.

Note:

  • At least one line is required.
  • Streetlines more than 3 will be ignored.
  • Empty lines should not be included
  • For SmartPost Shipments, only 30 characters from the individual street lines will be printed on the labels.

", + "example": [ + "1550 Union Blvd", + "Suite 302" + ], + "items": { + "type": "string" + } + }, + "city": { + "type": "string", + "description": "The name of city, town of the shipper.Max length is 35.", + "example": "Beverly Hills" + }, + "stateOrProvinceCode": { + "type": "string", + "description": "This is a placeholder for state or province code.
Example: CA.
click here to see State or Province Code", + "example": "CA" + }, + "postalCode": { + "type": "string", + "description": "This is the postal code.
Note: This is Optional for non postal-aware countries. Maximum length is 10.
Example: 65247
click here to see Postal aware countries", + "example": "90210" + }, + "countryCode": { + "type": "string", + "description": "This is the two-letter country code.
Maximum length is 2.
Example: US
click here to see Country codes", + "example": "US" + } + }, + "description": "This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US)." + }, + "Origin": { + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/PartyAddress" + }, + "contact": { + "$ref": "#/components/schemas/PartyContact" + } + }, + "description": "The descriptive information for the customer origin." + }, + "Origin_2": { + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/PartyAddress_2" + }, + "contact": { + "$ref": "#/components/schemas/PartyContact" + } + }, + "description": "The descriptive information for the customer origin." + }, + "SoldToParty": { + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/PartyAddress_soldTo" + }, + "contact": { + "$ref": "#/components/schemas/PartyContact_soldTo" + }, + "tins": { + "type": "array", + "description": "Used for adding the tax id", + "items": { + "$ref": "#/components/schemas/TaxpayerIdentification" + } + }, + "accountNumber": { + "$ref": "#/components/schemas/PartyAccountNumber" + } + }, + "description": "Will indicate the party responsible for purchasing the goods shipped from the shipper to the recipient. The sold to party is not necessarily the recipient or the importer of record. The sold to party is relevant when the purchaser, rather than the recipient determines when certain customs regulations apply." + }, + "SoldToParty_2": { + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/PartyAddress_soldTo" + }, + "contact": { + "$ref": "#/components/schemas/PartyContact_soldTo_2" + }, + "tins": { + "type": "array", + "description": "Used for adding the tax id", + "items": { + "$ref": "#/components/schemas/TaxpayerIdentification" + } + }, + "accountNumber": { + "$ref": "#/components/schemas/PartyAccountNumber" + } + }, + "description": "Will indicate the party responsible for purchasing the goods shipped from the shipper to the recipient. The sold to party is not necessarily the recipient or the importer of record. The sold to party is relevant when the purchaser, rather than the recipient determines when certain customs regulations apply." + }, + "PartyContact_soldTo": { + "required": [ + "companyName", + "personName", + "phoneNumber" + ], + "type": "object", + "properties": { + "personName": { + "type": "string", + "description": "Identifies the contact person's name. Max Length is 70.
Example: John Taylor", + "example": "John Taylor" + }, + "emailAddress": { + "type": "string", + "description": "Shipper's email address. Max length is 80.
Example: sample@company.com", + "example": "sample@company.com" + }, + "phoneExtension": { + "type": "string", + "description": "The shipper's phone extension. Max length is 6.
Example: 91", + "example": "91" + }, + "phoneNumber": { + "type": "string", + "description": "The shipper's phone number.
Minimum length is 10 and supports maximum of 15 for certain countries using longer phone numbers.
Note: For US and CA, a phone number must have exactly 10 digits, plus an optional leading country code of '1' or '+1'.
Example: 918xxxxx890", + "example": "918xxxxx890" + }, + "companyName": { + "type": "string", + "description": "The shipper's company name. Max length is 35.
Example: FedEx", + "example": "Fedex" + } + }, + "description": "Contact details of the shipper.", + "example": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "91", + "phoneNumber": "1234567890", + "companyName": "Fedex" + } + }, + "PartyContact_soldTo_2": { + "required": [ + "companyName", + "personName", + "phoneNumber" + ], + "type": "object", + "properties": { + "personName": { + "type": "string", + "description": "Specify contact person name.
Recommended length is 70.
Note: There's no specific validation for the person name.
Example: John Taylor", + "example": "John Taylor" + }, + "emailAddress": { + "type": "string", + "description": "Specify contact email address. Maximum length is 80.
Example: sample@company.com", + "example": "sample@company.com" + }, + "phoneNumber": { + "type": "string", + "description": "Specify contact phone number.
Minimum length is 10 and supports maximum of 15 for certain countries using longer phone numbers.
Note: Recommended Maximum length is 15 and there's no specific validation will be done for the phone number.
Example: 918xxxxx890", + "example": "1234567890" + }, + "companyName": { + "type": "string", + "description": "Specify contact company name.
Recommended length is 35.
Note: There's no specific validation for the company name.", + "example": "FedEx" + } + }, + "description": "Contact details of the shipper." + }, + "ConsolidationDataSources": { + "type": "object", + "properties": { + "consolidationDataType": { + "type": "string", + "description": "Identifies the field being specified.", + "example": "TOTAL_INSURED_VALUE", + "enum": [ + "TOTAL_CUSTOMS_CODE", + "TOTAL_FREIGHT_CHARGES", + "TOTAL_HANDLING_COSTS", + "TOTAL_INSURANCE_CHARGES", + "TOTAL_INSURED_VALUE", + "TOTAL_PACKING_COSTS", + "TOTAL_TAXES_OR_MISCELLANEOUS_CHARGES" + ] + }, + "consolidationDataSourceType": { + "type": "string", + "description": "Identifies how the content of the field should be determined.", + "example": "ACCUMULATED", + "enum": [ + "ACCUMULATED", + "CLIENT" + ] + } + }, + "description": "Specifies how selected values in the consolidation are to be determined." + }, + "CustomerReferences": { + "type": "object", + "properties": { + "customerReferenceType": { + "type": "string", + "description": "This is a customer reference type. The value specified here for the element is printed on the Commercial Invoice only for tracking and label information.

Note:

  • The P_O_NUMBER value must be specified in customerReferences under requestedPackageLineItems
  • The INVOICE_NUMBER value that is printed on the FedEx-supplied invoice must be specified in customerReferences under commercialInvoice. Value defined in this section will print on the label that is attached to the package

Note: INTRACOUNTRY_REGULATORY_REFERENCE is applicable only in Intra-Brazil.
Click here for more information on Cutsomer References ENUMs", + "example": "CUSTOMER_REFERENCE", + "enum": [ + "BILL_OF_LANDING", + "CUSTOMER_REFERENCE", + "DEPARTMENT_NUMBER", + "ELECTRONIC_PRODUCT_CODE", + "INTRACOUNTRY_REGULATORY_REFERENCE", + "INVOICE_NUMBER", + "P_O_NUMBER", + "PACKING_SLIP_NUMBER", + "RMA_ASSOCIATION", + "SHIPMENT_INTEGRITY", + "STORE_NUMBER" + ] + }, + "value": { + "type": "string", + "description": "This is a customer reference type value.
Example: 3686
Note: Maximum length for all customer references is 40 characters.", + "example": "USD" + } + }, + "description": "These are additional customer reference data for commercial invoice." + }, + "LabelSpecification": { + "required": [ + "printedLabelOrigin" + ], + "type": "object", + "properties": { + "labelFormatType": { + "type": "string", + "description": "Specify the label Format Type.
click here to see label format types", + "example": "COMMON2D", + "enum": [ + "COMMON2D", + "ERROR", + "LABEL_DATA_ONLY", + "MAILROOM", + "NO_LABEL", + "OPERATIONAL_LABEL", + "PRE_COMMON2D" + ] + }, + "labelStockType": { + "type": "string", + "description": "Indicate the label stock type used.
click here to see label format types", + "example": "PAPER_7X475", + "enum": [ + "PAPER_4X6", + "PAPER_4X675", + "PAPER_4X8", + "PAPER_4X9", + "PAPER_7X475", + "PAPER_85X11_BOTTOM_HALF_LABEL", + "PAPER_85X11_TOP_HALF_LABEL", + "PAPER_LETTER", + "STOCK_4X675_LEADING_DOC_TAB", + "STOCK_4X8", + "STOCK_4X9_LEADING_DOC_TAB", + "STOCK_4X6", + "STOCK_4X675_TRAILING_DOC_TAB", + "STOCK_4X9_TRAILING_DOC_TAB", + "STOCK_4X675", + "STOCK_4X9", + "STOCK_4X8.5_TRAILING_DOC_TAB", + "STOCK_4X10.5_TRAILING_DOC_TAB" + ] + }, + "imageType": { + "type": "string", + "description": "Specify the image format used for a shipping document.
click here to see label format types", + "example": "PDF", + "enum": [ + "ZPLII", + "EPL2", + "PDF", + "PNG" + ] + }, + "processingOptionsRequested": { + "$ref": "#/components/schemas/LabelSpecification_processingOptionsRequested" + }, + "dispositions": { + "type": "array", + "description": "Specifies how to create, organize, and return the document.", + "items": { + "$ref": "#/components/schemas/ShippingDocumentDispositionDetail" + } + }, + "labelPrintingOrientation": { + "type": "string", + "description": "This is applicable only to documents produced on thermal printers with roll stock.", + "example": "TOP_EDGE_OF_TEXT_FIRST", + "default": "TOP_EDGE_OF_TEXT_FIRST", + "enum": [ + "BOTTOM_EDGE_OF_TEXT_FIRST", + "TOP_EDGE_OF_TEXT_FIRST" + ] + }, + "labelRotation": { + "type": "string", + "description": "This is applicable only to documents produced on thermal printers with roll stock.", + "example": "UPSIDE_DOWN", + "enum": [ + "LEFT", + "RIGHT", + "UPSIDE_DOWN", + "NONE" + ] + }, + "labelOrder": { + "type": "string", + "description": "This is the order of the Shipping labels to be generated.", + "example": "SHIPPING_LABEL_FIRST", + "enum": [ + "SHIPPING_LABEL_FIRST", + "SHIPPING_LABEL_LAST" + ] + }, + "printedLabelOrigin": { + "$ref": "#/components/schemas/ContactAndAddress" + }, + "customerSpecifiedDetail": { + "$ref": "#/components/schemas/CustomerSpecifiedLabelDetail" + }, + "resolution": { + "type": "integer", + "description": "Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203.", + "example": 300 + } + }, + "description": "These are label specification details includes the image type, printer format, and label stock for label. Can also specify specific details such as doc-tab content, regulatory labels, and masking data on the label.
Mandatory as it is needed during confirming consolidation. If it is not passed while creating consolidation it will fail during confirming consolidation." + }, + "LabelSpecification_2": { + "required": [ + "printedLabelOrigin" + ], + "type": "object", + "properties": { + "labelFormatType": { + "type": "string", + "description": "Specify the label Format Type.
click here to see label format types", + "example": "COMMON2D", + "enum": [ + "COMMON2D", + "ERROR", + "LABEL_DATA_ONLY", + "MAILROOM", + "NO_LABEL", + "OPERATIONAL_LABEL", + "PRE_COMMON2D" + ] + }, + "labelStockType": { + "type": "string", + "description": "Indicate the label stock type used.
click here to see label format types", + "example": "PAPER_7X475", + "enum": [ + "PAPER_4X6", + "PAPER_4X675", + "PAPER_4X8", + "PAPER_4X9", + "PAPER_7X475", + "PAPER_85X11_BOTTOM_HALF_LABEL", + "PAPER_85X11_TOP_HALF_LABEL", + "PAPER_LETTER", + "STOCK_4X675_LEADING_DOC_TAB", + "STOCK_4X8", + "STOCK_4X9_LEADING_DOC_TAB", + "STOCK_4X6", + "STOCK_4X675_TRAILING_DOC_TAB", + "STOCK_4X9_TRAILING_DOC_TAB", + "STOCK_4X675", + "STOCK_4X9", + "STOCK_4X8.5_TRAILING_DOC_TAB", + "STOCK_4X10.5_TRAILING_DOC_TAB" + ] + }, + "imageType": { + "type": "string", + "description": "Specify the image format used for a shipping document.
click here to see label format types", + "example": "PDF", + "enum": [ + "ZPLII", + "EPL2", + "PDF", + "PNG", + "DIB", + "DOC", + "DPL", + "GIF", + "RTF", + "TEXT" + ] + }, + "processingOptionsRequested": { + "$ref": "#/components/schemas/LabelSpecification_processingOptionsRequested" + }, + "dispositions": { + "type": "array", + "description": "Specifies how to create, organize, and return the document", + "items": { + "$ref": "#/components/schemas/ShippingDocumentDispositionDetail" + } + }, + "labelPrintingOrientation": { + "type": "string", + "description": "This is applicable only to documents produced on thermal printers with roll stock.", + "example": "TOP_EDGE_OF_TEXT_FIRST", + "default": "TOP_EDGE_OF_TEXT_FIRST", + "enum": [ + "BOTTOM_EDGE_OF_TEXT_FIRST", + "TOP_EDGE_OF_TEXT_FIRST" + ] + }, + "labelRotation": { + "type": "string", + "description": "This is applicable only to documents produced on thermal printers with roll stock.", + "example": "UPSIDE_DOWN", + "enum": [ + "LEFT", + "RIGHT", + "UPSIDE_DOWN", + "NONE" + ] + }, + "labelOrder": { + "type": "string", + "description": "This is the order of the Shipping label/documents to be generated.", + "example": "SHIPPING_LABEL_FIRST", + "enum": [ + "SHIPPING_LABEL_FIRST", + "SHIPPING_LABEL_LAST" + ] + }, + "printedLabelOrigin": { + "$ref": "#/components/schemas/ContactAndAddress" + }, + "customerSpecifiedDetail": { + "$ref": "#/components/schemas/CustomerSpecifiedLabelDetail" + } + }, + "description": "These are label specification details includes the image type, printer format, and label stock for label. Can also specify specific details such as doc-tab content, regulatory labels, and masking data on the label.
Mandatory as it is needed during confirming consolidation. If it is not passed while creating consolidation it will fail during confirming consolidation." + }, + "Contact": { + "type": "object", + "properties": { + "personName": { + "type": "string", + "description": "Identifies the contact person's name.
Note: Recommended Length is 70. There's no specific validation for the person name.", + "example": "John Taylor" + }, + "emailAddress": { + "type": "string", + "description": "Contact person's email address. Max length is 80.", + "example": "sample@company.com" + }, + "phoneNumber": { + "type": "string", + "description": "Contact person's phone number.
Note: Recommended max Length is 15. There's no specific validation for the phone number.", + "example": "1234567890" + }, + "phoneExtension": { + "type": "string", + "description": "Contact person's phone extension.
Note: Recommended Length is 6. There's no specific validation for the phone extension.", + "example": "91" + }, + "faxNumber": { + "type": "string", + "description": "Contact person's fax number.
Note: Recommended Length is 15. There's no specific validation for the fax number.", + "example": "956123" + }, + "companyName": { + "type": "string", + "description": "Contact person's company name.
Note: Recommended Length is 35. There's no specific validation for the company name.", + "example": "FedEx" + }, + "stateTaxId": { + "type": "string", + "description": "Specify State TaxID for the contact person.", + "example": "54321" + }, + "fedralTaxId": { + "type": "string", + "description": "Specify Fedral TaxId for the contact person.", + "example": "11-N-1745" + } + }, + "description": "Contact details for the Party such as Name, Email, PhoneNumber.", + "example": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneNumber": "1234567890", + "phoneExtension": 1234, + "faxNumber": "1234567890", + "companyName": "FedEx", + "stateTaxId": "11-N-1745", + "fedralTaxId": "11-N-1745" + } + }, + "Contact_2": { + "type": "object", + "properties": { + "personName": { + "type": "string", + "description": "Specify person name.
Example: John Taylor", + "example": "John Taylor" + }, + "tollFreePhoneNumber": { + "type": "string", + "description": "Specify toll free phone number.
Example: XXXX7812", + "example": "6127812" + }, + "emailAddress": { + "type": "string", + "description": "Specify email address.
Example: sample@company.com", + "example": "sample@company.com" + }, + "phoneNumber": { + "type": "string", + "description": "Specify phone number.
Example: XXX567890", + "example": "1234567890" + }, + "phoneExtension": { + "type": "string", + "description": "Specify phone extension.
Example: 91", + "example": "91" + }, + "companyName": { + "type": "string", + "description": "Specify Company Name.", + "example": "FedEx" + }, + "pagerNumber": { + "type": "string", + "description": "Specify pager number.
Example: XXX7812", + "example": "6127812" + }, + "faxNumber": { + "type": "string", + "description": "Specify fax number.
Example: XXXX567890", + "example": "1234567890" + }, + "title": { + "type": "string", + "description": "Specify the Title of the Contact.", + "example": "Mr" + } + }, + "description": "Specifies the Contact information.", + "example": { + "personName": "John Taylor", + "tollFreePhoneNumber": "6127812", + "emailAddress": "sample@company.com", + "phoneNumber": "1234567890", + "phoneExtension": "91", + "faxNumber": "1234567890", + "pagerNumber": "6127812", + "companyName": "Fedex", + "title": "title" + } + }, + "Money": { + "required": [ + "value" + ], + "type": "object", + "properties": { + "currency": { + "type": "string", + "description": "Three-character ISO currency code (e.g. USD, CAD, EUR, JPY, etc.)", + "example": "USD" + }, + "value": { + "type": "string", + "description": "Specify the value.", + "example": "CUSTOMS_VALUE", + "enum": [ + "CUSTOMS_VALUE", + "INSURED_VALUE" + ] + } + }, + "description": "This is commodity value used for Customs declaration." + }, + "Money_2": { + "required": [ + "currency" + ], + "type": "object", + "properties": { + "amount": { + "type": "number", + "description": "This is commodity value in amount used for Customs declaration.
Max limit: 7 digits before decimal.", + "format": "double", + "example": 12.45 + }, + "currency": { + "type": "string", + "description": "This is the currency of the commodity value used for Customs declaration.Click here to see Currency Codes", + "example": "USD" + } + }, + "description": "This is commodity value used for Customs declaration." + }, + "CustomsClearanceDetail": { + "type": "object", + "properties": { + "customsOption": { + "$ref": "#/components/schemas/CustomsOptionDetail" + }, + "importerOfRecord": { + "description": "The descriptive data for the importer of Record for the shipment and their physical address, contact and account number information.", + "$ref": "#/components/schemas/Party" + }, + "recipientCustomsId": { + "$ref": "#/components/schemas/RecipientCustomsId" + }, + "dutiesPayment": { + "$ref": "#/components/schemas/Payment" + }, + "documentContent": { + "type": "string", + "description": "Specifies document content.", + "example": "DOCUMENTS_ONLY", + "enum": [ + "DOCUMENTS_ONLY", + "NON_DOCUMENTS", + "DERIVED" + ] + }, + "totalCustomsValue": { + "$ref": "#/components/schemas/Money_2" + }, + "regulatoryControls": { + "type": "array", + "description": "RegulatoryControls", + "example": "NOT_IN_FREE_CIRCULATION", + "items": { + "type": "string", + "enum": [ + "FOOD_OR_PERISHABLE", + "USMCA", + "NOT_APPLICABLE_FOR_LOW_VALUE_CUSTOMS_EXCEPTIONS", + "NOT_IN_FREE_CIRCULATION" + ] + } + }, + "insuranceCharges": { + "description": "Amount paid to a third party for the purpose of insuring this shipment against damage or loss. Used to calculate estimated duties and taxes", + "$ref": "#/components/schemas/Money_2" + }, + "declarationStatementDetail": { + "$ref": "#/components/schemas/ConsolidationCustomsDeclarationStatementDetail" + }, + "commercialInvoice": { + "$ref": "#/components/schemas/CustomsClearanceDetail_commercialInvoice" + }, + "exportDetail": { + "$ref": "#/components/schemas/ExportDetail" + }, + "commodities": { + "type": "array", + "description": "Indicates the details about the dutiable packages. Maximum upto 999 commodities per shipment.", + "items": { + "$ref": "#/components/schemas/Commodity" + } }, - "value": { + "brokers": { + "type": "array", + "description": "Specify broker information. Use this option only if you are using Broker Select Option for your shipment. A country code must be specified in addition to one of the following address items: postal code, city, or location id.", + "items": { + "$ref": "#/components/schemas/BrokerDetail" + } + }, + "clearanceBrokerage": { "type": "string", - "description": "Specify the value.", - "example": "CUSTOMS_VALUE", + "description": "Specifies the type of brokerage to be applied to a shipment.", + "example": "BROKER_SELECT", "enum": [ - "CUSTOMS_VALUE", - "INSURED_VALUE" + "BROKER_INCLUSIVE", + "BROKER_INCLUSIVE_NON_RESIDENT_IMPORTER", + "BROKER_SELECT", + "BROKER_SELECT_NON_RESIDENT_IMPORTER", + "BROKER_UNASSIGNED" ] - } - }, - "description": "This is commodity value used for Customs declaration." - }, - "Money_2": { - "required": [ - "currency" - ], - "type": "object", - "properties": { - "amount": { - "type": "number", - "description": "This is commodity value in amount used for Customs declaration.
Max limit: 7 digits before decimal.", - "format": "double", - "example": 12.45 - }, - "currency": { - "type": "string", - "description": "This is the currency of the commodity value used for Customs declaration.Click here to see Currency Codes", - "example": "USD" - } - }, - "description": "This is commodity value used for Customs declaration." - }, - "TransborderDistributionDetail": { - "type": "object", - "properties": { - "specialServicesRequested": { - "$ref": "#/components/schemas/TransborderDistributionDetail_specialServicesRequested" }, - "routing": { + "freightOnValue": { "type": "string", - "description": "Specifies the transborder distribution routing.", - "example": "CUSTOMER_SPECIFIED", + "description": "Specify the risk owner for the Freight shipment.This element is only mandatory or valid for Intra India shipments.", + "example": "OWN_RISK", "enum": [ - "BY_METER", - "BY_ORIGIN", - "CUSTOMER_SPECIFIED" + "CARRIER_RISK", + "OWN_RISK" ] - }, - "summaryDetail": { - "$ref": "#/components/schemas/SummaryDetail" } }, - "description": "Specifies attributes of a shipment whithin a transborder distribution." + "description": "Required for International and intra-country Shipments. Information about this package that only applies to an international (export) shipment or return." }, - "CustomsClearanceDetail": { + "CustomsClearanceDetail_2": { "type": "object", "properties": { "customsOption": { @@ -8768,7 +9706,7 @@ "type": "array", "description": "Conditional.
Specify Broker information only if you are using Broker Select Option for your shipment.To be considered a valid, a country code must be specified in addition to one of the following address items: postal code, city, or location id.", "items": { - "$ref": "#/components/schemas/BrokerDetail" + "$ref": "#/components/schemas/BrokerDetail_2" } }, "clearanceBrokerage": { @@ -8795,34 +9733,6 @@ }, "description": "Required for International and intra-country Shipments. Information about this package that only applies to an international (export) shipment or return." }, - "CustomsOptionDetail": { - "type": "object", - "properties": { - "description": { - "type": "string", - "description": "Specify additional description about customs options. This is a required field when the Type is OTHER.", - "example": "Description" - }, - "type": { - "type": "string", - "description": "Specify the reason for a global return, as recognized by Customs. ", - "example": "COURTESY_RETURN_LABEL", - "enum": [ - "COURTESY_RETURN_LABEL", - "EXHIBITION_TRADE_SHOW", - "FAULTY_ITEM", - "FOLLOWING_REPAIR", - "FOR_REPAIR", - "ITEM_FOR_LOAN", - "OTHER", - "REJECTED", - "REPLACEMENT", - "TRIAL" - ] - } - }, - "description": "Customs Option Detail, type must be indicated for each occurrence" - }, "Party": { "type": "object", "properties": { @@ -8952,178 +9862,90 @@ ] } }, - "Payment": { + "BrokerDetail": { "type": "object", "properties": { - "payor": { - "$ref": "#/components/schemas/Payor" + "broker": { + "description": "These are broker details for the shipment with physical address, contact and account number information.", + "$ref": "#/components/schemas/Party" }, - "paymentType": { + "type": { "type": "string", - "description": "Specify the payment Type.
Note: This is required for Express, Ground and SmartPost shipments.
The payment type COLLECT is applicable only for Ground shipments.", - "example": "THIRD_PARTY", - "enum": [ - "SENDER", - "RECIPIENT", - "THIRD_PARTY", - "BILL_ANONYMOUSLY", - "COLLECT", - "CASH", - "ACCOUNT", - "CONSIGNEE" - ] - } - }, - "description": "Details about who and how the shipment will be paid for. 'payor' is optional when 'paymentType' provided is SENDER." - }, - "Payor": { - "type": "object", - "properties": { - "responsibleParty": { - "$ref": "#/components/schemas/Party_2" + "description": "Identifies the type of Broker." } }, - "description": "Information about the person who is paying for the shipment. Not applicable for credit card payment. " + "description": "Broker details for the shipment" }, - "ExportDetail": { - "required": [ - "b13AFilingOption" - ], + "BrokerDetail_2": { "type": "object", "properties": { - "destinationControlDetail": { - "$ref": "#/components/schemas/DestinationControlDetail" - }, - "b13AFilingOption": { - "type": "string", - "description": "Specify the filing option being exercised. Required for non-document shipments originating in Canada destinated for any country other than Canada, the United States, Puerto Rico, or the U.S. Virgin Islands.", - "example": "NOT_REQUIRED", - "enum": [ - "NOT_REQUIRED", - "MANUALLY_ATTACHED", - "FILED_ELECTRONICALLY", - "SUMMARY_REPORTING", - "FEDEX_TO_STAMP" - ] - }, - "exportComplianceStatement": { - "type": "string", - "description": "For shipments requiring an EEI, enter the ITN number received from AES when you filed your shipment or the FTR (Foreign Trade Regulations) exemption number.The proper format for an ITN number is AES XYYYYMMDDNNNNNN where YYYYMMDD is date and NNNNNN are numbers generated by the AES.
Note: The ITN or FTR exemption number you submit in the Ship request prints on the international shipping label.", - "example": "AESX20220407123456" + "broker": { + "description": "'The descriptive data for the broker for the shipment and their physical address, contact and account number information.'", + "$ref": "#/components/schemas/Party_3" }, - "permitNumber": { + "type": { "type": "string", - "description": "This is a Permit Number. This field is applicable only to Canada export non-document shipments of any value to any destination. No special characters are allowed.", - "example": "12345" + "description": "Identifies the type of Broker." } }, - "description": "Conditional. Export Detail Used for US or CA exports." + "description": "Broker details for the shipment" }, - "DestinationControlDetail": { - "required": [ - "statementTypes" - ], + "ConsolidationDocumentSpec": { "type": "object", "properties": { - "endUser": { - "type": "string", - "description": "Specify End User name. Its is required if StatementTypes is entered as DEPARTMENT_OF_STATE.", - "example": "John Wick" - }, - "statementTypes": { - "type": "string", - "description": "Specify appropriate destination control statement type(s), Also make sure to specify destination country and end user.", - "example": "DEPARTMENT_OF_COMMERCE", - "enum": [ - "DEPARTMENT_OF_COMMERCE", - "DEPARTMENT_OF_STATE", - "DEPARTMENT_OF_COMMERCE_AND_DEPARTMENT_OF_STATE" - ] - }, - "destinationCountries": { + "consolidationDocumentTypes": { "type": "array", - "description": "Specify DCS shipment destination country. You may enter up to four country codes in this element. Up to 11 alphanumeric characters are allowed.", + "description": "Specifies consolidation document types.
Example:
  • CONSOLIDATED_COMMERCIAL_INVOICE
  • CUSTOMS_PACKING_LIST
  • CRN_REPORT
  • COMMODITIES_BY_TRACKING_NUMBER_REPORT
  • CONDENSED_CRN_REPORT
  • CONSOLIDATED_CUSTOMS_LINEHAUL_REPORT
  • CONSOLIDATED_PARTY_REPORT
  • CONSOLIDATED_SOLD_TO_SUMMARY_REPORT
  • CUSTOM_CONSOLIDATION_DOCUMENT
", "example": [ - "USA", - "India" + "CONSOLIDATED_COMMERCIAL_INVOICE", + "CUSTOMS_PACKING_LIST", + "CRN_REPORT", + "COMMODITIES_BY_TRACKING_NUMBER_REPORT", + "CONDENSED_CRN_REPORT", + "CONSOLIDATED_CUSTOMS_LINEHAUL_REPORT", + "CONSOLIDATED_PARTY_REPORT", + "CONSOLIDATED_SOLD_TO_SUMMARY_REPORT", + "CUSTOM_CONSOLIDATION_DOCUMENT" ], "items": { "type": "string" } - } - }, - "description": "VERY IMPORTANT: Specify appropriate destinationcontrol statement type(s),Valid values: DEPARTMENT_OF_COMMERCE, DEPARTMENT_OF_STATE
Be sure to also specify destination country and enduser." - }, - "Commodity": { - "required": [ - "description", - "numberOfPieces" - ], - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Specify the commodity name", - "example": "non-threaded rivets" - }, - "numberOfPieces": { - "type": "integer", - "description": "Indicates the number of pieces associated with the commodity. Number of pieces cannot be a negative value or exceed 9,999.", - "format": "int32", - "example": 12 - }, - "description": { - "type": "string", - "description": "This is the commodity description. Maximum allowed 450 characters.", - "example": "AC parts" - }, - "countryOfManufacture": { - "type": "string", - "description": "This is commodity country of manufacture. This is required for International shipments. Maximum allowed length is 4.", - "example": "US" }, - "weight": { - "$ref": "#/components/schemas/Weight" + "consolidatedCommercialInvoiceDetail": { + "$ref": "#/components/schemas/ConsolidationDocumentSpec_consolidatedCommercialInvoiceDetail" }, - "quantity": { - "type": "integer", - "description": "This is the units quantity (using quantityUnits as the unit of measure) per commodity. This is used to estimate duties and taxes.", - "format": "int32", - "example": 125 + "customsPackingListDetail": { + "$ref": "#/components/schemas/ConsolidationDocumentSpec_customsPackingListDetail" }, - "quantityUnits": { - "type": "string", - "description": "This is the unit of measure for the units quantity. This is used to estimate duties and taxes.", - "example": "EA" + "crnReportDetail": { + "$ref": "#/components/schemas/ConsolidationDocumentSpec_crnReportDetail" }, - "unitPrice": { - "$ref": "#/components/schemas/Money_2" + "condensedCrnReportDetail": { + "$ref": "#/components/schemas/ConsolidationDocumentSpec_condensedCrnReportDetail" }, - "customsValue": { - "$ref": "#/components/schemas/Money_2" + "consolidatedCustomsLinehaulReportDetail": { + "$ref": "#/components/schemas/ConsolidationDocumentSpec_consolidatedCustomsLinehaulReportDetail" }, - "commodityId": { - "type": "string", - "description": "Value used to identify a commodity description; must be unique within the containing shipment.", - "example": "commodity Id" - } - } - }, - "BrokerDetail": { - "type": "object", - "properties": { - "broker": { - "description": "'The descriptive data for the broker for the shipment and their physical address, contact and account number information.'", - "$ref": "#/components/schemas/Party_3" + "consolidatedPartyReportDetail": { + "$ref": "#/components/schemas/ConsolidationDocumentSpec_consolidatedPartyReportDetail" }, - "type": { - "type": "string", - "description": "Identifies the type of Broker." + "consolidatedSoldToSummaryReportDetail": { + "$ref": "#/components/schemas/ConsolidationDocumentSpec_consolidatedSoldToSummaryReportDetail" + }, + "commoditiesByTrackingNumberDetail": { + "$ref": "#/components/schemas/ConsolidationDocumentSpec_consolidatedSoldToSummaryReportDetail" + }, + "customDocumentDetails": { + "type": "array", + "description": "Specifies the child reference number report detail for consolidated SoldTo summary report detail.", + "items": { + "$ref": "#/components/schemas/Formats" + } } }, - "description": "Broker details for the shipment" + "description": "Details of consolidation document specification" }, - "ConsolidationDocumentSpec": { + "ConsolidationDocumentSpec_2": { "type": "object", "properties": { "consolidationDocumentTypes": { @@ -9178,104 +10000,6 @@ }, "description": "Details of consolidation document specification" }, - "Formats": { - "type": "object", - "properties": { - "docType": { - "type": "string", - "description": "Specify the image format used for a shipping document.
click here to see label format types", - "example": "PDF", - "enum": [ - "ZPLII", - "EPL2", - "PDF", - "PNG", - "DIB", - "DOC", - "DPL", - "GIF", - "RTF", - "TEXT" - ] - }, - "stockType": { - "type": "string", - "description": "Specify the label stock type.
click here to see label format types", - "example": "PAPER_LETTER", - "enum": [ - "OP_900_LG", - "OP_900_LG_B", - "OP_900_LL", - "OP_900_LL_B", - "OP_950_PAPER_4_PER_PAGE_PORTRAIT", - "PAPER_4X6", - "PAPER_LETTER", - "STOCK_4X6", - "STOCK_4X675_LEADING_DOC_TAB", - "STOCK_4X675_TRAILING_DOC_TAB", - "STOCK_4X8", - "STOCK_4X9_LEADING_DOC_TAB", - "STOCK_4X9_TRAILING_DOC_TAB" - ] - } - }, - "description": "Specifies the formats." - }, - "DistributionLocations": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "Specifies the type of distribution locations.", - "example": "CUSTOMER_SPECIFIED", - "enum": [ - "CUSTOMER_SPECIFIED", - "FEDEX_EXPRESS_FREIGHT_RAMP", - "FEDEX_EXPRESS_STATION", - "FEDEX_GROUND_TERMINAL" - ] - }, - "locationNumber": { - "type": "integer", - "description": "Specifies the location number.", - "example": 0 - }, - "id": { - "type": "string", - "description": "This is a customer-specified or system-assigned identifier that uniquely identifies the specific distibution location within a collection of distribution locations. This is not the same as the FedEx locationId or locationNumber..
Example: 123", - "example": "123" - }, - "locationId": { - "type": "string", - "description": "The unique location identifier
Example: YBZA", - "example": "YBZA" - }, - "locationContactAndAddress": { - "$ref": "#/components/schemas/ContactAndAddress" - }, - "clearanceNumber": { - "type": "string", - "description": "This specifies the clearance number associated with the distribution location.
Example: 123", - "example": "123" - }, - "inclusionSpecifications": { - "type": "array", - "description": "Specifies which kinds of shipments will be processed by this distribution location.", - "items": { - "allOf": [ - { - "$ref": "#/components/schemas/CarrierCode" - }, - { - "$ref": "#/components/schemas/ServiceCategory" - } - ], - "type": "string" - } - } - }, - "description": "Specifies the distribution locations for consolidation.
Mandatory for International Ground Distribution." - }, "ErrorResponseVO": { "type": "object", "properties": { @@ -9289,22 +10013,6 @@ "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
Example: AnyCo_order123456789", "example": "AnyCo_order123456789" }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CXSError_2" - } - } - } - }, - "ErrorResponseVO_2": { - "type": "object", - "properties": { - "transactionId": { - "type": "string", - "description": "The transaction ID is a special set of numbers that defines each transaction.
Example: 624deea6-b709-470c-8c39-4b5511281492", - "example": "624deea6-b709-470c-8c39-4b5511281492" - }, "errors": { "type": "array", "items": { @@ -9313,330 +10021,194 @@ } } }, - "CXSError": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Indicates the error code.
Example: ACCOUNT.VALIDATION.ERROR,LOGIN.REAUTHENTICATE.ERROR,UNAUTHORIZED.USAGE,NOT.FOUND.ERROR,INTERNAL.SERVER.ERROR" - }, - "parameterList": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Parameter" - } - }, - "message": { - "type": "string", - "description": "Indicates the description of API error alert message.
Example: Requested user is not authorized to perform the operation." - } - }, - "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" - }, - "CXSError_2": { - "type": "object", - "properties": { - "transactionId": { - "type": "string", - "description": "It is the unique identifier for the transaction.", - "format": "uuid", - "example": "0e671149-016f-1000-941f-ef4dbabadd2e" - }, - "customerTransactionId": { - "type": "string", - "description": "It is the same customerTransactionId sent as part of the request's header,by the clients calling this endpoint.", - "format": "uuid", - "example": "0e671149-016f-1000-941f-ef4dbabadd2e" - }, - "errors": { - "$ref": "#/components/schemas/CXSError500_errors" - } - }, - "description": "Indicates exception when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" - }, - "ImporterOfRecord": { - "required": [ - "address", - "contact" - ], - "type": "object", - "properties": { - "address": { - "$ref": "#/components/schemas/PartyAddress_2" - }, - "contact": { - "$ref": "#/components/schemas/PartyContact" - }, - "accountNumber": { - "$ref": "#/components/schemas/PartyAccountNumber" - } - }, - "description": "The descriptive information for the person who is responsible for the shipment." - }, - "PieceResponses": { - "type": "object", - "properties": { - "masterTrackingNumber": { - "type": "string", - "description": "This is a master tracking number for the shipment (must be unique for stand-alone open shipments, or unique within consolidation if consolidation key is provided).
Example: 794953535000", - "example": "794953535000" - }, - "trackingNumber": { - "type": "string", - "description": "This is a tracking number associted with this package.
Example: 49XXX0000XXX20032835", - "example": "794953535000" - }, - "additionalChargesDiscount": { - "type": "number", - "description": "These are additional charges or discounts.
Example: 621.45", - "format": "double", - "example": 621.45 - }, - "netRateAmount": { - "type": "number", - "description": "Returns the net rate amount.
Example: 1.45", - "format": "double", - "example": 1.45 - }, - "netChargeAmount": { - "type": "number", - "description": "Indicates Net charge amount.
Example: 21.45", - "format": "double", - "example": 21.45 - }, - "netDiscountAmount": { - "type": "number", - "description": "Returns the net discount amount.
Example: 121.45", - "format": "double", - "example": 121.45 - }, - "packageDocuments": { - "type": "array", - "description": "These are package documents returned in the response", - "items": { - "$ref": "#/components/schemas/LabelResponseVO" - } - }, - "customerReferences": { - "type": "array", - "description": "Additional customer reference data", - "items": { - "$ref": "#/components/schemas/CustomerReference" - } - }, - "codcollectionAmount": { - "type": "number", - "description": "Returns the Collect on Delivery charges.
Example: 231.45", - "format": "double", - "example": 231.45 - }, - "baseRateAmount": { - "type": "number", - "description": "Returns the base rate amount.
Example: 321.45", - "format": "double", - "example": 321.45 - } - }, - "description": "These are shipping document/label specific information." - }, - "HazardousCommodityQuantityDetail": { - "required": [ - "amount", - "quantityType" - ], + "ErrorResponseVO_2": { "type": "object", "properties": { - "quantityType": { + "transactionId": { "type": "string", - "description": "Specifies which measure of quantity is to be validated.", - "example": "NET", - "enum": [ - "GROSS", - "NET" - ] - }, - "amount": { - "type": "number", - "description": "Number of units of the type below.", - "format": "double", - "example": 34.56 + "description": "The transaction ID is a special set of numbers that defines each transaction.
Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" }, - "units": { - "type": "string", - "description": "specifies the units.", - "example": "Kg" + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CXSError_2" + } } - }, - "description": "Provides Hazardous Commodity Quantity Detail" + } }, - "HazardousCommodityContent": { + "ErrorResponseVO_3": { "type": "object", "properties": { - "quantity": { - "$ref": "#/components/schemas/HazardousCommodityQuantityDetail" + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" }, - "innerReceptacles": { + "errors": { "type": "array", "items": { - "$ref": "#/components/schemas/HazardousCommodityInnerReceptacleDetail" + "$ref": "#/components/schemas/CXSError_3" } - }, - "options": { - "$ref": "#/components/schemas/HazardousCommodityOptionDetail" - }, - "description": { - "$ref": "#/components/schemas/HazardousCommodityDescription" } - }, - "description": "Customer-provided specifications for handling individual commodities." + } }, - "HazardousCommodityInnerReceptacleDetail": { + "ErrorResponseVO_4": { "type": "object", "properties": { - "quantity": { - "$ref": "#/components/schemas/HazardousCommodityQuantityDetail" + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CXSError_4" + } } } }, - "HazardousCommodityOptionDetail": { + "ErrorResponseVO_5": { "type": "object", "properties": { - "labelTextOption": { + "transactionId": { "type": "string", - "description": "Provides the label text option", - "example": "OVERRIDE", - "enum": [ - "APPEND", - "OVERRIDE", - "STANDARD" - ] + "description": "The transaction ID is a special set of numbers that defines each transaction.
Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" }, - "customerSuppliedLabelText": { + "customerTransactionId": { "type": "string", - "description": "'DG Data Upload Mode:- Optional.,DG Full Validation Mode:- Optional,Text used in labeling the commodity under control of the LabelTextOption field.'\n", - "example": "Customer Supplied Label Text" + "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
Example: AnyCo_order123456789", + "example": "AnyCo_order123456789" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CXSError_5" + } } - }, - "description": "Provides details of Hazardous Commodity Option Detail" + } }, - "HazardousCommodityDescription": { - "required": [ - "packingGroup", - "reportableQuantity" - ], + "ErrorResponseVO_6": { "type": "object", "properties": { - "sequenceNumber": { - "type": "integer", - "description": "RequiredSpecify the sequence number.", - "format": "int32", - "example": 9812 + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" }, - "processingOptions": { + "errors": { "type": "array", - "description": "Indicates any special processing options to be applied to the description of the dangerous goods commodity", "items": { - "type": "string", - "example": "INCLUDE_SPECIAL_PROVISIONS", - "enum": [ - "INCLUDE_SPECIAL_PROVISIONS" - ] + "$ref": "#/components/schemas/CXSError" } + } + } + }, + "CXSError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.
Example: ACCOUNT.VALIDATION.ERROR,LOGIN.REAUTHENTICATE.ERROR,UNAUTHORIZED.USAGE,NOT.FOUND.ERROR,INTERNAL.SERVER.ERROR" }, - "subsidiaryClasses": { + "parameterList": { "type": "array", - "description": "Required. Provides list of subsidiary classes", - "example": [ - "Subsidiary Classes" - ], "items": { - "type": "string" + "$ref": "#/components/schemas/Parameter" } }, - "labelText": { + "message": { "type": "string", - "description": "Specifies the text for the label.\n", - "example": "labelText" - }, - "technicalName": { + "description": "Indicates the description of API error alert message.
Example: Requested user is not authorized to perform the operation." + } + }, + "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" + }, + "CXSError_2": { + "type": "object", + "properties": { + "transactionId": { "type": "string", - "description": "'The element specifies the technical name for the hazardous material.'\n\n", - "example": "technicalName" - }, - "packingDetails": { - "$ref": "#/components/schemas/HazardousCommodityPackingDetail" + "description": "It is the unique identifier for the transaction.", + "format": "uuid", + "example": "0e671149-016f-1000-941f-ef4dbabadd2e" }, - "authorization": { + "customerTransactionId": { "type": "string", - "description": "Authorization", - "example": "authorization" - }, - "reportableQuantity": { - "type": "boolean", - "description": "Reportable Quantity", - "example": true, - "enum": [ - true, - false - ] - }, - "percentage": { - "type": "number", - "description": "Percentage", - "format": "double", - "example": 12.45 + "description": "It is the same customerTransactionId sent as part of the request's header,by the clients calling this endpoint.", + "format": "uuid", + "example": "0e671149-016f-1000-941f-ef4dbabadd2e" }, - "id": { + "errors": { + "$ref": "#/components/schemas/CXSError401_errors" + } + }, + "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" + }, + "CXSError_3": { + "type": "object", + "properties": { + "transactionId": { "type": "string", - "description": "ID", - "example": "UN1234" + "description": "It is the unique identifier for the transaction.", + "format": "uuid", + "example": "0e671149-016f-1000-941f-ef4dbabadd2e" }, - "packingGroup": { + "customerTransactionId": { "type": "string", - "description": "Identifies DOT packing group for a hazardous commodity", - "example": "I", - "enum": [ - "DEFAULT", - "I", - "II", - "III" - ] + "description": "It is the same customerTransactionId sent as part of the request's header,by the clients calling this endpoint.", + "format": "uuid", + "example": "0e671149-016f-1000-941f-ef4dbabadd2e" }, - "properShippingName": { + "errors": { + "$ref": "#/components/schemas/CXSError403_errors" + } + }, + "description": "Indicates error when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" + }, + "CXSError_4": { + "type": "object", + "properties": { + "transactionId": { "type": "string", - "description": "The proper shipping name as defined by the regulation. The name can also include qualifying words", - "example": "paint" + "description": "It is the unique identifier for the transaction.", + "format": "uuid", + "example": "0e671149-016f-1000-941f-ef4dbabadd2e" }, - "hazardClass": { + "customerTransactionId": { "type": "string", - "description": "'Specifies the hazard class for the commodity.'\n", - "example": "2.3" + "description": "It is the same customerTransactionId sent as part of the request's header,by the clients calling this endpoint.", + "format": "uuid", + "example": "0e671149-016f-1000-941f-ef4dbabadd2e" + }, + "errors": { + "$ref": "#/components/schemas/CXSError404_errors" } }, - "description": "RequiredDetails of HazardousCommodityDescription" + "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" }, - "HazardousCommodityPackingDetail": { - "required": [ - "cargoAircraftOnly" - ], + "CXSError_5": { "type": "object", "properties": { - "packingInstructions": { + "transactionId": { "type": "string", - "description": "Coded specification for how commodity is to be packed.", - "example": "NonBulk" + "description": "It is the unique identifier for the transaction.", + "format": "uuid", + "example": "0e671149-016f-1000-941f-ef4dbabadd2e" }, - "cargoAircraftOnly": { - "type": "boolean", - "description": "Shipment is packaged/documented for movement ONLY on cargo aircraft", - "example": true, - "enum": [ - true, - false - ] + "customerTransactionId": { + "type": "string", + "description": "It is the same customerTransactionId sent as part of the request's header,by the clients calling this endpoint.", + "format": "uuid", + "example": "0e671149-016f-1000-941f-ef4dbabadd2e" + }, + "errors": { + "$ref": "#/components/schemas/CXSError500_errors" } }, - "description": "Specifies documentation and limits for validation of an individual packing group/category. DG Data Upload Mode: Required (IATA), Optional (Other), DG Full Validation Mode: Required (IATA), Optional (Other)," + "description": "Indicates exception when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" } } }, diff --git a/resources/models/freight-ltl/v1.json b/resources/models/freight-ltl/v1.json index f052d8a0..3b00b5ec 100644 --- a/resources/models/freight-ltl/v1.json +++ b/resources/models/freight-ltl/v1.json @@ -3005,6 +3005,47 @@ } } }, + "ResponsiblePartyParty": { + "required": [ + "accountNumber" + ], + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/PartyAddress" + }, + "contact": { + "$ref": "#/components/schemas/PartyContact" + }, + "accountNumber": { + "$ref": "#/components/schemas/PartyAccountNumber" + } + }, + "description": "Indicate the payer Information responsible for paying for the shipment.
Note: ResponsibleParty accountNumber is required for ACCOUNT based services.", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "000", + "phoneNumber": "XXXX345671", + "companyName": "FedEx" + }, + "accountNumber": { + "value": "Your account number" + } + } + }, "PartyAccountNumber": { "type": "object", "properties": { @@ -4267,7 +4308,7 @@ "$ref": "#/components/schemas/CustomerSpecifiedLabelDetail" }, "printedLabelOrigin": { - "$ref": "#/components/schemas/ContactAndAddress" + "$ref": "#/components/schemas/ContactAndAddress_2" }, "labelStockType": { "type": "string", @@ -4833,7 +4874,7 @@ ] }, "producer": { - "$ref": "#/components/schemas/Party_3" + "$ref": "#/components/schemas/Party_4" }, "blanketPeriod": { "$ref": "#/components/schemas/RetrieveDateRange" @@ -4889,7 +4930,7 @@ ] }, "producer": { - "$ref": "#/components/schemas/Party_3" + "$ref": "#/components/schemas/Party_4" }, "certifierJobTitle": { "type": "string", @@ -7501,576 +7542,1416 @@ }, "description": "Specifies the freight guarantee detail." }, - "Address": { + "ContentRecord": { "type": "object", "properties": { - "city": { + "itemNumber": { "type": "string", - "description": "Specify name of city, town, etc.
Example: Beverly Hills", - "example": "Beverly Hills" + "description": "This is a package item number.", + "example": "2876" }, - "stateOrProvinceCode": { - "type": "string", - "description": "Specify State or province code. Maximum length is 2, State code is required for US, CA, PR and not required for other countries. Conditional. Max length is 2.
Example: CA
Click here to see State Or Province Codes", - "example": "CA" + "receivedQuantity": { + "type": "integer", + "description": "This is the package item quantity.", + "format": "int32", + "example": 256 }, - "postalCode": { + "description": { "type": "string", - "description": "Specify the postal code. This is optional for non postal- aware countries. Maximum length is 10.
Example: 65247
Click here to see Postal aware countries", - "example": "65247" + "description": "This is the description of the package item.", + "example": "Description" }, - "countryCode": { + "partNumber": { "type": "string", - "description": "The two-letter country code. Maximum length is 2.
Example: US
Click here to see Country Codes", - "example": "US" + "description": "This is the part number.", + "example": "456" + } + }, + "description": "Use this object to specify package content details." + }, + "Money": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "description": "This is the amount. Maximum limit is 5 digits before decimal.
Example: 12.45", + "format": "double", + "example": 12.45 }, - "residential": { - "type": "boolean", - "description": "Indicate whether this address is residential (as opposed to commercial).", - "example": false + "currency": { + "type": "string", + "description": "This is the currency code for the amount.
Example: USD
Click here to see Currency codes", + "example": "USD" } }, - "description": "This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US). Country code is required. Postal code is required for postal aware countries. State or province code is mandatory for Puerto Rico." + "description": "Specifies taxes or miscellaneous charge." }, - "Address_2": { + "Weight": { "required": [ - "countryCode", - "streetLines" + "units", + "value" ], "type": "object", "properties": { - "streetLines": { - "type": "array", - "description": "This is the combination of number, street name, etc.
Note: At least one line is required and streetlines more than 3 will be ignored. Empty lines should not be included. Maximum length per line is 35.
Example: [10 FedEx Parkway, Suite 302, .etc.]", - "items": { - "type": "string" - } - }, - "city": { - "type": "string", - "description": "This is a placeholder for City Name.

Note: This is conditional and not required in all the requests.

Note: It is recommended for Express shipments for the most accurate ODA and OPA surcharges.

Example: Beverly Hills" - }, - "stateOrProvinceCode": { - "type": "string", - "description": "This is a placeholder for State or Province code.State code is required for US, CA, PR and not required for other countries. Conditional. Max length is 2

Example: CA
click here to see State or Province Code" - }, - "postalCode": { - "type": "string", - "description": "Indicate the Postal code. This is Optional for non postal-aware countries. Maximum length is 10.
Example: 65247
click here to see Postal aware countries" - }, - "countryCode": { + "units": { "type": "string", - "description": "This is the two-letter country code.

Maximum length is 2.
Example: US
click here to see Country codes" - }, - "residential": { - "type": "boolean", - "description": "Indicate whether this address is residential (as opposed to commercial).", + "description": "Indicate the weight unit type. The package and commodity weight unit should be the same else the request will result in an error.", + "example": "KG", "enum": [ - true, - false + "KG" ] + }, + "value": { + "type": "number", + "description": "Weight Value.
Example: 68.25
Click here to see Weight Values", + "format": "double", + "example": 68.25 } }, - "description": "Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of \"address parts\" which should be handled as a unit (such as a city-state-ZIP combination within the US).", + "description": "These are the package weight details.
Note: Weight is not required for One rate shipments", "example": { - "streetLines": [ - "10 FedEx Parkway", - "Suite 302" - ], - "city": "Beverly Hills", - "stateOrProvinceCode": "CA", - "postalCode": "38127", - "countryCode": "US", - "residential": false + "units": "KG", + "value": 68 } }, - "Party": { + "Dimensions": { "type": "object", "properties": { - "address": { - "$ref": "#/components/schemas/Address" + "length": { + "type": "integer", + "description": "Indicate the length of the package. No implied decimal places. Maximum value: 999
Example: 20", + "format": "int32", + "example": 3 }, - "contact": { - "$ref": "#/components/schemas/Contact" + "width": { + "type": "integer", + "description": "Indicate the width of the package. No implied decimal places. Maximum value: 999
Example: 10", + "format": "int32", + "example": 2 }, - "accountNumber": { - "$ref": "#/components/schemas/AccountNumber" + "height": { + "type": "integer", + "description": "Indicate the height of the package. No implied decimal places. Maximum value: 999
Example: 10", + "format": "int32", + "example": 1 + }, + "units": { + "type": "string", + "description": "Indicate the Unit of measure for the provided dimensions.
Valid Values are:
  • IN - inches
  • CM - centimeters
  • Note: Any value other than CM including blank/null will default to IN.", + "example": "CM", + "enum": [ + "CM", + "IN" + ] } }, - "description": "Indicate the party to a transaction including the physical address, contact information and account number information.", + "description": "Indicate the dimensions of the package.
    Following conditions will apply:
    • Dimensions are optional but when added, then all three dimensions must be indicated.
    • Dimensions are required with YOUR_PACKAGING package type.
    Note: The maximum/minimum dimension values varies based on the services and the packaging types. Refer FedEx Service Guide for service details related to DIM Weighting for FedEx Express and oversize conditions for FedEx Express and FedEx Ground.", "example": { - "contact": { - "companyName": "Fedex", - "personName": "John Taylor", - "phoneNumber": "7194446666", - "phoneExtension": "phone extension" - }, - "address": { - "streetLines": [ - "10 FedEx Parkway", - "Suite 302" - ], - "urbanizationCode": "URB FAIR OAKS", - "city": "Beverly Hills", - "stateOrProvinceCode": "CA", - "postalCode": "38127", - "countryCode": "US", - "residential": false, - "addressClassification": "MIXED" - }, - "accountNumber": { - "value": "Alternate Billing Account Number" - }, - "deliveryInstructions": "deliveryInstructions" + "length": 100, + "width": 50, + "height": 30, + "units": "CM" } }, - "Party_2": { + "AssociatedFreightLineItemDetail": { + "required": [ + "id" + ], "type": "object", "properties": { - "address": { - "$ref": "#/components/schemas/Address_2" - }, - "contact": { - "$ref": "#/components/schemas/Contact" - }, - "accountNumber": { - "$ref": "#/components/schemas/PartyAccountNumber" + "id": { + "type": "string", + "description": "A freight line item identifier referring to a freight shipment line item that describes goods contained within this handling unit.", + "example": "98712345" + } + } + }, + "Volume": { + "type": "object", + "properties": { + "units": { + "type": "string", + "description": "Specifies the unit in Cubic Feet or Cubic Meters.", + "example": "CUBIC_FT", + "enum": [ + "CUBIC_FT", + "CUBIC_M" + ] }, - "tins": { - "type": "array", - "description": "This is the tax identification number details.", - "items": { - "$ref": "#/components/schemas/TaxpayerIdentification" - } + "value": { + "type": "number", + "description": "The amount of volume
    Example: 9.965781217890562", + "format": "double", + "example": 9.965781217890562 } }, - "description": "Use this object to provide the attributes such as physical address, contact information and account number information.", + "description": "Optional\n\nIndividual line item volume.\n\nConditional\n\nNeed Volume or Rate for intra mexico rates", "example": { - "address": { - "streetLines": [ - "10 FedEx Parkway", - "Suite 302" - ], - "city": "Beverly Hills", - "stateOrProvinceCode": "CA", - "postalCode": "38127", - "countryCode": "US", - "residential": false - }, - "contact": { - "personName": "John Taylor", - "emailAddress": "sample@company.com", - "phoneNumber": "1234567890", - "phoneExtension": "phone extension", - "companyName": "Fedex", - "faxNumber": "fax number" - }, - "accountNumber": { - "value": "Your account number" - }, - "tins": [ - { - "number": "number", - "tinType": "FEDERAL", - "usage": "usage", - "effectiveDate": "2000-01-23T04:56:07.000+00:00", - "expirationDate": "2000-01-23T04:56:07.000+00:00" - }, - { - "number": "number", - "tinType": "FEDERAL", - "usage": "usage", - "effectiveDate": "2000-01-23T04:56:07.000+00:00", - "expirationDate": "2000-01-23T04:56:07.000+00:00" - } - ] + "units": "CUBIC_FT", + "value": 9.965781217890562 } }, - "Party_3": { + "FreightGuaranteeDetail": { + "required": [ + "freightGuaranteeType", + "guaranteeTimestamp" + ], "type": "object", "properties": { - "address": { - "$ref": "#/components/schemas/PartyAddress_2" - }, - "contact": { - "$ref": "#/components/schemas/PartyContact_2" + "freightGuaranteeType": { + "type": "string", + "description": "Specify how the freight has been guaranteed for delivery.", + "example": "GUARANTEED_DATE", + "enum": [ + "GUARANTEED_DATE", + "GUARANTEED_MORNING" + ] }, - "tins": { - "type": "array", - "description": "This is the tax identification number details.", - "items": { - "$ref": "#/components/schemas/TaxpayerIdentification" - } + "guaranteeTimestamp": { + "type": "string", + "description": "Specify the time of shipment based on shippers time zone.
    Example: 2009-04-12", + "example": "2009-12-04" } }, - "example": { - "address": { - "streetLines": [ - "10 FedEx Parkway", - "Suite 302" - ], - "city": "Beverly Hills", - "stateOrProvinceCode": "CA", - "postalCode": "90210", - "countryCode": "US", - "residential": false - }, - "contact": { - "personName": "John Taylor", - "emailAddress": "sample@company.com", - "phoneExtension": "000", - "phoneNumber": "XXXX345671", - "companyName": "Fedex" - }, - "accountNumber": { - "value": "Your account number" - }, - "tins": [ - { - "number": "123567", - "tinType": "FEDERAL", - "usage": "usage", - "effectiveDate": "2000-01-23T04:56:07.000+00:00", - "expirationDate": "2000-01-23T04:56:07.000+00:00" - } - ] - } + "description": "Indicates the details of freight guarantee." }, - "Contact": { + "CurrencyExchangeRate": { "type": "object", "properties": { - "personName": { - "type": "string", - "description": "Specify contact person name.
    Recommended length is 70.

    Note: There's no specific validation for the person name.
    Example: John Taylor", - "example": "John Taylor" + "rate": { + "type": "number", + "description": "Multiplier used to convert from Currency units to into Currency units.
    Example: 25.6", + "format": "double", + "example": 25.6 }, - "emailAddress": { + "fromCurrency": { "type": "string", - "description": "Specify contact email address. Maximum length is 80.
    Example: sample@company.com", - "example": "sample@company.com" + "description": "The currency code for the original (converted FROM) currency.
    Example: Rupee
    click here to see Currency codes", + "example": "Rupee" }, - "phoneNumber": { + "intoCurrency": { "type": "string", - "description": "Specify contact phone number.

    Minimum length is 10 and supports maximum of 15 for certain countries using longer phone numbers.
    Note: Recommended Maximum length is 15 and there's no specific validation will be done for the phone number.
    Example: 918xxxxx890", - "example": "1234567890" - }, - "phoneExtension": { + "description": "The currency code for the final(converted INTO) currency.
    Example: USD
    click here to see currencycodes", + "example": "USD" + } + }, + "description": "Specifies the currency exchange performed on financial amounts on this rate." + }, + "ProductName": { + "type": "object", + "properties": { + "type": { "type": "string", - "description": "Specify contact phone extension.
    Note: Recommended length is 6. There's no specific validation for the phone extension.
    Example: 1234", - "example": "91" + "description": "The type of name (long, medium, short, etc.) to which this value refers.
    Example: long", + "example": "long" }, - "faxNumber": { + "encoding": { "type": "string", - "description": "Specify contact fax number.
    Note: Recommended length is 15. There's no specific validation for the fax number.
    Example: 1234567890", - "example": "956123" + "description": "The character encoding used to represent this product name.
    Example: UTF-8", + "example": "UTF-8" }, - "companyName": { + "value": { "type": "string", - "description": "Specify contact company name.

    Recommended length is 35.

    Note: There's no specific validation for the company name.", - "example": "Fedex" + "description": "Specifies the value of the Product.
    Example: F-2", + "example": "F-2" } }, - "description": "Indicate the contact details of the shipper.", - "example": { - "personName": "John Taylor", - "emailAddress": "sample@company.com", - "phoneNumber": "1234567890", - "phoneExtension": 1234, - "faxNumber": "1234567890", - "companyName": "Fedex" - } + "description": "Product Name information." }, - "Contact_2": { + "CommitDetail": { "type": "object", "properties": { - "personName": { + "daysInTransit": { "type": "string", - "description": "Specify person name.
    Example: John Taylor" + "description": "Code indicating the number of transit days.", + "example": "EIGHTEEN_DAYS", + "enum": [ + "EIGHT_DAYS", + "EIGHTEEN_DAYS", + "ELEVEN_DAYS", + "FIFTEEN_DAYS", + "FIVE_DAYS", + "FOUR_DAYS", + "FOURTEEN_DAYS", + "NINE_DAYS", + "NINETEEN_DAYS", + "ONE_DAY", + "SEVEN_DAYS", + "SEVENTEEN_DAYS", + "SIX_DAYS", + "SIXTEEN_DAYS", + "TEN_DAYS", + "THIRTEEN_DAYS", + "THREE_DAYS", + "TWELVE_DAYS", + "TWENTY_DAYS", + "TWO_DAYS", + "UNKNOWN" + ] }, - "tollFreePhoneNumber": { + "guaranteedType": { "type": "string", - "description": "Specify toll free phone number.
    Example: XXXX7812" + "description": "Indicates if there is a guaranteed delivery option applied to the rate. This is for freight rates only.
    Valid values
    GUARANTEED_MORNING - guaranteed delivery on morning of date specified.
    GUARANTEED_CLOSE_OF_BUSINESS - guaranteed delivery on date specified by close of day", + "example": "GUARANTEED_MORNING", + "enum": [ + "GUARANTEED_MORNING", + "GUARANTEED_CLOSE_OF_BUSINESS" + ] }, - "emailAddress": { - "type": "string", - "description": "Specify email address.
    Example: sample@company.com" + "dateDetail": { + "$ref": "#/components/schemas/DateDetail" }, - "phoneNumber": { - "type": "string", - "description": "Specify phone number.
    Example: XXX567890" + "saturdayDelivery": { + "type": "boolean", + "description": "Specifies the saturdayDelivery.", + "example": false }, - "phoneExtension": { - "type": "string", - "description": "Specify phone extension.
    Example: 91" + "alternativeCommodityNames": { + "type": "array", + "description": "Specifies the alternate names of commodities.", + "example": [ + "Commodity1", + "Commodity2" + ], + "items": { + "type": "string", + "description": "Specifies the items." + } }, - "companyName": { - "type": "string", - "description": "Specify company name." + "transitDays": { + "$ref": "#/components/schemas/TransitDays" }, - "pagerNumber": { + "label": { "type": "string", - "description": "Specify pager number.
    Example: XXX7812" + "description": "This is an informational message to inform client Deliverydate is unavailable. If commitTimestamp and transitTime are unavailable, then this is populated in the response in the client language.", + "example": "Deliverydate unavailable" }, - "faxNumber": { + "commitMessageDetails": { "type": "string", - "description": "Specify fax number.
    Example: XXXX567890" + "description": "Messages concerning the ability to provide an accurate delivery commitment on an International commit quote. These could be messages providing information about why a commitment could not be returned or a successful message.", + "example": "Message" }, - "title": { + "commodityName": { "type": "string", - "description": "Specify the title of the contact." + "description": "The Commodity applicable to this commitment.", + "example": "DOCUMENTS" } }, - "description": "Specify the contact information.", - "example": { - "personName": "John Taylor", - "tollFreePhoneNumber": "6127812", - "emailAddress": "sample@company.com", - "phoneNumber": "1234567890", - "phoneExtension": "91", - "faxNumber": "1234567890", - "pagerNumber": "6127812", - "companyName": "Fedex", - "title": "title" - } + "description": "The delivery commitment details" }, - "ContentRecord": { + "Alert": { "type": "object", "properties": { - "itemNumber": { - "type": "string", - "description": "This is a package item number.", - "example": "2876" - }, - "receivedQuantity": { - "type": "integer", - "description": "This is the package item quantity.", - "format": "int32", - "example": 256 - }, - "description": { - "type": "string", - "description": "This is the description of the package item.", - "example": "Description" - }, - "partNumber": { + "code": { "type": "string", - "description": "This is the part number.", - "example": "456" - } - }, - "description": "Use this object to specify package content details." - }, - "Money": { - "type": "object", - "properties": { - "amount": { - "type": "number", - "description": "This is the amount. Maximum limit is 5 digits before decimal.
    Example: 12.45", - "format": "double", - "example": 12.45 + "description": "Specifies the API alert code.
    Example: SHIP.RECIPIENT.POSTALCITY.MISMATCH", + "example": "SHIP.RECIPIENT.POSTALCITY.MISMATCH" }, - "currency": { - "type": "string", - "description": "This is the currency code for the amount.
    Example: USD
    Click here to see Currency codes", - "example": "USD" - } - }, - "description": "Specifies taxes or miscellaneous charge." - }, - "Weight": { - "required": [ - "units", - "value" - ], - "type": "object", - "properties": { - "units": { + "alertType": { "type": "string", - "description": "Indicate the weight unit type. The package and commodity weight unit should be the same else the request will result in an error.", - "example": "KG", + "description": "Specifies the API alert type.", + "example": "NOTE", "enum": [ - "KG" + "NOTE", + "WARNING" ] }, - "value": { - "type": "number", - "description": "Weight Value.
    Example: 68.25
    Click here to see Weight Values", - "format": "double", - "example": 68.25 + "message": { + "type": "string", + "description": "Specifies the API alert message.
    Example: Recipient Postal-City Mismatch.", + "example": "Recipient Postal-City Mismatch." } }, - "description": "These are the package weight details.
    Note: Weight is not required for One rate shipments", - "example": { - "units": "KG", - "value": 68 - } + "description": "These are alert details received in the response." }, - "Dimensions": { + "Parameter": { "type": "object", "properties": { - "length": { - "type": "integer", - "description": "Indicate the length of the package. No implied decimal places. Maximum value: 999
    Example: 20", - "format": "int32", - "example": 3 - }, - "width": { - "type": "integer", - "description": "Indicate the width of the package. No implied decimal places. Maximum value: 999
    Example: 10", - "format": "int32", - "example": 2 - }, - "height": { - "type": "integer", - "description": "Indicate the height of the package. No implied decimal places. Maximum value: 999
    Example: 10", - "format": "int32", - "example": 1 + "value": { + "type": "string", + "description": "Identifies the error option to be applied." }, - "units": { + "key": { "type": "string", - "description": "Indicate the Unit of measure for the provided dimensions.
    Valid Values are:
  • IN - inches
  • CM - centimeters
  • Note: Any value other than CM including blank/null will default to IN.", - "example": "CM", - "enum": [ - "CM", - "IN" - ] + "description": "Indicates the value associated with the key." } }, - "description": "Indicate the dimensions of the package.
    Following conditions will apply:
    • Dimensions are optional but when added, then all three dimensions must be indicated.
    • Dimensions are required with YOUR_PACKAGING package type.
    Note: The maximum/minimum dimension values varies based on the services and the packaging types. Refer FedEx Service Guide for service details related to DIM Weighting for FedEx Express and oversize conditions for FedEx Express and FedEx Ground.", - "example": { - "length": 100, - "width": 50, - "height": 30, - "units": "CM" - } - }, - "AssociatedFreightLineItemDetail": { - "required": [ - "id" - ], - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "A freight line item identifier referring to a freight shipment line item that describes goods contained within this handling unit.", - "example": "98712345" - } - } + "description": "List of parameters which indicates the properties of the alert message." }, - "FreightShipmentLineItem": { + "FreightRequestedShipment_Freight": { "required": [ - "freightClass", - "handlingUnits", - "id", - "pieces", - "subPackagingType", - "weight" + "freightShipmentDetail", + "labelSpecification", + "packagingType", + "pickupType", + "recipient", + "requestedPackageLineItems", + "serviceType", + "shipper", + "shippingChargesPayment" ], "type": "object", "properties": { - "handlingUnits": { - "type": "integer", - "description": "Number of individual handling units to which this line applies.
    (The total of line-item-level handling units may not balance to shipment-level total handling units.)", - "format": "int32" - }, - "nmfcCode": { + "shipDatestamp": { "type": "string", - "description": "Specify the NMFC(National Motor Freight Classification) Code for commodity in order to get a rate quote or create an online freight shipping label or Bill of Lading.
    Example:
    • 115030-02
    • 056828-05
    • 056828-29
    " + "description": "This is the shipment date. Default value is current date in case the date is not provided in the request.
    Format [YYYY-MM-DD].
    Example: 2019-10-14", + "example": "2019-10-14" }, - "subPackagingType": { + "pickupType": { "type": "string", - "description": "This is a sub package type for the package.
    a onclick='loadDocReference(\"subpackagetypes\")'>Click here to see Sub-Packaging Types", + "description": "Indicate if shipment is being dropped off at a FedEx location or being picked up by FedEx or if it's a regularly scheduled pickup for this shipment.
    Click here for more information on Pickup Types.", + "example": "USE_SCHEDULED_PICKUP", "enum": [ - "BAG", - "BARREL", - "BASKET", - "BOX", - "BUCKET", - "BUNDLE", - "CAGE", - "CARTON", - "CASE", - "CHEST", - "CONTAINER", - "CRATE", - "CYLINDER", - "DRUM", - "ENVELOPE", - "PACKAGE", - "PAIL", - "PALLET", - "PARCEL", - "PIECES", - "REEL", - "ROLL", - "SACK", - "SHRINKWRAPPED", - "SKID", - "TANK", - "TOTEBIN", - "TUBE", - "UNIT", - "OTHER" + "CONTACT_FEDEX TO_SCHEDULE", + "DROPOFF_AT_FEDEX_LOCATION", + "USE_SCHEDULED_PICKUP" ] }, - "description": { + "serviceType": { "type": "string", - "description": "Customer-provided description of this line item." - }, - "weight": { - "$ref": "#/components/schemas/Weight" - }, - "pieces": { - "type": "integer", - "description": "Specifies Total number of pieces.", - "format": "int32" - }, - "volume": { - "$ref": "#/components/schemas/Volume" + "description": "Indicate the Service Type for this shipment.", + "example": "FEDEX_FREIGHT_ECONOMY" }, - "freightClass": { + "packagingType": { "type": "string", - "description": "Specifies Freight class for this line item.", - "enum": [ - "CLASS_050", - "CLASS_055", - "CLASS_060", - "CLASS_065", - "CLASS_070", - "CLASS_077_5", - "CLASS_085", - "CLASS_092_5", - "CLASS_100", - "CLASS_110", - "CLASS_125", - "CLASS_150", - "CLASS_175", - "CLASS_200", - "CLASS_250", - "CLASS_300", - "CLASS_400", - "CLASS_500" - ] + "description": "Indicate the packaging type used for the shipment.", + "example": "YOUR_PACKAGING" }, - "purchaseOrderNumber": { - "type": "string", - "description": "Specifies Purchase order number for this line item." + "totalWeight": { + "type": "integer", + "description": "Indicate the shipment total weight in pounds.

    Example: 10.6", + "format": "int32", + "example": 20 }, - "id": { + "preferredCurrency": { "type": "string", - "description": "Specifies Identification for content in this line item." + "description": "Indicate the currency the caller requests to have used in all returned monetary values. Should be Used in conjunction with the element RateRequestType.
    Example: USD

    click here to see available Currency codes

    Note: Incorrect currency codes should not be supplied. The system ignores the incorrect currency code.", + "example": "USD" }, - "hazardousMaterials": { - "type": "string", - "description": "Indicates the kind of hazardous material content in this line item.", - "enum": [ - "HAZARDOUS_MATERIALS", - "BATTERY", - "ORM_D", - "REPORTABLE_QUANTITIES", - "SMALL_QUANTITY_EXCEPTION", - "LIMITED_QUANTITIES_COMMODITIES" - ] + "shipper": { + "description": "Descriptive data identifying the party responsible for shipping the package. Shipper and Origin should have the same address.", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneNumber": "1234567890", + "phoneExtension": 91, + "companyName": "Fedex", + "faxNumber": "1234567", + "stateTaxId": "1234567", + "fedralTaxId": "11-N-1745" + }, + "tins": [ + { + "number": "123567", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ] + }, + "$ref": "#/components/schemas/ShipperParty" + }, + "recipient": { + "description": "The descriptive information for the recipient of the shipment and the physical location for the package destination.", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneNumber": "1234567890", + "phoneExtension": 91, + "companyName": "Fedex", + "faxNumber": "1234567", + "stateTaxId": "1234567", + "fedralTaxId": "11-N-1645" + }, + "tins": [ + { + "number": "123567", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ], + "deliveryInstructions": "delivery instructions" + }, + "$ref": "#/components/schemas/RecipientParty" + }, + "soldTo": { + "description": "Will indicate the party responsible for purchasing the goods shipped from the shipper to the recipient. The sold to party is not necessarily the recipient or the importer of record. The sold to party is relevant when the purchaser, rather than the recipient determines when certain customs regulations apply.", + "$ref": "#/components/schemas/SoldToParty" + }, + "origin": { + "description": "Original address information for the shipment, if different from shipper\u2019s address.", + "$ref": "#/components/schemas/ContactAndAddress_2" + }, + "shippingChargesPayment": { + "$ref": "#/components/schemas/FreightPayment" + }, + "freightShipmentSpecialServices": { + "$ref": "#/components/schemas/FreightShipment2020SpecialServicesRequested" + }, + "emailNotificationDetail": { + "$ref": "#/components/schemas/EMailNotificationDetail" + }, + "freightShipmentDetail": { + "$ref": "#/components/schemas/Freight2020ShipmentDetail" + }, + "variableHandlingChargeDetail": { + "$ref": "#/components/schemas/VariableHandlingChargeDetail" + }, + "customsClearanceDetail": { + "$ref": "#/components/schemas/CustomsClearanceDetail" + }, + "labelSpecification": { + "$ref": "#/components/schemas/LabelSpecification" + }, + "shippingDocumentSpecification": { + "$ref": "#/components/schemas/LTLShippingDocumentSpecification" + }, + "rateRequestType": { + "type": "array", + "description": "Indicate the type of rates to be returned. The account specific rates are returned by default if the account number is specified in the request.
    Following are values:
    • LIST - Returns FedEx published list rates in addition to account-specific rates (if applicable).
    • INCENTIVE - This is one-time discount for incentivising the customer. For more information, contact your FedEx representative.
    • ACCOUNT - Returns account specific rates (Default).
    • PREFERRED - Returns rates in the preferred currency specified in the element preferredCurrency.
    • RETAIL - Returns customer rate from one of retail FedEx service centers.
    Examples: [\"ACCOUNT\", \"PREFERRED\"]", + "example": [ + "LIST", + "PREFERRED" + ], + "items": { + "type": "string", + "enum": [ + "LIST", + "NONE", + "PREFERRED", + "ACCOUNT", + "INCENTIVE", + "RETAIL" + ] + } + }, + "totalPackageCount": { + "type": "integer", + "description": "For an MPS, this is the total number of packages in the shipment.
    Example: 25", + "format": "int32", + "example": 25 + }, + "masterTrackingId": { + "$ref": "#/components/schemas/TrackingId" + }, + "requestedPackageLineItems": { + "type": "array", + "description": "One or more package-attribute descriptions, each of which describes an individual package, a group of identical packages, or (for the total-piece-total-weight case) common characteristics of packages in the shipment. At least one array instance containing the weight for at least one package is required for EXPRESS and GROUND shipments. Not used for FREIGHT.
    Single piece requests will have one RequestedPackageLineItem.
    Multiple piece requests will have multiple RequestedPackageLineItems.
    Maximum occurrences is 99.", + "items": { + "$ref": "#/components/schemas/FreightRequestedPackageLineItem" + } + } + }, + "description": "The descriptive data for the FreightShipment being tendered to FedEx." + }, + "Payment": { + "type": "object", + "properties": { + "payor": { + "$ref": "#/components/schemas/Payor_2" + }, + "billingDetails": { + "$ref": "#/components/schemas/BillingDetails" + }, + "paymentType": { + "type": "string", + "description": "This is a payment type, basically indicates who is the payor for the shipment.
    Required for Express and Ground.
    The payment type COLLECT is applicable only for Ground shipments.", + "enum": [ + "SENDER", + "RECIPIENT", + "THIRD_PARTY", + "COLLECT" + ] + } + }, + "description": "This is a payment type, basically indicates who is the payor for the shipment.Conditional required for International Shipments", + "example": { + "payor": { + "responsibleParty": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "38127", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneNumber": "1234567890", + "phoneExtension": "phone extension", + "companyName": "Fedex", + "faxNumber": "fax number" + }, + "accountNumber": { + "value": "Your account number" + }, + "tins": [ + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + }, + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ] + } + }, + "billingDetails": { + "billingCode": "billingCode", + "billingType": "billingType", + "aliasId": "aliasId", + "accountNickname": "accountNickname", + "accountNumber": "Your account number", + "accountNumberCountryCode": "US" + }, + "paymentType": "SENDER" + } + }, + "DocTabContentZone": { + "type": "object", + "properties": { + "docTabZoneSpecifications": { + "type": "array", + "description": "Indicate the doc tab specifications for the individual doc tab zone on the label.", + "items": { + "$ref": "#/components/schemas/DocTabZoneSpecification" + } + } + }, + "description": "Indicate the doc tab specification for different zones on the label. The specification includes zone number, header and data field to be displayed on the label." + }, + "HazardousCommodityQuantityDetail": { + "required": [ + "amount", + "quantityType" + ], + "type": "object", + "properties": { + "quantityType": { + "type": "string", + "description": "Specifies which measure of quantity is to be validated.", + "example": "NET", + "enum": [ + "GROSS", + "NET" + ] + }, + "amount": { + "type": "number", + "description": "Number of units of the type below.
    Example: 34.56", + "format": "double", + "example": 34.56 + }, + "units": { + "type": "string", + "description": "Specifies the units.
    Example: KG", + "example": "Kg" + } + }, + "description": "Indicates the Hazardous Commodity Quantity Detail." + }, + "HazardousCommodityContent": { + "type": "object", + "properties": { + "quantity": { + "$ref": "#/components/schemas/HazardousCommodityQuantityDetail" + }, + "innerReceptacles": { + "type": "array", + "description": "Specifies the inner receptacles within the container.", + "items": { + "$ref": "#/components/schemas/HazardousCommodityInnerReceptacleDetail" + } + }, + "options": { + "$ref": "#/components/schemas/HazardousCommodityOptionDetail" + }, + "description": { + "$ref": "#/components/schemas/HazardousCommodityDescription" + } + }, + "description": "Customer-provided specifications for handling individual commodities." + }, + "HazardousCommodityInnerReceptacleDetail": { + "type": "object", + "properties": { + "quantity": { + "$ref": "#/components/schemas/HazardousCommodityQuantityDetail" + } + } + }, + "HazardousCommodityOptionDetail": { + "type": "object", + "properties": { + "labelTextOption": { + "type": "string", + "description": "Indicates the label text option.", + "enum": [ + "APPEND", + "OVERRIDE", + "STANDARD" + ] + }, + "customerSuppliedLabelText": { + "type": "string", + "description": "'DG Data Upload Mode:- Optional.,DG Full Validation Mode:- Optional,Text used in labeling the commodity under control of the LabelTextOption field
    Example:Customer Supplied Label Text' \n\n", + "example": "Customer Supplied Label Text." + } + }, + "description": "Indicates details of hazardous commodity option detail." + }, + "HazardousCommodityDescription": { + "required": [ + "packingGroup", + "reportableQuantity" + ], + "type": "object", + "properties": { + "sequenceNumber": { + "type": "integer", + "description": "Required
    Specify the sequence number.
    Example: 9812", + "format": "int32", + "example": 9812 + }, + "processingOptions": { + "type": "array", + "description": "Indicates any special processing options to be applied to the description of the dangerous goods commodity
    Example: [\"INCLUDE_SPECIAL_PROVISIONS\"]", + "items": { + "type": "string", + "example": "INCLUDE_SPECIAL_PROVISIONS", + "enum": [ + "INCLUDE_SPECIAL_PROVISIONS" + ] + } + }, + "subsidiaryClasses": { + "type": "array", + "description": "Required\n\nIndicates list of subsidiary classes
    Example: [\"Subsidiary Classes\"]", + "example": [ + "Subsidiary Classes" + ], + "items": { + "type": "string" + } + }, + "labelText": { + "type": "string", + "description": "Specifies the text for the label.", + "example": "labelText" + }, + "technicalName": { + "type": "string", + "description": "Specifies the technical name for the hazardous material.", + "example": "technicalName" + }, + "packingDetails": { + "$ref": "#/components/schemas/HazardousCommodityPackingDetail" + }, + "authorization": { + "type": "string", + "description": "Information related to quantity limitations and operator or state variations as may be applicable to the dangerous goods commodity.", + "example": "authorization" + }, + "reportableQuantity": { + "type": "boolean", + "description": "Reportable Quantity", + "example": true, + "enum": [ + true, + false + ] + }, + "percentage": { + "type": "number", + "description": "Percentage
    Example: 12.45", + "format": "double", + "example": 12.45 + }, + "id": { + "type": "string", + "description": "ID
    Example: 123", + "example": "123" + }, + "packingGroup": { + "type": "string", + "description": "Identifies DOT packing group for a hazardous commodity", + "example": "I", + "enum": [ + "DEFAULT", + "I", + "II", + "III" + ] + }, + "properShippingName": { + "type": "string", + "description": "The proper shipping name as defined by the regulation. The name can also include qualifying words
    Example: properShippingName", + "example": "properShippingName" + }, + "hazardClass": { + "type": "string", + "description": "Specifies the hazard class for the commodity
    Example: hazard Class\n", + "example": "hazard Class" + } + }, + "description": "Required
    Details of hazardous commodity description." + }, + "HazardousCommodityPackingDetail": { + "required": [ + "cargoAircraftOnly" + ], + "type": "object", + "properties": { + "packingInstructions": { + "type": "string", + "description": "Coded specification for how commodity is to be packed.
    Example: packing Instructions", + "example": "packing Instructions" + }, + "cargoAircraftOnly": { + "type": "boolean", + "description": "Shipment is packaged/documented for movement ONLY on cargo aircraft", + "example": true, + "enum": [ + true, + false + ] + } + }, + "description": "Specifies documentation and limits for validation of an individual packing group/category. DG Data Upload Mode: Required (IATA), Optional (Other), DG Full Validation Mode: Required (IATA), Optional (Other)," + }, + "ServiceDescription": { + "type": "object", + "properties": { + "serviceType": { + "type": "string", + "description": "Indicate the FedEx serviceType used for this shipment. The results will be filtered by the serviceType value indicated.
    Example: STANDARD_OVERNIGHT
    click here to see Service Types", + "example": "FEDEX_1_DAY_FREIGHT" + }, + "code": { + "type": "string", + "description": "Specifies code of the Service.
    example: 80", + "example": "80" + }, + "names": { + "type": "array", + "description": "Branded, translated, and/or localized names for this service.", + "items": { + "$ref": "#/components/schemas/ProductName" + } + }, + "operatingOrgCodes": { + "type": "array", + "description": "FOR FEDEX INTERNAL USE ONLY. The operating org code in a service.
    Example: [\"FXE\", \"FXE\"]", + "example": [ + "FXE" + ], + "items": { + "type": "string" + } + }, + "astraDescription": { + "type": "string", + "description": "Specifies astra Description.
    Example: 2 DAY FRT", + "example": "2 DAY FRT" + }, + "description": { + "type": "string", + "description": "Specifies the description.", + "example": "description" + }, + "serviceId": { + "type": "string", + "description": "FOR FEDEX INTERNAL USE ONLY, Designates the service ID.
    Example: EP1000000027", + "example": "EP1000000027" + }, + "serviceCategory": { + "type": "string", + "description": "FOR FEDEX INTERNAL USE ONLY. This is tied to the Product EFS interface definition which will currently contain the values of parcel.
    Example: EXPRESS_PARCEL", + "example": "freight" + } + }, + "description": "Descriptions for a service." + }, + "CXSError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.
    Example: ACCOUNTNUMBER.REGISTRATION.REQUIRED, LOGIN.REAUTHENTICATE.ERROR, UNAUTHORIZED.USAGE, NOT.FOUND.ERROR, INTERNAL.SERVER.ERROR, SERVICE.UNAVAILABLE.ERROR" + }, + "parameterList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Parameter" + } + }, + "message": { + "type": "string", + "description": "Indicates the description of API error alert message.
    Example: Please enter a valid 9-digit FedEx account number or register for a new FedEx account number.", + "example": "Please enter a valid 9-digit FedEx account number or register for a new FedEx account number." + } + }, + "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter." + }, + "ErrorResponseVO": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
    Example: a9053a7d-6865-42ab-b323-4632db263ab4", + "example": "a9053a7d-6865-42ab-b323-4632db263ab4" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CXSError" + } + } + } + }, + "Address": { + "type": "object", + "properties": { + "city": { + "type": "string", + "description": "Specify name of city, town, etc.
    Example: Beverly Hills", + "example": "Beverly Hills" + }, + "stateOrProvinceCode": { + "type": "string", + "description": "Specify State or province code. Maximum length is 2, State code is required for US, CA, PR and not required for other countries. Conditional. Max length is 2.
    Example: CA
    Click here to see State Or Province Codes", + "example": "CA" + }, + "postalCode": { + "type": "string", + "description": "Specify the postal code. This is optional for non postal- aware countries. Maximum length is 10.
    Example: 65247
    Click here to see Postal aware countries", + "example": "65247" + }, + "countryCode": { + "type": "string", + "description": "The two-letter country code. Maximum length is 2.
    Example: US
    Click here to see Country Codes", + "example": "US" + }, + "residential": { + "type": "boolean", + "description": "Indicate whether this address is residential (as opposed to commercial).", + "example": false + } + }, + "description": "This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US). Country code is required. Postal code is required for postal aware countries. State or province code is mandatory for Puerto Rico." + }, + "Address_2": { + "required": [ + "countryCode", + "streetLines" + ], + "type": "object", + "properties": { + "streetLines": { + "type": "array", + "description": "This is the combination of number, street name, etc.
    Note: At least one line is required and streetlines more than 3 will be ignored. Empty lines should not be included. Maximum length per line is 35.
    Example: [10 FedEx Parkway, Suite 302, .etc.]", + "items": { + "type": "string" + } + }, + "city": { + "type": "string", + "description": "This is a placeholder for City Name.

    Note: This is conditional and not required in all the requests.

    Note: It is recommended for Express shipments for the most accurate ODA and OPA surcharges.

    Example: Beverly Hills" + }, + "stateOrProvinceCode": { + "type": "string", + "description": "This is a placeholder for State or Province code.State code is required for US, CA, PR and not required for other countries. Conditional. Max length is 2

    Example: CA
    click here to see State or Province Code" + }, + "postalCode": { + "type": "string", + "description": "Indicate the Postal code. This is Optional for non postal-aware countries. Maximum length is 10.
    Example: 65247
    click here to see Postal aware countries" + }, + "countryCode": { + "type": "string", + "description": "This is the two-letter country code.

    Maximum length is 2.
    Example: US
    click here to see Country codes" + }, + "residential": { + "type": "boolean", + "description": "Indicate whether this address is residential (as opposed to commercial).", + "enum": [ + true, + false + ] + } + }, + "description": "Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of \"address parts\" which should be handled as a unit (such as a city-state-ZIP combination within the US).", + "example": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "38127", + "countryCode": "US", + "residential": false + } + }, + "Party": { + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/Address" + }, + "contact": { + "$ref": "#/components/schemas/Contact" + }, + "accountNumber": { + "$ref": "#/components/schemas/AccountNumber" + } + }, + "description": "Indicate the party to a transaction including the physical address, contact information and account number information.", + "example": { + "contact": { + "companyName": "Fedex", + "personName": "John Taylor", + "phoneNumber": "7194446666", + "phoneExtension": "phone extension" + }, + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "urbanizationCode": "URB FAIR OAKS", + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "38127", + "countryCode": "US", + "residential": false, + "addressClassification": "MIXED" + }, + "accountNumber": { + "value": "Alternate Billing Account Number" + }, + "deliveryInstructions": "deliveryInstructions" + } + }, + "Party_2": { + "required": [ + "address", + "contact" + ], + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/PartyAddress" + }, + "contact": { + "$ref": "#/components/schemas/PartyContact" + }, + "accountNumber": { + "$ref": "#/components/schemas/PartyAccountNumber" + }, + "tins": { + "type": "array", + "description": "This is the tax identification number details.", + "items": { + "$ref": "#/components/schemas/TaxpayerIdentification" + } + } + }, + "description": "Attributes for a Party to a transaction including the physical address, contact information and account number information. ", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "000", + "phoneNumber": "XXX2345671", + "companyName": "Fedex" + }, + "accountNumber": { + "value": "Your account number" + }, + "tins": [ + { + "number": "123567", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ] + } + }, + "Party_3": { + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/Address_2" + }, + "contact": { + "$ref": "#/components/schemas/Contact" + }, + "accountNumber": { + "$ref": "#/components/schemas/PartyAccountNumber" + }, + "tins": { + "type": "array", + "description": "This is the tax identification number details.", + "items": { + "$ref": "#/components/schemas/TaxpayerIdentification" + } + } + }, + "description": "Use this object to provide the attributes such as physical address, contact information and account number information.", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "38127", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneNumber": "1234567890", + "phoneExtension": "phone extension", + "companyName": "Fedex", + "faxNumber": "fax number" + }, + "accountNumber": { + "value": "Your account number" + }, + "tins": [ + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + }, + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ] + } + }, + "Party_4": { + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/PartyAddress_2" + }, + "contact": { + "$ref": "#/components/schemas/PartyContact_2" + }, + "tins": { + "type": "array", + "description": "This is the tax identification number details.", + "items": { + "$ref": "#/components/schemas/TaxpayerIdentification" + } + } + }, + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "000", + "phoneNumber": "XXXX345671", + "companyName": "Fedex" + }, + "accountNumber": { + "value": "Your account number" + }, + "tins": [ + { + "number": "123567", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ] + } + }, + "Contact": { + "type": "object", + "properties": { + "personName": { + "type": "string", + "description": "Specify contact person name.
    Recommended length is 70.

    Note: There's no specific validation for the person name.
    Example: John Taylor", + "example": "John Taylor" + }, + "emailAddress": { + "type": "string", + "description": "Specify contact email address. Maximum length is 80.
    Example: sample@company.com", + "example": "sample@company.com" + }, + "phoneNumber": { + "type": "string", + "description": "Specify contact phone number.

    Minimum length is 10 and supports maximum of 15 for certain countries using longer phone numbers.
    Note: Recommended Maximum length is 15 and there's no specific validation will be done for the phone number.
    Example: 918xxxxx890", + "example": "1234567890" + }, + "phoneExtension": { + "type": "string", + "description": "Specify contact phone extension.
    Note: Recommended length is 6. There's no specific validation for the phone extension.
    Example: 1234", + "example": "91" + }, + "faxNumber": { + "type": "string", + "description": "Specify contact fax number.
    Note: Recommended length is 15. There's no specific validation for the fax number.
    Example: 1234567890", + "example": "956123" + }, + "companyName": { + "type": "string", + "description": "Specify contact company name.

    Recommended length is 35.

    Note: There's no specific validation for the company name.", + "example": "Fedex" + } + }, + "description": "Indicate the contact details of the shipper.", + "example": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneNumber": "1234567890", + "phoneExtension": 1234, + "faxNumber": "1234567890", + "companyName": "Fedex" + } + }, + "Contact_2": { + "type": "object", + "properties": { + "personName": { + "type": "string", + "description": "Specify person name.
    Example: John Taylor" + }, + "tollFreePhoneNumber": { + "type": "string", + "description": "Specify toll free phone number.
    Example: XXXX7812" + }, + "emailAddress": { + "type": "string", + "description": "Specify email address.
    Example: sample@company.com" + }, + "phoneNumber": { + "type": "string", + "description": "Specify phone number.
    Example: XXX567890" + }, + "phoneExtension": { + "type": "string", + "description": "Specify phone extension.
    Example: 91" + }, + "companyName": { + "type": "string", + "description": "Specify company name." + }, + "pagerNumber": { + "type": "string", + "description": "Specify pager number.
    Example: XXX7812" + }, + "faxNumber": { + "type": "string", + "description": "Specify fax number.
    Example: XXXX567890" + }, + "title": { + "type": "string", + "description": "Specify the title of the contact." + } + }, + "description": "Specify the contact information.", + "example": { + "personName": "John Taylor", + "tollFreePhoneNumber": "6127812", + "emailAddress": "sample@company.com", + "phoneNumber": "1234567890", + "phoneExtension": "91", + "faxNumber": "1234567890", + "pagerNumber": "6127812", + "companyName": "Fedex", + "title": "title" + } + }, + "FreightShipmentLineItem": { + "required": [ + "freightClass", + "handlingUnits", + "id", + "pieces", + "subPackagingType", + "weight" + ], + "type": "object", + "properties": { + "handlingUnits": { + "type": "integer", + "description": "Number of individual handling units to which this line applies.
    (The total of line-item-level handling units may not balance to shipment-level total handling units.)", + "format": "int32" + }, + "nmfcCode": { + "type": "string", + "description": "Specify the NMFC(National Motor Freight Classification) Code for commodity in order to get a rate quote or create an online freight shipping label or Bill of Lading.
    Example:
    • 115030-02
    • 056828-05
    • 056828-29
    " + }, + "subPackagingType": { + "type": "string", + "description": "This is a sub package type for the package.
    a onclick='loadDocReference(\"subpackagetypes\")'>Click here to see Sub-Packaging Types", + "enum": [ + "BAG", + "BARREL", + "BASKET", + "BOX", + "BUCKET", + "BUNDLE", + "CAGE", + "CARTON", + "CASE", + "CHEST", + "CONTAINER", + "CRATE", + "CYLINDER", + "DRUM", + "ENVELOPE", + "PACKAGE", + "PAIL", + "PALLET", + "PARCEL", + "PIECES", + "REEL", + "ROLL", + "SACK", + "SHRINKWRAPPED", + "SKID", + "TANK", + "TOTEBIN", + "TUBE", + "UNIT", + "OTHER" + ] + }, + "description": { + "type": "string", + "description": "Customer-provided description of this line item." + }, + "weight": { + "$ref": "#/components/schemas/Weight" + }, + "pieces": { + "type": "integer", + "description": "Specifies Total number of pieces.", + "format": "int32" + }, + "volume": { + "$ref": "#/components/schemas/Volume" + }, + "freightClass": { + "type": "string", + "description": "Specifies Freight class for this line item.", + "enum": [ + "CLASS_050", + "CLASS_055", + "CLASS_060", + "CLASS_065", + "CLASS_070", + "CLASS_077_5", + "CLASS_085", + "CLASS_092_5", + "CLASS_100", + "CLASS_110", + "CLASS_125", + "CLASS_150", + "CLASS_175", + "CLASS_200", + "CLASS_250", + "CLASS_300", + "CLASS_400", + "CLASS_500" + ] + }, + "purchaseOrderNumber": { + "type": "string", + "description": "Specifies Purchase order number for this line item." + }, + "id": { + "type": "string", + "description": "Specifies Identification for content in this line item." + }, + "hazardousMaterials": { + "type": "string", + "description": "Indicates the kind of hazardous material content in this line item.", + "enum": [ + "HAZARDOUS_MATERIALS", + "BATTERY", + "ORM_D", + "REPORTABLE_QUANTITIES", + "SMALL_QUANTITY_EXCEPTION", + "LIMITED_QUANTITIES_COMMODITIES" + ] }, "dimensions": { "$ref": "#/components/schemas/Dimensions" @@ -8192,31 +9073,6 @@ }, "description": "Description of an individual commodity or class of content in a shipment." }, - "Volume": { - "type": "object", - "properties": { - "units": { - "type": "string", - "description": "Specifies the unit in Cubic Feet or Cubic Meters.", - "example": "CUBIC_FT", - "enum": [ - "CUBIC_FT", - "CUBIC_M" - ] - }, - "value": { - "type": "number", - "description": "The amount of volume
    Example: 9.965781217890562", - "format": "double", - "example": 9.965781217890562 - } - }, - "description": "Optional\n\nIndividual line item volume.\n\nConditional\n\nNeed Volume or Rate for intra mexico rates", - "example": { - "units": "CUBIC_FT", - "value": 9.965781217890562 - } - }, "ContactAndAddress": { "type": "object", "properties": { @@ -8224,10 +9080,10 @@ "$ref": "#/components/schemas/Contact" }, "address": { - "$ref": "#/components/schemas/Address_2" + "$ref": "#/components/schemas/Address" } }, - "description": "Specifies the contact and address details of a location.", + "description": "Specify the contact and address details of a location.", "example": { "address": { "streetLines": [ @@ -8250,29 +9106,38 @@ } } }, - "FreightGuaranteeDetail": { - "required": [ - "freightGuaranteeType", - "guaranteeTimestamp" - ], + "ContactAndAddress_2": { "type": "object", "properties": { - "freightGuaranteeType": { - "type": "string", - "description": "Specify how the freight has been guaranteed for delivery.", - "example": "GUARANTEED_DATE", - "enum": [ - "GUARANTEED_DATE", - "GUARANTEED_MORNING" - ] + "contact": { + "$ref": "#/components/schemas/Contact" + }, + "address": { + "$ref": "#/components/schemas/Address_2" + } + }, + "description": "Specifies the contact and address details of a location.", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "38127", + "countryCode": "US", + "residential": false }, - "guaranteeTimestamp": { - "type": "string", - "description": "Specify the time of shipment based on shippers time zone.
    Example: 2009-04-12", - "example": "2009-12-04" + "contact": { + "personName": "person name", + "emailAddress": "email address", + "phoneNumber": "phone number", + "phoneExtension": "phone extension", + "companyName": "company name", + "faxNumber": "fax number" } - }, - "description": "Indicates the details of freight guarantee." + } }, "PackageRateDetail": { "type": "object", @@ -8638,414 +9503,112 @@ "description": "Specifies the Pricing Code.
    Example: pricingCode", "example": "pricingCode" }, - "taxes": { - "type": "array", - "description": "Specifies the taxes.", - "items": { - "$ref": "#/components/schemas/Tax_2" - } - }, - "totalDimWeight": { - "description": "Sum of dimensional weights for all packages.", - "$ref": "#/components/schemas/Weight" - }, - "totalRebates": { - "type": "number", - "description": "Specifies the total rebate.
    Example: 2.0", - "format": "double", - "example": 2 - }, - "fuelSurchargePercent": { - "type": "number", - "description": "Specifies a fuel surcharge percentage.
    Example: 6.0", - "format": "double", - "example": 6 - }, - "currencyExchangeRate": { - "description": "Specifies currency exchange rate.", - "$ref": "#/components/schemas/CurrencyExchangeRate" - }, - "dimDivisor": { - "type": "integer", - "description": "The value used to calculate the weight based on the dimensions.
    Example: 6", - "format": "int32", - "example": 6 - }, - "rateType": { - "type": "string", - "description": "Type used for this specific set of rate data.
    Example: PAYOR_RETAIL_PACKAGE", - "example": "PAYOR_RETAIL_PACKAGE" - }, - "legDestinationLocationId": { - "type": "string", - "description": "Specifies the location id the destination of shipment leg.
    Example: HKAA", - "example": "legDestinationLocationId" - }, - "dimDivisorType": { - "type": "string", - "description": "Identifies the type of dim divisor that was applied.
    Example: dimDivisorType", - "example": "dimDivisorType" - }, - "totalBaseCharge": { - "type": "number", - "description": "The total freight charge that was calculated before surcharges, discounts and taxes.
    Example: 6.0", - "format": "double", - "example": 6 - }, - "ratedWeightMethod": { - "type": "string", - "description": "Indicates which weight was used.
    Example: ratedWeightMethod", - "example": "ratedWeightMethod" - }, - "totalFreightDiscounts": { - "type": "number", - "description": "The sum of all discounts.
    Example: 9.0", - "format": "double", - "example": 9 - }, - "totalTaxes": { - "type": "number", - "description": "Total of the transportation-based taxes.
    Example: 12.6", - "format": "double", - "example": 12.6 - }, - "minimumChargeType": { - "type": "string", - "description": "Specifies minimum charge type.", - "example": "minimumChargeType" - }, - "totalDutiesAndTaxes": { - "type": "number", - "description": "Total of shipments duties and taxes; only provided if estimated duties and taxes were calculated for this shipment.
    Example: 17.78", - "format": "double", - "example": 17.78 - }, - "totalNetFreight": { - "type": "number", - "description": "The freight charge minus discounts.
    Example: 6.0", - "format": "double", - "example": 6 - }, - "totalNetFedExCharge": { - "type": "number", - "description": "This is the sum of shipment's total surcharges (not including total taxes).
    Example: 3.2", - "format": "double", - "example": 3.2 - }, - "surcharges": { - "type": "array", - "description": "All surcharges that apply to this shipment.
    click here to see surcharges", - "items": { - "$ref": "#/components/schemas/Surcharge_2" - } - }, - "totalSurcharges": { - "type": "number", - "description": "The total of all surcharges.
    Example: 5.0", - "format": "double", - "example": 5 - }, - "totalBillingWeight": { - "description": "The weight used to calculate these rates.", - "$ref": "#/components/schemas/Weight" - }, - "freightDiscounts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/RateDiscount_2" - } - }, - "rateScale": { - "type": "string", - "description": "Indicates the rate scale used.
    Example: 6702", - "example": "6702" - }, - "totalNetCharge": { - "type": "number", - "description": "The net charge after applying all discounts and surcharges.
    Example: 253", - "format": "double", - "example": 253 - }, - "totalNetChargeWithDutiesAndTaxes": { - "type": "number", - "description": "Sum of total net charge, total duties and taxes; only provided if estimated duties and taxes were calculated for this shipment and duties, taxes and transportation charges are all paid by the same sender account.
    Example: 25.67", - "format": "double", - "example": 25.67 - }, - "currency": { - "type": "string", - "description": "This is the currency code for the amount.
    Example: USD
    click here to see Currency codes", - "example": "USD" - } - }, - "description": "This is a placeholder for single leg of a shipment rates details, as calculated per a specific rate type." - }, - "Tax": { - "type": "object", - "properties": { - "amount": { - "type": "number", - "description": "Specifies the list of tax amounts", - "format": "double", - "example": 87.5 - }, - "name": { - "type": "string", - "description": "Specifies the localized name of the tax." - }, - "description": { - "type": "string", - "description": "Specifies the description of the Surcharge/Tax." - }, - "type": { - "type": "string", - "description": "Specifies the type of Surcharge/Tax." - } - }, - "description": "Specifies the Tax surcharge details" - }, - "Tax_2": { - "type": "object", - "properties": { - "amount": { - "type": "number", - "description": "Indicates the amount of tax.
    Example: 10.0", - "format": "double", - "example": 10 - }, - "level": { - "type": "string", - "description": "Indicates the level of tax.", - "example": "level" - }, - "description": { - "type": "string", - "description": "Specifies the tax description.", - "example": "description" - }, - "type": { - "type": "string", - "description": "Specifies the type of the tax.", - "example": "type" - } - }, - "description": "Specifies the tax for the shipment." - }, - "CurrencyExchangeRate": { - "type": "object", - "properties": { - "rate": { - "type": "number", - "description": "Multiplier used to convert from Currency units to into Currency units.
    Example: 25.6", - "format": "double", - "example": 25.6 - }, - "fromCurrency": { - "type": "string", - "description": "The currency code for the original (converted FROM) currency.
    Example: Rupee
    click here to see Currency codes", - "example": "Rupee" - }, - "intoCurrency": { - "type": "string", - "description": "The currency code for the final(converted INTO) currency.
    Example: USD
    click here to see currencycodes", - "example": "USD" - } - }, - "description": "Specifies the currency exchange performed on financial amounts on this rate." - }, - "ShipmentRateDetail": { - "type": "object", - "properties": { - "currencyExchangeRate": { - "$ref": "#/components/schemas/CurrencyExchangeRate" - }, - "currency": { - "type": "string", - "description": "Indicates the currency associated with the amount.", - "example": "USD" - }, - "rateZone": { - "type": "string", - "description": "Indicates the rate zone used.", - "example": "CA003O" - }, - "pricingCode": { - "type": "string", - "description": "Indicates the type of pricing code.", - "example": "ACTUAL" - }, - "totalFreightDiscount": { - "type": "number", - "description": "Indicates the total discounts used in the rate calculation. Example: 856.32", - "format": "double", - "example": 856.32 - }, - "specialRatingApplied": { + "taxes": { "type": "array", - "description": "Indicates which special rating cases applied to this shipment.", - "example": "Specialrating", + "description": "Specifies the taxes.", "items": { - "type": "string" + "$ref": "#/components/schemas/Tax_2" } }, - "totalSurcharges": { + "totalDimWeight": { + "description": "Sum of dimensional weights for all packages.", + "$ref": "#/components/schemas/Weight" + }, + "totalRebates": { "type": "number", - "description": "This is sum of all surcharges on the package. Example: 586.25", + "description": "Specifies the total rebate.
    Example: 2.0", "format": "double", - "example": 586.25 - }, - "freightDiscount": { - "type": "array", - "description": "This is total discount used in the rate calculation.
    Click here to see Discounts", - "items": { - "$ref": "#/components/schemas/RateDiscount" - } + "example": 2 }, "fuelSurchargePercent": { "type": "number", - "description": "This is fuel surcharge percentage.", + "description": "Specifies a fuel surcharge percentage.
    Example: 6.0", "format": "double", - "example": 10.5 - }, - "totalBillingWeight": { - "description": "This is total of billing weight for the shipment.", - "$ref": "#/components/schemas/Weight" + "example": 6 }, - "totalDimWeight": { - "description": "This is total of dimensional weight for the shipment.", - "$ref": "#/components/schemas/Weight" + "currencyExchangeRate": { + "description": "Specifies currency exchange rate.", + "$ref": "#/components/schemas/CurrencyExchangeRate" }, "dimDivisor": { "type": "integer", - "description": "Identifies the type of divisor applied.", + "description": "The value used to calculate the weight based on the dimensions.
    Example: 6", "format": "int32", - "example": 10 + "example": 6 }, - "surCharges": { - "type": "array", - "description": "Indicates the surcharges applied to this shipment.", - "items": { - "$ref": "#/components/schemas/Surcharge" - } - } - }, - "description": "This is shipment level rate data." - }, - "ShipmentRateDetail_2": { - "type": "object", - "properties": { - "rateZone": { + "rateType": { "type": "string", - "description": "Indicates the rate zone used (based on origin and destination).
    Example: US001O", - "example": "US001O" + "description": "Type used for this specific set of rate data.
    Example: PAYOR_RETAIL_PACKAGE", + "example": "PAYOR_RETAIL_PACKAGE" }, - "ratedWeightMethod": { + "legDestinationLocationId": { "type": "string", - "description": "Indicates which weight was used.
    Example: ACTUAL", - "example": "ACTUAL" + "description": "Specifies the location id the destination of shipment leg.
    Example: HKAA", + "example": "legDestinationLocationId" }, - "totalDutiesTaxesAndFees": { + "dimDivisorType": { + "type": "string", + "description": "Identifies the type of dim divisor that was applied.
    Example: dimDivisorType", + "example": "dimDivisorType" + }, + "totalBaseCharge": { "type": "number", - "description": "The total of the total duties & taxes and the total ancillary fees & taxes.
    Example: 24.56", + "description": "The total freight charge that was calculated before surcharges, discounts and taxes.
    Example: 6.0", "format": "double", - "example": 24.56 + "example": 6 }, - "pricingCode": { + "ratedWeightMethod": { "type": "string", - "description": "Specifies pricing Code.
    Example: PACKAGE", - "example": "LTL_FREIGHT" + "description": "Indicates which weight was used.
    Example: ratedWeightMethod", + "example": "ratedWeightMethod" }, "totalFreightDiscounts": { "type": "number", - "description": "The total discounts used in the rate calculation.
    Example: 1.56", + "description": "The sum of all discounts.
    Example: 9.0", "format": "double", - "example": 1.56 + "example": 9 }, "totalTaxes": { "type": "number", - "description": "Total of the transportation-based taxes.
    Example: 3.45", - "format": "double", - "example": 3.45 - }, - "totalDutiesAndTaxes": { - "type": "number", - "description": "Total of all values under this shipment's duties and taxes; only provided if estimated duties and taxes were calculated for this shipment.
    Example: 6.78", - "format": "double", - "example": 6.78 - }, - "totalAncillaryFeesAndTaxes": { - "type": "number", - "description": "Identifies the total amount of the shipment-level fees and taxes that are not based on transportation charges or commodity-level estimated duties and taxes.
    Example: 5.67", + "description": "Total of the transportation-based taxes.
    Example: 12.6", "format": "double", - "example": 5.67 - }, - "taxes": { - "type": "array", - "description": "All transportation-based taxes applicable to this shipment.", - "items": { - "type": "object", - "schema": { - "$ref": "#/components/schemas/Tax_2" - } - } + "example": 12.6 }, - "totalRebates": { - "type": "number", - "description": "The total sum of all rebates applied to this shipment.
    Example: 1.98", - "format": "double", - "example": 1.98 + "minimumChargeType": { + "type": "string", + "description": "Specifies minimum charge type.", + "example": "minimumChargeType" }, - "fuelSurchargePercent": { + "totalDutiesAndTaxes": { "type": "number", - "description": "Specifies a fuel surcharge percentage.
    Example: 4.56", + "description": "Total of shipments duties and taxes; only provided if estimated duties and taxes were calculated for this shipment.
    Example: 17.78", "format": "double", - "example": 4.56 - }, - "currencyExchangeRate": { - "$ref": "#/components/schemas/CurrencyExchangeRate" + "example": 17.78 }, "totalNetFreight": { "type": "number", - "description": "The freight charge minus discounts.
    Example: 9.56", + "description": "The freight charge minus discounts.
    Example: 6.0", "format": "double", - "example": 9.56 + "example": 6 }, "totalNetFedExCharge": { "type": "number", - "description": "This is the sum of shipment's total net freight, total surchages (not including totalTaxes).
    Example: 88.56", + "description": "This is the sum of shipment's total surcharges (not including total taxes).
    Example: 3.2", "format": "double", - "example": 88.56 - }, - "shipmentLegRateDetails": { - "type": "array", - "description": "This is data for a single leg of a shipment's total/summary rates, as calculated per a specific rate type.", - "items": { - "$ref": "#/components/schemas/ShipmentLegRateDetail_2" - } - }, - "dimDivisor": { - "type": "integer", - "description": "The value used to calculate the weight based on the dimensions.
    Example: 0", - "format": "int32", - "example": 0 - }, - "rateType": { - "type": "string", - "description": "The Type used for this specific set of rate data.
    Example: RATED_ACCOUNT_SHIPMENT", - "example": "RATED_ACCOUNT_SHIPMENT" + "example": 3.2 }, "surcharges": { "type": "array", - "description": "All surcharges that apply to this shipment.
    click here to see Surcharges", + "description": "All surcharges that apply to this shipment.
    click here to see surcharges", "items": { "$ref": "#/components/schemas/Surcharge_2" } }, "totalSurcharges": { "type": "number", - "description": "The total amount of all surcharges applied to this shipment.
    Example: 9.88", + "description": "The total of all surcharges.
    Example: 5.0", "format": "double", - "example": 9.88 + "example": 5 }, "totalBillingWeight": { "description": "The weight used to calculate these rates.", @@ -9053,777 +9616,387 @@ }, "freightDiscounts": { "type": "array", - "description": "Indicates the freight discounts.", "items": { "$ref": "#/components/schemas/RateDiscount_2" } }, "rateScale": { "type": "string", - "description": "Indicates the rate scale used.
    Example: 00000", - "example": "00000" + "description": "Indicates the rate scale used.
    Example: 6702", + "example": "6702" }, "totalNetCharge": { "type": "number", - "description": "The net charge after applying all discounts and surcharges.
    Example: 3.78", - "format": "double", - "example": 3.78 - }, - "totalBaseCharge": { - "type": "number", - "description": "The total Shipment charge that was calculated before surcharges, discounts and taxes.
    Example: 234.56", + "description": "The net charge after applying all discounts and surcharges.
    Example: 253", "format": "double", - "example": 234.56 + "example": 253 }, "totalNetChargeWithDutiesAndTaxes": { "type": "number", - "description": "This is the sum of shipment's total net charges and total duties and taxes; only provided if estimated duties and taxes were calculated for this shipment AND duties, taxes and transportation charges are all paid by the same sender account.
    Example: 222.56", - "format": "double", - "example": 222.56 - }, - "currency": { - "type": "string", - "description": "Indicates the currency code.
    click here to see Currency Codes", - "example": "USD" - } - }, - "description": "This is a placeholder for shipment total/summary rates details, as calculated per a specific rate type. The totals may differ from the sum of corresponding package data for Multiweight or Express MPS." - }, - "ServiceDescription": { - "type": "object", - "properties": { - "serviceType": { - "type": "string", - "description": "Indicate the FedEx serviceType used for this shipment. The results will be filtered by the serviceType value indicated.
    Example: STANDARD_OVERNIGHT
    click here to see Service Types", - "example": "FEDEX_1_DAY_FREIGHT" - }, - "code": { - "type": "string", - "description": "Specifies code of the Service.
    example: 80", - "example": "80" - }, - "names": { - "type": "array", - "description": "Branded, translated, and/or localized names for this service.", - "items": { - "$ref": "#/components/schemas/ProductName" - } - }, - "operatingOrgCodes": { - "type": "array", - "description": "FOR FEDEX INTERNAL USE ONLY. The operating org code in a service.
    Example: [\"FXE\", \"FXE\"]", - "example": [ - "FXE" - ], - "items": { - "type": "string" - } - }, - "astraDescription": { - "type": "string", - "description": "Specifies astra Description.
    Example: 2 DAY FRT", - "example": "2 DAY FRT" - }, - "description": { - "type": "string", - "description": "Specifies the description.", - "example": "description" - }, - "serviceId": { - "type": "string", - "description": "FOR FEDEX INTERNAL USE ONLY, Designates the service ID.
    Example: EP1000000027", - "example": "EP1000000027" - }, - "serviceCategory": { - "type": "string", - "description": "FOR FEDEX INTERNAL USE ONLY. This is tied to the Product EFS interface definition which will currently contain the values of parcel.
    Example: EXPRESS_PARCEL", - "example": "freight" - } - }, - "description": "Descriptions for a service." - }, - "ProductName": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "The type of name (long, medium, short, etc.) to which this value refers.
    Example: long", - "example": "long" - }, - "encoding": { - "type": "string", - "description": "The character encoding used to represent this product name.
    Example: UTF-8", - "example": "UTF-8" + "description": "Sum of total net charge, total duties and taxes; only provided if estimated duties and taxes were calculated for this shipment and duties, taxes and transportation charges are all paid by the same sender account.
    Example: 25.67", + "format": "double", + "example": 25.67 }, - "value": { + "currency": { "type": "string", - "description": "Specifies the value of the Product.
    Example: F-2", - "example": "F-2" + "description": "This is the currency code for the amount.
    Example: USD
    click here to see Currency codes", + "example": "USD" } }, - "description": "Product Name information." + "description": "This is a placeholder for single leg of a shipment rates details, as calculated per a specific rate type." }, - "BrokerDetail": { - "required": [ - "broker", - "type" - ], + "Tax": { "type": "object", "properties": { - "broker": { - "$ref": "#/components/schemas/Party" - }, - "type": { - "type": "string", - "description": "This is Broker Type.", - "example": "EXPORT", - "enum": [ - "EXPORT", - "IMPORT" - ] + "amount": { + "type": "number", + "description": "Specifies the list of tax amounts", + "format": "double", + "example": 87.5 }, - "brokerCommitTimestamp": { + "name": { "type": "string", - "description": "This is the delivery commitment date/time the shipment will arrive at the border.
    Example: 2019-07-22", - "example": "2019-07-22" + "description": "Specifies the localized name of the tax." }, - "brokerCommitDayOfWeek": { + "description": { "type": "string", - "description": "This is the delivery commitment day of the week the shipment will arrive at the border.
    Example: SUNDAY", - "example": "SUNDAY" + "description": "Specifies the description of the Surcharge/Tax." }, - "brokerLocationId": { + "type": { "type": "string", - "description": "This is the FedEx location identifier for the broker.
    Example: HKAA", - "example": "brokerLocationId" - }, - "brokerAddress": { - "$ref": "#/components/schemas/Brokeraddress" - }, - "brokerToDestinationDays": { - "type": "integer", - "description": "These are number of days it will take for the shipment to make it from broker.
    Example: 10", - "format": "int32", - "example": 10 + "description": "Specifies the type of Surcharge/Tax." } }, - "description": "These are Broker Detail for the rate quote." + "description": "Specifies the Tax surcharge details" }, - "BrokerDetail_2": { + "Tax_2": { "type": "object", "properties": { - "broker": { - "description": "These are broker details for the shipment with physical address, contact and account number information.", - "$ref": "#/components/schemas/Party_2" + "amount": { + "type": "number", + "description": "Indicates the amount of tax.
    Example: 10.0", + "format": "double", + "example": 10 + }, + "level": { + "type": "string", + "description": "Indicates the level of tax.", + "example": "level" + }, + "description": { + "type": "string", + "description": "Specifies the tax description.", + "example": "description" }, "type": { "type": "string", - "description": "Identifies the type of broker.", - "example": "IMPORT", - "enum": [ - "IMPORT" - ] + "description": "Specifies the type of the tax.", + "example": "type" } }, - "description": "These are broker details for the shipment.", - "example": { - "broker": { - "address": { - "streetLines": [ - "10 FedEx Parkway", - "Suite 302" - ], - "city": "Beverly Hills", - "stateOrProvinceCode": "CA", - "postalCode": "90210", - "countryCode": "US", - "residential": false - }, - "contact": { - "personName": "John Taylor", - "emailAddress": "sample@company.com", - "phoneNumber": "1234567890", - "phoneExtension": 91, - "companyName": "Fedex", - "faxNumber": 1234567 - }, - "accountNumber": { - "value": "Your account number" - }, - "tins": [ - { - "number": "number", - "tinType": "FEDERAL", - "usage": "usage", - "effectiveDate": "2000-01-23T04:56:07.000+00:00", - "expirationDate": "2000-01-23T04:56:07.000+00:00" - } - ], - "deliveryInstructions": "deliveryInstructions" - }, - "type": "IMPORT" - } + "description": "Specifies the tax for the shipment." }, - "CommitDetail": { + "ShipmentRateDetail": { "type": "object", "properties": { - "daysInTransit": { + "currencyExchangeRate": { + "$ref": "#/components/schemas/CurrencyExchangeRate" + }, + "currency": { "type": "string", - "description": "Code indicating the number of transit days.", - "example": "EIGHTEEN_DAYS", - "enum": [ - "EIGHT_DAYS", - "EIGHTEEN_DAYS", - "ELEVEN_DAYS", - "FIFTEEN_DAYS", - "FIVE_DAYS", - "FOUR_DAYS", - "FOURTEEN_DAYS", - "NINE_DAYS", - "NINETEEN_DAYS", - "ONE_DAY", - "SEVEN_DAYS", - "SEVENTEEN_DAYS", - "SIX_DAYS", - "SIXTEEN_DAYS", - "TEN_DAYS", - "THIRTEEN_DAYS", - "THREE_DAYS", - "TWELVE_DAYS", - "TWENTY_DAYS", - "TWO_DAYS", - "UNKNOWN" - ] + "description": "Indicates the currency associated with the amount.", + "example": "USD" }, - "guaranteedType": { + "rateZone": { "type": "string", - "description": "Indicates if there is a guaranteed delivery option applied to the rate. This is for freight rates only.
    Valid values
    GUARANTEED_MORNING - guaranteed delivery on morning of date specified.
    GUARANTEED_CLOSE_OF_BUSINESS - guaranteed delivery on date specified by close of day", - "example": "GUARANTEED_MORNING", - "enum": [ - "GUARANTEED_MORNING", - "GUARANTEED_CLOSE_OF_BUSINESS" - ] + "description": "Indicates the rate zone used.", + "example": "CA003O" }, - "dateDetail": { - "$ref": "#/components/schemas/DateDetail" + "pricingCode": { + "type": "string", + "description": "Indicates the type of pricing code.", + "example": "ACTUAL" }, - "saturdayDelivery": { - "type": "boolean", - "description": "Specifies the saturdayDelivery.", - "example": false + "totalFreightDiscount": { + "type": "number", + "description": "Indicates the total discounts used in the rate calculation. Example: 856.32", + "format": "double", + "example": 856.32 }, - "alternativeCommodityNames": { + "specialRatingApplied": { "type": "array", - "description": "Specifies the alternate names of commodities.", - "example": [ - "Commodity1", - "Commodity2" - ], + "description": "Indicates which special rating cases applied to this shipment.", + "example": "Specialrating", "items": { - "type": "string", - "description": "Specifies the items." + "type": "string" } }, - "transitDays": { - "$ref": "#/components/schemas/TransitDays" - }, - "label": { - "type": "string", - "description": "This is an informational message to inform client Deliverydate is unavailable. If commitTimestamp and transitTime are unavailable, then this is populated in the response in the client language.", - "example": "Deliverydate unavailable" - }, - "commitMessageDetails": { - "type": "string", - "description": "Messages concerning the ability to provide an accurate delivery commitment on an International commit quote. These could be messages providing information about why a commitment could not be returned or a successful message.", - "example": "Message" - }, - "commodityName": { - "type": "string", - "description": "The Commodity applicable to this commitment.", - "example": "DOCUMENTS" - } - }, - "description": "The delivery commitment details" - }, - "Alert": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Specifies the API alert code.
    Example: SHIP.RECIPIENT.POSTALCITY.MISMATCH", - "example": "SHIP.RECIPIENT.POSTALCITY.MISMATCH" - }, - "alertType": { - "type": "string", - "description": "Specifies the API alert type.", - "example": "NOTE", - "enum": [ - "NOTE", - "WARNING" - ] - }, - "message": { - "type": "string", - "description": "Specifies the API alert message.
    Example: Recipient Postal-City Mismatch.", - "example": "Recipient Postal-City Mismatch." - } - }, - "description": "These are alert details received in the response." - }, - "ErrorResponseVO": { - "type": "object", - "properties": { - "transactionId": { - "type": "string", - "description": "The transaction ID is a special set of numbers that defines each transaction.
    Example: a9053a7d-6865-42ab-b323-4632db263ab4", - "example": "a9053a7d-6865-42ab-b323-4632db263ab4" + "totalSurcharges": { + "type": "number", + "description": "This is sum of all surcharges on the package. Example: 586.25", + "format": "double", + "example": 586.25 }, - "errors": { + "freightDiscount": { "type": "array", + "description": "This is total discount used in the rate calculation.
    Click here to see Discounts", "items": { - "$ref": "#/components/schemas/CXSError" + "$ref": "#/components/schemas/RateDiscount" } - } - } - }, - "CXSError": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Indicates the error code.
    Example: ACCOUNTNUMBER.REGISTRATION.REQUIRED, LOGIN.REAUTHENTICATE.ERROR, UNAUTHORIZED.USAGE, NOT.FOUND.ERROR, INTERNAL.SERVER.ERROR, SERVICE.UNAVAILABLE.ERROR" }, - "parameterList": { + "fuelSurchargePercent": { + "type": "number", + "description": "This is fuel surcharge percentage.", + "format": "double", + "example": 10.5 + }, + "totalBillingWeight": { + "description": "This is total of billing weight for the shipment.", + "$ref": "#/components/schemas/Weight" + }, + "totalDimWeight": { + "description": "This is total of dimensional weight for the shipment.", + "$ref": "#/components/schemas/Weight" + }, + "dimDivisor": { + "type": "integer", + "description": "Identifies the type of divisor applied.", + "format": "int32", + "example": 10 + }, + "surCharges": { "type": "array", + "description": "Indicates the surcharges applied to this shipment.", "items": { - "$ref": "#/components/schemas/Parameter" + "$ref": "#/components/schemas/Surcharge" } - }, - "message": { - "type": "string", - "description": "Indicates the description of API error alert message.
    Example: Please enter a valid 9-digit FedEx account number or register for a new FedEx account number.", - "example": "Please enter a valid 9-digit FedEx account number or register for a new FedEx account number." - } - }, - "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter." - }, - "Parameter": { - "type": "object", - "properties": { - "value": { - "type": "string", - "description": "Identifies the error option to be applied." - }, - "key": { - "type": "string", - "description": "Indicates the value associated with the key." } }, - "description": "List of parameters which indicates the properties of the alert message." + "description": "This is shipment level rate data." }, - "FreightRequestedShipment_Freight": { - "required": [ - "freightShipmentDetail", - "labelSpecification", - "packagingType", - "pickupType", - "recipient", - "requestedPackageLineItems", - "serviceType", - "shipper", - "shippingChargesPayment" - ], + "ShipmentRateDetail_2": { "type": "object", "properties": { - "shipDatestamp": { - "type": "string", - "description": "This is the shipment date. Default value is current date in case the date is not provided in the request.
    Format [YYYY-MM-DD].
    Example: 2019-10-14", - "example": "2019-10-14" - }, - "pickupType": { - "type": "string", - "description": "Indicate if shipment is being dropped off at a FedEx location or being picked up by FedEx or if it's a regularly scheduled pickup for this shipment.
    Click here for more information on Pickup Types.", - "example": "USE_SCHEDULED_PICKUP", - "enum": [ - "CONTACT_FEDEX TO_SCHEDULE", - "DROPOFF_AT_FEDEX_LOCATION", - "USE_SCHEDULED_PICKUP" - ] - }, - "serviceType": { + "rateZone": { "type": "string", - "description": "Indicate the Service Type for this shipment.", - "example": "FEDEX_FREIGHT_ECONOMY" + "description": "Indicates the rate zone used (based on origin and destination).
    Example: US001O", + "example": "US001O" }, - "packagingType": { + "ratedWeightMethod": { "type": "string", - "description": "Indicate the packaging type used for the shipment.", - "example": "YOUR_PACKAGING" + "description": "Indicates which weight was used.
    Example: ACTUAL", + "example": "ACTUAL" }, - "totalWeight": { - "type": "integer", - "description": "Indicate the shipment total weight in pounds.

    Example: 10.6", - "format": "int32", - "example": 20 + "totalDutiesTaxesAndFees": { + "type": "number", + "description": "The total of the total duties & taxes and the total ancillary fees & taxes.
    Example: 24.56", + "format": "double", + "example": 24.56 }, - "preferredCurrency": { + "pricingCode": { "type": "string", - "description": "Indicate the currency the caller requests to have used in all returned monetary values. Should be Used in conjunction with the element RateRequestType.
    Example: USD

    click here to see available Currency codes

    Note: Incorrect currency codes should not be supplied. The system ignores the incorrect currency code.", - "example": "USD" - }, - "shipper": { - "description": "Descriptive data identifying the party responsible for shipping the package. Shipper and Origin should have the same address.", - "example": { - "address": { - "streetLines": [ - "10 FedEx Parkway", - "Suite 302" - ], - "city": "Beverly Hills", - "stateOrProvinceCode": "CA", - "postalCode": "90210", - "countryCode": "US", - "residential": false - }, - "contact": { - "personName": "John Taylor", - "emailAddress": "sample@company.com", - "phoneNumber": "1234567890", - "phoneExtension": 91, - "companyName": "Fedex", - "faxNumber": "1234567", - "stateTaxId": "1234567", - "fedralTaxId": "11-N-1745" - }, - "tins": [ - { - "number": "123567", - "tinType": "FEDERAL", - "usage": "usage", - "effectiveDate": "2000-01-23T04:56:07.000+00:00", - "expirationDate": "2000-01-23T04:56:07.000+00:00" - } - ] - }, - "$ref": "#/components/schemas/ShipperParty" - }, - "recipient": { - "description": "The descriptive information for the recipient of the shipment and the physical location for the package destination.", - "example": { - "address": { - "streetLines": [ - "10 FedEx Parkway", - "Suite 302" - ], - "city": "Beverly Hills", - "stateOrProvinceCode": "CA", - "postalCode": "90210", - "countryCode": "US", - "residential": false - }, - "contact": { - "personName": "John Taylor", - "emailAddress": "sample@company.com", - "phoneNumber": "1234567890", - "phoneExtension": 91, - "companyName": "Fedex", - "faxNumber": "1234567", - "stateTaxId": "1234567", - "fedralTaxId": "11-N-1645" - }, - "tins": [ - { - "number": "123567", - "tinType": "FEDERAL", - "usage": "usage", - "effectiveDate": "2000-01-23T04:56:07.000+00:00", - "expirationDate": "2000-01-23T04:56:07.000+00:00" - } - ], - "deliveryInstructions": "delivery instructions" - }, - "$ref": "#/components/schemas/RecipientParty" + "description": "Specifies pricing Code.
    Example: PACKAGE", + "example": "LTL_FREIGHT" }, - "soldTo": { - "description": "Will indicate the party responsible for purchasing the goods shipped from the shipper to the recipient. The sold to party is not necessarily the recipient or the importer of record. The sold to party is relevant when the purchaser, rather than the recipient determines when certain customs regulations apply.", - "$ref": "#/components/schemas/SoldToParty" + "totalFreightDiscounts": { + "type": "number", + "description": "The total discounts used in the rate calculation.
    Example: 1.56", + "format": "double", + "example": 1.56 }, - "origin": { - "description": "Original address information for the shipment, if different from shipper\u2019s address.", - "$ref": "#/components/schemas/ContactAndAddress" + "totalTaxes": { + "type": "number", + "description": "Total of the transportation-based taxes.
    Example: 3.45", + "format": "double", + "example": 3.45 }, - "shippingChargesPayment": { - "$ref": "#/components/schemas/FreightPayment" + "totalDutiesAndTaxes": { + "type": "number", + "description": "Total of all values under this shipment's duties and taxes; only provided if estimated duties and taxes were calculated for this shipment.
    Example: 6.78", + "format": "double", + "example": 6.78 }, - "freightShipmentSpecialServices": { - "$ref": "#/components/schemas/FreightShipment2020SpecialServicesRequested" + "totalAncillaryFeesAndTaxes": { + "type": "number", + "description": "Identifies the total amount of the shipment-level fees and taxes that are not based on transportation charges or commodity-level estimated duties and taxes.
    Example: 5.67", + "format": "double", + "example": 5.67 }, - "emailNotificationDetail": { - "$ref": "#/components/schemas/EMailNotificationDetail" + "taxes": { + "type": "array", + "description": "All transportation-based taxes applicable to this shipment.", + "items": { + "type": "object", + "schema": { + "$ref": "#/components/schemas/Tax_2" + } + } }, - "freightShipmentDetail": { - "$ref": "#/components/schemas/Freight2020ShipmentDetail" + "totalRebates": { + "type": "number", + "description": "The total sum of all rebates applied to this shipment.
    Example: 1.98", + "format": "double", + "example": 1.98 }, - "variableHandlingChargeDetail": { - "$ref": "#/components/schemas/VariableHandlingChargeDetail" + "fuelSurchargePercent": { + "type": "number", + "description": "Specifies a fuel surcharge percentage.
    Example: 4.56", + "format": "double", + "example": 4.56 }, - "customsClearanceDetail": { - "$ref": "#/components/schemas/CustomsClearanceDetail" + "currencyExchangeRate": { + "$ref": "#/components/schemas/CurrencyExchangeRate" }, - "labelSpecification": { - "$ref": "#/components/schemas/LabelSpecification" + "totalNetFreight": { + "type": "number", + "description": "The freight charge minus discounts.
    Example: 9.56", + "format": "double", + "example": 9.56 }, - "shippingDocumentSpecification": { - "$ref": "#/components/schemas/LTLShippingDocumentSpecification" + "totalNetFedExCharge": { + "type": "number", + "description": "This is the sum of shipment's total net freight, total surchages (not including totalTaxes).
    Example: 88.56", + "format": "double", + "example": 88.56 }, - "rateRequestType": { + "shipmentLegRateDetails": { "type": "array", - "description": "Indicate the type of rates to be returned. The account specific rates are returned by default if the account number is specified in the request.
    Following are values:
    • LIST - Returns FedEx published list rates in addition to account-specific rates (if applicable).
    • INCENTIVE - This is one-time discount for incentivising the customer. For more information, contact your FedEx representative.
    • ACCOUNT - Returns account specific rates (Default).
    • PREFERRED - Returns rates in the preferred currency specified in the element preferredCurrency.
    • RETAIL - Returns customer rate from one of retail FedEx service centers.
    Examples: [\"ACCOUNT\", \"PREFERRED\"]", - "example": [ - "LIST", - "PREFERRED" - ], + "description": "This is data for a single leg of a shipment's total/summary rates, as calculated per a specific rate type.", "items": { - "type": "string", - "enum": [ - "LIST", - "NONE", - "PREFERRED", - "ACCOUNT", - "INCENTIVE", - "RETAIL" - ] + "$ref": "#/components/schemas/ShipmentLegRateDetail_2" } }, - "totalPackageCount": { + "dimDivisor": { "type": "integer", - "description": "For an MPS, this is the total number of packages in the shipment.
    Example: 25", + "description": "The value used to calculate the weight based on the dimensions.
    Example: 0", "format": "int32", - "example": 25 + "example": 0 }, - "masterTrackingId": { - "$ref": "#/components/schemas/TrackingId" + "rateType": { + "type": "string", + "description": "The Type used for this specific set of rate data.
    Example: RATED_ACCOUNT_SHIPMENT", + "example": "RATED_ACCOUNT_SHIPMENT" }, - "requestedPackageLineItems": { - "type": "array", - "description": "One or more package-attribute descriptions, each of which describes an individual package, a group of identical packages, or (for the total-piece-total-weight case) common characteristics of packages in the shipment. At least one array instance containing the weight for at least one package is required for EXPRESS and GROUND shipments. Not used for FREIGHT.
    Single piece requests will have one RequestedPackageLineItem.
    Multiple piece requests will have multiple RequestedPackageLineItems.
    Maximum occurrences is 99.", - "items": { - "$ref": "#/components/schemas/FreightRequestedPackageLineItem" - } - } - }, - "description": "The descriptive data for the FreightShipment being tendered to FedEx." - }, - "PartyAddress": { - "required": [ - "city", - "countryCode", - "stateOrProvinceCode", - "streetLines" - ], - "type": "object", - "properties": { - "streetLines": { + "surcharges": { "type": "array", - "description": "This is the combination of number, street name, etc. Maximum length per line is 35.
    Example: 10 FedEx Parkway, Suite 302.

    Note:

    • At least one line is required.
    • Streetlines more than 3 will be ignored.
    • Empty lines should not be included

    ", - "example": [ - "1550 Union Blvd", - "Suite 302" - ], + "description": "All surcharges that apply to this shipment.
    click here to see Surcharges", "items": { - "type": "string" + "$ref": "#/components/schemas/Surcharge_2" } }, - "city": { - "type": "string", - "description": "This is a placeholder for City Name.

    Note: This is conditional and not required in all the requests.

    Note: It is recommended for Express shipments for the most accurate ODA and OPA surcharges.

    Example: Beverly Hills", - "example": "Beverly Hills" - }, - "stateOrProvinceCode": { - "type": "string", - "description": "This is a placeholder for state or province code. State code is required for US, CA, PR and not required for other countries. Conditional. Max length is 2

    Example: CA.
    click here to see State or Province Code", - "example": "CA" - }, - "postalCode": { - "type": "string", - "description": "This is the postal code.

    Note: This is Optional for non postal-aware countries. Maximum length is 10.

    Example: 65247
    click here to see Postal aware countries", - "example": "90210" + "totalSurcharges": { + "type": "number", + "description": "The total amount of all surcharges applied to this shipment.
    Example: 9.88", + "format": "double", + "example": 9.88 }, - "countryCode": { - "type": "string", - "description": "This is the two-letter country code.

    Maximum length is 2.

    Example: US
    click here to see Country codes", - "example": "US" + "totalBillingWeight": { + "description": "The weight used to calculate these rates.", + "$ref": "#/components/schemas/Weight" }, - "residential": { - "type": "boolean", - "description": "Indicate whether this address is residential (as opposed to commercial).", - "example": false - } - }, - "description": "Specify detailed Billing Address information for above FedEx Freight Account Number. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US).", - "example": { - "streetLines": [ - "10 FedEx Parkway", - "Suite 302" - ], - "city": "Beverly Hills", - "stateOrProvinceCode": "CA", - "postalCode": "90210", - "countryCode": "US", - "residential": false - } - }, - "PartyAddress_2": { - "type": "object", - "properties": { - "streetLines": { + "freightDiscounts": { "type": "array", - "description": "This is the combination of number, street name, etc. Maximum length per line is 35.
    Example: 10 FedEx Parkway, Suite 302.

    Note:

    • At least one line is required.
    • Streetlines more than 3 will be ignored.
    • Empty lines should not be included

    ", - "example": [ - "1550 Union Blvd", - "Suite 302" - ], + "description": "Indicates the freight discounts.", "items": { - "type": "string" + "$ref": "#/components/schemas/RateDiscount_2" } }, - "city": { - "type": "string", - "description": "This is a placeholder for City Name.

    Example: Beverly Hills", - "example": "Beverly Hills" - }, - "stateOrProvinceCode": { + "rateScale": { "type": "string", - "description": "This is a placeholder for State or Province code.State code is required for US, CA, PR and not required for other countries. Conditional. Max length is 2

    Example: CA.
    click here to see State or Province Code", - "example": "CA" + "description": "Indicates the rate scale used.
    Example: 00000", + "example": "00000" }, - "postalCode": { - "type": "string", - "description": "This is the Postal code.

    This is Optional for non postal-aware countries.
    Maximum length is 10.

    Example: 65247
    click here to see Postal aware countries", - "example": "90210" + "totalNetCharge": { + "type": "number", + "description": "The net charge after applying all discounts and surcharges.
    Example: 3.78", + "format": "double", + "example": 3.78 }, - "countryCode": { - "type": "string", - "description": "This is the two-letter country code.

    Maximum length is 2.
    Example: US
    click here to see Country codes", - "example": "US" + "totalBaseCharge": { + "type": "number", + "description": "The total Shipment charge that was calculated before surcharges, discounts and taxes.
    Example: 234.56", + "format": "double", + "example": 234.56 }, - "residential": { - "type": "boolean", - "description": "Indicate whether this address is residential (as opposed to commercial).", - "example": false + "totalNetChargeWithDutiesAndTaxes": { + "type": "number", + "description": "This is the sum of shipment's total net charges and total duties and taxes; only provided if estimated duties and taxes were calculated for this shipment AND duties, taxes and transportation charges are all paid by the same sender account.
    Example: 222.56", + "format": "double", + "example": 222.56 }, - "geographicCoordinates": { + "currency": { "type": "string", - "description": "Indicates the geographic coordinates.
    example: geographicCoordinates", - "example": "geographicCoordinates" + "description": "Indicates the currency code.
    click here to see Currency Codes", + "example": "USD" } }, - "description": "This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US).", - "example": { - "streetLines": [ - "10 FedEx Parkway", - "Suite 302" - ], - "city": "Beverly Hills", - "stateOrProvinceCode": "CA", - "postalCode": "90210", - "countryCode": "US", - "residential": false - } + "description": "This is a placeholder for shipment total/summary rates details, as calculated per a specific rate type. The totals may differ from the sum of corresponding package data for Multiweight or Express MPS." }, - "PartyContact": { + "BrokerDetail": { "required": [ - "phoneNumber" + "broker", + "type" ], "type": "object", "properties": { - "personName": { - "type": "string", - "description": "Specify contact name. Maximum length is 70.
    Note: Either the companyName or personName is mandatory.
    Example: John Taylor", - "example": "John Taylor" - }, - "emailAddress": { - "type": "string", - "description": "Specify contact email address. Maximum length is 80.
    Example: sample@company.com", - "example": "sample@company.com" - }, - "phoneExtension": { - "type": "string", - "description": "Specify contact phone extension. Maximum length is 6.
    Example: 1234", - "example": "91" - }, - "phoneNumber": { - "type": "string", - "description": "Specify contact phone number.

    Minimum length is 10 and supports Maximum as 15 for certain countries using longer phone numbers.
    Note: Recommended Maximum length is 15 and there's no specific validation will be done for the phone number.
    Example: 918xxxxx890", - "example": "1234567890" + "broker": { + "$ref": "#/components/schemas/Party" }, - "companyName": { - "type": "string", - "description": "Specify contact company name. Maximum length is 35.
    Note: Either the companyName or personName is mandatory.", - "example": "Fedex" - } - }, - "description": "Indicate the contact details for this shipment.", - "example": { - "personName": "John Taylor", - "emailAddress": "sample@company.com", - "phoneExtension": "91", - "phoneNumber": "1234567890", - "companyName": "Fedex" - } - }, - "PartyContact_2": { - "type": "object", - "properties": { - "personName": { + "type": { "type": "string", - "description": "Specify contact name. Maximum length is 70.
    Example: John Taylor", - "example": "John Taylor" + "description": "This is Broker Type.", + "example": "EXPORT", + "enum": [ + "EXPORT", + "IMPORT" + ] }, - "emailAddress": { + "brokerCommitTimestamp": { "type": "string", - "description": "Specify contact email address. Maximum length is 80.
    Example: sample@company.com", - "example": "sample@company.com" + "description": "This is the delivery commitment date/time the shipment will arrive at the border.
    Example: 2019-07-22", + "example": "2019-07-22" }, - "phoneExtension": { + "brokerCommitDayOfWeek": { "type": "string", - "description": "Specify contact phone extension. Maximum length is 6.
    Example: 1234", - "example": "91" + "description": "This is the delivery commitment day of the week the shipment will arrive at the border.
    Example: SUNDAY", + "example": "SUNDAY" }, - "phoneNumber": { + "brokerLocationId": { "type": "string", - "description": "Specify contact phone number.

    Minimum length is 10 and supports Maximum as 15 for certain countries using longer phone numbers.
    Note: Recommended Maximum length is 15 and there's no specific validation will be done for the phone number.
    Example: 918xxxxx890", - "example": "1234567890" + "description": "This is the FedEx location identifier for the broker.
    Example: HKAA", + "example": "brokerLocationId" }, - "companyName": { - "type": "string", - "description": "Specify contact company name.

    Recommended length is 35.

    Note: There's no specific validation for the company name.", - "example": "Fedex" + "brokerAddress": { + "$ref": "#/components/schemas/Brokeraddress" }, - "faxNumber": { - "type": "string", - "description": "Specify contact person's fax number. Maximum length is 15." + "brokerToDestinationDays": { + "type": "integer", + "description": "These are number of days it will take for the shipment to make it from broker.
    Example: 10", + "format": "int32", + "example": 10 } }, - "description": "Indicate the contact details for this shipment.", - "example": { - "personName": "John Taylor", - "emailAddress": "sample@company.com", - "phoneExtension": "91", - "phoneNumber": "1234567890", - "companyName": "Fedex" - } + "description": "These are Broker Detail for the rate quote." }, - "Payor": { + "BrokerDetail_2": { "type": "object", "properties": { - "responsibleParty": { + "broker": { + "description": "These are broker details for the shipment with physical address, contact and account number information.", "$ref": "#/components/schemas/Party_2" + }, + "type": { + "type": "string", + "description": "Identifies the type of broker.", + "example": "IMPORT", + "enum": [ + "IMPORT" + ] } }, - "description": "Information about the person who is paying for the shipment. Not applicable for credit card payment. ", + "description": "These are broker details for the shipment.", "example": { - "responsibleParty": { + "broker": { "address": { "streetLines": [ "10 FedEx Parkway", @@ -9831,7 +10004,7 @@ ], "city": "Beverly Hills", "stateOrProvinceCode": "CA", - "postalCode": "38127", + "postalCode": "90210", "countryCode": "US", "residential": false }, @@ -9839,21 +10012,14 @@ "personName": "John Taylor", "emailAddress": "sample@company.com", "phoneNumber": "1234567890", - "phoneExtension": "phone extension", + "phoneExtension": 91, "companyName": "Fedex", - "faxNumber": "fax number" + "faxNumber": 1234567 }, "accountNumber": { "value": "Your account number" }, "tins": [ - { - "number": "number", - "tinType": "FEDERAL", - "usage": "usage", - "effectiveDate": "2000-01-23T04:56:07.000+00:00", - "expirationDate": "2000-01-23T04:56:07.000+00:00" - }, { "number": "number", "tinType": "FEDERAL", @@ -9861,296 +10027,300 @@ "effectiveDate": "2000-01-23T04:56:07.000+00:00", "expirationDate": "2000-01-23T04:56:07.000+00:00" } - ] - } - } - }, - "Payment": { - "type": "object", - "properties": { - "payor": { - "$ref": "#/components/schemas/Payor" - }, - "billingDetails": { - "$ref": "#/components/schemas/BillingDetails" - }, - "paymentType": { - "type": "string", - "description": "This is a payment type, basically indicates who is the payor for the shipment.
    Required for Express and Ground.
    The payment type COLLECT is applicable only for Ground shipments.", - "enum": [ - "SENDER", - "RECIPIENT", - "THIRD_PARTY", - "COLLECT" - ] - } - }, - "description": "This is a payment type, basically indicates who is the payor for the shipment.Conditional required for International Shipments", - "example": { - "payor": { - "responsibleParty": { - "address": { - "streetLines": [ - "10 FedEx Parkway", - "Suite 302" - ], - "city": "Beverly Hills", - "stateOrProvinceCode": "CA", - "postalCode": "38127", - "countryCode": "US", - "residential": false - }, - "contact": { - "personName": "John Taylor", - "emailAddress": "sample@company.com", - "phoneNumber": "1234567890", - "phoneExtension": "phone extension", - "companyName": "Fedex", - "faxNumber": "fax number" - }, - "accountNumber": { - "value": "Your account number" - }, - "tins": [ - { - "number": "number", - "tinType": "FEDERAL", - "usage": "usage", - "effectiveDate": "2000-01-23T04:56:07.000+00:00", - "expirationDate": "2000-01-23T04:56:07.000+00:00" - }, - { - "number": "number", - "tinType": "FEDERAL", - "usage": "usage", - "effectiveDate": "2000-01-23T04:56:07.000+00:00", - "expirationDate": "2000-01-23T04:56:07.000+00:00" - } - ] - } - }, - "billingDetails": { - "billingCode": "billingCode", - "billingType": "billingType", - "aliasId": "aliasId", - "accountNickname": "accountNickname", - "accountNumber": "Your account number", - "accountNumberCountryCode": "US" + ], + "deliveryInstructions": "deliveryInstructions" }, - "paymentType": "SENDER" + "type": "IMPORT" } }, - "DocTabContentZone": { + "PartyAddress": { + "required": [ + "city", + "countryCode", + "stateOrProvinceCode", + "streetLines" + ], "type": "object", "properties": { - "docTabZoneSpecifications": { + "streetLines": { "type": "array", - "description": "Indicate the doc tab specifications for the individual doc tab zone on the label.", + "description": "This is the combination of number, street name, etc. Maximum length per line is 35.
    Example: 10 FedEx Parkway, Suite 302.

    Note:

    • At least one line is required.
    • Streetlines more than 3 will be ignored.
    • Empty lines should not be included

    ", + "example": [ + "1550 Union Blvd", + "Suite 302" + ], "items": { - "$ref": "#/components/schemas/DocTabZoneSpecification" + "type": "string" } - } - }, - "description": "Indicate the doc tab specification for different zones on the label. The specification includes zone number, header and data field to be displayed on the label." - }, - "HazardousCommodityQuantityDetail": { - "required": [ - "amount", - "quantityType" - ], - "type": "object", - "properties": { - "quantityType": { + }, + "city": { "type": "string", - "description": "Specifies which measure of quantity is to be validated.", - "example": "NET", - "enum": [ - "GROSS", - "NET" - ] + "description": "This is a placeholder for City Name.

    Note: This is conditional and not required in all the requests.

    Note: It is recommended for Express shipments for the most accurate ODA and OPA surcharges.

    Example: Beverly Hills", + "example": "Beverly Hills" }, - "amount": { - "type": "number", - "description": "Number of units of the type below.
    Example: 34.56", - "format": "double", - "example": 34.56 + "stateOrProvinceCode": { + "type": "string", + "description": "This is a placeholder for state or province code. State code is required for US, CA, PR and not required for other countries. Conditional. Max length is 2

    Example: CA.
    click here to see State or Province Code", + "example": "CA" }, - "units": { + "postalCode": { "type": "string", - "description": "Specifies the units.
    Example: KG", - "example": "Kg" + "description": "This is the postal code.

    Note: This is Optional for non postal-aware countries. Maximum length is 10.

    Example: 65247
    click here to see Postal aware countries", + "example": "90210" + }, + "countryCode": { + "type": "string", + "description": "This is the two-letter country code.

    Maximum length is 2.

    Example: US
    click here to see Country codes", + "example": "US" + }, + "residential": { + "type": "boolean", + "description": "Indicate whether this address is residential (as opposed to commercial).", + "example": false } }, - "description": "Indicates the Hazardous Commodity Quantity Detail." + "description": "Specify detailed Billing Address information for above FedEx Freight Account Number. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US).", + "example": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + } }, - "HazardousCommodityContent": { + "PartyAddress_2": { "type": "object", "properties": { - "quantity": { - "$ref": "#/components/schemas/HazardousCommodityQuantityDetail" - }, - "innerReceptacles": { + "streetLines": { "type": "array", - "description": "Specifies the inner receptacles within the container.", + "description": "This is the combination of number, street name, etc. Maximum length per line is 35.
    Example: 10 FedEx Parkway, Suite 302.

    Note:

    • At least one line is required.
    • Streetlines more than 3 will be ignored.
    • Empty lines should not be included

    ", + "example": [ + "1550 Union Blvd", + "Suite 302" + ], "items": { - "$ref": "#/components/schemas/HazardousCommodityInnerReceptacleDetail" + "type": "string" } }, - "options": { - "$ref": "#/components/schemas/HazardousCommodityOptionDetail" + "city": { + "type": "string", + "description": "This is a placeholder for City Name.

    Example: Beverly Hills", + "example": "Beverly Hills" }, - "description": { - "$ref": "#/components/schemas/HazardousCommodityDescription" - } - }, - "description": "Customer-provided specifications for handling individual commodities." - }, - "HazardousCommodityInnerReceptacleDetail": { - "type": "object", - "properties": { - "quantity": { - "$ref": "#/components/schemas/HazardousCommodityQuantityDetail" - } - } - }, - "HazardousCommodityOptionDetail": { - "type": "object", - "properties": { - "labelTextOption": { + "stateOrProvinceCode": { "type": "string", - "description": "Indicates the label text option.", - "enum": [ - "APPEND", - "OVERRIDE", - "STANDARD" - ] + "description": "This is a placeholder for State or Province code.State code is required for US, CA, PR and not required for other countries. Conditional. Max length is 2

    Example: CA.
    click here to see State or Province Code", + "example": "CA" + }, + "postalCode": { + "type": "string", + "description": "This is the Postal code.

    This is Optional for non postal-aware countries.
    Maximum length is 10.

    Example: 65247
    click here to see Postal aware countries", + "example": "90210" }, - "customerSuppliedLabelText": { + "countryCode": { "type": "string", - "description": "'DG Data Upload Mode:- Optional.,DG Full Validation Mode:- Optional,Text used in labeling the commodity under control of the LabelTextOption field
    Example:Customer Supplied Label Text' \n\n", - "example": "Customer Supplied Label Text." + "description": "This is the two-letter country code.

    Maximum length is 2.
    Example: US
    click here to see Country codes", + "example": "US" + }, + "residential": { + "type": "boolean", + "description": "Indicate whether this address is residential (as opposed to commercial).", + "example": false + }, + "geographicCoordinates": { + "type": "string", + "description": "Indicates the geographic coordinates.
    example: geographicCoordinates", + "example": "geographicCoordinates" } }, - "description": "Indicates details of hazardous commodity option detail." + "description": "This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US).", + "example": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + } }, - "HazardousCommodityDescription": { + "PartyContact": { "required": [ - "packingGroup", - "reportableQuantity" + "phoneNumber" ], "type": "object", "properties": { - "sequenceNumber": { - "type": "integer", - "description": "Required
    Specify the sequence number.
    Example: 9812", - "format": "int32", - "example": 9812 - }, - "processingOptions": { - "type": "array", - "description": "Indicates any special processing options to be applied to the description of the dangerous goods commodity
    Example: [\"INCLUDE_SPECIAL_PROVISIONS\"]", - "items": { - "type": "string", - "example": "INCLUDE_SPECIAL_PROVISIONS", - "enum": [ - "INCLUDE_SPECIAL_PROVISIONS" - ] - } - }, - "subsidiaryClasses": { - "type": "array", - "description": "Required\n\nIndicates list of subsidiary classes
    Example: [\"Subsidiary Classes\"]", - "example": [ - "Subsidiary Classes" - ], - "items": { - "type": "string" - } - }, - "labelText": { + "personName": { "type": "string", - "description": "Specifies the text for the label.", - "example": "labelText" + "description": "Specify contact name. Maximum length is 70.
    Note: Either the companyName or personName is mandatory.
    Example: John Taylor", + "example": "John Taylor" }, - "technicalName": { + "emailAddress": { "type": "string", - "description": "Specifies the technical name for the hazardous material.", - "example": "technicalName" + "description": "Specify contact email address. Maximum length is 80.
    Example: sample@company.com", + "example": "sample@company.com" }, - "packingDetails": { - "$ref": "#/components/schemas/HazardousCommodityPackingDetail" + "phoneExtension": { + "type": "string", + "description": "Specify contact phone extension. Maximum length is 6.
    Example: 1234", + "example": "91" }, - "authorization": { + "phoneNumber": { "type": "string", - "description": "Information related to quantity limitations and operator or state variations as may be applicable to the dangerous goods commodity.", - "example": "authorization" + "description": "Specify contact phone number.

    Minimum length is 10 and supports Maximum as 15 for certain countries using longer phone numbers.
    Note: Recommended Maximum length is 15 and there's no specific validation will be done for the phone number.
    Example: 918xxxxx890", + "example": "1234567890" }, - "reportableQuantity": { - "type": "boolean", - "description": "Reportable Quantity", - "example": true, - "enum": [ - true, - false - ] + "companyName": { + "type": "string", + "description": "Specify contact company name. Maximum length is 35.
    Note: Either the companyName or personName is mandatory.", + "example": "Fedex" + } + }, + "description": "Indicate the contact details for this shipment.", + "example": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "91", + "phoneNumber": "1234567890", + "companyName": "Fedex" + } + }, + "PartyContact_2": { + "type": "object", + "properties": { + "personName": { + "type": "string", + "description": "Specify contact name. Maximum length is 70.
    Example: John Taylor", + "example": "John Taylor" }, - "percentage": { - "type": "number", - "description": "Percentage
    Example: 12.45", - "format": "double", - "example": 12.45 + "emailAddress": { + "type": "string", + "description": "Specify contact email address. Maximum length is 80.
    Example: sample@company.com", + "example": "sample@company.com" }, - "id": { + "phoneExtension": { "type": "string", - "description": "ID
    Example: 123", - "example": "123" + "description": "Specify contact phone extension. Maximum length is 6.
    Example: 1234", + "example": "91" }, - "packingGroup": { + "phoneNumber": { "type": "string", - "description": "Identifies DOT packing group for a hazardous commodity", - "example": "I", - "enum": [ - "DEFAULT", - "I", - "II", - "III" - ] + "description": "Specify contact phone number.

    Minimum length is 10 and supports Maximum as 15 for certain countries using longer phone numbers.
    Note: Recommended Maximum length is 15 and there's no specific validation will be done for the phone number.
    Example: 918xxxxx890", + "example": "1234567890" }, - "properShippingName": { + "companyName": { "type": "string", - "description": "The proper shipping name as defined by the regulation. The name can also include qualifying words
    Example: properShippingName", - "example": "properShippingName" + "description": "Specify contact company name.

    Recommended length is 35.

    Note: There's no specific validation for the company name.", + "example": "Fedex" }, - "hazardClass": { + "faxNumber": { "type": "string", - "description": "Specifies the hazard class for the commodity
    Example: hazard Class\n", - "example": "hazard Class" + "description": "Specify contact person's fax number. Maximum length is 15." } }, - "description": "Required
    Details of hazardous commodity description." + "description": "Indicate the contact details for this shipment.", + "example": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "91", + "phoneNumber": "1234567890", + "companyName": "Fedex" + } }, - "HazardousCommodityPackingDetail": { + "Payor": { "required": [ - "cargoAircraftOnly" + "responsibleParty" ], "type": "object", "properties": { - "packingInstructions": { - "type": "string", - "description": "Coded specification for how commodity is to be packed.
    Example: packing Instructions", - "example": "packing Instructions" - }, - "cargoAircraftOnly": { - "type": "boolean", - "description": "Shipment is packaged/documented for movement ONLY on cargo aircraft", - "example": true, - "enum": [ - true, - false - ] + "responsibleParty": { + "$ref": "#/components/schemas/ResponsiblePartyParty" } }, - "description": "Specifies documentation and limits for validation of an individual packing group/category. DG Data Upload Mode: Required (IATA), Optional (Other), DG Full Validation Mode: Required (IATA), Optional (Other)," + "description": "Indicate the payer Information responsible for paying for the shipment.
    Note: credit card payment is not applicable.
    Optional when paymentType is SENDER.", + "example": { + "responsibleParty": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneNumber": "XXXX567890", + "phoneExtension": "phone extension", + "companyName": "Fedex", + "faxNumber": "fax number" + }, + "accountNumber": { + "value": "Your account number" + } + } + } + }, + "Payor_2": { + "type": "object", + "properties": { + "responsibleParty": { + "$ref": "#/components/schemas/Party_3" + } + }, + "description": "Information about the person who is paying for the shipment. Not applicable for credit card payment. ", + "example": { + "responsibleParty": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "38127", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneNumber": "1234567890", + "phoneExtension": "phone extension", + "companyName": "Fedex", + "faxNumber": "fax number" + }, + "accountNumber": { + "value": "Your account number" + }, + "tins": [ + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + }, + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ] + } + } } } }, diff --git a/resources/models/global-trade/v1.json b/resources/models/global-trade/v1.json index bc2de699..bf0183fe 100644 --- a/resources/models/global-trade/v1.json +++ b/resources/models/global-trade/v1.json @@ -868,6 +868,26 @@ }, "description": "List of parameters which indicates the properties of the alert message." }, + "CXSError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.
    Example: INTERNAL.SERVER.ERROR" + }, + "parameterList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Parameter" + } + }, + "message": { + "description": "Indicates the description of API error alert message.
    Example: We encountered an unexpected error and are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time.", + "type": "string" + } + }, + "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" + }, "ErrorResponseVO": { "type": "object", "properties": { @@ -906,26 +926,6 @@ } }, "description": "This holds the error responses." - }, - "CXSError": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Indicates the error code.
    Example: INTERNAL.SERVER.ERROR" - }, - "parameterList": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Parameter" - } - }, - "message": { - "description": "Indicates the description of API error alert message.
    Example: We encountered an unexpected error and are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time.", - "type": "string" - } - }, - "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" } } }, diff --git a/resources/models/ground-eod-close/v1.json b/resources/models/ground-eod-close/v1.json index b86c7337..74e7d659 100644 --- a/resources/models/ground-eod-close/v1.json +++ b/resources/models/ground-eod-close/v1.json @@ -749,6 +749,27 @@ } } }, + "CXSError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.
    Example: SERVICE.UNAVAILABLE.ERROR" + }, + "parameterList": { + "type": "array", + "description": "Specifies list of parameters.", + "items": { + "$ref": "#/components/schemas/Parameter" + } + }, + "message": { + "description": "Indicates the description of API error alert message.
    Example: The service is currently unavailable and we are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time.", + "type": "string" + } + }, + "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" + }, "ErrorResponseVO": { "type": "object", "properties": { @@ -785,27 +806,6 @@ } } } - }, - "CXSError": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Indicates the error code.
    Example: SERVICE.UNAVAILABLE.ERROR" - }, - "parameterList": { - "type": "array", - "description": "Specifies list of parameters.", - "items": { - "$ref": "#/components/schemas/Parameter" - } - }, - "message": { - "description": "Indicates the description of API error alert message.
    Example: The service is currently unavailable and we are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time.", - "type": "string" - } - }, - "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" } } }, diff --git a/resources/models/locations-search/v1.json b/resources/models/locations-search/v1.json index 20947e66..242aca93 100644 --- a/resources/models/locations-search/v1.json +++ b/resources/models/locations-search/v1.json @@ -1636,6 +1636,26 @@ }, "description": "List of parameters which indicates the properties of the alert message." }, + "CXSError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.
    Example: SERVICE.UNAVAILABLE.ERROR" + }, + "parameterList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Parameter" + } + }, + "message": { + "description": "Indicates the description of API error alert message.
    Example: The service is currently unavailable and we are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time.", + "type": "string" + } + }, + "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" + }, "ErrorResponseVO": { "type": "object", "properties": { @@ -1672,26 +1692,6 @@ } } } - }, - "CXSError": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Indicates the error code.
    Example: SERVICE.UNAVAILABLE.ERROR" - }, - "parameterList": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Parameter" - } - }, - "message": { - "description": "Indicates the description of API error alert message.
    Example: The service is currently unavailable and we are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time.", - "type": "string" - } - }, - "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" } } }, diff --git a/resources/models/open-ship/v1.json b/resources/models/open-ship/v1.json index 1d63a324..5f2e437a 100644 --- a/resources/models/open-ship/v1.json +++ b/resources/models/open-ship/v1.json @@ -2454,6 +2454,44 @@ "deliveryInstructions": "Delivery Instructions" } }, + "ResponsiblePartyParty": { + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/PartyAddress" + }, + "contact": { + "$ref": "#/components/schemas/PartyContact" + }, + "accountNumber": { + "$ref": "#/components/schemas/PartyAccountNumber" + } + }, + "description": "Indicate the payer Information responsible for paying for the shipment.
    Note: ResponsibleParty accountNumber is required for ACCOUNT based services.", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "000", + "phoneNumber": "XXXX345671", + "companyName": "FedEx" + }, + "accountNumber": { + "value": "Your account number" + } + } + }, "PartyAccountNumber": { "type": "object", "properties": { @@ -6446,7 +6484,7 @@ ] }, "producer": { - "$ref": "#/components/schemas/Party_2" + "$ref": "#/components/schemas/Party_3" }, "blanketPeriod": { "$ref": "#/components/schemas/RetrieveDateRange" @@ -6518,7 +6556,7 @@ ] }, "producer": { - "$ref": "#/components/schemas/Party_2" + "$ref": "#/components/schemas/Party_3" }, "certifierJobTitle": { "type": "string", @@ -7905,53 +7943,42 @@ } } }, - "PartyAddress": { + "Address": { "required": [ - "city", "countryCode", - "stateOrProvinceCode", "streetLines" ], "type": "object", "properties": { "streetLines": { "type": "array", - "description": "This is the combination of number, street name, etc. Maximum length per line is 35.
    Example: 10 FedEx Parkway, Suite 302.

    Note:

    • At least one line is required.
    • Streetlines more than 3 will be ignored.
    • Empty lines should not be included
    • For SmartPost Shipments, only 30 characters from the individual street lines will be printed on the labels.

    ", - "example": [ - "1550 Union Blvd", - "Suite 302" - ], + "description": "This is the combination of number, street name, etc.
    Note: At least one line is required and streetlines more than 3 will be ignored. Empty lines should not be included. Maximum length per line is 35.
    Example: [10 FedEx Parkway, Suite 302, .etc.]", "items": { "type": "string" } }, "city": { "type": "string", - "description": "This is a placeholder for City Name.

    Note: This is conditional and not required in all the requests.

    Note: It is recommended for Express shipments for the most accurate ODA and OPA surcharges.

    Example: Beverly Hills", - "example": "Beverly Hills" + "description": "This is a placeholder for City Name.

    Note: This is conditional and not required in all the requests.

    Note: It is recommended for Express shipments for the most accurate ODA and OPA surcharges.

    Example: Beverly Hills" }, "stateOrProvinceCode": { "type": "string", - "description": "This is a placeholder for state or province code.State code is required for US, CA, PR and not required for other countries. Conditional. Max length is 2.

    Example: CA.
    click here to see State or Province Code", - "example": "CA" + "description": "This is a placeholder for State or Province code. State code is required for US, CA, PR and not required for other countries. Conditional. Max length is 2.

    Example: CA
    click here to see State or Province Code" }, "postalCode": { "type": "string", - "description": "This is the postal code.

    Note: This is Optional for non postal-aware countries. Maximum length is 10.

    Example: 65247
    click here to see Postal aware countries", - "example": "90210" + "description": "Indicate the Postal code. This is Optional for non postal-aware countries. Maximum length is 10.
    Example: 65247
    click here to see Postal aware countries" }, "countryCode": { "type": "string", - "description": "This is the two-letter country code.

    Maximum length is 2.

    Example: US
    click here to see Country codes", - "example": "US" + "description": "This is the two-letter country code.

    Maximum length is 2.
    Example: US
    click here to see Country codes" }, "residential": { "type": "boolean", - "description": "Indicate whether this address is residential (as opposed to commercial).", - "example": false + "description": "Indicate whether this address is residential (as opposed to commercial)." } }, - "description": "This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US).", + "description": "Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of \"address parts\" which should be handled as a unit (such as a city-state-ZIP combination within the US).", "example": { "streetLines": [ "10 FedEx Parkway", @@ -7959,169 +7986,368 @@ ], "city": "Beverly Hills", "stateOrProvinceCode": "CA", - "postalCode": "90210", + "postalCode": "38127", "countryCode": "US", "residential": false } }, - "PartyAddress_2": { + "UploadDocumentReferenceDetail": { "type": "object", "properties": { - "streetLines": { - "type": "array", - "description": "This is the combination of number, street name, etc. Maximum length per line is 35.
    Example: 10 FedEx Parkway, Suite 302.

    Note:

    • At least one line is required.
    • Streetlines more than 3 will be ignored.
    • Empty lines should not be included
    • For SmartPost Shipments, only 30 characters from the individual street lines will be printed on the labels.

    ", - "example": [ - "1550 Union Blvd", - "Suite 302" - ], - "items": { - "type": "string" - } - }, - "city": { - "type": "string", - "description": "This is a placeholder for City Name.

    Example: Beverly Hills", - "example": "Beverly Hills" - }, - "stateOrProvinceCode": { + "documentType": { "type": "string", - "description": "This is a placeholder for State or Province code. State code is required for US, CA, PR and not required for other countries. Conditional. Max length is 2.

    Example: CA.
    click here to see State or Province Code", - "example": "CA" + "description": "This is the uploaded document type.", + "example": "PRO_FORMA_INVOICE", + "enum": [ + "CERTIFICATE_OF_ORIGIN", + "COMMERCIAL_INVOICE", + "ETD_LABEL", + "USMCA_CERTIFICATION_OF_ORIGIN", + "NET_RATE_SHEET", + "OTHER", + "PRO_FORMA_INVOICE", + "USMCA_COMMERCIAL_INVOICE_CERTIFICATION_OF_ORIGIN" + ] }, - "postalCode": { + "documentReference": { "type": "string", - "description": "This is the Postal code.

    This is Optional for non postal-aware countries.
    Maximum length is 10.

    Example: 65247
    click here to see Postal aware countries", - "example": "90210" + "description": "Specify the reference for the uploaded document.
    Example: Reference", + "example": "DocumentReference" }, - "countryCode": { + "description": { "type": "string", - "description": "This is the two-letter country code.

    Maximum length is 2.
    Example: US
    click here to see Country codes", - "example": "US" - }, - "residential": { - "type": "boolean", - "description": "Indicate whether this address is residential (as opposed to commercial).", - "example": false + "description": "This is the document description of the attached document.
    Example: PRO FORMA INVOICE", + "example": "PRO FORMA INVOICE" }, - "geographicCoordinates": { + "documentId": { "type": "string", - "description": "Indicates the geographic coordinates.
    example: geographicCoordinates", - "example": "geographicCoordinates" + "description": "This is the uploaded document ID value.
    Example: 090927d680038c61", + "example": "090927d680038c61" } }, - "description": "This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US).", - "example": { - "streetLines": [ - "10 FedEx Parkway", - "Suite 302" - ], - "city": "Beverly Hills", - "stateOrProvinceCode": "CA", - "postalCode": "90210", - "countryCode": "US", - "residential": false - } + "description": "Specify the document upload reference details." }, - "PartyContact": { + "Weight": { "required": [ - "phoneNumber" + "units", + "value" ], "type": "object", "properties": { - "personName": { - "type": "string", - "description": "Specify contact name. Maximum length is 70.
    Note: Either the companyName or personName is mandatory.
    Example: John Taylor", - "example": "John Taylor" - }, - "emailAddress": { - "type": "string", - "description": "Specify contact email address. Maximum length is 80.
    Example: sample@company.com", - "example": "sample@company.com" - }, - "phoneExtension": { - "type": "string", - "description": "Specify contact phone extension. Maximum length is 6.
    Example: 1234", - "example": "91" - }, - "phoneNumber": { + "units": { "type": "string", - "description": "Specify contact phone number.

    Minimum length is 10 and supports Maximum as 15 for certain countries using longer phone numbers.
    Note: Recommended Maximum length is 15 and there's no specific validation will be done for the phone number.
    Example: 918xxxxx890", - "example": "1234567890" + "description": "Indicate the weight unit type. The package and commodity weight unit should be the same else the request will result in an error.", + "example": "KG", + "enum": [ + "KG" + ] }, - "companyName": { - "type": "string", - "description": "Specify contact company name. Maximum length is 35.
    Note: Either the companyName or personName is mandatory.", - "example": "Fedex" + "value": { + "type": "number", + "description": "Weight Value.
    Example: 68.25
    Click here to see Weight Values", + "format": "double", + "example": 68.25 } }, - "description": "Indicate the contact details for this shipment.", + "description": "These are the package weight details.
    Note: Weight is not required for One rate shipments", "example": { - "personName": "John Taylor", - "emailAddress": "sample@company.com", - "phoneExtension": "91", - "phoneNumber": "1234567890", - "companyName": "Fedex" + "units": "KG", + "value": 68 } }, - "PartyContact_2": { + "PhoneNumber": { "type": "object", "properties": { - "personName": { - "type": "string", - "description": "Specify contact name. Maximum length is 70.
    Example: John Taylor", - "example": "John Taylor" - }, - "emailAddress": { - "type": "string", - "description": "Specify contact email address. Maximum length is 80.
    Example: sample@company.com", - "example": "sample@company.com" - }, - "phoneExtension": { + "areaCode": { "type": "string", - "description": "Specify contact phone extension. Maximum length is 6.
    Example: 1234", - "example": "91" + "description": "Indicate the area code for the phone number." }, - "phoneNumber": { + "localNumber": { "type": "string", - "description": "Specify contact phone number.

    Minimum length is 10 and supports Maximum as 15 for certain countries using longer phone numbers.
    Note: Recommended Maximum length is 15 and there's no specific validation will be done for the phone number.
    Example: 918xxxxx890", - "example": "1234567890" + "description": "Indicate the local phone number for contacting in the event of an emergency. Maximum length is 10." }, - "companyName": { + "extension": { "type": "string", - "description": "Specify contact company name.

    Recommended length is 35.

    Note: There's no specific validation for the company name.", - "example": "Fedex" + "description": "Indicate the extension for the phone number." }, - "faxNumber": { + "personalIdentificationNumber": { "type": "string", - "description": "Specify contact person's fax number. Maximum length is 15." + "description": "Indicate the Personal Identification Number associated with the phone number." } }, - "description": "Indicate the contact details for this shipment.", + "description": "Indicate the phone number. Only numeric values allowed.
    Note that phoneNumber is mandatory when homedeliveryPremiumType is DATE_CERTAIN or EVENING.", "example": { - "personName": "John Taylor", - "emailAddress": "sample@company.com", - "phoneExtension": "91", - "phoneNumber": "1234567890", - "companyName": "Fedex" + "areaCode": "901", + "localNumber": "3575012", + "extension": "200", + "personalIdentificationNumber": "98712345" } }, - "ContactAndAddress": { + "CustomerReference": { "type": "object", "properties": { - "contact": { - "$ref": "#/components/schemas/Contact" + "customerReferenceType": { + "type": "string", + "description": "This is a customer reference type. The value specified here for the element is printed on the Commercial Invoice only for tracking and label information.

    Note:

    • The P_O_NUMBER value must be specified in customerReferences under requestedPackageLineItems
    • The INVOICE_NUMBER value that is printed on the FedEx-supplied invoice must be specified in customerReferences under commercialInvoice. Value defined in this section will print on the label that is attached to the package
    • RMA value sent by the customer is returned on the label in human readable form and also as a barcode.
    Note: INTRACOUNTRY_REGULATORY_REFERENCE is applicable only in Intra-Brazil.
    For more information, click here for Cutsomer References", + "example": "INVOICE_NUMBER", + "enum": [ + "CUSTOMER_REFERENCE", + "DEPARTMENT_NUMBER", + "INVOICE_NUMBER", + "P_O_NUMBER", + "INTRACOUNTRY_REGULATORY_REFERENCE", + "RMA_ASSOCIATION" + ] }, - "address": { - "$ref": "#/components/schemas/Address" + "value": { + "type": "string", + "description": "This is a customer reference type value.
    Example: 3686
    • The P_O_NUMBER value must be specified in customerReferences under requestedPackageLineItems
    • The INVOICE_NUMBER value that is printed on the FedEx-supplied invoice must be specified in customerReferences under commercialInvoice. Value defined in this section will print on the label that is attached to the package
    • The RMA value sent by the customer is returned on the label in human readable form but also as a barcode. RMA_ASSOCIATION only prints on the label as a barcode for a Return shipment.
    NOTE:
    • INTRACOUNTRY_REGULATORY_REFERENCE is applicable only in Intra-Brazil.
    • Maximum length varies for value field depending on customerReferenceType.
    Maximum length for value is as follows:
    • CUSTOMER_REFERENCE - 40(Express), 30(Ground)
    • DEPARTMENT_NUMBER - 30
    • INVOICE_NUMBER - 30
    • P_O_NUMBER - 30
    • INTRACOUNTRY_REGULATORY_REFERENCE - 30
    • RMA_ASSOCIATION - 20
    • ", + "example": "3686" } - }, - "description": "Specifies the contact and address details of a location.", - "example": { - "address": { - "streetLines": [ - "10 FedEx Parkway", - "Suite 302" - ], + } + }, + "HazardousCommodityQuantityDetail": { + "required": [ + "amount", + "quantityType" + ], + "type": "object", + "properties": { + "quantityType": { + "type": "string", + "description": "Specifies which measure of quantity is to be validated.", + "example": "NET", + "enum": [ + "GROSS", + "NET" + ] + }, + "amount": { + "type": "number", + "description": "Number of units of the type below.
      Example: 34.56", + "format": "double", + "example": 34.56 + }, + "units": { + "type": "string", + "description": "Specifies the units.
      Example: KG", + "example": "Kg" + } + }, + "description": "Indicates the Hazardous Commodity Quantity Detail." + }, + "HazardousCommodityContent": { + "type": "object", + "properties": { + "quantity": { + "$ref": "#/components/schemas/HazardousCommodityQuantityDetail" + }, + "innerReceptacles": { + "type": "array", + "description": "Specifies the inner receptacles within the container.", + "items": { + "$ref": "#/components/schemas/HazardousCommodityInnerReceptacleDetail" + } + }, + "options": { + "$ref": "#/components/schemas/HazardousCommodityOptionDetail" + }, + "description": { + "$ref": "#/components/schemas/HazardousCommodityDescription" + } + }, + "description": "Customer-provided specifications for handling individual commodities." + }, + "HazardousCommodityInnerReceptacleDetail": { + "type": "object", + "properties": { + "quantity": { + "$ref": "#/components/schemas/HazardousCommodityQuantityDetail" + } + } + }, + "HazardousCommodityOptionDetail": { + "type": "object", + "properties": { + "labelTextOption": { + "type": "string", + "description": "Indicates the label text option.", + "enum": [ + "APPEND", + "OVERRIDE", + "STANDARD" + ] + }, + "customerSuppliedLabelText": { + "type": "string", + "description": "'DG Data Upload Mode:- Optional.,DG Full Validation Mode:- Optional,Text used in labeling the commodity under control of the LabelTextOption field
      Example:Customer Supplied Label Text' \n\n", + "example": "Customer Supplied Label Text." + } + }, + "description": "Indicates details of hazardous commodity option detail." + }, + "HazardousCommodityDescription": { + "required": [ + "packingGroup", + "reportableQuantity" + ], + "type": "object", + "properties": { + "sequenceNumber": { + "type": "integer", + "description": "Required
      Specify the sequence number.
      Example: 9812", + "format": "int32", + "example": 9812 + }, + "processingOptions": { + "type": "array", + "description": "Indicates any special processing options to be applied to the description of the dangerous goods commodity
      Example: [\"INCLUDE_SPECIAL_PROVISIONS\"]", + "items": { + "type": "string", + "example": "INCLUDE_SPECIAL_PROVISIONS", + "enum": [ + "INCLUDE_SPECIAL_PROVISIONS" + ] + } + }, + "subsidiaryClasses": { + "type": "array", + "description": "Required\n\nIndicates list of subsidiary classes
      Example: [\"Subsidiary Classes\"]", + "example": [ + "Subsidiary Classes" + ], + "items": { + "type": "string" + } + }, + "labelText": { + "type": "string", + "description": "Specifies the text for the label.", + "example": "labelText" + }, + "technicalName": { + "type": "string", + "description": "Specifies the technical name for the hazardous material.", + "example": "technicalName" + }, + "packingDetails": { + "$ref": "#/components/schemas/HazardousCommodityPackingDetail" + }, + "authorization": { + "type": "string", + "description": "Information related to quantity limitations and operator or state variations as may be applicable to the dangerous goods commodity.", + "example": "authorization" + }, + "reportableQuantity": { + "type": "boolean", + "description": "Reportable Quantity", + "example": true + }, + "percentage": { + "type": "number", + "description": "Percentage
      Example: 12.45", + "format": "double", + "example": 12.45 + }, + "id": { + "type": "string", + "description": "ID
      Example: 123", + "example": "123" + }, + "packingGroup": { + "type": "string", + "description": "Identifies DOT packing group for a hazardous commodity", + "example": "I", + "enum": [ + "DEFAULT", + "I", + "II", + "III" + ] + }, + "properShippingName": { + "type": "string", + "description": "The proper shipping name as defined by the regulation. The name can also include qualifying words
      Example: properShippingName", + "example": "properShippingName" + }, + "hazardClass": { + "type": "string", + "description": "Specifies the hazard class for the commodity
      Example: hazard Class\n", + "example": "hazard Class" + } + }, + "description": "Required
      Details of hazardous commodity description." + }, + "HazardousCommodityPackingDetail": { + "required": [ + "cargoAircraftOnly" + ], + "type": "object", + "properties": { + "packingInstructions": { + "type": "string", + "description": "Coded specification for how commodity is to be packed.
      Example: packing Instructions", + "example": "packing Instructions" + }, + "cargoAircraftOnly": { + "type": "boolean", + "description": "A Boolean value that, when True, specifies the mode of shipment transportation should be Cargo Aircraft for Dangerous Goods.
      Note: An identifier DGD-CAO is added in AWB for cargo aircraft shipments.", + "example": true + } + }, + "description": "Specifies documentation and limits for validation of an individual packing group/category. DG Data Upload Mode: Required (IATA), Optional (Other), DG Full Validation Mode: Required (IATA), Optional (Other)," + }, + "CXSError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.
      Example: TRACKINGNUMBER.ENTERED.INVALID" + }, + "parameterList": { + "type": "array", + "description": "Specifies the message parameter list.", + "items": { + "$ref": "#/components/schemas/Parameter" + } + }, + "message": { + "type": "string", + "description": "Indicates the description of API error alert message.
      Example: Error with entered Tracking Number. Please verify the entered Tracking Number." + } + }, + "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" + }, + "DocTabContentZone": { + "type": "object", + "properties": { + "docTabZoneSpecifications": { + "type": "array", + "description": "Indicate the doc tab specifications for the individual doc tab zone on the label.", + "items": { + "$ref": "#/components/schemas/DocTabZoneSpecification" + } + } + }, + "description": "Indicate the doc tab specification for different zones on the label. The specification includes zone number, header and data field to be displayed on the label." + }, + "ContactAndAddress": { + "type": "object", + "properties": { + "contact": { + "$ref": "#/components/schemas/Contact" + }, + "address": { + "$ref": "#/components/schemas/Address" + } + }, + "description": "Specifies the contact and address details of a location.", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], "city": "Beverly Hills", "stateOrProvinceCode": "CA", "postalCode": "38127", @@ -8138,6 +8364,206 @@ } } }, + "PartyAddress": { + "required": [ + "city", + "countryCode", + "stateOrProvinceCode", + "streetLines" + ], + "type": "object", + "properties": { + "streetLines": { + "type": "array", + "description": "This is the combination of number, street name, etc. Maximum length per line is 35.
      Example: 10 FedEx Parkway, Suite 302.

      Note:

      • At least one line is required.
      • Streetlines more than 3 will be ignored.
      • Empty lines should not be included
      • For SmartPost Shipments, only 30 characters from the individual street lines will be printed on the labels.

      ", + "example": [ + "1550 Union Blvd", + "Suite 302" + ], + "items": { + "type": "string" + } + }, + "city": { + "type": "string", + "description": "This is a placeholder for City Name.

      Note: This is conditional and not required in all the requests.

      Note: It is recommended for Express shipments for the most accurate ODA and OPA surcharges.

      Example: Beverly Hills", + "example": "Beverly Hills" + }, + "stateOrProvinceCode": { + "type": "string", + "description": "This is a placeholder for state or province code.State code is required for US, CA, PR and not required for other countries. Conditional. Max length is 2.

      Example: CA.
      click here to see State or Province Code", + "example": "CA" + }, + "postalCode": { + "type": "string", + "description": "This is the postal code.

      Note: This is Optional for non postal-aware countries. Maximum length is 10.

      Example: 65247
      click here to see Postal aware countries", + "example": "90210" + }, + "countryCode": { + "type": "string", + "description": "This is the two-letter country code.

      Maximum length is 2.

      Example: US
      click here to see Country codes", + "example": "US" + }, + "residential": { + "type": "boolean", + "description": "Indicate whether this address is residential (as opposed to commercial).", + "example": false + } + }, + "description": "This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US).", + "example": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + } + }, + "PartyAddress_2": { + "type": "object", + "properties": { + "streetLines": { + "type": "array", + "description": "This is the combination of number, street name, etc. Maximum length per line is 35.
      Example: 10 FedEx Parkway, Suite 302.

      Note:

      • At least one line is required.
      • Streetlines more than 3 will be ignored.
      • Empty lines should not be included
      • For SmartPost Shipments, only 30 characters from the individual street lines will be printed on the labels.

      ", + "example": [ + "1550 Union Blvd", + "Suite 302" + ], + "items": { + "type": "string" + } + }, + "city": { + "type": "string", + "description": "This is a placeholder for City Name.

      Example: Beverly Hills", + "example": "Beverly Hills" + }, + "stateOrProvinceCode": { + "type": "string", + "description": "This is a placeholder for State or Province code. State code is required for US, CA, PR and not required for other countries. Conditional. Max length is 2.

      Example: CA.
      click here to see State or Province Code", + "example": "CA" + }, + "postalCode": { + "type": "string", + "description": "This is the Postal code.

      This is Optional for non postal-aware countries.
      Maximum length is 10.

      Example: 65247
      click here to see Postal aware countries", + "example": "90210" + }, + "countryCode": { + "type": "string", + "description": "This is the two-letter country code.

      Maximum length is 2.
      Example: US
      click here to see Country codes", + "example": "US" + }, + "residential": { + "type": "boolean", + "description": "Indicate whether this address is residential (as opposed to commercial).", + "example": false + }, + "geographicCoordinates": { + "type": "string", + "description": "Indicates the geographic coordinates.
      example: geographicCoordinates", + "example": "geographicCoordinates" + } + }, + "description": "This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US).", + "example": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + } + }, + "PartyContact": { + "required": [ + "phoneNumber" + ], + "type": "object", + "properties": { + "personName": { + "type": "string", + "description": "Specify contact name. Maximum length is 70.
      Note: Either the companyName or personName is mandatory.
      Example: John Taylor", + "example": "John Taylor" + }, + "emailAddress": { + "type": "string", + "description": "Specify contact email address. Maximum length is 80.
      Example: sample@company.com", + "example": "sample@company.com" + }, + "phoneExtension": { + "type": "string", + "description": "Specify contact phone extension. Maximum length is 6.
      Example: 1234", + "example": "91" + }, + "phoneNumber": { + "type": "string", + "description": "Specify contact phone number.

      Minimum length is 10 and supports Maximum as 15 for certain countries using longer phone numbers.
      Note: Recommended Maximum length is 15 and there's no specific validation will be done for the phone number.
      Example: 918xxxxx890", + "example": "1234567890" + }, + "companyName": { + "type": "string", + "description": "Specify contact company name. Maximum length is 35.
      Note: Either the companyName or personName is mandatory.", + "example": "Fedex" + } + }, + "description": "Indicate the contact details for this shipment.", + "example": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "91", + "phoneNumber": "1234567890", + "companyName": "Fedex" + } + }, + "PartyContact_2": { + "type": "object", + "properties": { + "personName": { + "type": "string", + "description": "Specify contact name. Maximum length is 70.
      Example: John Taylor", + "example": "John Taylor" + }, + "emailAddress": { + "type": "string", + "description": "Specify contact email address. Maximum length is 80.
      Example: sample@company.com", + "example": "sample@company.com" + }, + "phoneExtension": { + "type": "string", + "description": "Specify contact phone extension. Maximum length is 6.
      Example: 1234", + "example": "91" + }, + "phoneNumber": { + "type": "string", + "description": "Specify contact phone number.

      Minimum length is 10 and supports Maximum as 15 for certain countries using longer phone numbers.
      Note: Recommended Maximum length is 15 and there's no specific validation will be done for the phone number.
      Example: 918xxxxx890", + "example": "1234567890" + }, + "companyName": { + "type": "string", + "description": "Specify contact company name.

      Recommended length is 35.

      Note: There's no specific validation for the company name.", + "example": "Fedex" + }, + "faxNumber": { + "type": "string", + "description": "Specify contact person's fax number. Maximum length is 15." + } + }, + "description": "Indicate the contact details for this shipment.", + "example": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "91", + "phoneNumber": "1234567890", + "companyName": "Fedex" + } + }, "Contact": { "type": "object", "properties": { @@ -8224,63 +8650,15 @@ }, "description": "Specify the contact information.", "example": { - "personName": "John Taylor", - "tollFreePhoneNumber": "6127812", - "emailAddress": "sample@company.com", - "phoneNumber": "1234567890", - "phoneExtension": "91", - "faxNumber": "1234567890", - "pagerNumber": "6127812", - "companyName": "Fedex", - "title": "title" - } - }, - "Address": { - "required": [ - "countryCode", - "streetLines" - ], - "type": "object", - "properties": { - "streetLines": { - "type": "array", - "description": "This is the combination of number, street name, etc.
      Note: At least one line is required and streetlines more than 3 will be ignored. Empty lines should not be included. Maximum length per line is 35.
      Example: [10 FedEx Parkway, Suite 302, .etc.]", - "items": { - "type": "string" - } - }, - "city": { - "type": "string", - "description": "This is a placeholder for City Name.

      Note: This is conditional and not required in all the requests.

      Note: It is recommended for Express shipments for the most accurate ODA and OPA surcharges.

      Example: Beverly Hills" - }, - "stateOrProvinceCode": { - "type": "string", - "description": "This is a placeholder for State or Province code. State code is required for US, CA, PR and not required for other countries. Conditional. Max length is 2.

      Example: CA
      click here to see State or Province Code" - }, - "postalCode": { - "type": "string", - "description": "Indicate the Postal code. This is Optional for non postal-aware countries. Maximum length is 10.
      Example: 65247
      click here to see Postal aware countries" - }, - "countryCode": { - "type": "string", - "description": "This is the two-letter country code.

      Maximum length is 2.
      Example: US
      click here to see Country codes" - }, - "residential": { - "type": "boolean", - "description": "Indicate whether this address is residential (as opposed to commercial)." - } - }, - "description": "Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of \"address parts\" which should be handled as a unit (such as a city-state-ZIP combination within the US).", - "example": { - "streetLines": [ - "10 FedEx Parkway", - "Suite 302" - ], - "city": "Beverly Hills", - "stateOrProvinceCode": "CA", - "postalCode": "38127", - "countryCode": "US", - "residential": false + "personName": "John Taylor", + "tollFreePhoneNumber": "6127812", + "emailAddress": "sample@company.com", + "phoneNumber": "1234567890", + "phoneExtension": "91", + "faxNumber": "1234567890", + "pagerNumber": "6127812", + "companyName": "Fedex", + "title": "title" } }, "Payment": { @@ -8338,7 +8716,7 @@ "type": "object", "properties": { "payor": { - "$ref": "#/components/schemas/Payor" + "$ref": "#/components/schemas/Payor_2" }, "billingDetails": { "$ref": "#/components/schemas/BillingDetails" @@ -8410,10 +8788,48 @@ } }, "Payor": { + "required": [ + "responsibleParty" + ], "type": "object", "properties": { "responsibleParty": { - "$ref": "#/components/schemas/Party" + "$ref": "#/components/schemas/ResponsiblePartyParty" + } + }, + "description": "Indicate the payer Information responsible for paying for the shipment.
      Note: credit card payment is not applicable.
      Payor is mandatory when the paymentType is RECIPIENT, THIRD_PARTY or COLLECT.", + "example": { + "responsibleParty": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneNumber": "XXXX567890", + "phoneExtension": "phone extension", + "companyName": "Fedex", + "faxNumber": "fax number" + }, + "accountNumber": { + "value": "Your account number" + } + } + } + }, + "Payor_2": { + "type": "object", + "properties": { + "responsibleParty": { + "$ref": "#/components/schemas/Party_2" } }, "description": "Information about the person who is paying for the shipment. Not applicable for credit card payment. ", @@ -8460,50 +8876,14 @@ } } }, - "UploadDocumentReferenceDetail": { - "type": "object", - "properties": { - "documentType": { - "type": "string", - "description": "This is the uploaded document type.", - "example": "PRO_FORMA_INVOICE", - "enum": [ - "CERTIFICATE_OF_ORIGIN", - "COMMERCIAL_INVOICE", - "ETD_LABEL", - "USMCA_CERTIFICATION_OF_ORIGIN", - "NET_RATE_SHEET", - "OTHER", - "PRO_FORMA_INVOICE", - "USMCA_COMMERCIAL_INVOICE_CERTIFICATION_OF_ORIGIN" - ] - }, - "documentReference": { - "type": "string", - "description": "Specify the reference for the uploaded document.
      Example: Reference", - "example": "DocumentReference" - }, - "description": { - "type": "string", - "description": "This is the document description of the attached document.
      Example: PRO FORMA INVOICE", - "example": "PRO FORMA INVOICE" - }, - "documentId": { - "type": "string", - "description": "This is the uploaded document ID value.
      Example: 090927d680038c61", - "example": "090927d680038c61" - } - }, - "description": "Specify the document upload reference details." - }, "Party": { "type": "object", "properties": { "address": { - "$ref": "#/components/schemas/Address" + "$ref": "#/components/schemas/PartyAddress" }, "contact": { - "$ref": "#/components/schemas/Contact" + "$ref": "#/components/schemas/PartyContact" }, "accountNumber": { "$ref": "#/components/schemas/PartyAccountNumber" @@ -8516,7 +8896,6 @@ } } }, - "description": "Use this object to provide the attributes such as physical address, contact information and account number information.", "example": { "address": { "streetLines": [ @@ -8525,31 +8904,23 @@ ], "city": "Beverly Hills", "stateOrProvinceCode": "CA", - "postalCode": "38127", + "postalCode": "90210", "countryCode": "US", "residential": false }, "contact": { "personName": "John Taylor", "emailAddress": "sample@company.com", - "phoneNumber": "1234567890", - "phoneExtension": "phone extension", - "companyName": "Fedex", - "faxNumber": "fax number" + "phoneExtension": "000", + "phoneNumber": "XXXX345671", + "companyName": "Fedex" }, "accountNumber": { "value": "Your account number" }, "tins": [ { - "number": "number", - "tinType": "FEDERAL", - "usage": "usage", - "effectiveDate": "2000-01-23T04:56:07.000+00:00", - "expirationDate": "2000-01-23T04:56:07.000+00:00" - }, - { - "number": "number", + "number": "123567", "tinType": "FEDERAL", "usage": "usage", "effectiveDate": "2000-01-23T04:56:07.000+00:00", @@ -8562,10 +8933,13 @@ "type": "object", "properties": { "address": { - "$ref": "#/components/schemas/PartyAddress_2" + "$ref": "#/components/schemas/Address" }, "contact": { - "$ref": "#/components/schemas/PartyContact_2" + "$ref": "#/components/schemas/Contact" + }, + "accountNumber": { + "$ref": "#/components/schemas/PartyAccountNumber" }, "tins": { "type": "array", @@ -8575,6 +8949,7 @@ } } }, + "description": "Use this object to provide the attributes such as physical address, contact information and account number information.", "example": { "address": { "streetLines": [ @@ -8583,23 +8958,31 @@ ], "city": "Beverly Hills", "stateOrProvinceCode": "CA", - "postalCode": "90210", + "postalCode": "38127", "countryCode": "US", "residential": false }, "contact": { "personName": "John Taylor", "emailAddress": "sample@company.com", - "phoneExtension": "000", - "phoneNumber": "XXXX345671", - "companyName": "Fedex" + "phoneNumber": "1234567890", + "phoneExtension": "phone extension", + "companyName": "Fedex", + "faxNumber": "fax number" }, "accountNumber": { "value": "Your account number" }, "tins": [ { - "number": "123567", + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + }, + { + "number": "number", "tinType": "FEDERAL", "usage": "usage", "effectiveDate": "2000-01-23T04:56:07.000+00:00", @@ -8608,313 +8991,93 @@ ] } }, - "ShipmentDryIceDetail": { - "type": "object", - "properties": { - "totalWeight": { - "$ref": "#/components/schemas/Weight" - }, - "packageCount": { - "type": "integer", - "description": "Indicates the total number of packages in the shipment that contain dry ice.
      Example: 12", - "format": "int32", - "example": 12 - } - }, - "description": "This is the descriptive data required for a FedEx shipment containing dangerous materials. This element is required when SpecialServiceType DRY_ICE is selected.

      Note:

      • Dry Ice is a Package level Special Service for Domestic and International shipments.
      • Dry Ice must be declared at both Shipment and Package level for International MPS shipments to print the compliance statement on Airway Bill labels.

      " - }, - "ShipmentDryIceDetail_2": { - "required": [ - "packageCount", - "totalWeight" - ], - "type": "object", - "properties": { - "totalWeight": { - "description": "Specify total dry ice weight for the shipment.", - "$ref": "#/components/schemas/Weight" - }, - "packageCount": { - "type": "integer", - "description": "Specifies the package Count for the shipment
      Example: 10", - "format": "int32", - "example": 10 - }, - "processingOptions": { - "$ref": "#/components/schemas/ShipmentDryIceProcessingOptionsRequested" - } - }, - "description": "Specifies the shipment level totals of dry ice data across all packages." - }, - "Weight": { - "required": [ - "units", - "value" - ], - "type": "object", - "properties": { - "units": { - "type": "string", - "description": "Indicate the weight unit type. The package and commodity weight unit should be the same else the request will result in an error.", - "example": "KG", - "enum": [ - "KG" - ] - }, - "value": { - "type": "number", - "description": "Weight Value.
      Example: 68.25
      Click here to see Weight Values", - "format": "double", - "example": 68.25 - } - }, - "description": "These are the package weight details.
      Note: Weight is not required for One rate shipments", - "example": { - "units": "KG", - "value": 68 - } - }, - "PhoneNumber": { - "type": "object", - "properties": { - "areaCode": { - "type": "string", - "description": "Indicate the area code for the phone number." - }, - "localNumber": { - "type": "string", - "description": "Indicate the local phone number for contacting in the event of an emergency. Maximum length is 10." - }, - "extension": { - "type": "string", - "description": "Indicate the extension for the phone number." - }, - "personalIdentificationNumber": { - "type": "string", - "description": "Indicate the Personal Identification Number associated with the phone number." - } - }, - "description": "Indicate the phone number. Only numeric values allowed.
      Note that phoneNumber is mandatory when homedeliveryPremiumType is DATE_CERTAIN or EVENING.", - "example": { - "areaCode": "901", - "localNumber": "3575012", - "extension": "200", - "personalIdentificationNumber": "98712345" - } - }, - "CustomerReference": { - "type": "object", - "properties": { - "customerReferenceType": { - "type": "string", - "description": "This is a customer reference type. The value specified here for the element is printed on the Commercial Invoice only for tracking and label information.

      Note:

      • The P_O_NUMBER value must be specified in customerReferences under requestedPackageLineItems
      • The INVOICE_NUMBER value that is printed on the FedEx-supplied invoice must be specified in customerReferences under commercialInvoice. Value defined in this section will print on the label that is attached to the package
      • RMA value sent by the customer is returned on the label in human readable form and also as a barcode.
      Note: INTRACOUNTRY_REGULATORY_REFERENCE is applicable only in Intra-Brazil.
      For more information, click here for Cutsomer References", - "example": "INVOICE_NUMBER", - "enum": [ - "CUSTOMER_REFERENCE", - "DEPARTMENT_NUMBER", - "INVOICE_NUMBER", - "P_O_NUMBER", - "INTRACOUNTRY_REGULATORY_REFERENCE", - "RMA_ASSOCIATION" - ] - }, - "value": { - "type": "string", - "description": "This is a customer reference type value.
      Example: 3686
      • The P_O_NUMBER value must be specified in customerReferences under requestedPackageLineItems
      • The INVOICE_NUMBER value that is printed on the FedEx-supplied invoice must be specified in customerReferences under commercialInvoice. Value defined in this section will print on the label that is attached to the package
      • The RMA value sent by the customer is returned on the label in human readable form but also as a barcode. RMA_ASSOCIATION only prints on the label as a barcode for a Return shipment.
      NOTE:
      • INTRACOUNTRY_REGULATORY_REFERENCE is applicable only in Intra-Brazil.
      • Maximum length varies for value field depending on customerReferenceType.
      Maximum length for value is as follows:
      • CUSTOMER_REFERENCE - 40(Express), 30(Ground)
      • DEPARTMENT_NUMBER - 30
      • INVOICE_NUMBER - 30
      • P_O_NUMBER - 30
      • INTRACOUNTRY_REGULATORY_REFERENCE - 30
      • RMA_ASSOCIATION - 20
      • ", - "example": "3686" - } - } - }, - "HazardousCommodityQuantityDetail": { - "required": [ - "amount", - "quantityType" - ], + "Party_3": { "type": "object", "properties": { - "quantityType": { - "type": "string", - "description": "Specifies which measure of quantity is to be validated.", - "example": "NET", - "enum": [ - "GROSS", - "NET" - ] - }, - "amount": { - "type": "number", - "description": "Number of units of the type below.
        Example: 34.56", - "format": "double", - "example": 34.56 + "address": { + "$ref": "#/components/schemas/PartyAddress_2" }, - "units": { - "type": "string", - "description": "Specifies the units.
        Example: KG", - "example": "Kg" - } - }, - "description": "Indicates the Hazardous Commodity Quantity Detail." - }, - "HazardousCommodityContent": { - "type": "object", - "properties": { - "quantity": { - "$ref": "#/components/schemas/HazardousCommodityQuantityDetail" + "contact": { + "$ref": "#/components/schemas/PartyContact_2" }, - "innerReceptacles": { + "tins": { "type": "array", - "description": "Specifies the inner receptacles within the container.", + "description": "This is the tax identification number details.", "items": { - "$ref": "#/components/schemas/HazardousCommodityInnerReceptacleDetail" + "$ref": "#/components/schemas/TaxpayerIdentification" } - }, - "options": { - "$ref": "#/components/schemas/HazardousCommodityOptionDetail" - }, - "description": { - "$ref": "#/components/schemas/HazardousCommodityDescription" } }, - "description": "Customer-provided specifications for handling individual commodities." - }, - "HazardousCommodityInnerReceptacleDetail": { - "type": "object", - "properties": { - "quantity": { - "$ref": "#/components/schemas/HazardousCommodityQuantityDetail" - } + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "000", + "phoneNumber": "XXXX345671", + "companyName": "Fedex" + }, + "accountNumber": { + "value": "Your account number" + }, + "tins": [ + { + "number": "123567", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ] } }, - "HazardousCommodityOptionDetail": { + "ShipmentDryIceDetail": { "type": "object", "properties": { - "labelTextOption": { - "type": "string", - "description": "Indicates the label text option.", - "enum": [ - "APPEND", - "OVERRIDE", - "STANDARD" - ] + "totalWeight": { + "$ref": "#/components/schemas/Weight" }, - "customerSuppliedLabelText": { - "type": "string", - "description": "'DG Data Upload Mode:- Optional.,DG Full Validation Mode:- Optional,Text used in labeling the commodity under control of the LabelTextOption field
        Example:Customer Supplied Label Text' \n\n", - "example": "Customer Supplied Label Text." + "packageCount": { + "type": "integer", + "description": "Indicates the total number of packages in the shipment that contain dry ice.
        Example: 12", + "format": "int32", + "example": 12 } }, - "description": "Indicates details of hazardous commodity option detail." + "description": "This is the descriptive data required for a FedEx shipment containing dangerous materials. This element is required when SpecialServiceType DRY_ICE is selected.

        Note:

        • Dry Ice is a Package level Special Service for Domestic and International shipments.
        • Dry Ice must be declared at both Shipment and Package level for International MPS shipments to print the compliance statement on Airway Bill labels.

        " }, - "HazardousCommodityDescription": { + "ShipmentDryIceDetail_2": { "required": [ - "packingGroup", - "reportableQuantity" + "packageCount", + "totalWeight" ], "type": "object", "properties": { - "sequenceNumber": { + "totalWeight": { + "description": "Specify total dry ice weight for the shipment.", + "$ref": "#/components/schemas/Weight" + }, + "packageCount": { "type": "integer", - "description": "Required
        Specify the sequence number.
        Example: 9812", + "description": "Specifies the package Count for the shipment
        Example: 10", "format": "int32", - "example": 9812 + "example": 10 }, "processingOptions": { - "type": "array", - "description": "Indicates any special processing options to be applied to the description of the dangerous goods commodity
        Example: [\"INCLUDE_SPECIAL_PROVISIONS\"]", - "items": { - "type": "string", - "example": "INCLUDE_SPECIAL_PROVISIONS", - "enum": [ - "INCLUDE_SPECIAL_PROVISIONS" - ] - } - }, - "subsidiaryClasses": { - "type": "array", - "description": "Required\n\nIndicates list of subsidiary classes
        Example: [\"Subsidiary Classes\"]", - "example": [ - "Subsidiary Classes" - ], - "items": { - "type": "string" - } - }, - "labelText": { - "type": "string", - "description": "Specifies the text for the label.", - "example": "labelText" - }, - "technicalName": { - "type": "string", - "description": "Specifies the technical name for the hazardous material.", - "example": "technicalName" - }, - "packingDetails": { - "$ref": "#/components/schemas/HazardousCommodityPackingDetail" - }, - "authorization": { - "type": "string", - "description": "Information related to quantity limitations and operator or state variations as may be applicable to the dangerous goods commodity.", - "example": "authorization" - }, - "reportableQuantity": { - "type": "boolean", - "description": "Reportable Quantity", - "example": true - }, - "percentage": { - "type": "number", - "description": "Percentage
        Example: 12.45", - "format": "double", - "example": 12.45 - }, - "id": { - "type": "string", - "description": "ID
        Example: 123", - "example": "123" - }, - "packingGroup": { - "type": "string", - "description": "Identifies DOT packing group for a hazardous commodity", - "example": "I", - "enum": [ - "DEFAULT", - "I", - "II", - "III" - ] - }, - "properShippingName": { - "type": "string", - "description": "The proper shipping name as defined by the regulation. The name can also include qualifying words
        Example: properShippingName", - "example": "properShippingName" - }, - "hazardClass": { - "type": "string", - "description": "Specifies the hazard class for the commodity
        Example: hazard Class\n", - "example": "hazard Class" - } - }, - "description": "Required
        Details of hazardous commodity description." - }, - "HazardousCommodityPackingDetail": { - "required": [ - "cargoAircraftOnly" - ], - "type": "object", - "properties": { - "packingInstructions": { - "type": "string", - "description": "Coded specification for how commodity is to be packed.
        Example: packing Instructions", - "example": "packing Instructions" - }, - "cargoAircraftOnly": { - "type": "boolean", - "description": "A Boolean value that, when True, specifies the mode of shipment transportation should be Cargo Aircraft for Dangerous Goods.
        Note: An identifier DGD-CAO is added in AWB for cargo aircraft shipments.", - "example": true + "$ref": "#/components/schemas/ShipmentDryIceProcessingOptionsRequested" } }, - "description": "Specifies documentation and limits for validation of an individual packing group/category. DG Data Upload Mode: Required (IATA), Optional (Other), DG Full Validation Mode: Required (IATA), Optional (Other)," + "description": "Specifies the shipment level totals of dry ice data across all packages." }, "ErrorResponseVO": { "type": "object", @@ -8952,40 +9115,6 @@ } } } - }, - "CXSError": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Indicates the error code.
        Example: TRACKINGNUMBER.ENTERED.INVALID" - }, - "parameterList": { - "type": "array", - "description": "Specifies the message parameter list.", - "items": { - "$ref": "#/components/schemas/Parameter" - } - }, - "message": { - "type": "string", - "description": "Indicates the description of API error alert message.
        Example: Error with entered Tracking Number. Please verify the entered Tracking Number." - } - }, - "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" - }, - "DocTabContentZone": { - "type": "object", - "properties": { - "docTabZoneSpecifications": { - "type": "array", - "description": "Indicate the doc tab specifications for the individual doc tab zone on the label.", - "items": { - "$ref": "#/components/schemas/DocTabZoneSpecification" - } - } - }, - "description": "Indicate the doc tab specification for different zones on the label. The specification includes zone number, header and data field to be displayed on the label." } } }, diff --git a/resources/models/pickup-request/v1.json b/resources/models/pickup-request/v1.json index 654c1de1..89424621 100644 --- a/resources/models/pickup-request/v1.json +++ b/resources/models/pickup-request/v1.json @@ -1530,6 +1530,65 @@ }, "description": "This is a placeholder for cancelled pickup request elements." }, + "CXSError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.
        Example: PICKUP.POSTALCODE.MISSING" + }, + "parameterList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Parameter" + } + }, + "message": { + "type": "string", + "description": "Indicates the description of API error alert message.
        Example: PostalCode is missing." + } + }, + "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" + }, + "Dimensions": { + "type": "object", + "properties": { + "length": { + "type": "integer", + "description": "Indicate the length of the package. No implied decimal places. Maximum value is 999.
        Example: 20", + "format": "int32", + "example": 7 + }, + "width": { + "type": "integer", + "description": "Indicate the width of the package. No implied decimal places. Maximum value is 999.
        Example: 10", + "format": "int32", + "example": 8 + }, + "height": { + "type": "integer", + "description": "Indicate the height of the package. No implied decimal places. Maximum value is 999.
        Example: 10", + "format": "int32", + "example": 10 + }, + "units": { + "type": "string", + "description": "Unit of measure for the provided dimensions.
        Note: Any value other than CM including blank/null will default to IN.", + "example": "CM", + "enum": [ + "CM", + "IN" + ] + } + }, + "description": "Indicate the dimensions of the package.
        Following conditions will apply:
        • Dimensions are optional but when added, then all three dimensions must be indicated.
        • Dimensions are required with YOUR_PACKAGING package type.
        Note: The maximum/minimum dimension values varies based on the services and the packaging types. Refer FedEx Service Guide for service details related to DIM Weighting for FedEx Express and oversize conditions for FedEx Express and FedEx Ground.", + "example": { + "length": 7, + "width": 8, + "height": 9, + "units": "CM" + } + }, "ErrorResponseVO": { "type": "object", "properties": { @@ -1567,26 +1626,6 @@ } } }, - "CXSError": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Indicates the error code.
        Example: PICKUP.POSTALCODE.MISSING" - }, - "parameterList": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Parameter" - } - }, - "message": { - "type": "string", - "description": "Indicates the description of API error alert message.
        Example: PostalCode is missing." - } - }, - "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" - }, "Address": { "type": "object", "properties": { @@ -1714,45 +1753,6 @@ "residential": false, "addressClassification": "MIXED" } - }, - "Dimensions": { - "type": "object", - "properties": { - "length": { - "type": "integer", - "description": "Indicate the length of the package. No implied decimal places. Maximum value is 999.
        Example: 20", - "format": "int32", - "example": 7 - }, - "width": { - "type": "integer", - "description": "Indicate the width of the package. No implied decimal places. Maximum value is 999.
        Example: 10", - "format": "int32", - "example": 8 - }, - "height": { - "type": "integer", - "description": "Indicate the height of the package. No implied decimal places. Maximum value is 999.
        Example: 10", - "format": "int32", - "example": 10 - }, - "units": { - "type": "string", - "description": "Unit of measure for the provided dimensions.
        Note: Any value other than CM including blank/null will default to IN.", - "example": "CM", - "enum": [ - "CM", - "IN" - ] - } - }, - "description": "Indicate the dimensions of the package.
        Following conditions will apply:
        • Dimensions are optional but when added, then all three dimensions must be indicated.
        • Dimensions are required with YOUR_PACKAGING package type.
        Note: The maximum/minimum dimension values varies based on the services and the packaging types. Refer FedEx Service Guide for service details related to DIM Weighting for FedEx Express and oversize conditions for FedEx Express and FedEx Ground.", - "example": { - "length": 7, - "width": 8, - "height": 9, - "units": "CM" - } } } }, diff --git a/resources/models/postal-code-validation/v1.json b/resources/models/postal-code-validation/v1.json index 53ee4d25..cd1a5fd6 100644 --- a/resources/models/postal-code-validation/v1.json +++ b/resources/models/postal-code-validation/v1.json @@ -413,6 +413,27 @@ }, "description": "Location Description" }, + "CXSError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.
        Example: SERVICE.UNAVAILABLE.ERROR" + }, + "parameterList": { + "type": "array", + "description": "Specifies the list of parameters.", + "items": { + "$ref": "#/components/schemas/Parameter" + } + }, + "message": { + "description": "Indicates the description of API error alert message.
        Example: The service is currently unavailable and we are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time.", + "type": "string" + } + }, + "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" + }, "ErrorResponseVO": { "type": "object", "properties": { @@ -449,27 +470,6 @@ } } } - }, - "CXSError": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Indicates the error code.
        Example: SERVICE.UNAVAILABLE.ERROR" - }, - "parameterList": { - "type": "array", - "description": "Specifies the list of parameters.", - "items": { - "$ref": "#/components/schemas/Parameter" - } - }, - "message": { - "description": "Indicates the description of API error alert message.
        Example: The service is currently unavailable and we are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time.", - "type": "string" - } - }, - "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" } } }, diff --git a/resources/models/rates-transit-times/v1.json b/resources/models/rates-transit-times/v1.json index b80a88b4..9bfe4843 100644 --- a/resources/models/rates-transit-times/v1.json +++ b/resources/models/rates-transit-times/v1.json @@ -4257,46 +4257,6 @@ }, "description": "Specifies the Tax surcharge details" }, - "Party": { - "type": "object", - "properties": { - "address": { - "$ref": "#/components/schemas/Address" - }, - "accountNumber": { - "$ref": "#/components/schemas/AccountNumber" - }, - "contact": { - "$ref": "#/components/schemas/Contact" - } - }, - "description": "Indicate the party to a transaction including the physical address, contact information and account number information.", - "example": { - "accountNumber": { - "value": 123456789 - } - } - }, - "Party_2": { - "type": "object", - "properties": { - "address": { - "$ref": "#/components/schemas/Address" - }, - "contact": { - "$ref": "#/components/schemas/Contact" - }, - "accountNumber": { - "$ref": "#/components/schemas/AccountNumber" - } - }, - "description": "Indicate the party to a transaction including the physical address, contact information and account number information.", - "example": { - "accountNumber": { - "value": 123456789 - } - } - }, "Address": { "type": "object", "properties": { @@ -4460,43 +4420,6 @@ }, "description": "The delivery commitment details" }, - "ErrorResponseVO": { - "type": "object", - "properties": { - "transactionId": { - "type": "string", - "description": "The transaction ID is a special set of numbers that defines each transaction.
        Example: 624deea6-b709-470c-8c39-4b5511281492", - "example": "624deea6-b709-470c-8c39-4b5511281492" - }, - "customerTransactionId": { - "type": "string", - "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
        Example: AnyCo_order123456789", - "example": "AnyCo_order123456789" - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CXSError" - } - } - } - }, - "ErrorResponseVO_2": { - "type": "object", - "properties": { - "transactionId": { - "type": "string", - "description": "The transaction ID is a special set of numbers that defines each transaction.
        Example: 624deea6-b709-470c-8c39-4b5511281492", - "example": "624deea6-b709-470c-8c39-4b5511281492" - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CXSError" - } - } - } - }, "CXSError": { "type": "object", "properties": { @@ -4573,6 +4496,83 @@ "height": 30, "units": "CM" } + }, + "Party": { + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/Address" + }, + "accountNumber": { + "$ref": "#/components/schemas/AccountNumber" + }, + "contact": { + "$ref": "#/components/schemas/Contact" + } + }, + "description": "Indicate the party to a transaction including the physical address, contact information and account number information.", + "example": { + "accountNumber": { + "value": 123456789 + } + } + }, + "Party_2": { + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/Address" + }, + "contact": { + "$ref": "#/components/schemas/Contact" + }, + "accountNumber": { + "$ref": "#/components/schemas/AccountNumber" + } + }, + "description": "Indicate the party to a transaction including the physical address, contact information and account number information.", + "example": { + "accountNumber": { + "value": 123456789 + } + } + }, + "ErrorResponseVO": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
        Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "customerTransactionId": { + "type": "string", + "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
        Example: AnyCo_order123456789", + "example": "AnyCo_order123456789" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CXSError" + } + } + } + }, + "ErrorResponseVO_2": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
        Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CXSError" + } + } + } } } }, diff --git a/resources/models/service-availability/v1.json b/resources/models/service-availability/v1.json index ba241b09..0c665c4b 100644 --- a/resources/models/service-availability/v1.json +++ b/resources/models/service-availability/v1.json @@ -3976,43 +3976,6 @@ }, "description": "This field provides the phone Number details for the service.There can be maximum of five types of phoneNumber which can be provided in request." }, - "ErrorResponseVO": { - "type": "object", - "properties": { - "transactionId": { - "type": "string", - "description": "The transaction ID is a special set of numbers that defines each transaction.
        Example: 624deea6-b709-470c-8c39-4b5511281492", - "example": "624deea6-b709-470c-8c39-4b5511281492" - }, - "customerTransactionId": { - "type": "string", - "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
        Example: AnyCo_order123456789", - "example": "AnyCo_order123456789" - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CXSError" - } - } - } - }, - "ErrorResponseVO_2": { - "type": "object", - "properties": { - "transactionId": { - "type": "string", - "description": "The transaction ID is a special set of numbers that defines each transaction.
        Example: 624deea6-b709-470c-8c39-4b5511281492", - "example": "624deea6-b709-470c-8c39-4b5511281492" - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CXSError" - } - } - } - }, "CXSError": { "type": "object", "properties": { @@ -4125,79 +4088,6 @@ } } }, - "Contact": { - "type": "object", - "properties": { - "personName": { - "type": "string", - "description": "Specify contact name.Max Length is 70.", - "example": "John Taylor" - }, - "emailAddress": { - "type": "string", - "description": "Specify contact email address. Max length is 80.", - "example": "sample@company.com" - }, - "phoneNumber": { - "type": "string", - "description": "Specify contact person's phone number. Max length is 15.", - "example": "1234567890" - }, - "phoneExtension": { - "type": "string", - "description": "Specify contact person's phone extension. Max length is 6." - }, - "faxNumber": { - "type": "string", - "description": "Specify contact person's fax number. Max length is 15." - } - }, - "description": "Indicate the contact details for this shipment." - }, - "Contact_2": { - "type": "object", - "properties": { - "personName": { - "type": "string", - "description": "Specify the recipient contact person's name. Max Length is 70.
        Example: John Taylor", - "example": "John Taylor" - }, - "emailAddress": { - "type": "string", - "description": "Contact person's email address. Max length is 80.
        Example: sample@company.com", - "example": "sample@company.com" - }, - "phoneNumber": { - "type": "string", - "description": "Contact person's phone number. Max length is 15.
        Example: 1234567890", - "example": "1234567890" - }, - "phoneExtension": { - "type": "string", - "description": "contact person's phone extension. Max length is 6.
        Example: 91", - "example": "91" - }, - "faxNumber": { - "type": "string", - "description": "Contact person's fax number. Max length is 15.
        Example: 956123", - "example": "956123" - }, - "companyName": { - "type": "string", - "description": "Specify contact person's company name. Max length is 35.
        Example: FedEx", - "example": "Fedex" - } - }, - "description": "Contact details for the Party such as Name, Email, PhoneNumber", - "example": { - "personName": "John Taylor", - "emailAddress": "sample@company.com", - "phoneNumber": "1234567890", - "phoneExtension": 1234, - "faxNumber": "1234567890", - "companyName": "Fedex" - } - }, "AccountNumber": { "type": "object", "properties": { @@ -4289,6 +4179,116 @@ } }, "description": "Number of packages in this shipment which contain dry ice. The total weight of the dry ice for this shipment\n\n Both are required to indicate dry ice" + }, + "ErrorResponseVO": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
        Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "customerTransactionId": { + "type": "string", + "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
        Example: AnyCo_order123456789", + "example": "AnyCo_order123456789" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CXSError" + } + } + } + }, + "ErrorResponseVO_2": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
        Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CXSError" + } + } + } + }, + "Contact": { + "type": "object", + "properties": { + "personName": { + "type": "string", + "description": "Specify contact name.Max Length is 70.", + "example": "John Taylor" + }, + "emailAddress": { + "type": "string", + "description": "Specify contact email address. Max length is 80.", + "example": "sample@company.com" + }, + "phoneNumber": { + "type": "string", + "description": "Specify contact person's phone number. Max length is 15.", + "example": "1234567890" + }, + "phoneExtension": { + "type": "string", + "description": "Specify contact person's phone extension. Max length is 6." + }, + "faxNumber": { + "type": "string", + "description": "Specify contact person's fax number. Max length is 15." + } + }, + "description": "Indicate the contact details for this shipment." + }, + "Contact_2": { + "type": "object", + "properties": { + "personName": { + "type": "string", + "description": "Specify the recipient contact person's name. Max Length is 70.
        Example: John Taylor", + "example": "John Taylor" + }, + "emailAddress": { + "type": "string", + "description": "Contact person's email address. Max length is 80.
        Example: sample@company.com", + "example": "sample@company.com" + }, + "phoneNumber": { + "type": "string", + "description": "Contact person's phone number. Max length is 15.
        Example: 1234567890", + "example": "1234567890" + }, + "phoneExtension": { + "type": "string", + "description": "contact person's phone extension. Max length is 6.
        Example: 91", + "example": "91" + }, + "faxNumber": { + "type": "string", + "description": "Contact person's fax number. Max length is 15.
        Example: 956123", + "example": "956123" + }, + "companyName": { + "type": "string", + "description": "Specify contact person's company name. Max length is 35.
        Example: FedEx", + "example": "Fedex" + } + }, + "description": "Contact details for the Party such as Name, Email, PhoneNumber", + "example": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneNumber": "1234567890", + "phoneExtension": 1234, + "faxNumber": "1234567890", + "companyName": "Fedex" + } } } }, diff --git a/resources/models/ship/v1.json b/resources/models/ship/v1.json index 6a3925a5..40b61f52 100644 --- a/resources/models/ship/v1.json +++ b/resources/models/ship/v1.json @@ -1734,6 +1734,47 @@ "deliveryInstructions": "Delivery Instructions" } }, + "ResponsiblePartyParty": { + "required": [ + "accountNumber" + ], + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/PartyAddress" + }, + "contact": { + "$ref": "#/components/schemas/PartyContact" + }, + "accountNumber": { + "$ref": "#/components/schemas/PartyAccountNumber" + } + }, + "description": "Indicate the payer Information responsible for paying for the shipment.
        Note: ResponsibleParty accountNumber is required for ACCOUNT based services.", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "000", + "phoneNumber": "XXXX345671", + "companyName": "FedEx" + }, + "accountNumber": { + "value": "Your account number" + } + } + }, "ShipmentSpecialServicesRequested": { "type": "object", "properties": { @@ -3761,7 +3802,7 @@ ] }, "producer": { - "$ref": "#/components/schemas/Party_2" + "$ref": "#/components/schemas/Party_3" }, "blanketPeriod": { "$ref": "#/components/schemas/RetrieveDateRange" @@ -3833,7 +3874,7 @@ ] }, "producer": { - "$ref": "#/components/schemas/Party_2" + "$ref": "#/components/schemas/Party_3" }, "certifierJobTitle": { "type": "string", @@ -6953,9 +6994,8 @@ }, "description": "The output details when a tag is cancelled." }, - "PartyAddress": { + "Address": { "required": [ - "city", "countryCode", "streetLines" ], @@ -6963,40 +7003,33 @@ "properties": { "streetLines": { "type": "array", - "description": "Combination of number, street name, etc. At least one line is required for a valid physical address. Empty lines should not be included. Max Length is 35.
        Example: [1550 Union Blvd,Suite 302]", - "example": "1550 Union Blvd, Suite 302", + "description": "This is the combination of number, street name, etc.
        Note: At least one line is required and streetlines more than 3 will be ignored. Empty lines should not be included. Maximum length per line is 35.
        Example: [10 FedEx Parkway, Suite 302, .etc.]", "items": { "type": "string" } }, "city": { "type": "string", - "maxLength": 35, - "description": "The name of city, town of the recipient.Max length is 35.
        Example: Beverly Hills", - "example": "Beverly Hills" + "description": "This is a placeholder for City Name.
        Note: This is conditional and not required in all the requests.
        Note: It is recommended for Express shipments for the most accurate ODA and OPA surcharges.
        Example: Beverly Hills" }, "stateOrProvinceCode": { "type": "string", - "description": "The US States,Canada and Puerto Rico Province codes of the recipient. The Format and presence of this field may vary depending on the country.State code is required for US, CA, PR and not required for other countries. Conditional. Max length is 2.
        Example: CA", - "example": "CA" + "description": "This is a placeholder for State or Province code.State code is required for US, CA, PR and not required for other countries. Conditional. Max length is 2.
        Example: CA
        click here to see State or Province Code" }, "postalCode": { "type": "string", - "description": "This is the postal code.
        Note: This is Optional for non postal-aware countries. Maximum length is 10.
        Example: 65247
        click here to see Postal aware countries", - "example": "90210" + "description": "Indicate the Postal code. This is Optional for non postal-aware countries. Maximum length is 10.
        Example: 65247
        click here to see Postal aware countries" }, "countryCode": { "type": "string", - "description": "This is the two-letter country code.
        Maximum length is 2.
        Example: US
        click here to see Country codes", - "example": "US" + "description": "This is the two-letter country code.
        Maximum length is 2.
        Example: US
        click here to see Country codes" }, "residential": { "type": "boolean", - "description": "Indicates whether this address is residential (as opposed to commercial).
        Example: false", - "example": false + "description": "Indicate whether this address is residential (as opposed to commercial)." } }, - "description": "This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US).", + "description": "Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of \"address parts\" which should be handled as a unit (such as a city-state-ZIP combination within the US).", "example": { "streetLines": [ "10 FedEx Parkway", @@ -7004,311 +7037,700 @@ ], "city": "Beverly Hills", "stateOrProvinceCode": "CA", - "postalCode": "90210", + "postalCode": "38127", "countryCode": "US", "residential": false } }, - "PartyAddress_2": { + "PartyAccountNumber": { "type": "object", "properties": { - "streetLines": { - "type": "array", - "description": "This is the combination of number, street name, etc. Maximum length per line is 35.
        Example: 10 FedEx Parkway, Suite 302.

        Note:

        • At least one line is required.
        • Streetlines more than 3 will be ignored.
        • Empty lines should not be included
        • For SmartPost Shipments, only 30 characters from the individual street lines will be printed on the labels.

        ", - "example": [ - "1550 Union Blvd", - "Suite 302" - ], - "items": { - "type": "string" - } - }, - "city": { + "value": { "type": "string", - "description": "This is a placeholder for City Name.
        Example: Beverly Hills", - "example": "Beverly Hills" - }, - "stateOrProvinceCode": { + "description": "Conditional.
        The account number value. Max Length is 9.
        Example: 123456789" + } + }, + "description": "The account number of the recipient.", + "example": { + "value": "123456789" + } + }, + "UploadDocumentReferenceDetail": { + "type": "object", + "properties": { + "documentType": { "type": "string", - "description": "This is a placeholder for State or Province code.State code is required for US, CA, PR and not required for other countries. Conditional. Max length is 2.
        Example: CA.
        click here to see State or Province Code", - "example": "CA" + "description": "This is the uploaded document type.", + "example": "PRO_FORMA_INVOICE", + "enum": [ + "CERTIFICATE_OF_ORIGIN", + "COMMERCIAL_INVOICE", + "ETD_LABEL", + "USMCA_CERTIFICATION_OF_ORIGIN", + "NET_RATE_SHEET", + "OTHER", + "PRO_FORMA_INVOICE", + "USMCA_COMMERCIAL_INVOICE_CERTIFICATION_OF_ORIGIN" + ] }, - "postalCode": { + "documentReference": { "type": "string", - "description": "This is the Postal code.
        This is Optional for non postal-aware countries.
        Maximum length is 10.
        Example: 65247
        click here to see Postal aware countries", - "example": "90210" + "description": "Specify the reference for the uploaded document.
        Example: Reference", + "example": "DocumentReference" }, - "countryCode": { + "description": { "type": "string", - "description": "This is the two-letter country code.
        Maximum length is 2.
        Example: US
        click here to see Country codes", - "example": "US" - }, - "residential": { - "type": "boolean", - "description": "Indicate whether this address is residential (as opposed to commercial).", - "example": false + "description": "This is the document description of the attached document.
        Example: PRO FORMA INVOICE", + "example": "PRO FORMA INVOICE" }, - "geographicCoordinates": { + "documentId": { "type": "string", - "description": "Indicates the geographic coordinates.
        example: geographicCoordinates", - "example": "geographicCoordinates" + "description": "This is the uploaded document ID value.
        Example: 090927d680038c61", + "example": "090927d680038c61" } }, - "description": "This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US).", - "example": { - "streetLines": [ - "10 FedEx Parkway", - "Suite 302" - ], - "city": "Beverly Hills", - "stateOrProvinceCode": "CA", - "postalCode": "90210", - "countryCode": "US", - "residential": false - } + "description": "Specify the document upload reference details." }, - "PartyContact": { + "Weight": { "required": [ - "phoneNumber" + "units", + "value" ], "type": "object", "properties": { - "personName": { - "type": "string", - "description": "Specify contact name. Maximum length is 70.
        Note: Either the companyName or personName is mandatory.
        Example: John Taylor", - "example": "John Taylor" - }, - "emailAddress": { - "type": "string", - "description": "Specify contact email address. Maximum length is 80.
        Example: sample@company.com", - "example": "sample@company.com" - }, - "phoneExtension": { - "type": "string", - "description": "Specify contact phone extension. Maximum length is 6.
        Example: 1234", - "example": "91" - }, - "phoneNumber": { + "units": { "type": "string", - "description": "The shipper's phone number.
        Minimum length is 10 and supports maximum of 15 for certain countries using longer phone numbers.
        Note: For US and CA, a phone number must have exactly 10 digits, plus an optional leading country code of '1' or '+1'.
        Example: 918xxxxx890", - "example": "918xxxxx890" + "description": "Indicate the weight unit type. The package and commodity weight unit should be the same else the request will result in an error.
        Example:KG", + "example": "KG", + "enum": [ + "KG" + ] }, - "companyName": { - "type": "string", - "description": "The shipper's company name. Max length is 35.
        Example: FedEx", - "example": "Fedex" + "value": { + "type": "number", + "description": "Weight Value.
        Example: 68.25
        ", + "format": "double", + "example": 68.25 } }, - "description": "Indicate the contact details for this shipment.", + "description": "These are the package weight details.
        Note: Weight is not required for One rate shipments", "example": { - "personName": "John Taylor", - "emailAddress": "sample@company.com", - "phoneExtension": "91", - "phoneNumber": "1234567890", - "companyName": "Fedex" + "units": "KG", + "value": 68 } }, - "PartyContact_2": { + "PhoneNumber": { "type": "object", "properties": { - "personName": { - "type": "string", - "description": "Specify contact name. Maximum length is 70.
        Example: John Taylor", - "example": "John Taylor" - }, - "emailAddress": { - "type": "string", - "description": "Specify contact email address. Maximum length is 80.
        Example: sample@company.com", - "example": "sample@company.com" - }, - "phoneExtension": { + "areaCode": { "type": "string", - "description": "Specify contact phone extension. Maximum length is 6.
        Example: 1234", - "example": "91" + "description": "Area-Code
        Example: 901", + "example": "901" }, - "phoneNumber": { + "localNumber": { "type": "string", - "description": "Specify contact phone number.
        Minimum length is 10 and supports Maximum as 15 for certain countries using longer phone numbers.
        Note: Recommended Maximum length is 15 and there's no specific validation will be done for the phone number.
        Example: 918xxxxx890", - "example": "1234567890" + "description": "Local Number
        Example: 3575012", + "example": "3575012" }, - "companyName": { + "extension": { "type": "string", - "description": "Specify contact company name.
        Recommended length is 35.
        Note: There's no specific validation of the company name.", - "example": "Fedex" + "description": "Extension
        Example: 200", + "example": "200" }, - "faxNumber": { + "personalIdentificationNumber": { "type": "string", - "description": "Specify contact person's fax number. Maximum length is 15." + "description": "Personal Identification Number
        Example: 98712345", + "example": "98712345" } }, - "description": "Indicate the contact details for this shipment.", + "description": "Indicate the phone number. Only numeric values allowed.
        Note that phoneNumber is mandatory when homedeliveryPremiumType is DATE_CERTAIN or EVENING.", "example": { - "personName": "John Taylor", - "emailAddress": "sample@company.com", - "phoneExtension": "91", - "phoneNumber": "1234567890", - "companyName": "Fedex" + "areaCode": "901", + "localNumber": "3575012", + "extension": "200", + "personalIdentificationNumber": "98712345" } }, - "ContactAndAddress": { + "CustomerReference": { "type": "object", "properties": { - "contact": { - "$ref": "#/components/schemas/Contact" + "customerReferenceType": { + "type": "string", + "description": "This is a customer reference type. The value specified here for the element is printed on the Commercial Invoice only for tracking and label information.

        Note:

        • The P_O_NUMBER value must be specified in customerReferences under requestedPackageLineItems
        • The INVOICE_NUMBER value that is printed on the FedEx-supplied invoice must be specified in customerReferences under commercialInvoice. Value defined in this section will print on the label that is attached to the package
        • The RMA_ASSOCIATION value sent by the customer is returned on the label in human readable form but also as a barcode.
        Note: INTRACOUNTRY_REGULATORY_REFERENCE is applicable only in Intra-Brazil.
        For more information, click here for Customer References.
        Example: DEPARTMENT_NUMBER", + "example": "INVOICE_NUMBER", + "enum": [ + "CUSTOMER_REFERENCE", + "DEPARTMENT_NUMBER", + "INVOICE_NUMBER", + "P_O_NUMBER", + "INTRACOUNTRY_REGULATORY_REFERENCE", + "RMA_ASSOCIATION" + ] }, - "address": { - "$ref": "#/components/schemas/Address" - } - }, - "description": "Specifies the contact and address details of a location.", - "example": { - "address": { - "streetLines": [ - "10 FedEx Parkway", - "Suite 302" - ], - "city": "Beverly Hills", - "stateOrProvinceCode": "CA", - "postalCode": "38127", - "countryCode": "US", - "residential": false - }, - "contact": { - "personName": "person name", - "emailAddress": "email address", - "phoneNumber": "phone number", - "phoneExtension": "phone extension", - "companyName": "company name", - "faxNumber": "fax number" + "value": { + "type": "string", + "description": "This is a customer reference type value.
        Example: 3686
        • The P_O_NUMBER value must be specified in customerReferences under requestedPackageLineItems
        • The INVOICE_NUMBER value that is printed on the FedEx-supplied invoice must be specified in customerReferences under commercialInvoice. Value defined in this section will print on the label that is attached to the package
        • The RMA value sent by the customer is returned on the label in human readable form but also as a barcode. RMA_ASSOCIATION only prints on the label as a barcode for a Return shipment.
        NOTE:
        • INTRACOUNTRY_REGULATORY_REFERENCE is applicable only in Intra-Brazil.
        • Maximum length varies for value field depending on customerReferenceType.
        Maximum length for value is as follows:
        • CUSTOMER_REFERENCE - 40(Express), 30(Ground)
        • DEPARTMENT_NUMBER - 30
        • INVOICE_NUMBER - 30
        • P_O_NUMBER - 30
        • INTRACOUNTRY_REGULATORY_REFERENCE - 30
        • RMA_ASSOCIATION - 20
        • ", + "example": "3686" } } }, - "Contact": { + "DocTabContentZone": { "type": "object", "properties": { - "personName": { + "docTabZoneSpecifications": { + "type": "array", + "description": "Indicate the doc tab specifications for the individual doc tab zone on the label.", + "items": { + "$ref": "#/components/schemas/DocTabZoneSpecification" + } + } + }, + "description": "Indicate the doc tab specification for different zones on the label. The specification includes zone number, header and data field to be displayed on the label." + }, + "HazardousCommodityQuantityDetail": { + "required": [ + "amount", + "quantityType" + ], + "type": "object", + "properties": { + "quantityType": { "type": "string", - "description": "Specify contact person name.
          Recommended length is 70.
          Note: There's no specific validation for the person name.
          Example: John Taylor", - "example": "John Taylor" + "description": "Specifies which measure of quantity is to be validated.", + "example": "NET", + "enum": [ + "GROSS", + "NET" + ] }, - "emailAddress": { - "type": "string", - "description": "Specify contact email address. Maximum length is 80.
          Example: sample@company.com", - "example": "sample@company.com" + "amount": { + "type": "number", + "description": "Number of units of the type below.
          Example: 34.56", + "format": "double", + "example": 34.56 }, - "phoneNumber": { + "units": { "type": "string", - "description": "Contact person's phone number.
          Minimum length is 10 and supports maximum of 15 for certain countries using longer phone numbers.
          Note: For US and CA, a phone number must have exactly 10 digits, plus an optional leading country code of '1' or '+1'.
          Example: 918xxxxx890", - "example": "918xxxxx890" + "description": "Specifies the units.
          Example: KG", + "example": "Kg" + } + }, + "description": "Indicates the Hazardous Commodity Quantity Detail." + }, + "HazardousCommodityContent": { + "type": "object", + "properties": { + "quantity": { + "$ref": "#/components/schemas/HazardousCommodityQuantityDetail" }, - "phoneExtension": { - "type": "string", - "description": "Specify contact phone extension.
          Note: Recommended length is 6. There's no specific validation for the phone extension.
          Example: 1234", - "example": "91" + "innerReceptacles": { + "type": "array", + "description": "Specifies the inner receptacles within the container.", + "items": { + "$ref": "#/components/schemas/HazardousCommodityInnerReceptacleDetail" + } }, - "faxNumber": { - "type": "string", - "description": "Specify contact fax number.
          Note: Recommended length is 15. There's no specific validation for the fax number.
          Example: 1234567890", - "example": "956123" + "options": { + "$ref": "#/components/schemas/HazardousCommodityOptionDetail" }, - "companyName": { - "type": "string", - "description": "Contact person's company name.
          Note: Recommended Length is 35. There's no specific validation for the company name.
          Example: FedEx", - "example": "Fedex" + "description": { + "$ref": "#/components/schemas/HazardousCommodityDescription" } }, - "description": "Indicate the contact details of the shipper.", - "example": { - "personName": "John Taylor", - "emailAddress": "sample@company.com", - "phoneNumber": "1234567890", - "phoneExtension": 1234, - "faxNumber": "1234567890", - "companyName": "Fedex" + "description": "Customer-provided specifications for handling individual commodities." + }, + "HazardousCommodityInnerReceptacleDetail": { + "type": "object", + "properties": { + "quantity": { + "$ref": "#/components/schemas/HazardousCommodityQuantityDetail" + } } }, - "Contact_2": { + "HazardousCommodityOptionDetail": { "type": "object", "properties": { - "personName": { - "type": "string", - "description": "Specify person name.
          Example: John Taylor", - "example": "John" - }, - "emailAddress": { - "type": "string", - "description": "Specify email address.
          Example: sample@company.com" - }, - "phoneNumber": { - "type": "string", - "description": "The shippers phone number.
          Minimum length is 10 and supports maximum of 15 for certain countries using longer phone numbers.
          Note: For US and CA, a phone number must have exactly 10 digits, plus an optional leading country code of 1 or +1.
          Example: 918xxxxx890" - }, - "phoneExtension": { + "labelTextOption": { "type": "string", - "description": "The shipper's phone extension. Max length is 6.
          Example: 91" + "description": "Indicates the label text option.", + "enum": [ + "APPEND", + "OVERRIDE", + "STANDARD" + ] }, - "companyName": { + "customerSuppliedLabelText": { "type": "string", - "description": "Specify company name." + "description": "'DG Data Upload Mode:- Optional.,DG Full Validation Mode:- Optional,Text used in labeling the commodity under control of the LabelTextOption field
          Example:Customer Supplied Label Text' \n\n", + "example": "Customer Supplied Label Text." } }, - "description": "Specify the contact information." + "description": "Indicates details of hazardous commodity option detail." }, - "Address": { + "HazardousCommodityDescription": { "required": [ - "countryCode", - "streetLines" + "packingGroup", + "reportableQuantity" ], "type": "object", "properties": { - "streetLines": { + "sequenceNumber": { + "type": "integer", + "description": "Required
          Specify the sequence number.
          Example: 9812", + "format": "int32", + "example": 9812 + }, + "processingOptions": { "type": "array", - "description": "This is the combination of number, street name, etc.
          Note: At least one line is required and streetlines more than 3 will be ignored. Empty lines should not be included. Maximum length per line is 35.
          Example: [10 FedEx Parkway, Suite 302, .etc.]", + "description": "Indicates any special processing options to be applied to the description of the dangerous goods commodity
          Example: [\"INCLUDE_SPECIAL_PROVISIONS\"]", + "items": { + "type": "string", + "example": "INCLUDE_SPECIAL_PROVISIONS", + "enum": [ + "INCLUDE_SPECIAL_PROVISIONS" + ] + } + }, + "subsidiaryClasses": { + "type": "array", + "description": "Required\n\nIndicates list of subsidiary classes
          Example: [\"Subsidiary Classes\"]", + "example": [ + "Subsidiary Classes" + ], "items": { "type": "string" } }, - "city": { + "labelText": { "type": "string", - "description": "This is a placeholder for City Name.
          Note: This is conditional and not required in all the requests.
          Note: It is recommended for Express shipments for the most accurate ODA and OPA surcharges.
          Example: Beverly Hills" + "description": "Specifies the text for the label.", + "example": "labelText" }, - "stateOrProvinceCode": { + "technicalName": { "type": "string", - "description": "This is a placeholder for State or Province code.State code is required for US, CA, PR and not required for other countries. Conditional. Max length is 2.
          Example: CA
          click here to see State or Province Code" + "description": "Specifies the technical name for the hazardous material.", + "example": "technicalName" }, - "postalCode": { - "type": "string", - "description": "Indicate the Postal code. This is Optional for non postal-aware countries. Maximum length is 10.
          Example: 65247
          click here to see Postal aware countries" + "packingDetails": { + "$ref": "#/components/schemas/HazardousCommodityPackingDetail" }, - "countryCode": { + "authorization": { "type": "string", - "description": "This is the two-letter country code.
          Maximum length is 2.
          Example: US
          click here to see Country codes" + "description": "Information related to quantity limitations and operator or state variations as may be applicable to the dangerous goods commodity.", + "example": "authorization" }, - "residential": { + "reportableQuantity": { "type": "boolean", - "description": "Indicate whether this address is residential (as opposed to commercial)." + "description": "Reportable Quantity", + "example": true + }, + "percentage": { + "type": "number", + "description": "Percentage
          Example: 12.45", + "format": "double", + "example": 12.45 + }, + "id": { + "type": "string", + "description": "ID
          Example: 123", + "example": "123" + }, + "packingGroup": { + "type": "string", + "description": "Identifies DOT packing group for a hazardous commodity", + "example": "I", + "enum": [ + "DEFAULT", + "I", + "II", + "III" + ] + }, + "properShippingName": { + "type": "string", + "description": "The proper shipping name as defined by the regulation. The name can also include qualifying words
          Example: properShippingName", + "example": "properShippingName" + }, + "hazardClass": { + "type": "string", + "description": "Specifies the hazard class for the commodity
          Example: hazard Class\n", + "example": "hazard Class" } }, - "description": "Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of \"address parts\" which should be handled as a unit (such as a city-state-ZIP combination within the US).", - "example": { - "streetLines": [ - "10 FedEx Parkway", - "Suite 302" - ], - "city": "Beverly Hills", - "stateOrProvinceCode": "CA", - "postalCode": "38127", - "countryCode": "US", - "residential": false - } + "description": "Required
          Details of hazardous commodity description." }, - "Payment": { + "HazardousCommodityPackingDetail": { "required": [ - "paymentType" + "cargoAircraftOnly" ], "type": "object", "properties": { - "paymentType": { + "packingInstructions": { + "type": "string", + "description": "Coded specification for how commodity is to be packed.
          Example: packing Instructions", + "example": "packing Instructions" + }, + "cargoAircraftOnly": { + "type": "boolean", + "description": "A Boolean value that, when True, specifies the mode of shipment transportation should be Cargo Aircraft for Dangerous Goods.
          Note: An identifier DGD-CAO is added in AWB for cargo aircraft shipments.Example: true", + "example": true + } + }, + "description": "Specifies documentation and limits for validation of an individual packing group/category. DG Data Upload Mode: Required (IATA), Optional (Other), DG Full Validation Mode: Required (IATA), Optional (Other)," + }, + "CXSError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.
          Example: SHIPMENT.USER.UNAUTHORIZED" + }, + "parameterList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Parameter" + } + }, + "message": { + "type": "string", + "description": "Indicates the description of API error alert message.
          Example: Requested user is not authorized to perform the operation." + } + }, + "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" + }, + "CompletedTagDetail": { + "required": [ + "confirmationNumber", + "dispatchDate", + "location" + ], + "type": "object", + "properties": { + "confirmationNumber": { + "type": "string", + "description": "Confirmation Number.
          Example: 275", + "example": "275" + }, + "location": { + "type": "string", + "description": "Applicable for FedEx Express services.
          Example: NQAA", + "example": "NQAA" + }, + "dispatchDate": { + "type": "string", + "description": "The dispatch date for the FedEx Tag to be cancelled.
          Example: 2019-08-03", + "example": "2019-08-03" + } + } + }, + "ContactAndAddress": { + "type": "object", + "properties": { + "contact": { + "$ref": "#/components/schemas/Contact" + }, + "address": { + "$ref": "#/components/schemas/Address" + } + }, + "description": "Specifies the contact and address details of a location.", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "38127", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "person name", + "emailAddress": "email address", + "phoneNumber": "phone number", + "phoneExtension": "phone extension", + "companyName": "company name", + "faxNumber": "fax number" + } + } + }, + "PartyAddress": { + "required": [ + "city", + "countryCode", + "streetLines" + ], + "type": "object", + "properties": { + "streetLines": { + "type": "array", + "description": "Combination of number, street name, etc. At least one line is required for a valid physical address. Empty lines should not be included. Max Length is 35.
          Example: [1550 Union Blvd,Suite 302]", + "example": "1550 Union Blvd, Suite 302", + "items": { + "type": "string" + } + }, + "city": { + "type": "string", + "maxLength": 35, + "description": "The name of city, town of the recipient.Max length is 35.
          Example: Beverly Hills", + "example": "Beverly Hills" + }, + "stateOrProvinceCode": { + "type": "string", + "description": "The US States,Canada and Puerto Rico Province codes of the recipient. The Format and presence of this field may vary depending on the country.State code is required for US, CA, PR and not required for other countries. Conditional. Max length is 2.
          Example: CA", + "example": "CA" + }, + "postalCode": { + "type": "string", + "description": "This is the postal code.
          Note: This is Optional for non postal-aware countries. Maximum length is 10.
          Example: 65247
          click here to see Postal aware countries", + "example": "90210" + }, + "countryCode": { + "type": "string", + "description": "This is the two-letter country code.
          Maximum length is 2.
          Example: US
          click here to see Country codes", + "example": "US" + }, + "residential": { + "type": "boolean", + "description": "Indicates whether this address is residential (as opposed to commercial).
          Example: false", + "example": false + } + }, + "description": "This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US).", + "example": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + } + }, + "PartyAddress_2": { + "type": "object", + "properties": { + "streetLines": { + "type": "array", + "description": "This is the combination of number, street name, etc. Maximum length per line is 35.
          Example: 10 FedEx Parkway, Suite 302.

          Note:

          • At least one line is required.
          • Streetlines more than 3 will be ignored.
          • Empty lines should not be included
          • For SmartPost Shipments, only 30 characters from the individual street lines will be printed on the labels.

          ", + "example": [ + "1550 Union Blvd", + "Suite 302" + ], + "items": { + "type": "string" + } + }, + "city": { + "type": "string", + "description": "This is a placeholder for City Name.
          Example: Beverly Hills", + "example": "Beverly Hills" + }, + "stateOrProvinceCode": { + "type": "string", + "description": "This is a placeholder for State or Province code.State code is required for US, CA, PR and not required for other countries. Conditional. Max length is 2.
          Example: CA.
          click here to see State or Province Code", + "example": "CA" + }, + "postalCode": { + "type": "string", + "description": "This is the Postal code.
          This is Optional for non postal-aware countries.
          Maximum length is 10.
          Example: 65247
          click here to see Postal aware countries", + "example": "90210" + }, + "countryCode": { + "type": "string", + "description": "This is the two-letter country code.
          Maximum length is 2.
          Example: US
          click here to see Country codes", + "example": "US" + }, + "residential": { + "type": "boolean", + "description": "Indicate whether this address is residential (as opposed to commercial).", + "example": false + }, + "geographicCoordinates": { + "type": "string", + "description": "Indicates the geographic coordinates.
          example: geographicCoordinates", + "example": "geographicCoordinates" + } + }, + "description": "This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US).", + "example": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + } + }, + "PartyContact": { + "required": [ + "phoneNumber" + ], + "type": "object", + "properties": { + "personName": { + "type": "string", + "description": "Specify contact name. Maximum length is 70.
          Note: Either the companyName or personName is mandatory.
          Example: John Taylor", + "example": "John Taylor" + }, + "emailAddress": { + "type": "string", + "description": "Specify contact email address. Maximum length is 80.
          Example: sample@company.com", + "example": "sample@company.com" + }, + "phoneExtension": { + "type": "string", + "description": "Specify contact phone extension. Maximum length is 6.
          Example: 1234", + "example": "91" + }, + "phoneNumber": { + "type": "string", + "description": "The shipper's phone number.
          Minimum length is 10 and supports maximum of 15 for certain countries using longer phone numbers.
          Note: For US and CA, a phone number must have exactly 10 digits, plus an optional leading country code of '1' or '+1'.
          Example: 918xxxxx890", + "example": "918xxxxx890" + }, + "companyName": { + "type": "string", + "description": "The shipper's company name. Max length is 35.
          Example: FedEx", + "example": "Fedex" + } + }, + "description": "Indicate the contact details for this shipment.", + "example": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "91", + "phoneNumber": "1234567890", + "companyName": "Fedex" + } + }, + "PartyContact_2": { + "type": "object", + "properties": { + "personName": { + "type": "string", + "description": "Specify contact name. Maximum length is 70.
          Example: John Taylor", + "example": "John Taylor" + }, + "emailAddress": { + "type": "string", + "description": "Specify contact email address. Maximum length is 80.
          Example: sample@company.com", + "example": "sample@company.com" + }, + "phoneExtension": { + "type": "string", + "description": "Specify contact phone extension. Maximum length is 6.
          Example: 1234", + "example": "91" + }, + "phoneNumber": { + "type": "string", + "description": "Specify contact phone number.
          Minimum length is 10 and supports Maximum as 15 for certain countries using longer phone numbers.
          Note: Recommended Maximum length is 15 and there's no specific validation will be done for the phone number.
          Example: 918xxxxx890", + "example": "1234567890" + }, + "companyName": { + "type": "string", + "description": "Specify contact company name.
          Recommended length is 35.
          Note: There's no specific validation of the company name.", + "example": "Fedex" + }, + "faxNumber": { + "type": "string", + "description": "Specify contact person's fax number. Maximum length is 15." + } + }, + "description": "Indicate the contact details for this shipment.", + "example": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "91", + "phoneNumber": "1234567890", + "companyName": "Fedex" + } + }, + "Contact": { + "type": "object", + "properties": { + "personName": { + "type": "string", + "description": "Specify contact person name.
          Recommended length is 70.
          Note: There's no specific validation for the person name.
          Example: John Taylor", + "example": "John Taylor" + }, + "emailAddress": { + "type": "string", + "description": "Specify contact email address. Maximum length is 80.
          Example: sample@company.com", + "example": "sample@company.com" + }, + "phoneNumber": { + "type": "string", + "description": "Contact person's phone number.
          Minimum length is 10 and supports maximum of 15 for certain countries using longer phone numbers.
          Note: For US and CA, a phone number must have exactly 10 digits, plus an optional leading country code of '1' or '+1'.
          Example: 918xxxxx890", + "example": "918xxxxx890" + }, + "phoneExtension": { + "type": "string", + "description": "Specify contact phone extension.
          Note: Recommended length is 6. There's no specific validation for the phone extension.
          Example: 1234", + "example": "91" + }, + "faxNumber": { + "type": "string", + "description": "Specify contact fax number.
          Note: Recommended length is 15. There's no specific validation for the fax number.
          Example: 1234567890", + "example": "956123" + }, + "companyName": { + "type": "string", + "description": "Contact person's company name.
          Note: Recommended Length is 35. There's no specific validation for the company name.
          Example: FedEx", + "example": "Fedex" + } + }, + "description": "Indicate the contact details of the shipper.", + "example": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneNumber": "1234567890", + "phoneExtension": 1234, + "faxNumber": "1234567890", + "companyName": "Fedex" + } + }, + "Contact_2": { + "type": "object", + "properties": { + "personName": { + "type": "string", + "description": "Specify person name.
          Example: John Taylor", + "example": "John" + }, + "emailAddress": { + "type": "string", + "description": "Specify email address.
          Example: sample@company.com" + }, + "phoneNumber": { + "type": "string", + "description": "The shippers phone number.
          Minimum length is 10 and supports maximum of 15 for certain countries using longer phone numbers.
          Note: For US and CA, a phone number must have exactly 10 digits, plus an optional leading country code of 1 or +1.
          Example: 918xxxxx890" + }, + "phoneExtension": { + "type": "string", + "description": "The shipper's phone extension. Max length is 6.
          Example: 91" + }, + "companyName": { + "type": "string", + "description": "Specify company name." + } + }, + "description": "Specify the contact information." + }, + "Payment": { + "required": [ + "paymentType" + ], + "type": "object", + "properties": { + "paymentType": { "type": "string", "description": "Indicates who and how the shipment will be paid for.Required for Express and Ground.
          Example: SENDER", "enum": [ @@ -7358,7 +7780,7 @@ "type": "object", "properties": { "payor": { - "$ref": "#/components/schemas/Payor" + "$ref": "#/components/schemas/Payor_2" }, "billingDetails": { "$ref": "#/components/schemas/BillingDetails" @@ -7431,13 +7853,16 @@ } }, "Payor": { + "required": [ + "responsibleParty" + ], "type": "object", "properties": { "responsibleParty": { - "$ref": "#/components/schemas/Party" + "$ref": "#/components/schemas/ResponsiblePartyParty" } }, - "description": "Information about the person who is paying for the shipment. Not applicable for credit card payment. ", + "description": "Payor is mandatory when the paymentType is RECIPIENT, THIRD_PARTY or COLLECT.", "example": { "responsibleParty": { "address": { @@ -7447,159 +7872,89 @@ ], "city": "Beverly Hills", "stateOrProvinceCode": "CA", - "postalCode": "38127", + "postalCode": "90210", "countryCode": "US", "residential": false }, "contact": { "personName": "John Taylor", "emailAddress": "sample@company.com", - "phoneNumber": "1234567890", + "phoneNumber": "XXXX567890", "phoneExtension": "phone extension", "companyName": "Fedex", "faxNumber": "fax number" }, "accountNumber": { "value": "Your account number" - }, - "tins": [ - { - "number": "number", - "tinType": "FEDERAL", - "usage": "usage", - "effectiveDate": "2000-01-23T04:56:07.000+00:00", - "expirationDate": "2000-01-23T04:56:07.000+00:00" - }, - { - "number": "number", - "tinType": "FEDERAL", - "usage": "usage", - "effectiveDate": "2000-01-23T04:56:07.000+00:00", - "expirationDate": "2000-01-23T04:56:07.000+00:00" - } - ] - } - } - }, - "PartyAccountNumber": { - "type": "object", - "properties": { - "value": { - "type": "string", - "description": "Conditional.
          The account number value. Max Length is 9.
          Example: 123456789" + } } - }, - "description": "The account number of the recipient.", - "example": { - "value": "123456789" } }, - "UploadDocumentReferenceDetail": { - "type": "object", - "properties": { - "documentType": { - "type": "string", - "description": "This is the uploaded document type.", - "example": "PRO_FORMA_INVOICE", - "enum": [ - "CERTIFICATE_OF_ORIGIN", - "COMMERCIAL_INVOICE", - "ETD_LABEL", - "USMCA_CERTIFICATION_OF_ORIGIN", - "NET_RATE_SHEET", - "OTHER", - "PRO_FORMA_INVOICE", - "USMCA_COMMERCIAL_INVOICE_CERTIFICATION_OF_ORIGIN" - ] - }, - "documentReference": { - "type": "string", - "description": "Specify the reference for the uploaded document.
          Example: Reference", - "example": "DocumentReference" - }, - "description": { - "type": "string", - "description": "This is the document description of the attached document.
          Example: PRO FORMA INVOICE", - "example": "PRO FORMA INVOICE" - }, - "documentId": { - "type": "string", - "description": "This is the uploaded document ID value.
          Example: 090927d680038c61", - "example": "090927d680038c61" - } - }, - "description": "Specify the document upload reference details." - }, - "Party": { + "Payor_2": { "type": "object", "properties": { - "address": { - "$ref": "#/components/schemas/Address" - }, - "contact": { - "$ref": "#/components/schemas/Contact" - }, - "accountNumber": { - "$ref": "#/components/schemas/PartyAccountNumber" - }, - "tins": { - "type": "array", - "description": "This is the tax identification number details.", - "items": { - "$ref": "#/components/schemas/TaxpayerIdentification" - } + "responsibleParty": { + "$ref": "#/components/schemas/Party_2" } }, - "description": "Use this object to provide the attributes such as physical address, contact information and account number information.", + "description": "Information about the person who is paying for the shipment. Not applicable for credit card payment. ", "example": { - "address": { - "streetLines": [ - "10 FedEx Parkway", - "Suite 302" - ], - "city": "Beverly Hills", - "stateOrProvinceCode": "CA", - "postalCode": "38127", - "countryCode": "US", - "residential": false - }, - "contact": { - "personName": "John Taylor", - "emailAddress": "sample@company.com", - "phoneNumber": "1234567890", - "phoneExtension": "phone extension", - "companyName": "Fedex", - "faxNumber": "fax number" - }, - "accountNumber": { - "value": "Your account number" - }, - "tins": [ - { - "number": "number", - "tinType": "FEDERAL", - "usage": "usage", - "effectiveDate": "2000-01-23T04:56:07.000+00:00", - "expirationDate": "2000-01-23T04:56:07.000+00:00" + "responsibleParty": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "38127", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneNumber": "1234567890", + "phoneExtension": "phone extension", + "companyName": "Fedex", + "faxNumber": "fax number" + }, + "accountNumber": { + "value": "Your account number" }, - { - "number": "number", - "tinType": "FEDERAL", - "usage": "usage", - "effectiveDate": "2000-01-23T04:56:07.000+00:00", - "expirationDate": "2000-01-23T04:56:07.000+00:00" - } - ] + "tins": [ + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + }, + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ] + } } }, - "Party_2": { + "Party": { "type": "object", + "required": [ + "contact" + ], "properties": { "address": { - "$ref": "#/components/schemas/PartyAddress_2" + "$ref": "#/components/schemas/PartyAddress" }, "contact": { - "$ref": "#/components/schemas/PartyContact_2" + "$ref": "#/components/schemas/PartyContact" + }, + "accountNumber": { + "$ref": "#/components/schemas/PartyAccountNumber" }, "tins": { "type": "array", @@ -7636,336 +7991,161 @@ "number": "123567", "tinType": "FEDERAL", "usage": "usage", - "effectiveDate": "2000-01-23T04:56:07.000+00:00", - "expirationDate": "2000-01-23T04:56:07.000+00:00" - } - ] - } - }, - "ShipmentDryIceDetail": { - "type": "object", - "properties": { - "totalWeight": { - "$ref": "#/components/schemas/Weight" - }, - "packageCount": { - "type": "integer", - "description": "Indicates the total number of packages in the shipment that contain dry ice.
          Example: 12", - "format": "int32", - "example": 12 - } - }, - "description": "This is the descriptive data required for a FedEx shipment containing dangerous materials. This element is required when SpecialServiceType DRY_ICE is selected.

          Note:

          • Dry Ice is a Package level Special Service for Domestic and International shipments.
          • Dry Ice must be declared at both Shipment and Package level for International MPS shipments to print the compliance statement on Airway Bill labels.

          " - }, - "ShipmentDryIceDetail_2": { - "required": [ - "packageCount", - "totalWeight" - ], - "type": "object", - "properties": { - "totalWeight": { - "description": "Specify total dry ice weight for the shipment.", - "$ref": "#/components/schemas/Weight" - }, - "packageCount": { - "type": "integer", - "description": "Specifies the package Count for the shipment
          Example: 10", - "format": "int32", - "example": 10 - }, - "processingOptions": { - "$ref": "#/components/schemas/ShipmentDryIceProcessingOptionsRequested" - } - }, - "description": "Specifies the shipment level totals of dry ice data across all packages." - }, - "Weight": { - "required": [ - "units", - "value" - ], - "type": "object", - "properties": { - "units": { - "type": "string", - "description": "Indicate the weight unit type. The package and commodity weight unit should be the same else the request will result in an error.
          Example:KG", - "example": "KG", - "enum": [ - "KG" - ] - }, - "value": { - "type": "number", - "description": "Weight Value.
          Example: 68.25
          ", - "format": "double", - "example": 68.25 - } - }, - "description": "These are the package weight details.
          Note: Weight is not required for One rate shipments", - "example": { - "units": "KG", - "value": 68 - } - }, - "PhoneNumber": { - "type": "object", - "properties": { - "areaCode": { - "type": "string", - "description": "Area-Code
          Example: 901", - "example": "901" - }, - "localNumber": { - "type": "string", - "description": "Local Number
          Example: 3575012", - "example": "3575012" - }, - "extension": { - "type": "string", - "description": "Extension
          Example: 200", - "example": "200" - }, - "personalIdentificationNumber": { - "type": "string", - "description": "Personal Identification Number
          Example: 98712345", - "example": "98712345" - } - }, - "description": "Indicate the phone number. Only numeric values allowed.
          Note that phoneNumber is mandatory when homedeliveryPremiumType is DATE_CERTAIN or EVENING.", - "example": { - "areaCode": "901", - "localNumber": "3575012", - "extension": "200", - "personalIdentificationNumber": "98712345" - } - }, - "CustomerReference": { - "type": "object", - "properties": { - "customerReferenceType": { - "type": "string", - "description": "This is a customer reference type. The value specified here for the element is printed on the Commercial Invoice only for tracking and label information.

          Note:

          • The P_O_NUMBER value must be specified in customerReferences under requestedPackageLineItems
          • The INVOICE_NUMBER value that is printed on the FedEx-supplied invoice must be specified in customerReferences under commercialInvoice. Value defined in this section will print on the label that is attached to the package
          • The RMA_ASSOCIATION value sent by the customer is returned on the label in human readable form but also as a barcode.
          Note: INTRACOUNTRY_REGULATORY_REFERENCE is applicable only in Intra-Brazil.
          For more information, click here for Customer References.
          Example: DEPARTMENT_NUMBER", - "example": "INVOICE_NUMBER", - "enum": [ - "CUSTOMER_REFERENCE", - "DEPARTMENT_NUMBER", - "INVOICE_NUMBER", - "P_O_NUMBER", - "INTRACOUNTRY_REGULATORY_REFERENCE", - "RMA_ASSOCIATION" - ] - }, - "value": { - "type": "string", - "description": "This is a customer reference type value.
          Example: 3686
          • The P_O_NUMBER value must be specified in customerReferences under requestedPackageLineItems
          • The INVOICE_NUMBER value that is printed on the FedEx-supplied invoice must be specified in customerReferences under commercialInvoice. Value defined in this section will print on the label that is attached to the package
          • The RMA value sent by the customer is returned on the label in human readable form but also as a barcode. RMA_ASSOCIATION only prints on the label as a barcode for a Return shipment.
          NOTE:
          • INTRACOUNTRY_REGULATORY_REFERENCE is applicable only in Intra-Brazil.
          • Maximum length varies for value field depending on customerReferenceType.
          Maximum length for value is as follows:
          • CUSTOMER_REFERENCE - 40(Express), 30(Ground)
          • DEPARTMENT_NUMBER - 30
          • INVOICE_NUMBER - 30
          • P_O_NUMBER - 30
          • INTRACOUNTRY_REGULATORY_REFERENCE - 30
          • RMA_ASSOCIATION - 20
          • ", - "example": "3686" - } - } - }, - "DocTabContentZone": { - "type": "object", - "properties": { - "docTabZoneSpecifications": { - "type": "array", - "description": "Indicate the doc tab specifications for the individual doc tab zone on the label.", - "items": { - "$ref": "#/components/schemas/DocTabZoneSpecification" - } - } - }, - "description": "Indicate the doc tab specification for different zones on the label. The specification includes zone number, header and data field to be displayed on the label." - }, - "HazardousCommodityQuantityDetail": { - "required": [ - "amount", - "quantityType" - ], - "type": "object", - "properties": { - "quantityType": { - "type": "string", - "description": "Specifies which measure of quantity is to be validated.", - "example": "NET", - "enum": [ - "GROSS", - "NET" - ] - }, - "amount": { - "type": "number", - "description": "Number of units of the type below.
            Example: 34.56", - "format": "double", - "example": 34.56 - }, - "units": { - "type": "string", - "description": "Specifies the units.
            Example: KG", - "example": "Kg" - } - }, - "description": "Indicates the Hazardous Commodity Quantity Detail." - }, - "HazardousCommodityContent": { - "type": "object", - "properties": { - "quantity": { - "$ref": "#/components/schemas/HazardousCommodityQuantityDetail" - }, - "innerReceptacles": { - "type": "array", - "description": "Specifies the inner receptacles within the container.", - "items": { - "$ref": "#/components/schemas/HazardousCommodityInnerReceptacleDetail" - } - }, - "options": { - "$ref": "#/components/schemas/HazardousCommodityOptionDetail" - }, - "description": { - "$ref": "#/components/schemas/HazardousCommodityDescription" - } - }, - "description": "Customer-provided specifications for handling individual commodities." - }, - "HazardousCommodityInnerReceptacleDetail": { - "type": "object", - "properties": { - "quantity": { - "$ref": "#/components/schemas/HazardousCommodityQuantityDetail" - } - } - }, - "HazardousCommodityOptionDetail": { - "type": "object", - "properties": { - "labelTextOption": { - "type": "string", - "description": "Indicates the label text option.", - "enum": [ - "APPEND", - "OVERRIDE", - "STANDARD" - ] - }, - "customerSuppliedLabelText": { - "type": "string", - "description": "'DG Data Upload Mode:- Optional.,DG Full Validation Mode:- Optional,Text used in labeling the commodity under control of the LabelTextOption field
            Example:Customer Supplied Label Text' \n\n", - "example": "Customer Supplied Label Text." - } - }, - "description": "Indicates details of hazardous commodity option detail." + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ] + } }, - "HazardousCommodityDescription": { - "required": [ - "packingGroup", - "reportableQuantity" - ], + "Party_2": { "type": "object", "properties": { - "sequenceNumber": { - "type": "integer", - "description": "Required
            Specify the sequence number.
            Example: 9812", - "format": "int32", - "example": 9812 + "address": { + "$ref": "#/components/schemas/Address" }, - "processingOptions": { - "type": "array", - "description": "Indicates any special processing options to be applied to the description of the dangerous goods commodity
            Example: [\"INCLUDE_SPECIAL_PROVISIONS\"]", - "items": { - "type": "string", - "example": "INCLUDE_SPECIAL_PROVISIONS", - "enum": [ - "INCLUDE_SPECIAL_PROVISIONS" - ] - } + "contact": { + "$ref": "#/components/schemas/Contact" }, - "subsidiaryClasses": { + "accountNumber": { + "$ref": "#/components/schemas/PartyAccountNumber" + }, + "tins": { "type": "array", - "description": "Required\n\nIndicates list of subsidiary classes
            Example: [\"Subsidiary Classes\"]", - "example": [ - "Subsidiary Classes" - ], + "description": "This is the tax identification number details.", "items": { - "type": "string" + "$ref": "#/components/schemas/TaxpayerIdentification" } + } + }, + "description": "Use this object to provide the attributes such as physical address, contact information and account number information.", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "38127", + "countryCode": "US", + "residential": false }, - "labelText": { - "type": "string", - "description": "Specifies the text for the label.", - "example": "labelText" - }, - "technicalName": { - "type": "string", - "description": "Specifies the technical name for the hazardous material.", - "example": "technicalName" + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneNumber": "1234567890", + "phoneExtension": "phone extension", + "companyName": "Fedex", + "faxNumber": "fax number" }, - "packingDetails": { - "$ref": "#/components/schemas/HazardousCommodityPackingDetail" + "accountNumber": { + "value": "Your account number" }, - "authorization": { - "type": "string", - "description": "Information related to quantity limitations and operator or state variations as may be applicable to the dangerous goods commodity.", - "example": "authorization" + "tins": [ + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + }, + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ] + } + }, + "Party_3": { + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/PartyAddress_2" }, - "reportableQuantity": { - "type": "boolean", - "description": "Reportable Quantity", - "example": true + "contact": { + "$ref": "#/components/schemas/PartyContact_2" }, - "percentage": { - "type": "number", - "description": "Percentage
            Example: 12.45", - "format": "double", - "example": 12.45 + "tins": { + "type": "array", + "description": "This is the tax identification number details.", + "items": { + "$ref": "#/components/schemas/TaxpayerIdentification" + } + } + }, + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false }, - "id": { - "type": "string", - "description": "ID
            Example: 123", - "example": "123" + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "000", + "phoneNumber": "XXXX345671", + "companyName": "Fedex" }, - "packingGroup": { - "type": "string", - "description": "Identifies DOT packing group for a hazardous commodity", - "example": "I", - "enum": [ - "DEFAULT", - "I", - "II", - "III" - ] + "accountNumber": { + "value": "Your account number" }, - "properShippingName": { - "type": "string", - "description": "The proper shipping name as defined by the regulation. The name can also include qualifying words
            Example: properShippingName", - "example": "properShippingName" + "tins": [ + { + "number": "123567", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ] + } + }, + "ShipmentDryIceDetail": { + "type": "object", + "properties": { + "totalWeight": { + "$ref": "#/components/schemas/Weight" }, - "hazardClass": { - "type": "string", - "description": "Specifies the hazard class for the commodity
            Example: hazard Class\n", - "example": "hazard Class" + "packageCount": { + "type": "integer", + "description": "Indicates the total number of packages in the shipment that contain dry ice.
            Example: 12", + "format": "int32", + "example": 12 } }, - "description": "Required
            Details of hazardous commodity description." + "description": "This is the descriptive data required for a FedEx shipment containing dangerous materials. This element is required when SpecialServiceType DRY_ICE is selected.

            Note:

            • Dry Ice is a Package level Special Service for Domestic and International shipments.
            • Dry Ice must be declared at both Shipment and Package level for International MPS shipments to print the compliance statement on Airway Bill labels.

            " }, - "HazardousCommodityPackingDetail": { + "ShipmentDryIceDetail_2": { "required": [ - "cargoAircraftOnly" + "packageCount", + "totalWeight" ], "type": "object", "properties": { - "packingInstructions": { - "type": "string", - "description": "Coded specification for how commodity is to be packed.
            Example: packing Instructions", - "example": "packing Instructions" + "totalWeight": { + "description": "Specify total dry ice weight for the shipment.", + "$ref": "#/components/schemas/Weight" }, - "cargoAircraftOnly": { - "type": "boolean", - "description": "A Boolean value that, when True, specifies the mode of shipment transportation should be Cargo Aircraft for Dangerous Goods.
            Note: An identifier DGD-CAO is added in AWB for cargo aircraft shipments.Example: true", - "example": true + "packageCount": { + "type": "integer", + "description": "Specifies the package Count for the shipment
            Example: 10", + "format": "int32", + "example": 10 + }, + "processingOptions": { + "$ref": "#/components/schemas/ShipmentDryIceProcessingOptionsRequested" } }, - "description": "Specifies documentation and limits for validation of an individual packing group/category. DG Data Upload Mode: Required (IATA), Optional (Other), DG Full Validation Mode: Required (IATA), Optional (Other)," + "description": "Specifies the shipment level totals of dry ice data across all packages." }, "ErrorResponseVO": { "type": "object", @@ -8003,51 +8183,6 @@ } } } - }, - "CXSError": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Indicates the error code.
            Example: SHIPMENT.USER.UNAUTHORIZED" - }, - "parameterList": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Parameter" - } - }, - "message": { - "type": "string", - "description": "Indicates the description of API error alert message.
            Example: Requested user is not authorized to perform the operation." - } - }, - "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" - }, - "CompletedTagDetail": { - "required": [ - "confirmationNumber", - "dispatchDate", - "location" - ], - "type": "object", - "properties": { - "confirmationNumber": { - "type": "string", - "description": "Confirmation Number.
            Example: 275", - "example": "275" - }, - "location": { - "type": "string", - "description": "Applicable for FedEx Express services.
            Example: NQAA", - "example": "NQAA" - }, - "dispatchDate": { - "type": "string", - "description": "The dispatch date for the FedEx Tag to be cancelled.
            Example: 2019-08-03", - "example": "2019-08-03" - } - } } } }, diff --git a/resources/models/track/v1.json b/resources/models/track/v1.json index c826b3e3..ae9b5900 100644 --- a/resources/models/track/v1.json +++ b/resources/models/track/v1.json @@ -1488,7 +1488,7 @@ }, "destinationLocation": { "description": "Location details for the recipient where the package will be or has been delivered.", - "$ref": "#/components/schemas/LocationDetail" + "$ref": "#/components/schemas/LocationDetail_2" }, "latestStatusDetail": { "$ref": "#/components/schemas/StatusDetail" @@ -1547,7 +1547,7 @@ }, "holdAtLocation": { "description": "Location details for the FedEx facility holding package for delivery. Populated only when REDIRECT_TO_HOLD_AT_LOCATION is available as custom delivery options.", - "$ref": "#/components/schemas/LocationDetail" + "$ref": "#/components/schemas/LocationDetail_2" }, "customDeliveryOptions": { "type": "array", @@ -3315,6 +3315,53 @@ }, "description": "Specify the details about how to retrieve the subsequent pages when there is more than one page in the TrackReply." }, + "CXSError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.
            Example: SERVICE.UNAVAILABLE.ERROR" + }, + "parameterList": { + "type": "array", + "description": "List of parameters.", + "items": { + "$ref": "#/components/schemas/Parameter" + } + }, + "message": { + "description": "Indicates the description of API error alert message.
            Example: The service is currently unavailable and we are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time.", + "type": "string" + } + }, + "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" + }, + "TrackingEventNotificationDetail": { + "required": [ + "trackingNotifications" + ], + "type": "object", + "properties": { + "trackingNotifications": { + "type": "array", + "description": "List of Tracking notifications requested for events like ON_DELIVERY, ON_ESTIMATED_DELIVERY, ON_EXCEPTION, ON_TENDER.", + "items": { + "$ref": "#/components/schemas/TrackingNotification" + } + }, + "personalMessage": { + "type": "string", + "description": "An optional message which will be included in the body of the email.", + "example": "Personal message content" + }, + "supportHTML": { + "title": "@Ignore4TPP", + "description": "If value is 'true' then html tags are included in the response date. If 'false' they are not provided in the response.", + "type": "string" + } + }, + "description": "Tracking Event Notification details." + }, "AddressVO": { "required": [ "addressVerificationId", @@ -3432,28 +3479,38 @@ }, "description": "Address where the package was actually delivered. Contrast with destinationAddress, which is the location to which the package was intended to be delivered. Addresses may differ due to delivery to a behavior, hold at FedEx location, etc." }, - "CXSError": { + "LocationDetail": { + "required": [ + "locationContactAndAddress" + ], "type": "object", "properties": { - "code": { + "locationId": { "type": "string", - "description": "Indicates the error code.
            Example: SERVICE.UNAVAILABLE.ERROR" + "description": "Location Identification for facilities identified by an alpha numeric location code. Passing Location Id of the Hold at Location (HAL) address is strongly recommended to ensure packages are delivered to the correct address.
            Example: SEA", + "example": "SEA" }, - "parameterList": { - "type": "array", - "description": "List of parameters.", - "items": { - "$ref": "#/components/schemas/Parameter" - } + "locationContactAndAddress": { + "$ref": "#/components/schemas/ContactAndAddress" }, - "message": { - "description": "Indicates the description of API error alert message.
            Example: The service is currently unavailable and we are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time.", - "type": "string" + "locationType": { + "type": "string", + "description": "The FedEx Location Type.
            Example: PICKUP_LOCTION", + "example": "PICKUP_LOCATION", + "enum": [ + "FEDEX_AUTHORIZED_SHIP_CENTER", + "FEDEX_OFFICE", + "FEDEX_SELF_SERVICE_LOCATION", + "FEDEX_STAFFED", + "RETAIL_ALLICANCE_LOCATION", + "FEDEX_GROUND_TERMINAL", + "FEDEX_ONSITE" + ] } }, - "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" + "description": "Location details for the fedex facility." }, - "LocationDetail": { + "LocationDetail_2": { "type": "object", "properties": { "locationId": { @@ -3484,10 +3541,7 @@ ] } }, - "description": "Location details for the fedex facility.", - "required": [ - "locationContactAndAddress" - ] + "description": "Location details for the fedex facility." }, "ContactAndAddress": { "required": [ @@ -3552,32 +3606,6 @@ } } } - }, - "TrackingEventNotificationDetail": { - "required": [ - "trackingNotifications" - ], - "type": "object", - "properties": { - "trackingNotifications": { - "type": "array", - "description": "List of Tracking notifications requested for events like ON_DELIVERY, ON_ESTIMATED_DELIVERY, ON_EXCEPTION, ON_TENDER.", - "items": { - "$ref": "#/components/schemas/TrackingNotification" - } - }, - "personalMessage": { - "type": "string", - "description": "An optional message which will be included in the body of the email.", - "example": "Personal message content" - }, - "supportHTML": { - "title": "@Ignore4TPP", - "description": "If value is 'true' then html tags are included in the response date. If 'false' they are not provided in the response.", - "type": "string" - } - }, - "description": "Tracking Event Notification details." } } }, diff --git a/resources/models/trade-documents-upload/v1.json b/resources/models/trade-documents-upload/v1.json index eeb6cff8..dc6a44a3 100644 --- a/resources/models/trade-documents-upload/v1.json +++ b/resources/models/trade-documents-upload/v1.json @@ -602,7 +602,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_3" }, "example": { "customerTransactionId": "5678b975-ev0e-420b-8d7b-aa6ce65ec48n", @@ -622,7 +622,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_3" }, "example": { "customerTransactionId": "5678b975-ev0e-420b-8d7b-aa6ce65ec48n", @@ -660,7 +660,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_3" }, "example": { "customerTransactionId": "5678b975-ev0e-420b-8d7b-aa6ce65ec48n", @@ -680,7 +680,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_3" }, "example": { "customerTransactionId": "5678b975-ev0e-420b-8d7b-aa6ce65ec48n", @@ -932,7 +932,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MultiBasePreResponse" + "$ref": "#/components/schemas/MultiBasePreResponse_2" } } } @@ -972,7 +972,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_3" }, "example": { "customerTransactionId": "5678b975-ev0e-420b-8d7b-aa6ce65ec48n", @@ -992,7 +992,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_3" }, "example": { "customerTransactionId": "5678b975-ev0e-420b-8d7b-aa6ce65ec48n", @@ -1030,7 +1030,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_3" }, "example": { "customerTransactionId": "5678b975-ev0e-420b-8d7b-aa6ce65ec48n", @@ -1050,7 +1050,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_3" }, "example": { "customerTransactionId": "5678b975-ev0e-420b-8d7b-aa6ce65ec48n", @@ -1641,6 +1641,35 @@ }, "description": "Use this object to specify image meta data such as image type, path and index for the file to be uploaded." }, + "MultiBasePreResponse_output": { + "type": "object", + "properties": { + "documentResponses": { + "type": "array", + "example": [ + { + "metaData": { + "formCode": "USMCA", + "documentType": "PRO", + "docId": "kgr9lgjU3juqxyhf" + }, + "fileReferenceId": "PI_2" + }, + { + "metaData": { + "formCode": "USMCA", + "documentType": "CI", + "docId": "CPK8nMAkD5Ngw0vK" + }, + "fileReferenceId": "CI_1" + } + ], + "items": { + "$ref": "#/components/schemas/MultiDocumentPreResponse" + } + } + } + }, "MultiBasePreResponse_1_output": { "type": "object", "properties": { @@ -1694,6 +1723,41 @@ } } }, + "Parameter": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Identifies the error option to be applied.", + "example": "1" + }, + "key": { + "type": "string", + "description": "Indicates the value associated with the key.", + "example": "DOC_INDEX" + } + } + }, + "CXSError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.
            Example: INTERNAL.SERVER.ERROR" + }, + "parameterList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Parameter" + } + }, + "message": { + "description": "Indicates the description of API error alert message.
            Example: We encountered an unexpected error and are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time.", + "type": "string" + } + }, + "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" + }, "ErrorResponseVO": { "type": "object", "properties": { @@ -1720,48 +1784,53 @@ }, "errors": { "type": "array", + "description": "This is an error object detailing errors received in the reply.", "items": { - "$ref": "#/components/schemas/CXSError" + "$ref": "#/components/schemas/errors" } } } }, - "CXSError": { + "ErrorResponseVO_3": { "type": "object", "properties": { - "code": { + "customerTransactionId": { "type": "string", - "description": "Indicates the error code.
            Example: INTERNAL.SERVER.ERROR" + "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.", + "example": "5678b975-ev0e-420b-8d7b-aa6ce65ec48n" }, - "parameterList": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.", + "example": "407eb778-eb0e-420b-8d7b-aa6ce65ec38a" + }, + "errors": { "type": "array", "items": { - "$ref": "#/components/schemas/Parameter" + "$ref": "#/components/schemas/CXSError" } - }, - "message": { - "description": "Indicates the description of API error alert message.
            Example: We encountered an unexpected error and are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time.", - "type": "string" } - }, - "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" + } }, - "Parameter": { + "MultiBasePreResponse": { "type": "object", "properties": { - "value": { + "customerTransactionId": { "type": "string", - "description": "Identifies the error option to be applied.", - "example": "1" + "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply Example:5678b975-ev0e-420b-8d7b-aa6ce65ec48n", + "example": "5678b975-ev0e-420b-8d7b-aa6ce65ec48n" }, - "key": { + "transactionId": { "type": "string", - "description": "Indicates the value associated with the key.", - "example": "DOC_INDEX" + "description": "The transaction ID is a special set of numbers that defines each transaction.
            Example:624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "output": { + "$ref": "#/components/schemas/MultiBasePreResponse_output" } } }, - "MultiBasePreResponse": { + "MultiBasePreResponse_2": { "type": "object", "properties": { "customerTransactionId": { diff --git a/src/Api/AccountRegistrationV1/Dto/BaseProcessOutputVo.php b/src/Api/AccountRegistrationV1/Dto/BaseProcessOutputVo.php new file mode 100644 index 00000000..c2e5376a --- /dev/null +++ b/src/Api/AccountRegistrationV1/Dto/BaseProcessOutputVo.php @@ -0,0 +1,31 @@ + 'child_Key', 'childSecret' => 'child_secret']; + + protected static array $complexArrayTypes = ['mfaOptions' => MfaOptionsInner::class]; + + /** + * @param MfaOptionsInner[]|null $mfaOptions It provide options to generate the secure pin or validate invoice + * @param ?string $childKey Child Key is a JSON Web Token provided for each of your customers. You must use the Child Key along with the Client Key, Client Secret and Customer Secret to get oAuth token, which should be used as credentials with each API transaction. + * @param ?string $childSecret Child secret, also referred to as Customer Secret, is provided for each of your customers. You must use the Customer Secret along with the Client Key, Client Secret and Child Key to get the oAuth token, which should be used as credentials with each API transaction. + */ + public function __construct( + public ?array $mfaOptions = null, + public ?string $childKey = null, + public ?string $childSecret = null, + ) {} +} diff --git a/src/Api/AccountRegistrationV1/Dto/CxsError2.php b/src/Api/AccountRegistrationV1/Dto/CxsError2.php new file mode 100644 index 00000000..3ab7b174 --- /dev/null +++ b/src/Api/AccountRegistrationV1/Dto/CxsError2.php @@ -0,0 +1,29 @@ + ErrorParameter::class]; + + /** + * @param ?string $code Indicates the error code.
            Example: LOGIN.REAUTHENTICATE.ERROR,UNAUTHORIZED.USAGE,NOT.FOUND.ERROR,INTERNAL.SERVER.ERROR + * @param ErrorParameter[]|null $parameterList + * @param ?string $message Indicates the description of API error alert message.
            Example: Option is missing. + */ + public function __construct( + public ?string $code = null, + public ?array $parameterList = null, + public ?string $message = null, + ) {} +} diff --git a/src/Api/AccountRegistrationV1/Dto/ErrorParameter.php b/src/Api/AccountRegistrationV1/Dto/ErrorParameter.php new file mode 100644 index 00000000..46121ff6 --- /dev/null +++ b/src/Api/AccountRegistrationV1/Dto/ErrorParameter.php @@ -0,0 +1,25 @@ +status(); $responseCls = match ($status) { 200 => PinGenerationOutputVo::class, - 400, 401, 403, 404, 500 => ErrorResponseVo2::class, + 400, 401, 403, 404, 500 => ErrorResponseVo3::class, default => throw new Exception("Unhandled response status: {$status}") }; diff --git a/src/Api/AccountRegistrationV1/Requests/ValidateInvoice.php b/src/Api/AccountRegistrationV1/Requests/ValidateInvoice.php index 7e8e200f..579398f2 100644 --- a/src/Api/AccountRegistrationV1/Requests/ValidateInvoice.php +++ b/src/Api/AccountRegistrationV1/Requests/ValidateInvoice.php @@ -16,8 +16,8 @@ use Saloon\Http\Response; use Saloon\Traits\Body\HasJsonBody; use ShipStream\FedEx\Api\AccountRegistrationV1\Dto\ValidateInvoiceInputVo; -use ShipStream\FedEx\Api\AccountRegistrationV1\Responses\ErrorResponseVo2; -use ShipStream\FedEx\Api\AccountRegistrationV1\Responses\IrcpResponseVo; +use ShipStream\FedEx\Api\AccountRegistrationV1\Responses\ErrorResponseVo3; +use ShipStream\FedEx\Api\AccountRegistrationV1\Responses\IrcpResponseVo2; use ShipStream\FedEx\Request; /** @@ -50,12 +50,12 @@ public function resolveEndpoint(): string return '/registration/v2/invoice/keysgeneration'; } - public function createDtoFromResponse(Response $response): IrcpResponseVo|ErrorResponseVo2 + public function createDtoFromResponse(Response $response): IrcpResponseVo2|ErrorResponseVo3 { $status = $response->status(); $responseCls = match ($status) { - 200 => IrcpResponseVo::class, - 400, 404, 500 => ErrorResponseVo2::class, + 200 => IrcpResponseVo2::class, + 400, 404, 500 => ErrorResponseVo3::class, default => throw new Exception("Unhandled response status: {$status}") }; diff --git a/src/Api/AccountRegistrationV1/Requests/ValidatePin.php b/src/Api/AccountRegistrationV1/Requests/ValidatePin.php index af6eb3a5..07d43322 100644 --- a/src/Api/AccountRegistrationV1/Requests/ValidatePin.php +++ b/src/Api/AccountRegistrationV1/Requests/ValidatePin.php @@ -16,8 +16,8 @@ use Saloon\Http\Response; use Saloon\Traits\Body\HasJsonBody; use ShipStream\FedEx\Api\AccountRegistrationV1\Dto\ValidatePinInputVo; -use ShipStream\FedEx\Api\AccountRegistrationV1\Responses\ErrorResponseVo; -use ShipStream\FedEx\Api\AccountRegistrationV1\Responses\IrcpResponseVo; +use ShipStream\FedEx\Api\AccountRegistrationV1\Responses\ErrorResponseVo2; +use ShipStream\FedEx\Api\AccountRegistrationV1\Responses\IrcpResponseVo2; use ShipStream\FedEx\Request; /** @@ -49,12 +49,12 @@ public function resolveEndpoint(): string return '/registration/v2/pin/keysgeneration'; } - public function createDtoFromResponse(Response $response): IrcpResponseVo|ErrorResponseVo + public function createDtoFromResponse(Response $response): IrcpResponseVo2|ErrorResponseVo2 { $status = $response->status(); $responseCls = match ($status) { - 200 => IrcpResponseVo::class, - 400, 404, 500 => ErrorResponseVo::class, + 200 => IrcpResponseVo2::class, + 400, 404, 500 => ErrorResponseVo2::class, default => throw new Exception("Unhandled response status: {$status}") }; diff --git a/src/Api/AccountRegistrationV1/Responses/ErrorResponseVo.php b/src/Api/AccountRegistrationV1/Responses/ErrorResponseVo.php index c76d0b1e..6e316f70 100644 --- a/src/Api/AccountRegistrationV1/Responses/ErrorResponseVo.php +++ b/src/Api/AccountRegistrationV1/Responses/ErrorResponseVo.php @@ -18,7 +18,7 @@ final class ErrorResponseVo extends Response protected static array $complexArrayTypes = ['errors' => CxsError::class]; /** - * @param ?string $transactionId The transaction ID is a special set of numbers that defines each transaction.
            Example: bc95c0e4-b33e-42a2-80d2-334282b5d37a + * @param ?string $transactionId The transaction ID is a special set of numbers that defines each transaction.
            Example: 624deea6-b709-470c-8c39-4b5511281492 * @param CxsError[]|null $errors */ public function __construct( diff --git a/src/Api/AccountRegistrationV1/Responses/ErrorResponseVo2.php b/src/Api/AccountRegistrationV1/Responses/ErrorResponseVo2.php index 4d78af7d..b62c6615 100644 --- a/src/Api/AccountRegistrationV1/Responses/ErrorResponseVo2.php +++ b/src/Api/AccountRegistrationV1/Responses/ErrorResponseVo2.php @@ -10,21 +10,19 @@ namespace ShipStream\FedEx\Api\AccountRegistrationV1\Responses; -use ShipStream\FedEx\Api\AccountRegistrationV1\Dto\CxsError; +use ShipStream\FedEx\Api\AccountRegistrationV1\Dto\CxsError2; use ShipStream\FedEx\Response; final class ErrorResponseVo2 extends Response { - protected static array $complexArrayTypes = ['errors' => CxsError::class]; + protected static array $complexArrayTypes = ['errors' => CxsError2::class]; /** * @param ?string $transactionId The transaction ID is a special set of numbers that defines each transaction.
            Example: bc95c0e4-b33e-42a2-80d2-334282b5d37a - * @param ?string $customerTransactionId It is the customerTransactionId sent as part of the request header,by the clients calling this endpoint. - * @param CxsError[]|null $errors + * @param CxsError2[]|null $errors */ public function __construct( public readonly ?string $transactionId = null, - public readonly ?string $customerTransactionId = null, public readonly ?array $errors = null, ) {} } diff --git a/src/Api/AccountRegistrationV1/Responses/ErrorResponseVo3.php b/src/Api/AccountRegistrationV1/Responses/ErrorResponseVo3.php new file mode 100644 index 00000000..54c0d08f --- /dev/null +++ b/src/Api/AccountRegistrationV1/Responses/ErrorResponseVo3.php @@ -0,0 +1,30 @@ + CxsError2::class]; + + /** + * @param ?string $transactionId The transaction ID is a special set of numbers that defines each transaction.
            Example: bc95c0e4-b33e-42a2-80d2-334282b5d37a + * @param ?string $customerTransactionId It is the customerTransactionId sent as part of the request header,by the clients calling this endpoint. + * @param CxsError2[]|null $errors + */ + public function __construct( + public readonly ?string $transactionId = null, + public readonly ?string $customerTransactionId = null, + public readonly ?array $errors = null, + ) {} +} diff --git a/src/Api/AccountRegistrationV1/Responses/IrcpResponseVo.php b/src/Api/AccountRegistrationV1/Responses/IrcpResponseVo.php index a72e81f8..b112d8a9 100644 --- a/src/Api/AccountRegistrationV1/Responses/IrcpResponseVo.php +++ b/src/Api/AccountRegistrationV1/Responses/IrcpResponseVo.php @@ -10,17 +10,17 @@ namespace ShipStream\FedEx\Api\AccountRegistrationV1\Responses; -use ShipStream\FedEx\Api\AccountRegistrationV1\Dto\CustomerKeyOutputVo; +use ShipStream\FedEx\Api\AccountRegistrationV1\Dto\BaseProcessOutputVo; use ShipStream\FedEx\Response; final class IrcpResponseVo extends Response { /** * @param ?string $transactionId The transaction ID is a special set of numbers that defines each transaction.
            Example: 624deea6-b709-470c-8c39-4b5511281492 - * @param ?CustomerKeyOutputVo $output This is the response object providing Child Key and secret key as a output. + * @param ?BaseProcessOutputVo $output This is the response object providing Customer Key and secret key as a output. */ public function __construct( public readonly ?string $transactionId = null, - public readonly ?CustomerKeyOutputVo $output = null, + public readonly ?BaseProcessOutputVo $output = null, ) {} } diff --git a/src/Api/AccountRegistrationV1/Responses/IrcpResponseVo2.php b/src/Api/AccountRegistrationV1/Responses/IrcpResponseVo2.php new file mode 100644 index 00000000..07a574f0 --- /dev/null +++ b/src/Api/AccountRegistrationV1/Responses/IrcpResponseVo2.php @@ -0,0 +1,26 @@ +Example: 624deea6-b709-470c-8c39-4b5511281492 + * @param ?CustomerKeyOutputVo $output This is the response object providing Child Key and secret key as a output. + */ + public function __construct( + public readonly ?string $transactionId = null, + public readonly ?CustomerKeyOutputVo $output = null, + ) {} +} diff --git a/src/Api/ConsolidationV1/Dto/BrokerDetail.php b/src/Api/ConsolidationV1/Dto/BrokerDetail.php index 0cbfcb05..9180f02f 100644 --- a/src/Api/ConsolidationV1/Dto/BrokerDetail.php +++ b/src/Api/ConsolidationV1/Dto/BrokerDetail.php @@ -18,7 +18,7 @@ final class BrokerDetail extends Dto * @param ?string $type Identifies the type of Broker. */ public function __construct( - public ?Party3 $broker = null, + public ?Party $broker = null, public ?string $type = null, ) {} } diff --git a/src/Api/ConsolidationV1/Dto/BrokerDetail2.php b/src/Api/ConsolidationV1/Dto/BrokerDetail2.php new file mode 100644 index 00000000..1c75ec46 --- /dev/null +++ b/src/Api/ConsolidationV1/Dto/BrokerDetail2.php @@ -0,0 +1,24 @@ + Formats::class]; /** - * @param ?string[] $consolidationDocumentTypes Specifies consolidation document types. - * @param ?ConsolidationDocumentSpec1ConsolidatedCommercialInvoiceDetail $consolidatedCommercialInvoiceDetail Specifies consolidated commercial invoice detail. - * @param ?ConsolidationDocumentSpec1CustomsPackingListDetail $customsPackingListDetail Specifies the customs packing list detail. - * @param ?ConsolidationDocumentSpec1CrnReportDetail $crnReportDetail Specifies the child reference number report detail. - * @param ?ConsolidationDocumentSpec1CondensedCrnReportDetail $condensedCrnReportDetail Specifies the child reference number report detail for condensed CrnReport Detail. - * @param ?ConsolidationDocumentSpec1ConsolidatedCustomsLinehaulReportDetail $consolidatedCustomsLinehaulReportDetail Specifies the child reference number report detail for consolidated customs linehaul report detail. - * @param ?ConsolidationDocumentSpec1ConsolidatedPartyReportDetail $consolidatedPartyReportDetail Specifies the child reference number report detail for consolidated party report detail. - * @param ?ConsolidationDocumentSpec1ConsolidatedSoldToSummaryReportDetail $consolidatedSoldToSummaryReportDetail Specifies the child reference number report detail for consolidated SoldTo summary report detail. - * @param ?ConsolidationDocumentSpec1ConsolidatedSoldToSummaryReportDetail $commoditiesByTrackingNumberDetail Specifies the child reference number report detail for consolidated SoldTo summary report detail. + * @param ?string[] $consolidationDocumentTypes Specifies consolidation document types.
            Example:
            • CONSOLIDATED_COMMERCIAL_INVOICE
            • CUSTOMS_PACKING_LIST
            • CRN_REPORT
            • COMMODITIES_BY_TRACKING_NUMBER_REPORT
            • CONDENSED_CRN_REPORT
            • CONSOLIDATED_CUSTOMS_LINEHAUL_REPORT
            • CONSOLIDATED_PARTY_REPORT
            • CONSOLIDATED_SOLD_TO_SUMMARY_REPORT
            • CUSTOM_CONSOLIDATION_DOCUMENT
            + * @param ?ConsolidationDocumentSpecConsolidatedCommercialInvoiceDetail $consolidatedCommercialInvoiceDetail Specifies consolidated commercial invoice detail. + * @param ?ConsolidationDocumentSpecCustomsPackingListDetail $customsPackingListDetail Specifies the customs packing list detail. + * @param ?ConsolidationDocumentSpecCrnReportDetail $crnReportDetail Specifies the child reference number report detail. + * @param ?ConsolidationDocumentSpecCondensedCrnReportDetail $condensedCrnReportDetail Specifies the child reference number report detail for condensed CrnReport Detail. + * @param ?ConsolidationDocumentSpecConsolidatedCustomsLinehaulReportDetail $consolidatedCustomsLinehaulReportDetail Specifies the child reference number report detail for consolidated customs linehaul report detail. + * @param ?ConsolidationDocumentSpecConsolidatedPartyReportDetail $consolidatedPartyReportDetail Specifies the child reference number report detail for consolidated party report detail. + * @param ?ConsolidationDocumentSpecConsolidatedSoldToSummaryReportDetail $consolidatedSoldToSummaryReportDetail Specifies the child reference number report detail for consolidated SoldTo summary report detail. + * @param ?ConsolidationDocumentSpecConsolidatedSoldToSummaryReportDetail $commoditiesByTrackingNumberDetail Specifies the child reference number report detail for consolidated SoldTo summary report detail. * @param Formats[]|null $customDocumentDetails Specifies the child reference number report detail for consolidated SoldTo summary report detail. */ public function __construct( public ?array $consolidationDocumentTypes = null, - public ?ConsolidationDocumentSpec1ConsolidatedCommercialInvoiceDetail $consolidatedCommercialInvoiceDetail = null, - public ?ConsolidationDocumentSpec1CustomsPackingListDetail $customsPackingListDetail = null, - public ?ConsolidationDocumentSpec1CrnReportDetail $crnReportDetail = null, - public ?ConsolidationDocumentSpec1CondensedCrnReportDetail $condensedCrnReportDetail = null, - public ?ConsolidationDocumentSpec1ConsolidatedCustomsLinehaulReportDetail $consolidatedCustomsLinehaulReportDetail = null, - public ?ConsolidationDocumentSpec1ConsolidatedPartyReportDetail $consolidatedPartyReportDetail = null, - public ?ConsolidationDocumentSpec1ConsolidatedSoldToSummaryReportDetail $consolidatedSoldToSummaryReportDetail = null, - public ?ConsolidationDocumentSpec1ConsolidatedSoldToSummaryReportDetail $commoditiesByTrackingNumberDetail = null, + public ?ConsolidationDocumentSpecConsolidatedCommercialInvoiceDetail $consolidatedCommercialInvoiceDetail = null, + public ?ConsolidationDocumentSpecCustomsPackingListDetail $customsPackingListDetail = null, + public ?ConsolidationDocumentSpecCrnReportDetail $crnReportDetail = null, + public ?ConsolidationDocumentSpecCondensedCrnReportDetail $condensedCrnReportDetail = null, + public ?ConsolidationDocumentSpecConsolidatedCustomsLinehaulReportDetail $consolidatedCustomsLinehaulReportDetail = null, + public ?ConsolidationDocumentSpecConsolidatedPartyReportDetail $consolidatedPartyReportDetail = null, + public ?ConsolidationDocumentSpecConsolidatedSoldToSummaryReportDetail $consolidatedSoldToSummaryReportDetail = null, + public ?ConsolidationDocumentSpecConsolidatedSoldToSummaryReportDetail $commoditiesByTrackingNumberDetail = null, public ?array $customDocumentDetails = null, ) {} } diff --git a/src/Api/ConsolidationV1/Dto/ConsolidationDocumentSpec2.php b/src/Api/ConsolidationV1/Dto/ConsolidationDocumentSpec2.php new file mode 100644 index 00000000..dad3ef5b --- /dev/null +++ b/src/Api/ConsolidationV1/Dto/ConsolidationDocumentSpec2.php @@ -0,0 +1,43 @@ + Formats::class]; + + /** + * @param ?string[] $consolidationDocumentTypes Specifies consolidation document types. + * @param ?ConsolidationDocumentSpec1ConsolidatedCommercialInvoiceDetail $consolidatedCommercialInvoiceDetail Specifies consolidated commercial invoice detail. + * @param ?ConsolidationDocumentSpec1CustomsPackingListDetail $customsPackingListDetail Specifies the customs packing list detail. + * @param ?ConsolidationDocumentSpec1CrnReportDetail $crnReportDetail Specifies the child reference number report detail. + * @param ?ConsolidationDocumentSpec1CondensedCrnReportDetail $condensedCrnReportDetail Specifies the child reference number report detail for condensed CrnReport Detail. + * @param ?ConsolidationDocumentSpec1ConsolidatedCustomsLinehaulReportDetail $consolidatedCustomsLinehaulReportDetail Specifies the child reference number report detail for consolidated customs linehaul report detail. + * @param ?ConsolidationDocumentSpec1ConsolidatedPartyReportDetail $consolidatedPartyReportDetail Specifies the child reference number report detail for consolidated party report detail. + * @param ?ConsolidationDocumentSpec1ConsolidatedSoldToSummaryReportDetail $consolidatedSoldToSummaryReportDetail Specifies the child reference number report detail for consolidated SoldTo summary report detail. + * @param ?ConsolidationDocumentSpec1ConsolidatedSoldToSummaryReportDetail $commoditiesByTrackingNumberDetail Specifies the child reference number report detail for consolidated SoldTo summary report detail. + * @param Formats[]|null $customDocumentDetails Specifies the child reference number report detail for consolidated SoldTo summary report detail. + */ + public function __construct( + public ?array $consolidationDocumentTypes = null, + public ?ConsolidationDocumentSpec1ConsolidatedCommercialInvoiceDetail $consolidatedCommercialInvoiceDetail = null, + public ?ConsolidationDocumentSpec1CustomsPackingListDetail $customsPackingListDetail = null, + public ?ConsolidationDocumentSpec1CrnReportDetail $crnReportDetail = null, + public ?ConsolidationDocumentSpec1CondensedCrnReportDetail $condensedCrnReportDetail = null, + public ?ConsolidationDocumentSpec1ConsolidatedCustomsLinehaulReportDetail $consolidatedCustomsLinehaulReportDetail = null, + public ?ConsolidationDocumentSpec1ConsolidatedPartyReportDetail $consolidatedPartyReportDetail = null, + public ?ConsolidationDocumentSpec1ConsolidatedSoldToSummaryReportDetail $consolidatedSoldToSummaryReportDetail = null, + public ?ConsolidationDocumentSpec1ConsolidatedSoldToSummaryReportDetail $commoditiesByTrackingNumberDetail = null, + public ?array $customDocumentDetails = null, + ) {} +} diff --git a/src/Api/ConsolidationV1/Dto/ConsolidationDocumentSpecCondensedCrnReportDetail.php b/src/Api/ConsolidationV1/Dto/ConsolidationDocumentSpecCondensedCrnReportDetail.php new file mode 100644 index 00000000..b1a003e9 --- /dev/null +++ b/src/Api/ConsolidationV1/Dto/ConsolidationDocumentSpecCondensedCrnReportDetail.php @@ -0,0 +1,23 @@ +This element is required if a FedEx generated Consolidated Commercial Invoice is requested.
            To request a FedEx generated Consolidated Commercial Invoice include "CONSOLIDATED_COMMERCIAL_INVOICE" value in the "consolidationDocumentTypes" array, in the "consolidationDocumentSpecification" object.
            Customers are responsible for printing the Consolidated Commercial Invoice. + * @param ?CustomsClearanceDetailCommercialInvoice $commercialInvoice Use this object to provide Commercial Invoice details.
            This element is required if a FedEx generated Consolidated Commercial Invoice is requested.
            To request a FedEx generated Consolidated Commercial Invoice include "CONSOLIDATED_COMMERCIAL_INVOICE" value in the "consolidationDocumentTypes" array, in the "consolidationDocumentSpecification" object.
            Customers are responsible for printing the Consolidated Commercial Invoice. * @param ?ExportDetail $exportDetail Conditional. Export Detail Used for US or CA exports. * @param Commodity[]|null $commodities Indicates the details about the dutiable packages. Maximum upto 999 commodities per shipment. - * @param BrokerDetail[]|null $brokers Conditional.
            Specify Broker information only if you are using Broker Select Option for your shipment.To be considered a valid, a country code must be specified in addition to one of the following address items: postal code, city, or location id. + * @param BrokerDetail[]|null $brokers Specify broker information. Use this option only if you are using Broker Select Option for your shipment. A country code must be specified in addition to one of the following address items: postal code, city, or location id. * @param ?string $clearanceBrokerage Specifies the type of brokerage to be applied to a shipment. - * @param ?string $freightOnValue Identifies responsibilities with respect to loss, damage, etc. + * @param ?string $freightOnValue Specify the risk owner for the Freight shipment.This element is only mandatory or valid for Intra India shipments. */ public function __construct( public ?CustomsOptionDetail $customsOption = null, - public ?ImporterOfRecord $importerOfRecord = null, + public ?Party $importerOfRecord = null, public ?RecipientCustomsId $recipientCustomsId = null, public ?Payment $dutiesPayment = null, public ?string $documentContent = null, @@ -43,7 +42,7 @@ public function __construct( public ?array $regulatoryControls = null, public ?Money2 $insuranceCharges = null, public ?ConsolidationCustomsDeclarationStatementDetail $declarationStatementDetail = null, - public ?CustomsClearanceDetail1CommercialInvoice $commercialInvoice = null, + public ?CustomsClearanceDetailCommercialInvoice $commercialInvoice = null, public ?ExportDetail $exportDetail = null, public ?array $commodities = null, public ?array $brokers = null, diff --git a/src/Api/ConsolidationV1/Dto/CustomsClearanceDetail2.php b/src/Api/ConsolidationV1/Dto/CustomsClearanceDetail2.php new file mode 100644 index 00000000..bd1845a2 --- /dev/null +++ b/src/Api/ConsolidationV1/Dto/CustomsClearanceDetail2.php @@ -0,0 +1,53 @@ + Commodity::class, 'brokers' => BrokerDetail2::class]; + + /** + * @param ?CustomsOptionDetail $customsOption Customs Option Detail, type must be indicated for each occurrence + * @param ?ImporterOfRecord $importerOfRecord The descriptive information for the person who is responsible for the shipment. + * @param ?RecipientCustomsId $recipientCustomsId Conditional. Use this element to provide valid identification details. Used for populating brazil tax id. + * @param ?Payment $dutiesPayment Details about who and how the shipment will be paid for. 'payor' is optional when 'paymentType' provided is SENDER. + * @param ?string $documentContent Specifies document content. + * @param ?Money2 $totalCustomsValue This is commodity value used for Customs declaration. + * @param ?string[] $regulatoryControls RegulatoryControls + * @param ?Money2 $insuranceCharges This is commodity value used for Customs declaration. + * @param ?ConsolidationCustomsDeclarationStatementDetail $declarationStatementDetail This provides the information necessary to identify the different statements,declarations, acts, and/or certifications that apply to this shipment. + * @param ?CustomsClearanceDetail1CommercialInvoice $commercialInvoice Use this object to provide Commercial Invoice details.
            This element is required if a FedEx generated Consolidated Commercial Invoice is requested.
            To request a FedEx generated Consolidated Commercial Invoice include "CONSOLIDATED_COMMERCIAL_INVOICE" value in the "consolidationDocumentTypes" array, in the "consolidationDocumentSpecification" object.
            Customers are responsible for printing the Consolidated Commercial Invoice. + * @param ?ExportDetail $exportDetail Conditional. Export Detail Used for US or CA exports. + * @param Commodity[]|null $commodities Indicates the details about the dutiable packages. Maximum upto 999 commodities per shipment. + * @param BrokerDetail2[]|null $brokers Conditional.
            Specify Broker information only if you are using Broker Select Option for your shipment.To be considered a valid, a country code must be specified in addition to one of the following address items: postal code, city, or location id. + * @param ?string $clearanceBrokerage Specifies the type of brokerage to be applied to a shipment. + * @param ?string $freightOnValue Identifies responsibilities with respect to loss, damage, etc. + */ + public function __construct( + public ?CustomsOptionDetail $customsOption = null, + public ?ImporterOfRecord $importerOfRecord = null, + public ?RecipientCustomsId $recipientCustomsId = null, + public ?Payment $dutiesPayment = null, + public ?string $documentContent = null, + public ?Money2 $totalCustomsValue = null, + public ?array $regulatoryControls = null, + public ?Money2 $insuranceCharges = null, + public ?ConsolidationCustomsDeclarationStatementDetail $declarationStatementDetail = null, + public ?CustomsClearanceDetail1CommercialInvoice $commercialInvoice = null, + public ?ExportDetail $exportDetail = null, + public ?array $commodities = null, + public ?array $brokers = null, + public ?string $clearanceBrokerage = null, + public ?string $freightOnValue = null, + ) {} +} diff --git a/src/Api/ConsolidationV1/Dto/CustomsClearanceDetailCommercialInvoice.php b/src/Api/ConsolidationV1/Dto/CustomsClearanceDetailCommercialInvoice.php new file mode 100644 index 00000000..5afa71ea --- /dev/null +++ b/src/Api/ConsolidationV1/Dto/CustomsClearanceDetailCommercialInvoice.php @@ -0,0 +1,49 @@ +Valid values are:
            • FCA/FOB (Free Carrier/Free On Board): Seller is responsible for all costs of delivering goods to destination. (Default)
            • CIP (Costs, Insurance Paid): Seller is responsible for miscellaneous charges to destination.
            • CPT (Carriage Paid To): Buyer is responsible for insurance.
            • EXW (Ex Works): Seller makes goods available to buyer. Buyer is responsible for delivering goods to destination.
            • DDU (Delivered Duty Unpaid): Seller is responsible for delivering goods to destination. Buyer is responsible for clearing goods through Bureau of Customs and Border Protection.
            • DDP (Delivered Duty Paid): Seller is responsible for delivering goods to destination, including duties, taxes, and miscellaneous fees.
            • DAP (Delivered at Place): Seller pays for carriage to the named place except for costs related to import clearance, and assumes all risks prior to the point that the goods are ready for unloading by the buyer.
            • DPU (Deliver at Place of Unloading)
            + * @param ?string[] $comments The comments that will populate the Commercial Invoice (or Pro Forma). + * @param ?string $purpose This field is used for calculation of duties and taxes. + * @param ?FreightChargeMoney $freightCharge Any freight charges that are associated with this shipment. + * @param ?TaxesOrMiscellaneousCharges $taxesOrMiscellaneousCharge Any taxes or miscellaneous charges other than Freight charges or Insurance charges, that are associated with this shipment. + * @param ?string $taxesOrMiscellaneousChargeType Specifice the kind of tax or miscellaneous charge being reported on a Commercial Invoice. + * @param ?PackingCostCharges $packingCosts Any packing costs that are associated with this shipment. + * @param ?HandlingCostCharges $handlingCosts Any handling costs that are associated with this shipment. + * @param ?string $specialInstructions The special instructions that will populate the Commercial Invoice (or Pro Forma).
            Example: specialInstructions + * @param ?string $declarationStatement The declaration statement that will populate the Commercial Invoice (or Pro Forma).
            Max length is 554
            Example: declarationStatement + * @param ?string $paymentTerms The payment terms that will populate the Commercial Invoice (or Pro Forma). This field is being supported for completeness only.
            Example: payment terms + * @param ?string $purposeOfShipmentDescription This is the reason for the shipment.
            Note: SOLD is not a valid purpose for a Proforma Invoice. + * @param ?CustomerReferences $customerReferences These are additional customer reference data for commercial invoice. + * @param ?string $originatorName The originatorName that will populate the Commercial Invoice (or Pro Forma). + */ + public function __construct( + public ?string $termsOfSale = null, + public ?array $comments = null, + public ?string $purpose = null, + public ?FreightChargeMoney $freightCharge = null, + public ?TaxesOrMiscellaneousCharges $taxesOrMiscellaneousCharge = null, + public ?string $taxesOrMiscellaneousChargeType = null, + public ?PackingCostCharges $packingCosts = null, + public ?HandlingCostCharges $handlingCosts = null, + public ?string $specialInstructions = null, + public ?string $declarationStatement = null, + public ?string $paymentTerms = null, + public ?string $purposeOfShipmentDescription = null, + public ?CustomerReferences $customerReferences = null, + public ?string $originatorName = null, + ) {} +} diff --git a/src/Api/ConsolidationV1/Dto/CxsError2.php b/src/Api/ConsolidationV1/Dto/CxsError2.php index 69140c74..45671469 100644 --- a/src/Api/ConsolidationV1/Dto/CxsError2.php +++ b/src/Api/ConsolidationV1/Dto/CxsError2.php @@ -21,6 +21,6 @@ final class CxsError2 extends Dto public function __construct( public ?string $transactionId = null, public ?string $customerTransactionId = null, - public ?CxsError500Errors $errors = null, + public ?CxsError401Errors $errors = null, ) {} } diff --git a/src/Api/ConsolidationV1/Dto/CxsError3.php b/src/Api/ConsolidationV1/Dto/CxsError3.php new file mode 100644 index 00000000..42253079 --- /dev/null +++ b/src/Api/ConsolidationV1/Dto/CxsError3.php @@ -0,0 +1,26 @@ + Parameter::class]; + + /** + * @param ?string $code Indicates the error code. + * @param ?string $message Indicates the description of API error alert message. + * @param Parameter[]|null $parameterList + */ + public function __construct( + public ?string $code = null, + public ?string $message = null, + public ?array $parameterList = null, + ) {} +} diff --git a/src/Api/ConsolidationV1/Dto/CxsError403Errors.php b/src/Api/ConsolidationV1/Dto/CxsError403Errors.php new file mode 100644 index 00000000..110a9d1d --- /dev/null +++ b/src/Api/ConsolidationV1/Dto/CxsError403Errors.php @@ -0,0 +1,29 @@ + Parameter::class]; + + /** + * @param ?string $code Indicates the error code. + * @param ?string $message Indicates the description of API error alert message. + * @param Parameter[]|null $parameterList + */ + public function __construct( + public ?string $code = null, + public ?string $message = null, + public ?array $parameterList = null, + ) {} +} diff --git a/src/Api/ConsolidationV1/Dto/CxsError404Errors.php b/src/Api/ConsolidationV1/Dto/CxsError404Errors.php new file mode 100644 index 00000000..7e56fe89 --- /dev/null +++ b/src/Api/ConsolidationV1/Dto/CxsError404Errors.php @@ -0,0 +1,29 @@ + Parameter::class]; + + /** + * @param ?string $code Indicates the error code. + * @param Parameter[]|null $parameterList + * @param ?string $message Indicates the description of API error alert message. + */ + public function __construct( + public ?string $code = null, + public ?array $parameterList = null, + public ?string $message = null, + ) {} +} diff --git a/src/Api/ConsolidationV1/Dto/CxsError5.php b/src/Api/ConsolidationV1/Dto/CxsError5.php new file mode 100644 index 00000000..f4078632 --- /dev/null +++ b/src/Api/ConsolidationV1/Dto/CxsError5.php @@ -0,0 +1,26 @@ + Example: 2019-10-01 - * @param ?Origin $origin The descriptive information for the customer origin. - * @param ?SoldToParty $soldTo Will indicate the party responsible for purchasing the goods shipped from the shipper to the recipient. The sold to party is not necessarily the recipient or the importer of record. The sold to party is relevant when the purchaser, rather than the recipient determines when certain customs regulations apply. + * @param ?Origin2 $origin The descriptive information for the customer origin. + * @param ?SoldToParty2 $soldTo Will indicate the party responsible for purchasing the goods shipped from the shipper to the recipient. The sold to party is not necessarily the recipient or the importer of record. The sold to party is relevant when the purchaser, rather than the recipient determines when certain customs regulations apply. * @param ?string $bookingNumber Specifies the booking number. * @param ?DistributionLocations $distributionLocation Specifies the distribution locations for consolidation.
            Mandatory for International Ground Distribution. * @param ConsolidationDataSources1Inner[]|null $consolidationDataSources Specifies how selected values in the consolidation are to be determined. * @param CustomerReferences1Inner[]|null $customerReferences These are additional customer reference data for commercial invoice. * @param ?LabelSpecification2 $labelSpecification These are label specification details includes the image type, printer format, and label stock for label. Can also specify specific details such as doc-tab content, regulatory labels, and masking data on the label.
            Mandatory as it is needed during confirming consolidation. If it is not passed while creating consolidation it will fail during confirming consolidation. * @param ?TransborderDistributionDetail $transborderDistributionDetail Specifies attributes of a shipment whithin a transborder distribution. - * @param ?ConsolidationDocumentSpec $consolidationDocumentSpecification Details of consolidation document specification + * @param ?ConsolidationDocumentSpec2 $consolidationDocumentSpecification Details of consolidation document specification * @param ?Payment $shippingChargesPayment Details about who and how the shipment will be paid for. 'payor' is optional when 'paymentType' provided is SENDER. * @param ?string $description Description of the package item. * @param ?RequestedConsolidationSpecialServicesRequested $specialServicesRequested These special services are available at the shipment level for some or all service types. @@ -42,19 +42,19 @@ final class RequestedConsolidation extends Dto */ public function __construct( public string $consolidationType, - public ShipperParty $shipper, + public ShipperParty2 $shipper, public InternationalDistributionDetail $internationalDistributionDetail, - public CustomsClearanceDetail $customsClearanceDetail, + public CustomsClearanceDetail2 $customsClearanceDetail, public ?string $shipDate = null, - public ?Origin $origin = null, - public ?SoldToParty $soldTo = null, + public ?Origin2 $origin = null, + public ?SoldToParty2 $soldTo = null, public ?string $bookingNumber = null, public ?DistributionLocations $distributionLocation = null, public ?array $consolidationDataSources = null, public ?array $customerReferences = null, public ?LabelSpecification2 $labelSpecification = null, public ?TransborderDistributionDetail $transborderDistributionDetail = null, - public ?ConsolidationDocumentSpec $consolidationDocumentSpecification = null, + public ?ConsolidationDocumentSpec2 $consolidationDocumentSpecification = null, public ?Payment $shippingChargesPayment = null, public ?string $description = null, public ?RequestedConsolidationSpecialServicesRequested $specialServicesRequested = null, diff --git a/src/Api/ConsolidationV1/Dto/ShipperParty.php b/src/Api/ConsolidationV1/Dto/ShipperParty.php index 54c76b23..f0d6dde4 100644 --- a/src/Api/ConsolidationV1/Dto/ShipperParty.php +++ b/src/Api/ConsolidationV1/Dto/ShipperParty.php @@ -17,13 +17,13 @@ final class ShipperParty extends Dto protected static array $complexArrayTypes = ['tins' => TaxpayerIdentification::class]; /** - * @param PartyAddress2 $address This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US). + * @param PartyAddress $address This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US). * @param PartyContact $contact Indicate the contact details for this shipment. * @param TaxpayerIdentification[]|null $tins This is the tax identification number details. * @param ?PartyAccountNumber $accountNumber Specify the assigned FedEx Account Number. If the transportation charges to be billed to a payor other than the sender or recipient, provide the FedEx account number. */ public function __construct( - public PartyAddress2 $address, + public PartyAddress $address, public PartyContact $contact, public ?array $tins = null, public ?PartyAccountNumber $accountNumber = null, diff --git a/src/Api/ConsolidationV1/Dto/ShipperParty2.php b/src/Api/ConsolidationV1/Dto/ShipperParty2.php new file mode 100644 index 00000000..2794a9e2 --- /dev/null +++ b/src/Api/ConsolidationV1/Dto/ShipperParty2.php @@ -0,0 +1,31 @@ + TaxpayerIdentification::class]; + + /** + * @param PartyAddress2 $address This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US). + * @param PartyContact $contact Indicate the contact details for this shipment. + * @param TaxpayerIdentification[]|null $tins This is the tax identification number details. + * @param ?PartyAccountNumber $accountNumber Specify the assigned FedEx Account Number. If the transportation charges to be billed to a payor other than the sender or recipient, provide the FedEx account number. + */ + public function __construct( + public PartyAddress2 $address, + public PartyContact $contact, + public ?array $tins = null, + public ?PartyAccountNumber $accountNumber = null, + ) {} +} diff --git a/src/Api/ConsolidationV1/Dto/SoldToParty.php b/src/Api/ConsolidationV1/Dto/SoldToParty.php index aca0e1e2..e52c1509 100644 --- a/src/Api/ConsolidationV1/Dto/SoldToParty.php +++ b/src/Api/ConsolidationV1/Dto/SoldToParty.php @@ -18,13 +18,13 @@ final class SoldToParty extends Dto /** * @param ?PartyAddressSoldTo $address This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US). - * @param ?PartyContactSoldTo2 $contact Contact details of the shipper. + * @param ?PartyContactSoldTo $contact Contact details of the shipper. * @param TaxpayerIdentification[]|null $tins Used for adding the tax id * @param ?PartyAccountNumber $accountNumber Specify the assigned FedEx Account Number. If the transportation charges to be billed to a payor other than the sender or recipient, provide the FedEx account number. */ public function __construct( public ?PartyAddressSoldTo $address = null, - public ?PartyContactSoldTo2 $contact = null, + public ?PartyContactSoldTo $contact = null, public ?array $tins = null, public ?PartyAccountNumber $accountNumber = null, ) {} diff --git a/src/Api/ConsolidationV1/Dto/SoldToParty2.php b/src/Api/ConsolidationV1/Dto/SoldToParty2.php new file mode 100644 index 00000000..7ec6f3fa --- /dev/null +++ b/src/Api/ConsolidationV1/Dto/SoldToParty2.php @@ -0,0 +1,31 @@ + TaxpayerIdentification::class]; + + /** + * @param ?PartyAddressSoldTo $address This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US). + * @param ?PartyContactSoldTo2 $contact Contact details of the shipper. + * @param TaxpayerIdentification[]|null $tins Used for adding the tax id + * @param ?PartyAccountNumber $accountNumber Specify the assigned FedEx Account Number. If the transportation charges to be billed to a payor other than the sender or recipient, provide the FedEx account number. + */ + public function __construct( + public ?PartyAddressSoldTo $address = null, + public ?PartyContactSoldTo2 $contact = null, + public ?array $tins = null, + public ?PartyAccountNumber $accountNumber = null, + ) {} +} diff --git a/src/Api/ConsolidationV1/Requests/ConfirmConsolidationResults.php b/src/Api/ConsolidationV1/Requests/ConfirmConsolidationResults.php index 09c7b5ba..a21ac046 100644 --- a/src/Api/ConsolidationV1/Requests/ConfirmConsolidationResults.php +++ b/src/Api/ConsolidationV1/Requests/ConfirmConsolidationResults.php @@ -19,6 +19,10 @@ use ShipStream\FedEx\Api\ConsolidationV1\Responses\ConfirmConsolidationResultsResponse; use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo; use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo2; +use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo3; +use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo4; +use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo5; +use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo6; use ShipStream\FedEx\Request; /** @@ -44,12 +48,16 @@ public function resolveEndpoint(): string public function createDtoFromResponse( Response $response, - ): ConfirmConsolidationResultsResponse|ErrorResponseVo|ErrorResponseVo2 { + ): ConfirmConsolidationResultsResponse|ErrorResponseVo|ErrorResponseVo2|ErrorResponseVo3|ErrorResponseVo4|ErrorResponseVo5|ErrorResponseVo6 { $status = $response->status(); $responseCls = match ($status) { 200 => ConfirmConsolidationResultsResponse::class, - 400, 500 => ErrorResponseVo::class, - 401, 403, 404, 503 => ErrorResponseVo2::class, + 400 => ErrorResponseVo::class, + 401 => ErrorResponseVo2::class, + 403 => ErrorResponseVo3::class, + 404 => ErrorResponseVo4::class, + 500 => ErrorResponseVo5::class, + 503 => ErrorResponseVo6::class, default => throw new Exception("Unhandled response status: {$status}") }; diff --git a/src/Api/ConsolidationV1/Requests/ConfirmConsolidations.php b/src/Api/ConsolidationV1/Requests/ConfirmConsolidations.php index ee893b1b..a34d007d 100644 --- a/src/Api/ConsolidationV1/Requests/ConfirmConsolidations.php +++ b/src/Api/ConsolidationV1/Requests/ConfirmConsolidations.php @@ -19,6 +19,10 @@ use ShipStream\FedEx\Api\ConsolidationV1\Responses\ConfirmConsolidationResponse; use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo; use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo2; +use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo3; +use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo4; +use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo5; +use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo6; use ShipStream\FedEx\Request; /** @@ -44,12 +48,16 @@ public function resolveEndpoint(): string public function createDtoFromResponse( Response $response, - ): ConfirmConsolidationResponse|ErrorResponseVo|ErrorResponseVo2 { + ): ConfirmConsolidationResponse|ErrorResponseVo|ErrorResponseVo2|ErrorResponseVo3|ErrorResponseVo4|ErrorResponseVo5|ErrorResponseVo6 { $status = $response->status(); $responseCls = match ($status) { 200 => ConfirmConsolidationResponse::class, - 400, 500 => ErrorResponseVo::class, - 401, 403, 404, 503 => ErrorResponseVo2::class, + 400 => ErrorResponseVo::class, + 401 => ErrorResponseVo2::class, + 403 => ErrorResponseVo3::class, + 404 => ErrorResponseVo4::class, + 500 => ErrorResponseVo5::class, + 503 => ErrorResponseVo6::class, default => throw new Exception("Unhandled response status: {$status}") }; diff --git a/src/Api/ConsolidationV1/Requests/ConsolidationShipmentResults.php b/src/Api/ConsolidationV1/Requests/ConsolidationShipmentResults.php index 9d4ead8b..c5ca0a85 100644 --- a/src/Api/ConsolidationV1/Requests/ConsolidationShipmentResults.php +++ b/src/Api/ConsolidationV1/Requests/ConsolidationShipmentResults.php @@ -19,6 +19,10 @@ use ShipStream\FedEx\Api\ConsolidationV1\Responses\ConsolidationShipmentResultsResponse; use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo; use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo2; +use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo3; +use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo4; +use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo5; +use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo6; use ShipStream\FedEx\Request; /** @@ -45,12 +49,16 @@ public function resolveEndpoint(): string public function createDtoFromResponse( Response $response, - ): ConsolidationShipmentResultsResponse|ErrorResponseVo|ErrorResponseVo2 { + ): ConsolidationShipmentResultsResponse|ErrorResponseVo|ErrorResponseVo2|ErrorResponseVo3|ErrorResponseVo4|ErrorResponseVo5|ErrorResponseVo6 { $status = $response->status(); $responseCls = match ($status) { 200 => ConsolidationShipmentResultsResponse::class, - 400, 500 => ErrorResponseVo::class, - 401, 403, 404, 503 => ErrorResponseVo2::class, + 400 => ErrorResponseVo::class, + 401 => ErrorResponseVo2::class, + 403 => ErrorResponseVo3::class, + 404 => ErrorResponseVo4::class, + 500 => ErrorResponseVo5::class, + 503 => ErrorResponseVo6::class, default => throw new Exception("Unhandled response status: {$status}") }; diff --git a/src/Api/ConsolidationV1/Requests/CreateConsolidation.php b/src/Api/ConsolidationV1/Requests/CreateConsolidation.php index 9c701181..029f7004 100644 --- a/src/Api/ConsolidationV1/Requests/CreateConsolidation.php +++ b/src/Api/ConsolidationV1/Requests/CreateConsolidation.php @@ -19,6 +19,10 @@ use ShipStream\FedEx\Api\ConsolidationV1\Responses\CreateConsolidationResponse; use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo; use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo2; +use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo3; +use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo4; +use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo5; +use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo6; use ShipStream\FedEx\Request; /** @@ -48,12 +52,16 @@ public function resolveEndpoint(): string public function createDtoFromResponse( Response $response, - ): CreateConsolidationResponse|ErrorResponseVo|ErrorResponseVo2 { + ): CreateConsolidationResponse|ErrorResponseVo|ErrorResponseVo2|ErrorResponseVo3|ErrorResponseVo4|ErrorResponseVo5|ErrorResponseVo6 { $status = $response->status(); $responseCls = match ($status) { 200 => CreateConsolidationResponse::class, - 400, 500 => ErrorResponseVo::class, - 401, 403, 404, 503 => ErrorResponseVo2::class, + 400 => ErrorResponseVo::class, + 401 => ErrorResponseVo2::class, + 403 => ErrorResponseVo3::class, + 404 => ErrorResponseVo4::class, + 500 => ErrorResponseVo5::class, + 503 => ErrorResponseVo6::class, default => throw new Exception("Unhandled response status: {$status}") }; diff --git a/src/Api/ConsolidationV1/Requests/CreateConsolidationShipment.php b/src/Api/ConsolidationV1/Requests/CreateConsolidationShipment.php index 6e4b83d2..dd6a86d4 100644 --- a/src/Api/ConsolidationV1/Requests/CreateConsolidationShipment.php +++ b/src/Api/ConsolidationV1/Requests/CreateConsolidationShipment.php @@ -19,6 +19,10 @@ use ShipStream\FedEx\Api\ConsolidationV1\Responses\CreateConsolidationShipmentResponse; use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo; use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo2; +use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo3; +use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo4; +use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo5; +use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo6; use ShipStream\FedEx\Request; /** @@ -47,12 +51,16 @@ public function resolveEndpoint(): string public function createDtoFromResponse( Response $response, - ): CreateConsolidationShipmentResponse|ErrorResponseVo|ErrorResponseVo2 { + ): CreateConsolidationShipmentResponse|ErrorResponseVo|ErrorResponseVo2|ErrorResponseVo3|ErrorResponseVo4|ErrorResponseVo5|ErrorResponseVo6 { $status = $response->status(); $responseCls = match ($status) { 200 => CreateConsolidationShipmentResponse::class, - 400, 500 => ErrorResponseVo::class, - 401, 403, 404, 503 => ErrorResponseVo2::class, + 400 => ErrorResponseVo::class, + 401 => ErrorResponseVo2::class, + 403 => ErrorResponseVo3::class, + 404 => ErrorResponseVo4::class, + 500 => ErrorResponseVo5::class, + 503 => ErrorResponseVo6::class, default => throw new Exception("Unhandled response status: {$status}") }; diff --git a/src/Api/ConsolidationV1/Requests/DeleteConsolidation.php b/src/Api/ConsolidationV1/Requests/DeleteConsolidation.php index ef7ab316..7e3fab83 100644 --- a/src/Api/ConsolidationV1/Requests/DeleteConsolidation.php +++ b/src/Api/ConsolidationV1/Requests/DeleteConsolidation.php @@ -19,6 +19,10 @@ use ShipStream\FedEx\Api\ConsolidationV1\Responses\DeleteConsolidationResponse; use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo; use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo2; +use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo3; +use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo4; +use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo5; +use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo6; use ShipStream\FedEx\Request; /** @@ -48,12 +52,16 @@ public function resolveEndpoint(): string public function createDtoFromResponse( Response $response, - ): DeleteConsolidationResponse|ErrorResponseVo|ErrorResponseVo2 { + ): DeleteConsolidationResponse|ErrorResponseVo|ErrorResponseVo2|ErrorResponseVo3|ErrorResponseVo4|ErrorResponseVo5|ErrorResponseVo6 { $status = $response->status(); $responseCls = match ($status) { 200 => DeleteConsolidationResponse::class, - 400, 500 => ErrorResponseVo::class, - 401, 403, 404, 503 => ErrorResponseVo2::class, + 400 => ErrorResponseVo::class, + 401 => ErrorResponseVo2::class, + 403 => ErrorResponseVo3::class, + 404 => ErrorResponseVo4::class, + 500 => ErrorResponseVo5::class, + 503 => ErrorResponseVo6::class, default => throw new Exception("Unhandled response status: {$status}") }; diff --git a/src/Api/ConsolidationV1/Requests/DeleteConsolidationShipments.php b/src/Api/ConsolidationV1/Requests/DeleteConsolidationShipments.php index 9a36377d..f24d96b3 100644 --- a/src/Api/ConsolidationV1/Requests/DeleteConsolidationShipments.php +++ b/src/Api/ConsolidationV1/Requests/DeleteConsolidationShipments.php @@ -17,7 +17,7 @@ use Saloon\Traits\Body\HasJsonBody; use ShipStream\FedEx\Api\ConsolidationV1\Dto\FullSchemaDeleteShipment; use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo; -use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo2; +use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo6; use ShipStream\FedEx\Api\ConsolidationV1\Responses\ShpcResponseVo; use ShipStream\FedEx\Request; @@ -45,12 +45,12 @@ public function resolveEndpoint(): string return '/ship/v1/consolidations/shipments/delete'; } - public function createDtoFromResponse(Response $response): ShpcResponseVo|ErrorResponseVo2|ErrorResponseVo + public function createDtoFromResponse(Response $response): ShpcResponseVo|ErrorResponseVo6|ErrorResponseVo { $status = $response->status(); $responseCls = match ($status) { 200 => ShpcResponseVo::class, - 400, 401, 403, 500 => ErrorResponseVo2::class, + 400, 401, 403, 500 => ErrorResponseVo6::class, 404 => ErrorResponseVo::class, default => throw new Exception("Unhandled response status: {$status}") }; diff --git a/src/Api/ConsolidationV1/Requests/ModifyConsolidation.php b/src/Api/ConsolidationV1/Requests/ModifyConsolidation.php index c76ec0b8..c9f8f306 100644 --- a/src/Api/ConsolidationV1/Requests/ModifyConsolidation.php +++ b/src/Api/ConsolidationV1/Requests/ModifyConsolidation.php @@ -18,6 +18,10 @@ use ShipStream\FedEx\Api\ConsolidationV1\Dto\FullSchemaModifyConsolidation; use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo; use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo2; +use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo3; +use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo4; +use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo5; +use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo6; use ShipStream\FedEx\Api\ConsolidationV1\Responses\ModifyConsolidationResponse; use ShipStream\FedEx\Request; @@ -48,12 +52,16 @@ public function resolveEndpoint(): string public function createDtoFromResponse( Response $response, - ): ModifyConsolidationResponse|ErrorResponseVo|ErrorResponseVo2 { + ): ModifyConsolidationResponse|ErrorResponseVo|ErrorResponseVo2|ErrorResponseVo3|ErrorResponseVo4|ErrorResponseVo5|ErrorResponseVo6 { $status = $response->status(); $responseCls = match ($status) { 200 => ModifyConsolidationResponse::class, - 400, 500 => ErrorResponseVo::class, - 401, 403, 404, 503 => ErrorResponseVo2::class, + 400 => ErrorResponseVo::class, + 401 => ErrorResponseVo2::class, + 403 => ErrorResponseVo3::class, + 404 => ErrorResponseVo4::class, + 500 => ErrorResponseVo5::class, + 503 => ErrorResponseVo6::class, default => throw new Exception("Unhandled response status: {$status}") }; diff --git a/src/Api/ConsolidationV1/Requests/RetrieveConsolidation.php b/src/Api/ConsolidationV1/Requests/RetrieveConsolidation.php index c4baba1a..6c2d68ce 100644 --- a/src/Api/ConsolidationV1/Requests/RetrieveConsolidation.php +++ b/src/Api/ConsolidationV1/Requests/RetrieveConsolidation.php @@ -18,6 +18,10 @@ use ShipStream\FedEx\Api\ConsolidationV1\Dto\FullSchemaRetrieveConsolidation; use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo; use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo2; +use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo3; +use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo4; +use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo5; +use ShipStream\FedEx\Api\ConsolidationV1\Responses\ErrorResponseVo6; use ShipStream\FedEx\Api\ConsolidationV1\Responses\RetrieveConsolidationResponse; use ShipStream\FedEx\Request; @@ -47,12 +51,16 @@ public function resolveEndpoint(): string public function createDtoFromResponse( Response $response, - ): RetrieveConsolidationResponse|ErrorResponseVo|ErrorResponseVo2 { + ): RetrieveConsolidationResponse|ErrorResponseVo|ErrorResponseVo2|ErrorResponseVo3|ErrorResponseVo4|ErrorResponseVo5|ErrorResponseVo6 { $status = $response->status(); $responseCls = match ($status) { 200 => RetrieveConsolidationResponse::class, - 400, 500 => ErrorResponseVo::class, - 401, 403, 404, 503 => ErrorResponseVo2::class, + 400 => ErrorResponseVo::class, + 401 => ErrorResponseVo2::class, + 403 => ErrorResponseVo3::class, + 404 => ErrorResponseVo4::class, + 500 => ErrorResponseVo5::class, + 503 => ErrorResponseVo6::class, default => throw new Exception("Unhandled response status: {$status}") }; diff --git a/src/Api/ConsolidationV1/Responses/ErrorResponseVo.php b/src/Api/ConsolidationV1/Responses/ErrorResponseVo.php index 42ceaf57..5425fb8b 100644 --- a/src/Api/ConsolidationV1/Responses/ErrorResponseVo.php +++ b/src/Api/ConsolidationV1/Responses/ErrorResponseVo.php @@ -10,17 +10,17 @@ namespace ShipStream\FedEx\Api\ConsolidationV1\Responses; -use ShipStream\FedEx\Api\ConsolidationV1\Dto\CxsError2; +use ShipStream\FedEx\Api\ConsolidationV1\Dto\CxsError; use ShipStream\FedEx\Response; final class ErrorResponseVo extends Response { - protected static array $complexArrayTypes = ['errors' => CxsError2::class]; + protected static array $complexArrayTypes = ['errors' => CxsError::class]; /** * @param ?string $transactionId The transaction ID is a special set of numbers that defines each transaction.
            Example: 624deea6-b709-470c-8c39-4b5511281492 * @param ?string $customerTransactionId This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
            Example: AnyCo_order123456789 - * @param CxsError2[]|null $errors + * @param CxsError[]|null $errors */ public function __construct( public readonly ?string $transactionId = null, diff --git a/src/Api/ConsolidationV1/Responses/ErrorResponseVo2.php b/src/Api/ConsolidationV1/Responses/ErrorResponseVo2.php index 1dcc36ef..3433e026 100644 --- a/src/Api/ConsolidationV1/Responses/ErrorResponseVo2.php +++ b/src/Api/ConsolidationV1/Responses/ErrorResponseVo2.php @@ -10,16 +10,16 @@ namespace ShipStream\FedEx\Api\ConsolidationV1\Responses; -use ShipStream\FedEx\Api\ConsolidationV1\Dto\CxsError; +use ShipStream\FedEx\Api\ConsolidationV1\Dto\CxsError2; use ShipStream\FedEx\Response; final class ErrorResponseVo2 extends Response { - protected static array $complexArrayTypes = ['errors' => CxsError::class]; + protected static array $complexArrayTypes = ['errors' => CxsError2::class]; /** * @param ?string $transactionId The transaction ID is a special set of numbers that defines each transaction.
            Example: 624deea6-b709-470c-8c39-4b5511281492 - * @param CxsError[]|null $errors + * @param CxsError2[]|null $errors */ public function __construct( public readonly ?string $transactionId = null, diff --git a/src/Api/ConsolidationV1/Responses/ErrorResponseVo3.php b/src/Api/ConsolidationV1/Responses/ErrorResponseVo3.php new file mode 100644 index 00000000..4c0ab94b --- /dev/null +++ b/src/Api/ConsolidationV1/Responses/ErrorResponseVo3.php @@ -0,0 +1,28 @@ + CxsError3::class]; + + /** + * @param ?string $transactionId The transaction ID is a special set of numbers that defines each transaction.
            Example: 624deea6-b709-470c-8c39-4b5511281492 + * @param CxsError3[]|null $errors + */ + public function __construct( + public readonly ?string $transactionId = null, + public readonly ?array $errors = null, + ) {} +} diff --git a/src/Api/ConsolidationV1/Responses/ErrorResponseVo4.php b/src/Api/ConsolidationV1/Responses/ErrorResponseVo4.php new file mode 100644 index 00000000..e581fa26 --- /dev/null +++ b/src/Api/ConsolidationV1/Responses/ErrorResponseVo4.php @@ -0,0 +1,28 @@ + CxsError4::class]; + + /** + * @param ?string $transactionId The transaction ID is a special set of numbers that defines each transaction.
            Example: 624deea6-b709-470c-8c39-4b5511281492 + * @param CxsError4[]|null $errors + */ + public function __construct( + public readonly ?string $transactionId = null, + public readonly ?array $errors = null, + ) {} +} diff --git a/src/Api/ConsolidationV1/Responses/ErrorResponseVo5.php b/src/Api/ConsolidationV1/Responses/ErrorResponseVo5.php new file mode 100644 index 00000000..d6b0c2f9 --- /dev/null +++ b/src/Api/ConsolidationV1/Responses/ErrorResponseVo5.php @@ -0,0 +1,30 @@ + CxsError5::class]; + + /** + * @param ?string $transactionId The transaction ID is a special set of numbers that defines each transaction.
            Example: 624deea6-b709-470c-8c39-4b5511281492 + * @param ?string $customerTransactionId This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
            Example: AnyCo_order123456789 + * @param CxsError5[]|null $errors + */ + public function __construct( + public readonly ?string $transactionId = null, + public readonly ?string $customerTransactionId = null, + public readonly ?array $errors = null, + ) {} +} diff --git a/src/Api/ConsolidationV1/Responses/ErrorResponseVo6.php b/src/Api/ConsolidationV1/Responses/ErrorResponseVo6.php new file mode 100644 index 00000000..d379e663 --- /dev/null +++ b/src/Api/ConsolidationV1/Responses/ErrorResponseVo6.php @@ -0,0 +1,28 @@ + CxsError::class]; + + /** + * @param ?string $transactionId The transaction ID is a special set of numbers that defines each transaction.
            Example: 624deea6-b709-470c-8c39-4b5511281492 + * @param CxsError[]|null $errors + */ + public function __construct( + public readonly ?string $transactionId = null, + public readonly ?array $errors = null, + ) {} +} diff --git a/src/Api/FreightLTLV1/Dto/BrokerDetail2.php b/src/Api/FreightLTLV1/Dto/BrokerDetail2.php index 8810ca2b..755aba3e 100644 --- a/src/Api/FreightLTLV1/Dto/BrokerDetail2.php +++ b/src/Api/FreightLTLV1/Dto/BrokerDetail2.php @@ -15,7 +15,7 @@ final class BrokerDetail2 extends Dto { /** - * @param ?Party2 $broker Use this object to provide the attributes such as physical address, contact information and account number information. + * @param ?Party2 $broker Attributes for a Party to a transaction including the physical address, contact information and account number information. * @param ?string $type Identifies the type of broker. */ public function __construct( diff --git a/src/Api/FreightLTLV1/Dto/ContactAndAddress.php b/src/Api/FreightLTLV1/Dto/ContactAndAddress.php index a26fd8fb..6ba8905b 100644 --- a/src/Api/FreightLTLV1/Dto/ContactAndAddress.php +++ b/src/Api/FreightLTLV1/Dto/ContactAndAddress.php @@ -16,10 +16,10 @@ final class ContactAndAddress extends Dto { /** * @param ?Contact $contact Indicate the contact details of the shipper. - * @param ?Address2 $address Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of "address parts" which should be handled as a unit (such as a city-state-ZIP combination within the US). + * @param ?Address $address This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US). Country code is required. Postal code is required for postal aware countries. State or province code is mandatory for Puerto Rico. */ public function __construct( public ?Contact $contact = null, - public ?Address2 $address = null, + public ?Address $address = null, ) {} } diff --git a/src/Api/FreightLTLV1/Dto/ContactAndAddress2.php b/src/Api/FreightLTLV1/Dto/ContactAndAddress2.php new file mode 100644 index 00000000..878d5770 --- /dev/null +++ b/src/Api/FreightLTLV1/Dto/ContactAndAddress2.php @@ -0,0 +1,25 @@ +Example: en_US
            click here to see Locales
            Note: If the locale is left blank or an invalid locale is entered, an error message is returned in response. * @param ?ExportDetail $exportDetail These are export Detail used for US or CA exports. * @param ?Money $totalCustomsValue Specifies taxes or miscellaneous charge. diff --git a/src/Api/FreightLTLV1/Dto/Freight2020shipmentDetail.php b/src/Api/FreightLTLV1/Dto/Freight2020shipmentDetail.php index 877e6cac..ab98d741 100644 --- a/src/Api/FreightLTLV1/Dto/Freight2020shipmentDetail.php +++ b/src/Api/FreightLTLV1/Dto/Freight2020shipmentDetail.php @@ -42,7 +42,7 @@ final class Freight2020shipmentDetail extends Dto * @param ?string $collectTermsType Indicates the terms of the collect payment for a Freight shipment. * @param ?string $hazardousMaterialsOfferor Specifies the Hazardous materials offeror * @param ?Money $declaredValuePerUnit Specifies taxes or miscellaneous charge. - * @param ?Party2 $alternateBillingParty Use this object to provide the attributes such as physical address, contact information and account number information. + * @param ?Party2 $alternateBillingParty Attributes for a Party to a transaction including the physical address, contact information and account number information. */ public function __construct( public string $role, diff --git a/src/Api/FreightLTLV1/Dto/FreightPayment.php b/src/Api/FreightLTLV1/Dto/FreightPayment.php index 21264799..63b9f171 100644 --- a/src/Api/FreightLTLV1/Dto/FreightPayment.php +++ b/src/Api/FreightLTLV1/Dto/FreightPayment.php @@ -17,7 +17,7 @@ final class FreightPayment extends Dto /** * @param string $paymentType Indicates who and how the shipment will be paid for. * Required for Express and Ground. - * @param ?Payor $payor Information about the person who is paying for the shipment. Not applicable for credit card payment. + * @param ?Payor $payor Indicate the payer Information responsible for paying for the shipment.
            Note: credit card payment is not applicable.
            Optional when paymentType is SENDER. */ public function __construct( public string $paymentType, diff --git a/src/Api/FreightLTLV1/Dto/FreightRequestedShipmentFreight.php b/src/Api/FreightLTLV1/Dto/FreightRequestedShipmentFreight.php index f01c7ee7..3bbd9276 100644 --- a/src/Api/FreightLTLV1/Dto/FreightRequestedShipmentFreight.php +++ b/src/Api/FreightLTLV1/Dto/FreightRequestedShipmentFreight.php @@ -30,7 +30,7 @@ final class FreightRequestedShipmentFreight extends Dto * @param ?int $totalWeight Indicate the shipment total weight in pounds.

            Example: 10.6 * @param ?string $preferredCurrency Indicate the currency the caller requests to have used in all returned monetary values. Should be Used in conjunction with the element RateRequestType.
            Example: USD

            click here to see available Currency codes

            Note: Incorrect currency codes should not be supplied. The system ignores the incorrect currency code. * @param ?SoldToParty $soldTo Will indicate the party responsible for purchasing the goods shipped from the shipper to the recipient. The sold to party is not necessarily the recipient or the importer of record. The sold to party is relevant when the purchaser, rather than the recipient determines when certain customs regulations apply. - * @param ?ContactAndAddress $origin Specifies the contact and address details of a location. + * @param ?ContactAndAddress2 $origin Specifies the contact and address details of a location. * @param ?FreightShipment2020specialServicesRequested $freightShipmentSpecialServices These special services are available at the shipment level for some or all service types. If the shipper is requesting a special service which requires additional data (such as DO_NOT_STACK_PALLETS), the shipment special service type must be present in the specialServiceTypes collection, and the supporting detail must be provided in the appropriate sub-object below. * @param ?EMailNotificationDetail $emailNotificationDetail These are email disposition details. Provides the type and email addresses of e-mail recipients. If returnedDispositionDetail in labelSpecification is set as true then email will be send with label and documents copy. * @param ?VariableHandlingChargeDetail $variableHandlingChargeDetail Indicate the details about how to calculate variable handling charges at the shipment level. They can be based on a percentage of the shipping charges or a fixed amount. If indicated, element rateLevelType is required. @@ -54,7 +54,7 @@ public function __construct( public ?int $totalWeight = null, public ?string $preferredCurrency = null, public ?SoldToParty $soldTo = null, - public ?ContactAndAddress $origin = null, + public ?ContactAndAddress2 $origin = null, public ?FreightShipment2020specialServicesRequested $freightShipmentSpecialServices = null, public ?EMailNotificationDetail $emailNotificationDetail = null, public ?VariableHandlingChargeDetail $variableHandlingChargeDetail = null, diff --git a/src/Api/FreightLTLV1/Dto/LabelSpecification.php b/src/Api/FreightLTLV1/Dto/LabelSpecification.php index 9eee3ee0..5857bb29 100644 --- a/src/Api/FreightLTLV1/Dto/LabelSpecification.php +++ b/src/Api/FreightLTLV1/Dto/LabelSpecification.php @@ -20,7 +20,7 @@ final class LabelSpecification extends Dto * @param ?string $labelFormatType Specify the label Format Type.
            click here to see label format types * @param ?string $labelOrder This is the order of the Shipping label/documents to be generated. * @param ?CustomerSpecifiedLabelDetail $customerSpecifiedDetail This object allows the control of label content for customization. - * @param ?ContactAndAddress $printedLabelOrigin Specifies the contact and address details of a location. + * @param ?ContactAndAddress2 $printedLabelOrigin Specifies the contact and address details of a location. * @param ?string $labelRotation This is applicable only to documents produced on thermal printers with roll stock. * @param ?string $labelPrintingOrientation This is applicable only to documents produced on thermal printers with roll stock. * @param ?bool $returnedDispositionDetail Specify whether or not the return deposition is needed. @@ -32,7 +32,7 @@ public function __construct( public ?string $labelFormatType = null, public ?string $labelOrder = null, public ?CustomerSpecifiedLabelDetail $customerSpecifiedDetail = null, - public ?ContactAndAddress $printedLabelOrigin = null, + public ?ContactAndAddress2 $printedLabelOrigin = null, public ?string $labelRotation = null, public ?string $labelPrintingOrientation = null, public ?bool $returnedDispositionDetail = null, diff --git a/src/Api/FreightLTLV1/Dto/LocationDetail.php b/src/Api/FreightLTLV1/Dto/LocationDetail.php index bafc83c1..927f6c66 100644 --- a/src/Api/FreightLTLV1/Dto/LocationDetail.php +++ b/src/Api/FreightLTLV1/Dto/LocationDetail.php @@ -29,7 +29,7 @@ final class LocationDetail extends Dto * @param ?string[] $locationAttributeTypes Specifies the location attribute type list. * @param ?string $mapUrl Specifies the map URL. * @param ?string $locationType Specifies the location type. - * @param ?ContactAndAddress $contactAndAddress Specifies the contact and address details of a location. + * @param ?ContactAndAddress $contactAndAddress Specify the contact and address details of a location. * @param CarrierDetails[]|null $carrierDetails Specifies the carrierDetails. */ public function __construct( diff --git a/src/Api/FreightLTLV1/Dto/LtlFreightShipmentDetail.php b/src/Api/FreightLTLV1/Dto/LtlFreightShipmentDetail.php index 6a46d0bf..e26ae5ea 100644 --- a/src/Api/FreightLTLV1/Dto/LtlFreightShipmentDetail.php +++ b/src/Api/FreightLTLV1/Dto/LtlFreightShipmentDetail.php @@ -26,7 +26,7 @@ final class LtlFreightShipmentDetail extends Dto * @param ?string $declaredValueUnits This is the declared value per unit. Declared Value represents FedEx Maximum liability in connection with a shipment of that Package, including but not limited to, any loss, damage, delay, misdelivery, any failure to provide information, or misdelivery of information relating to the Shipment. * @param ?Dimensions $shipmentDimensions Indicate the dimensions of the package.
            Following conditions will apply:
            • Dimensions are optional but when added, then all three dimensions must be indicated.
            • Dimensions are required with YOUR_PACKAGING package type.
            Note: The maximum/minimum dimension values varies based on the services and the packaging types. Refer FedEx Service Guide for service details related to DIM Weighting for FedEx Express and oversize conditions for FedEx Express and FedEx Ground. * @param ?float $clientDiscountPercent This is only used for anonymous rate requests. - * @param ?ContactAndAddress $fedExFreightBillingContactAndAddress Specifies the contact and address details of a location. + * @param ?ContactAndAddress $fedExFreightBillingContactAndAddress Specify the contact and address details of a location. * @param ?string $aliasId Alternate unique identifier assigned to this a line item. * @param ?string $hazardousMaterialsOfferor Specifies the hazardous materials offeror. * @param ?Money $declaredValuePerUnit Specifies taxes or miscellaneous charge. diff --git a/src/Api/FreightLTLV1/Dto/Party2.php b/src/Api/FreightLTLV1/Dto/Party2.php index 81767ee3..6858b5d7 100644 --- a/src/Api/FreightLTLV1/Dto/Party2.php +++ b/src/Api/FreightLTLV1/Dto/Party2.php @@ -17,14 +17,14 @@ final class Party2 extends Dto protected static array $complexArrayTypes = ['tins' => TaxpayerIdentification::class]; /** - * @param ?Address2 $address Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of "address parts" which should be handled as a unit (such as a city-state-ZIP combination within the US). - * @param ?Contact $contact Indicate the contact details of the shipper. + * @param PartyAddress $address Specify detailed Billing Address information for above FedEx Freight Account Number. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US). + * @param PartyContact $contact Indicate the contact details for this shipment. * @param ?PartyAccountNumber $accountNumber Specify the assigned FedEx Account Number. If the transportation charges to be billed to a payor other than the sender or recipient, provide the FedEx Account Number. Specify this field when payment type is selected as SENDER. * @param TaxpayerIdentification[]|null $tins This is the tax identification number details. */ public function __construct( - public ?Address2 $address = null, - public ?Contact $contact = null, + public PartyAddress $address, + public PartyContact $contact, public ?PartyAccountNumber $accountNumber = null, public ?array $tins = null, ) {} diff --git a/src/Api/FreightLTLV1/Dto/Party3.php b/src/Api/FreightLTLV1/Dto/Party3.php index a0a0aef6..bb06ee6a 100644 --- a/src/Api/FreightLTLV1/Dto/Party3.php +++ b/src/Api/FreightLTLV1/Dto/Party3.php @@ -17,13 +17,15 @@ final class Party3 extends Dto protected static array $complexArrayTypes = ['tins' => TaxpayerIdentification::class]; /** - * @param ?PartyAddress2 $address This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US). - * @param ?PartyContact2 $contact Indicate the contact details for this shipment. + * @param ?Address2 $address Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of "address parts" which should be handled as a unit (such as a city-state-ZIP combination within the US). + * @param ?Contact $contact Indicate the contact details of the shipper. + * @param ?PartyAccountNumber $accountNumber Specify the assigned FedEx Account Number. If the transportation charges to be billed to a payor other than the sender or recipient, provide the FedEx Account Number. Specify this field when payment type is selected as SENDER. * @param TaxpayerIdentification[]|null $tins This is the tax identification number details. */ public function __construct( - public ?PartyAddress2 $address = null, - public ?PartyContact2 $contact = null, + public ?Address2 $address = null, + public ?Contact $contact = null, + public ?PartyAccountNumber $accountNumber = null, public ?array $tins = null, ) {} } diff --git a/src/Api/FreightLTLV1/Dto/Party4.php b/src/Api/FreightLTLV1/Dto/Party4.php new file mode 100644 index 00000000..8cdb4034 --- /dev/null +++ b/src/Api/FreightLTLV1/Dto/Party4.php @@ -0,0 +1,29 @@ + TaxpayerIdentification::class]; + + /** + * @param ?PartyAddress2 $address This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US). + * @param ?PartyContact2 $contact Indicate the contact details for this shipment. + * @param TaxpayerIdentification[]|null $tins This is the tax identification number details. + */ + public function __construct( + public ?PartyAddress2 $address = null, + public ?PartyContact2 $contact = null, + public ?array $tins = null, + ) {} +} diff --git a/src/Api/FreightLTLV1/Dto/Payment.php b/src/Api/FreightLTLV1/Dto/Payment.php index 4605868c..aa5e9c86 100644 --- a/src/Api/FreightLTLV1/Dto/Payment.php +++ b/src/Api/FreightLTLV1/Dto/Payment.php @@ -15,12 +15,12 @@ final class Payment extends Dto { /** - * @param ?Payor $payor Information about the person who is paying for the shipment. Not applicable for credit card payment. + * @param ?Payor2 $payor Information about the person who is paying for the shipment. Not applicable for credit card payment. * @param ?BillingDetails $billingDetails These are billing details. * @param ?string $paymentType This is a payment type, basically indicates who is the payor for the shipment.
            Required for Express and Ground.
            The payment type COLLECT is applicable only for Ground shipments. */ public function __construct( - public ?Payor $payor = null, + public ?Payor2 $payor = null, public ?BillingDetails $billingDetails = null, public ?string $paymentType = null, ) {} diff --git a/src/Api/FreightLTLV1/Dto/Payor.php b/src/Api/FreightLTLV1/Dto/Payor.php index ef893e00..f5e4b68b 100644 --- a/src/Api/FreightLTLV1/Dto/Payor.php +++ b/src/Api/FreightLTLV1/Dto/Payor.php @@ -15,9 +15,9 @@ final class Payor extends Dto { /** - * @param ?Party2 $responsibleParty Use this object to provide the attributes such as physical address, contact information and account number information. + * @param ResponsiblePartyParty $responsibleParty Indicate the payer Information responsible for paying for the shipment.
            Note: ResponsibleParty accountNumber is required for ACCOUNT based services. */ public function __construct( - public ?Party2 $responsibleParty = null, + public ResponsiblePartyParty $responsibleParty, ) {} } diff --git a/src/Api/FreightLTLV1/Dto/Payor2.php b/src/Api/FreightLTLV1/Dto/Payor2.php new file mode 100644 index 00000000..05aa71ae --- /dev/null +++ b/src/Api/FreightLTLV1/Dto/Payor2.php @@ -0,0 +1,23 @@ +Example: en_US
            click here to see Locales
            Note: If the locale is left blank or an invalid locale is entered, an error message is returned in response. * @param ?ExportDetail $exportDetail These are export Detail used for US or CA exports. * @param ?Money $totalCustomsValue Specifies taxes or miscellaneous charge. diff --git a/src/Api/OpenShipV1/Dto/Party.php b/src/Api/OpenShipV1/Dto/Party.php index dc1daed1..96ce48d4 100644 --- a/src/Api/OpenShipV1/Dto/Party.php +++ b/src/Api/OpenShipV1/Dto/Party.php @@ -17,14 +17,14 @@ final class Party extends Dto protected static array $complexArrayTypes = ['tins' => TaxpayerIdentification::class]; /** - * @param ?Address $address Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of "address parts" which should be handled as a unit (such as a city-state-ZIP combination within the US). - * @param ?Contact $contact Indicate the contact details of the shipper. + * @param ?PartyAddress $address This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US). + * @param ?PartyContact $contact Indicate the contact details for this shipment. * @param ?PartyAccountNumber $accountNumber This is FedEx Account number details. * @param TaxpayerIdentification[]|null $tins This is the tax identification number details. */ public function __construct( - public ?Address $address = null, - public ?Contact $contact = null, + public ?PartyAddress $address = null, + public ?PartyContact $contact = null, public ?PartyAccountNumber $accountNumber = null, public ?array $tins = null, ) {} diff --git a/src/Api/OpenShipV1/Dto/Party2.php b/src/Api/OpenShipV1/Dto/Party2.php index a3f2f8b0..bae18cc4 100644 --- a/src/Api/OpenShipV1/Dto/Party2.php +++ b/src/Api/OpenShipV1/Dto/Party2.php @@ -17,13 +17,15 @@ final class Party2 extends Dto protected static array $complexArrayTypes = ['tins' => TaxpayerIdentification::class]; /** - * @param ?PartyAddress2 $address This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US). - * @param ?PartyContact2 $contact Indicate the contact details for this shipment. + * @param ?Address $address Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of "address parts" which should be handled as a unit (such as a city-state-ZIP combination within the US). + * @param ?Contact $contact Indicate the contact details of the shipper. + * @param ?PartyAccountNumber $accountNumber This is FedEx Account number details. * @param TaxpayerIdentification[]|null $tins This is the tax identification number details. */ public function __construct( - public ?PartyAddress2 $address = null, - public ?PartyContact2 $contact = null, + public ?Address $address = null, + public ?Contact $contact = null, + public ?PartyAccountNumber $accountNumber = null, public ?array $tins = null, ) {} } diff --git a/src/Api/OpenShipV1/Dto/Party3.php b/src/Api/OpenShipV1/Dto/Party3.php new file mode 100644 index 00000000..7cddfe25 --- /dev/null +++ b/src/Api/OpenShipV1/Dto/Party3.php @@ -0,0 +1,29 @@ + TaxpayerIdentification::class]; + + /** + * @param ?PartyAddress2 $address This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US). + * @param ?PartyContact2 $contact Indicate the contact details for this shipment. + * @param TaxpayerIdentification[]|null $tins This is the tax identification number details. + */ + public function __construct( + public ?PartyAddress2 $address = null, + public ?PartyContact2 $contact = null, + public ?array $tins = null, + ) {} +} diff --git a/src/Api/OpenShipV1/Dto/Payment.php b/src/Api/OpenShipV1/Dto/Payment.php index f5e330a3..30ef87ab 100644 --- a/src/Api/OpenShipV1/Dto/Payment.php +++ b/src/Api/OpenShipV1/Dto/Payment.php @@ -16,7 +16,7 @@ final class Payment extends Dto { /** * @param string $paymentType Specifies the payment Type.
            Note: This is required for Express, Ground and SmartPost shipments.
            The payment type COLLECT is applicable only for Ground shipments. - * @param ?Payor $payor Information about the person who is paying for the shipment. Not applicable for credit card payment. + * @param ?Payor $payor Indicate the payer Information responsible for paying for the shipment.
            Note: credit card payment is not applicable.
            Payor is mandatory when the paymentType is RECIPIENT, THIRD_PARTY or COLLECT. */ public function __construct( public string $paymentType, diff --git a/src/Api/OpenShipV1/Dto/Payment2.php b/src/Api/OpenShipV1/Dto/Payment2.php index b17ce325..f5c183fc 100644 --- a/src/Api/OpenShipV1/Dto/Payment2.php +++ b/src/Api/OpenShipV1/Dto/Payment2.php @@ -15,12 +15,12 @@ final class Payment2 extends Dto { /** - * @param ?Payor $payor Information about the person who is paying for the shipment. Not applicable for credit card payment. + * @param ?Payor2 $payor Information about the person who is paying for the shipment. Not applicable for credit card payment. * @param ?BillingDetails $billingDetails These are billing details. * @param ?string $paymentType This is a payment type, basically indicates who is the payor for the shipment.
            Required for Express and Ground.
            The payment type COLLECT is applicable only for Ground shipments. */ public function __construct( - public ?Payor $payor = null, + public ?Payor2 $payor = null, public ?BillingDetails $billingDetails = null, public ?string $paymentType = null, ) {} diff --git a/src/Api/OpenShipV1/Dto/Payor.php b/src/Api/OpenShipV1/Dto/Payor.php index f5b0b465..461bdb03 100644 --- a/src/Api/OpenShipV1/Dto/Payor.php +++ b/src/Api/OpenShipV1/Dto/Payor.php @@ -15,9 +15,9 @@ final class Payor extends Dto { /** - * @param ?Party $responsibleParty Use this object to provide the attributes such as physical address, contact information and account number information. + * @param ResponsiblePartyParty $responsibleParty Indicate the payer Information responsible for paying for the shipment.
            Note: ResponsibleParty accountNumber is required for ACCOUNT based services. */ public function __construct( - public ?Party $responsibleParty = null, + public ResponsiblePartyParty $responsibleParty, ) {} } diff --git a/src/Api/OpenShipV1/Dto/Payor2.php b/src/Api/OpenShipV1/Dto/Payor2.php new file mode 100644 index 00000000..eea9764f --- /dev/null +++ b/src/Api/OpenShipV1/Dto/Payor2.php @@ -0,0 +1,23 @@ +Example: IMPORT */ public function __construct( diff --git a/src/Api/ShipV1/Dto/CustomsClearanceDetail.php b/src/Api/ShipV1/Dto/CustomsClearanceDetail.php index ae0434bb..756e6904 100644 --- a/src/Api/ShipV1/Dto/CustomsClearanceDetail.php +++ b/src/Api/ShipV1/Dto/CustomsClearanceDetail.php @@ -26,7 +26,6 @@ final class CustomsClearanceDetail extends Dto * @param ?bool $isDocumentOnly Defaults to false. Only used for international Express requests to indicate if just documents are being shipped or not. A valude of DERIVED will cause the value to be determined by PMIS based on the specified commodities information
            Example: false * @param ?RecipientCustomsId $recipientCustomsId Use this element to provide valid identification details. Used for populating brazil tax id. * @param ?CustomsOptionDetail $customsOption These are customs Option Detail, type must be indicated for each occurrence. - * @param ?Party $importerOfRecord Use this object to provide the attributes such as physical address, contact information and account number information. * @param ?string $generatedDocumentLocale This is the locale for generated document.
            Example: en_US
            click here to see Locales
            Note: If the locale is left blank or an invalid locale is entered, an error message is returned in response. * @param ?ExportDetail $exportDetail These are export Detail used for US or CA exports. * @param ?Money $totalCustomsValue This customs value is applicable for all items(or units) under the specified commodity diff --git a/src/Api/ShipV1/Dto/Party.php b/src/Api/ShipV1/Dto/Party.php index d21a5e62..5f0fa26b 100644 --- a/src/Api/ShipV1/Dto/Party.php +++ b/src/Api/ShipV1/Dto/Party.php @@ -17,14 +17,14 @@ final class Party extends Dto protected static array $complexArrayTypes = ['tins' => TaxpayerIdentification::class]; /** - * @param ?Address $address Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of "address parts" which should be handled as a unit (such as a city-state-ZIP combination within the US). - * @param ?Contact $contact Indicate the contact details of the shipper. + * @param PartyContact $contact Indicate the contact details for this shipment. + * @param ?PartyAddress $address This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US). * @param ?PartyAccountNumber $accountNumber The account number of the recipient. * @param TaxpayerIdentification[]|null $tins This is the tax identification number details. */ public function __construct( - public ?Address $address = null, - public ?Contact $contact = null, + public PartyContact $contact, + public ?PartyAddress $address = null, public ?PartyAccountNumber $accountNumber = null, public ?array $tins = null, ) {} diff --git a/src/Api/ShipV1/Dto/Party2.php b/src/Api/ShipV1/Dto/Party2.php index 2ba3d0d5..b9c912f1 100644 --- a/src/Api/ShipV1/Dto/Party2.php +++ b/src/Api/ShipV1/Dto/Party2.php @@ -17,13 +17,15 @@ final class Party2 extends Dto protected static array $complexArrayTypes = ['tins' => TaxpayerIdentification::class]; /** - * @param ?PartyAddress2 $address This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US). - * @param ?PartyContact2 $contact Indicate the contact details for this shipment. + * @param ?Address $address Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of "address parts" which should be handled as a unit (such as a city-state-ZIP combination within the US). + * @param ?Contact $contact Indicate the contact details of the shipper. + * @param ?PartyAccountNumber $accountNumber The account number of the recipient. * @param TaxpayerIdentification[]|null $tins This is the tax identification number details. */ public function __construct( - public ?PartyAddress2 $address = null, - public ?PartyContact2 $contact = null, + public ?Address $address = null, + public ?Contact $contact = null, + public ?PartyAccountNumber $accountNumber = null, public ?array $tins = null, ) {} } diff --git a/src/Api/ShipV1/Dto/Party3.php b/src/Api/ShipV1/Dto/Party3.php new file mode 100644 index 00000000..be8547a7 --- /dev/null +++ b/src/Api/ShipV1/Dto/Party3.php @@ -0,0 +1,29 @@ + TaxpayerIdentification::class]; + + /** + * @param ?PartyAddress2 $address This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US). + * @param ?PartyContact2 $contact Indicate the contact details for this shipment. + * @param TaxpayerIdentification[]|null $tins This is the tax identification number details. + */ + public function __construct( + public ?PartyAddress2 $address = null, + public ?PartyContact2 $contact = null, + public ?array $tins = null, + ) {} +} diff --git a/src/Api/ShipV1/Dto/Payment.php b/src/Api/ShipV1/Dto/Payment.php index 8d83ce76..35cfda00 100644 --- a/src/Api/ShipV1/Dto/Payment.php +++ b/src/Api/ShipV1/Dto/Payment.php @@ -16,7 +16,7 @@ final class Payment extends Dto { /** * @param string $paymentType Indicates who and how the shipment will be paid for.Required for Express and Ground.
            Example: SENDER - * @param ?Payor $payor Information about the person who is paying for the shipment. Not applicable for credit card payment. + * @param ?Payor $payor Payor is mandatory when the paymentType is RECIPIENT, THIRD_PARTY or COLLECT. */ public function __construct( public string $paymentType, diff --git a/src/Api/ShipV1/Dto/Payment2.php b/src/Api/ShipV1/Dto/Payment2.php index 7f0c4329..21eed886 100644 --- a/src/Api/ShipV1/Dto/Payment2.php +++ b/src/Api/ShipV1/Dto/Payment2.php @@ -15,12 +15,12 @@ final class Payment2 extends Dto { /** - * @param ?Payor $payor Information about the person who is paying for the shipment. Not applicable for credit card payment. + * @param ?Payor2 $payor Information about the person who is paying for the shipment. Not applicable for credit card payment. * @param ?BillingDetails $billingDetails These are billing details. * @param ?string $paymentType Indicates who and how the shipment will be paid for.Required for Express and Ground.
            Example: SENDER */ public function __construct( - public ?Payor $payor = null, + public ?Payor2 $payor = null, public ?BillingDetails $billingDetails = null, public ?string $paymentType = null, ) {} diff --git a/src/Api/ShipV1/Dto/Payor.php b/src/Api/ShipV1/Dto/Payor.php index fbc66d11..3f34364c 100644 --- a/src/Api/ShipV1/Dto/Payor.php +++ b/src/Api/ShipV1/Dto/Payor.php @@ -15,9 +15,9 @@ final class Payor extends Dto { /** - * @param ?Party $responsibleParty Use this object to provide the attributes such as physical address, contact information and account number information. + * @param ResponsiblePartyParty $responsibleParty Indicate the payer Information responsible for paying for the shipment.
            Note: ResponsibleParty accountNumber is required for ACCOUNT based services. */ public function __construct( - public ?Party $responsibleParty = null, + public ResponsiblePartyParty $responsibleParty, ) {} } diff --git a/src/Api/ShipV1/Dto/Payor2.php b/src/Api/ShipV1/Dto/Payor2.php new file mode 100644 index 00000000..371e6ad4 --- /dev/null +++ b/src/Api/ShipV1/Dto/Payor2.php @@ -0,0 +1,23 @@ +Example: CASH * @param ?CodTransportationChargesDetail $addTransportationChargesDetail Use this object to specify C.O.D. transportation charges. - * @param ?Party $codRecipient Use this object to provide the attributes such as physical address, contact information and account number information. * @param ?string $remitToName Specify the name of the person or company receiving the secured/unsecured funds payment
            Example: remitToName * @param ?ContactAndAddress $financialInstitutionContactAndAddress Specifies the contact and address details of a location. * @param ?Money $codCollectionAmount This customs value is applicable for all items(or units) under the specified commodity diff --git a/src/Api/ShipV1/Dto/UsmcaCertificationOfOriginDetail.php b/src/Api/ShipV1/Dto/UsmcaCertificationOfOriginDetail.php index e2c990ca..882d6a78 100644 --- a/src/Api/ShipV1/Dto/UsmcaCertificationOfOriginDetail.php +++ b/src/Api/ShipV1/Dto/UsmcaCertificationOfOriginDetail.php @@ -31,7 +31,7 @@ public function __construct( public ?string $certifierSpecification = null, public ?string $importerSpecification = null, public ?string $producerSpecification = null, - public ?Party2 $producer = null, + public ?Party3 $producer = null, public ?RetrieveDateRange $blanketPeriod = null, public ?string $certifierJobTitle = null, ) {} diff --git a/src/Api/ShipV1/Dto/UsmcaCommercialInvoiceCertificationOfOriginDetail.php b/src/Api/ShipV1/Dto/UsmcaCommercialInvoiceCertificationOfOriginDetail.php index ae991015..c2ec81a9 100644 --- a/src/Api/ShipV1/Dto/UsmcaCommercialInvoiceCertificationOfOriginDetail.php +++ b/src/Api/ShipV1/Dto/UsmcaCommercialInvoiceCertificationOfOriginDetail.php @@ -30,7 +30,7 @@ public function __construct( public ?string $certifierSpecification = null, public ?string $importerSpecification = null, public ?string $producerSpecification = null, - public ?Party2 $producer = null, + public ?Party3 $producer = null, public ?string $certifierJobTitle = null, ) {} } diff --git a/src/Api/TrackV1/Dto/LocationDetail.php b/src/Api/TrackV1/Dto/LocationDetail.php index b62d2341..7be2c686 100644 --- a/src/Api/TrackV1/Dto/LocationDetail.php +++ b/src/Api/TrackV1/Dto/LocationDetail.php @@ -15,12 +15,12 @@ final class LocationDetail extends Dto { /** - * @param ContactAndAddress2 $locationContactAndAddress Location Contact And Address. + * @param ContactAndAddress $locationContactAndAddress Location Contact And Address. * @param ?string $locationId Location Identification for facilities identified by an alpha numeric location code. Passing Location Id of the Hold at Location (HAL) address is strongly recommended to ensure packages are delivered to the correct address.
            Example: SEA - * @param ?string $locationType This field holds FedEx Location Type. If Location Type not available we will get empty value. + * @param ?string $locationType The FedEx Location Type.
            Example: PICKUP_LOCTION */ public function __construct( - public ContactAndAddress2 $locationContactAndAddress, + public ContactAndAddress $locationContactAndAddress, public ?string $locationId = null, public ?string $locationType = null, ) {} diff --git a/src/Api/TrackV1/Dto/LocationDetail2.php b/src/Api/TrackV1/Dto/LocationDetail2.php new file mode 100644 index 00000000..075bbae5 --- /dev/null +++ b/src/Api/TrackV1/Dto/LocationDetail2.php @@ -0,0 +1,27 @@ + Example: SEA + * @param ?ContactAndAddress2 $locationContactAndAddress Location Contact And Address. + * @param ?string $locationType This field holds FedEx Location Type. If Location Type not available we will get empty value. + */ + public function __construct( + public ?string $locationId = null, + public ?ContactAndAddress2 $locationContactAndAddress = null, + public ?string $locationType = null, + ) {} +} diff --git a/src/Api/TrackV1/Dto/TrackResult.php b/src/Api/TrackV1/Dto/TrackResult.php index 2ae8e947..2325a52a 100644 --- a/src/Api/TrackV1/Dto/TrackResult.php +++ b/src/Api/TrackV1/Dto/TrackResult.php @@ -33,7 +33,7 @@ final class TrackResult extends Dto * @param ?string $meterNumber The associated meter number for your FedEx account number. Maximum of 9 characters.
            Example: 8468376 * @param ?ReturnDetail $returnDetail Specifies return information related to a return shipment. * @param ?ServiceDescriptionDetail $serviceDetail This object contains service description details for the package. - * @param ?LocationDetail $destinationLocation Location details for the fedex facility. + * @param ?LocationDetail2 $destinationLocation Location details for the fedex facility. * @param ?StatusDetail $latestStatusDetail Specifies details about the status of the track information for the shipment being tracked. AncilliaryDetails may also be available which describe the cause of exception along with any action that needs to taken by customer. * @param ?ServiceCommitMessage $serviceCommitMessage Commitment message for this package. Informative messages related to the package. Used to convey information such as FedEx has received information about a package but has not yet taken possession of it. FedEx has handed the package off to a third party for final delivery. The package delivery has been cancelled. * @param InformationNoteDetail[]|null $informationNotes Notifications to the end user that provide additional information relevant to the tracked shipment. For example, a notification may indicate that a change in behavior has occurred. @@ -45,7 +45,7 @@ final class TrackResult extends Dto * @param TrackingDateAndTime[]|null $dateAndTimes Date and time information for the tracked shipment. Date and time information for the tracked shipment includes various type of date time including when the package was shipped, when it is expected to deliver, when it is actually delivered etc. * @param ?PackageDetail $packageDetails Details of the packages in the shipment being tracked. Includes details like package type, weight, dimensions, declared value, etc. * @param ?string $goodsClassificationCode Classification codes for the goods in package. Goods classification codes required for clearance purpose.
            Example: goodsClassificationCode - * @param ?LocationDetail $holdAtLocation Location details for the fedex facility. + * @param ?LocationDetail2 $holdAtLocation Location details for the fedex facility. * @param CustomDeliveryOption[]|null $customDeliveryOptions List of delivery options that can be used to customize the delivery of the package. * @param PieceCountDetail[]|null $pieceCounts Piece count information at origin and destination. * @param ?LocationDetailOrigin $originLocation Location details for the fedex facility. @@ -64,7 +64,7 @@ public function __construct( public ?string $meterNumber = null, public ?ReturnDetail $returnDetail = null, public ?ServiceDescriptionDetail $serviceDetail = null, - public ?LocationDetail $destinationLocation = null, + public ?LocationDetail2 $destinationLocation = null, public ?StatusDetail $latestStatusDetail = null, public ?ServiceCommitMessage $serviceCommitMessage = null, public ?array $informationNotes = null, @@ -76,7 +76,7 @@ public function __construct( public ?array $dateAndTimes = null, public ?PackageDetail $packageDetails = null, public ?string $goodsClassificationCode = null, - public ?LocationDetail $holdAtLocation = null, + public ?LocationDetail2 $holdAtLocation = null, public ?array $customDeliveryOptions = null, public ?TimeWindow $estimatedDeliveryTimeWindow = null, public ?array $pieceCounts = null, diff --git a/src/Api/TradeDocumentsUploadV1/Dto/MultiBasePreResponseOutput.php b/src/Api/TradeDocumentsUploadV1/Dto/MultiBasePreResponseOutput.php new file mode 100644 index 00000000..7f2c764a --- /dev/null +++ b/src/Api/TradeDocumentsUploadV1/Dto/MultiBasePreResponseOutput.php @@ -0,0 +1,25 @@ + MultiDocumentPreResponse::class]; + + /** + * @param MultiDocumentPreResponse[]|null $documentResponses + */ + public function __construct( + public ?array $documentResponses = null, + ) {} +} diff --git a/src/Api/TradeDocumentsUploadV1/Requests/UploadMultiEncodedEtDfiles.php b/src/Api/TradeDocumentsUploadV1/Requests/UploadMultiEncodedEtDfiles.php index a6575c99..039ea93c 100644 --- a/src/Api/TradeDocumentsUploadV1/Requests/UploadMultiEncodedEtDfiles.php +++ b/src/Api/TradeDocumentsUploadV1/Requests/UploadMultiEncodedEtDfiles.php @@ -18,7 +18,8 @@ use ShipStream\FedEx\Api\TradeDocumentsUploadV1\Dto\FullSchemaBase64multiDocumentRequest; use ShipStream\FedEx\Api\TradeDocumentsUploadV1\Responses\ErrorResponseVo; use ShipStream\FedEx\Api\TradeDocumentsUploadV1\Responses\ErrorResponseVo2; -use ShipStream\FedEx\Api\TradeDocumentsUploadV1\Responses\MultiBasePreResponse; +use ShipStream\FedEx\Api\TradeDocumentsUploadV1\Responses\ErrorResponseVo3; +use ShipStream\FedEx\Api\TradeDocumentsUploadV1\Responses\MultiBasePreResponse2; use ShipStream\FedEx\Request; /** @@ -45,12 +46,14 @@ public function resolveEndpoint(): string return '/documents/v1/etds/encodedmultiupload'; } - public function createDtoFromResponse(Response $response): MultiBasePreResponse|ErrorResponseVo2|ErrorResponseVo - { + public function createDtoFromResponse( + Response $response, + ): MultiBasePreResponse2|ErrorResponseVo2|ErrorResponseVo3|ErrorResponseVo { $status = $response->status(); $responseCls = match ($status) { - 201 => MultiBasePreResponse::class, - 400, 401, 403, 500, 503 => ErrorResponseVo2::class, + 201 => MultiBasePreResponse2::class, + 400 => ErrorResponseVo2::class, + 401, 403, 500, 503 => ErrorResponseVo3::class, 404 => ErrorResponseVo::class, default => throw new Exception("Unhandled response status: {$status}") }; diff --git a/src/Api/TradeDocumentsUploadV1/Requests/UploadMultiEtDfiles.php b/src/Api/TradeDocumentsUploadV1/Requests/UploadMultiEtDfiles.php index a176418d..18fa895d 100644 --- a/src/Api/TradeDocumentsUploadV1/Requests/UploadMultiEtDfiles.php +++ b/src/Api/TradeDocumentsUploadV1/Requests/UploadMultiEtDfiles.php @@ -18,6 +18,7 @@ use ShipStream\FedEx\Api\TradeDocumentsUploadV1\Dto\FullSchemaMultiDocumentRequest; use ShipStream\FedEx\Api\TradeDocumentsUploadV1\Responses\ErrorResponseVo; use ShipStream\FedEx\Api\TradeDocumentsUploadV1\Responses\ErrorResponseVo2; +use ShipStream\FedEx\Api\TradeDocumentsUploadV1\Responses\ErrorResponseVo3; use ShipStream\FedEx\Api\TradeDocumentsUploadV1\Responses\MultiBasePreResponse; use ShipStream\FedEx\Request; @@ -42,12 +43,14 @@ public function resolveEndpoint(): string return '/documents/v1/etds/multiupload'; } - public function createDtoFromResponse(Response $response): MultiBasePreResponse|ErrorResponseVo2|ErrorResponseVo - { + public function createDtoFromResponse( + Response $response, + ): MultiBasePreResponse|ErrorResponseVo2|ErrorResponseVo3|ErrorResponseVo { $status = $response->status(); $responseCls = match ($status) { 201 => MultiBasePreResponse::class, - 400, 401, 403, 500, 503 => ErrorResponseVo2::class, + 400 => ErrorResponseVo2::class, + 401, 403, 500, 503 => ErrorResponseVo3::class, 404 => ErrorResponseVo::class, default => throw new Exception("Unhandled response status: {$status}") }; diff --git a/src/Api/TradeDocumentsUploadV1/Responses/ErrorResponseVo2.php b/src/Api/TradeDocumentsUploadV1/Responses/ErrorResponseVo2.php index 9f50395c..b365323e 100644 --- a/src/Api/TradeDocumentsUploadV1/Responses/ErrorResponseVo2.php +++ b/src/Api/TradeDocumentsUploadV1/Responses/ErrorResponseVo2.php @@ -10,17 +10,17 @@ namespace ShipStream\FedEx\Api\TradeDocumentsUploadV1\Responses; -use ShipStream\FedEx\Api\TradeDocumentsUploadV1\Dto\CxsError; +use ShipStream\FedEx\Api\TradeDocumentsUploadV1\Dto\Errors; use ShipStream\FedEx\Response; final class ErrorResponseVo2 extends Response { - protected static array $complexArrayTypes = ['errors' => CxsError::class]; + protected static array $complexArrayTypes = ['errors' => Errors::class]; /** * @param ?string $customerTransactionId This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply. * @param ?string $transactionId The transaction ID is a special set of numbers that defines each transaction. - * @param CxsError[]|null $errors + * @param Errors[]|null $errors This is an error object detailing errors received in the reply. */ public function __construct( public readonly ?string $customerTransactionId = null, diff --git a/src/Api/TradeDocumentsUploadV1/Responses/ErrorResponseVo3.php b/src/Api/TradeDocumentsUploadV1/Responses/ErrorResponseVo3.php new file mode 100644 index 00000000..11933cb2 --- /dev/null +++ b/src/Api/TradeDocumentsUploadV1/Responses/ErrorResponseVo3.php @@ -0,0 +1,30 @@ + CxsError::class]; + + /** + * @param ?string $customerTransactionId This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply. + * @param ?string $transactionId The transaction ID is a special set of numbers that defines each transaction. + * @param CxsError[]|null $errors + */ + public function __construct( + public readonly ?string $customerTransactionId = null, + public readonly ?string $transactionId = null, + public readonly ?array $errors = null, + ) {} +} diff --git a/src/Api/TradeDocumentsUploadV1/Responses/MultiBasePreResponse.php b/src/Api/TradeDocumentsUploadV1/Responses/MultiBasePreResponse.php index 3d24edfb..97d2950a 100644 --- a/src/Api/TradeDocumentsUploadV1/Responses/MultiBasePreResponse.php +++ b/src/Api/TradeDocumentsUploadV1/Responses/MultiBasePreResponse.php @@ -10,18 +10,18 @@ namespace ShipStream\FedEx\Api\TradeDocumentsUploadV1\Responses; -use ShipStream\FedEx\Api\TradeDocumentsUploadV1\Dto\MultiBasePreResponse1Output; +use ShipStream\FedEx\Api\TradeDocumentsUploadV1\Dto\MultiBasePreResponseOutput; use ShipStream\FedEx\Response; final class MultiBasePreResponse extends Response { /** - * @param ?string $customerTransactionId This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply. - * @param ?string $transactionId The transaction ID is a special set of numbers that defines each transaction. + * @param ?string $customerTransactionId This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply Example:5678b975-ev0e-420b-8d7b-aa6ce65ec48n + * @param ?string $transactionId The transaction ID is a special set of numbers that defines each transaction.
            Example:624deea6-b709-470c-8c39-4b5511281492 */ public function __construct( public readonly ?string $customerTransactionId = null, public readonly ?string $transactionId = null, - public readonly ?MultiBasePreResponse1Output $output = null, + public readonly ?MultiBasePreResponseOutput $output = null, ) {} } diff --git a/src/Api/TradeDocumentsUploadV1/Responses/MultiBasePreResponse2.php b/src/Api/TradeDocumentsUploadV1/Responses/MultiBasePreResponse2.php new file mode 100644 index 00000000..644ca472 --- /dev/null +++ b/src/Api/TradeDocumentsUploadV1/Responses/MultiBasePreResponse2.php @@ -0,0 +1,27 @@ +components->schemas); + + $schema = $this->_deduplicateComponents($schema); + + // Check if we made any changes in this iteration + $newComponentCount = count((array) $schema->components->schemas); + if ($newComponentCount !== $originalComponentCount || ! empty($mergedComponents)) { + $hasChanges = true; + } + } + + return $schema; + } + + protected function _deduplicateComponents(stdClass $schema): stdClass + { $buildPropTypesMap = function (stdClass $prop, string $propName) use ($schema): array { if (isset($prop->{'$ref'})) { $propType = $this->componentByRef($prop->{'$ref'}, $schema)->type; + if ($propType === 'object') { + $propType .= ':'.$prop->{'$ref'}; + } + } elseif ($prop->type === 'array') { + if (isset($prop->items->{'$ref'})) { + $propType = $this->componentByRef($prop->items->{'$ref'}, $schema)->type; + if ($propType === 'object') { + $propType .= ':'.$prop->items->{'$ref'}; + } + } else { + $propType = $prop->items->type; + } + $propType = "array[$propType]"; } else { $propType = $prop->type; } @@ -549,7 +585,7 @@ protected function deduplicateComponents(stdClass $schema): stdClass $requiredProps = array_intersect(...$allRequiredArrays); if ($requiredProps) { - $definition->required = $requiredProps; + $definition->required = array_values($requiredProps); } $mergedComponents[$tempComponentName] = $definition; } From 3773b6b2a9ea2a1d896330403ecec03f65214d6c Mon Sep 17 00:00:00 2001 From: Rob Wigginton <8102829+bob2021@users.noreply.github.com> Date: Mon, 28 Jul 2025 17:36:57 +0100 Subject: [PATCH 05/22] Update all schemas (except global-trade which is throwing an error). --- .../v1/Addresses-Resource.json | 2 +- .../v1/APIAuthorization-Resource.json | 6 +- .../v1/ShipConsolidation-Resource.json | 385 ++++- .../freight-ltl/v1/LTLFreight-Resource.json | 66 +- .../v1/Locations-Resource.json | 91 +- .../open-ship/v1/OpenShipment-Resource.json | 100 +- .../pickup-request/v1/Pickup-Resource.json | 20 +- .../v1/RateQuotes-Resource.json | 243 ++- .../v1/PackageAndServiceOptions-Resource.json | 56 +- .../v1/SpecialServiceOptions-Resource.json | 56 +- .../.raw/ship/v1/Shipment-Resource.json | 678 ++++++-- .../models/.raw/ship/v1/Tag-Resource.json | 145 +- .../v1/AssociatedShipments-Resource.json | 2 +- .../.raw/track/v1/Notifications-Resource.json | 2 +- .../track/v1/ReferenceNumbers-Resource.json | 2 +- .../models/.raw/track/v1/TCN-Resource.json | 2 +- .../track/v1/TrackingDocuments-Resource.json | 2 +- .../track/v1/TrackingNumbers-Resource.json | 2 +- .../v1/EDUDocuments-Resource.json | 99 +- resources/models/address-validation/v1.json | 2 +- resources/models/authorization/v1.json | 6 +- resources/models/consolidation/v1.json | 1128 +++++++------ resources/models/freight-ltl/v1.json | 66 +- resources/models/locations-search/v1.json | 91 +- resources/models/open-ship/v1.json | 165 +- resources/models/pickup-request/v1.json | 2 +- resources/models/rates-transit-times/v1.json | 73 +- resources/models/service-availability/v1.json | 56 +- resources/models/ship/v1.json | 1457 ++++++++++------- resources/models/track/v1.json | 2 +- .../models/trade-documents-upload/v1.json | 99 +- .../Requests/ValidateAddress.php | 8 +- src/Api/AuthorizationV1/Dto/FullSchema.php | 6 +- .../Dto/FreightChargeMoney.php | 2 +- .../Dto/HandlingCostCharges.php | 2 +- .../Dto/LabelSpecification.php | 8 +- src/Api/ConsolidationV1/Dto/Money2.php | 2 +- .../Dto/PackingCostCharges.php | 2 +- .../Dto/RequestedConsolidation.php | 8 +- .../Dto/TaxesOrMiscellaneousCharges.php | 2 +- .../ConsolidationV1/Dto/TotalInsuredMoney.php | 2 +- ...ibutionDetail1SpecialServicesRequested.php | 25 + ...uestedTransborderDistributionLtlDetail.php | 25 + ...ransborderDistributionLtlDetailPayment.php | 33 + ...DistributionLtlDetailPaymentCreditCard.php | 33 + ...etailPaymentCreditCardCreditCardHolder.php | 25 + ...orderDistributionLtlDetailPaymentPayor.php | 29 + ...nLtlDetailPaymentPayorResponsibleParty.php | 31 + ...ailPaymentPayorResponsiblePartyAddress.php | 41 + .../Dto/TransborderDistributionDetail2.php | 27 + src/Api/FreightLTLV1/Dto/Commodity.php | 4 +- .../Dto/FreightRequestedPackageLineItem.php | 4 +- .../Dto/FreightShipmentLineItem.php | 4 +- .../Dto/FreightShipmentLineItem2.php | 4 +- .../FreightLTLV1/Dto/LabelSpecification.php | 2 +- src/Api/FreightLTLV1/Dto/LineItems.php | 4 +- .../Dto/LtlRequestedPackageLineItem.php | 4 +- src/Api/FreightLTLV1/Dto/WeightWithLink.php | 25 + .../FreightLTLV1/Dto/WeightWithoutLink.php | 25 + .../Requests/FreightRateQuote.php | 6 +- src/Api/LocationsSearchV1/Dto/Address.php | 6 +- .../Dto/ContactAndAddress.php | 2 +- src/Api/LocationsSearchV1/Dto/Location.php | 2 +- .../Dto/LocationSummaryOutputVo.php | 2 +- src/Api/OpenShipV1/Dto/Commodity.php | 4 +- .../OpenShipV1/Dto/DangerousGoodsDetail.php | 6 +- src/Api/OpenShipV1/Dto/LabelSpecification.php | 2 +- .../Dto/PackageSpecialServicesRequested.php | 4 +- src/Api/OpenShipV1/Dto/PartyAccountNumber.php | 2 +- .../Dto/RequestedPackageLineItem.php | 4 +- .../OpenShipV1/Dto/ShipmentDryIceDetail.php | 4 +- src/Api/OpenShipV1/Dto/WeightWithLink.php | 25 + src/Api/OpenShipV1/Dto/WeightWithoutLink.php | 25 + .../Requests/CreateOpenShipmentt.php | 2 +- .../Dto/ExpressFreightPickupDetail.php | 2 +- .../Dto/BrokerDetail.php | 4 +- .../Dto/BrokerDetailBroker.php | 2 +- .../RatesAndTransitTimesV1/Dto/Commodity.php | 2 +- .../Dto/CustomsClearanceDetail.php | 2 +- .../Dto/FullSchemaQuoteRate.php | 2 +- src/Api/RatesAndTransitTimesV1/Dto/Party.php | 2 +- src/Api/RatesAndTransitTimesV1/Dto/Party2.php | 2 +- .../Dto/RequestedShipment.php | 2 - .../Dto/ShipmentRateDetail.php | 8 +- src/Api/RatesAndTransitTimesV1/Dto/Tax.php | 8 +- .../Dto/FreightShipmentLineItem.php | 4 +- .../Dto/PackageSpecialServicesRequested.php | 4 +- .../Dto/RequestedPackageLineItem.php | 4 +- .../Dto/WeightWithLink.php | 25 + .../Dto/WeightWithoutLink.php | 25 + src/Api/ShipV1/Dto/Address.php | 8 +- src/Api/ShipV1/Dto/CancelShipmentOutputVo.php | 4 +- src/Api/ShipV1/Dto/CommercialInvoice.php | 2 + .../ShipV1/Dto/CreateTagRequestedShipment.php | 4 +- src/Api/ShipV1/Dto/CustomsClearanceDetail.php | 2 +- .../ShipV1/Dto/CustomsClearanceDetailTag.php | 54 + src/Api/ShipV1/Dto/CustomsMoney.php | 2 +- src/Api/ShipV1/Dto/DangerousGoodsDetail.php | 6 +- src/Api/ShipV1/Dto/FullSchemaShip.php | 2 +- .../Dto/HazardousCommodityOptionDetail.php | 4 +- .../Dto/HazardousCommodityQuantityDetail.php | 6 +- src/Api/ShipV1/Dto/LabelSpecification.php | 2 +- src/Api/ShipV1/Dto/Party2Tag.php | 31 + src/Api/ShipV1/Dto/PartyAccountNumberTag.php | 23 + src/Api/ShipV1/Dto/PartyAddress.php | 2 +- src/Api/ShipV1/Dto/Payment1Tag.php | 27 + src/Api/ShipV1/Dto/Payor1Tag.php | 23 + src/Api/ShipV1/Dto/PieceResponse.php | 9 +- src/Api/ShipV1/Dto/RequestedShipmentTag.php | 78 + src/Api/ShipV1/Dto/ShipmentDryIceDetail2.php | 4 +- .../ValidatedHazardousCommodityContent.php | 6 +- src/Api/ShipV1/Requests/CreateShipment.php | 2 +- .../Requests/UploadEtdFiles.php | 2 +- .../Requests/UploadMultiEncodedEtDfiles.php | 4 +- 114 files changed, 4283 insertions(+), 1711 deletions(-) create mode 100644 src/Api/ConsolidationV1/Dto/TransborderDistributionDetail1SpecialServicesRequested.php create mode 100644 src/Api/ConsolidationV1/Dto/TransborderDistributionDetail1SpecialServicesRequestedTransborderDistributionLtlDetail.php create mode 100644 src/Api/ConsolidationV1/Dto/TransborderDistributionDetail1SpecialServicesRequestedTransborderDistributionLtlDetailPayment.php create mode 100644 src/Api/ConsolidationV1/Dto/TransborderDistributionDetail1SpecialServicesRequestedTransborderDistributionLtlDetailPaymentCreditCard.php create mode 100644 src/Api/ConsolidationV1/Dto/TransborderDistributionDetail1SpecialServicesRequestedTransborderDistributionLtlDetailPaymentCreditCardCreditCardHolder.php create mode 100644 src/Api/ConsolidationV1/Dto/TransborderDistributionDetail1SpecialServicesRequestedTransborderDistributionLtlDetailPaymentPayor.php create mode 100644 src/Api/ConsolidationV1/Dto/TransborderDistributionDetail1SpecialServicesRequestedTransborderDistributionLtlDetailPaymentPayorResponsibleParty.php create mode 100644 src/Api/ConsolidationV1/Dto/TransborderDistributionDetail1SpecialServicesRequestedTransborderDistributionLtlDetailPaymentPayorResponsiblePartyAddress.php create mode 100644 src/Api/ConsolidationV1/Dto/TransborderDistributionDetail2.php create mode 100644 src/Api/FreightLTLV1/Dto/WeightWithLink.php create mode 100644 src/Api/FreightLTLV1/Dto/WeightWithoutLink.php create mode 100644 src/Api/OpenShipV1/Dto/WeightWithLink.php create mode 100644 src/Api/OpenShipV1/Dto/WeightWithoutLink.php create mode 100644 src/Api/ServiceAvailabilityV1/Dto/WeightWithLink.php create mode 100644 src/Api/ServiceAvailabilityV1/Dto/WeightWithoutLink.php create mode 100644 src/Api/ShipV1/Dto/CustomsClearanceDetailTag.php create mode 100644 src/Api/ShipV1/Dto/Party2Tag.php create mode 100644 src/Api/ShipV1/Dto/PartyAccountNumberTag.php create mode 100644 src/Api/ShipV1/Dto/Payment1Tag.php create mode 100644 src/Api/ShipV1/Dto/Payor1Tag.php create mode 100644 src/Api/ShipV1/Dto/RequestedShipmentTag.php diff --git a/resources/models/.raw/address-validation/v1/Addresses-Resource.json b/resources/models/.raw/address-validation/v1/Addresses-Resource.json index 2b839c5b..dbeec9bc 100644 --- a/resources/models/.raw/address-validation/v1/Addresses-Resource.json +++ b/resources/models/.raw/address-validation/v1/Addresses-Resource.json @@ -13,7 +13,7 @@ "/address/v1/addresses/resolve": { "post": { "summary": "Validate Address", - "description": "Use this endpoint to get address resolution details. These details are the outcome of validation andddd resolution of the input address. An address is stated assss resolved when the input address matches the known reference data...
            Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.", + "description": "Use this endpointtt to get address resolution details. These details areee the outcome of validation and resolution of the input address. An address is stated as resolved when the input address matches the known reference data.
            Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.", "operationId": "Validate Address", "requestBody": { "content": { diff --git a/resources/models/.raw/authorization/v1/APIAuthorization-Resource.json b/resources/models/.raw/authorization/v1/APIAuthorization-Resource.json index 46aaf55a..8c867590 100644 --- a/resources/models/.raw/authorization/v1/APIAuthorization-Resource.json +++ b/resources/models/.raw/authorization/v1/APIAuthorization-Resource.json @@ -180,7 +180,7 @@ "properties": { "grant_type": { "type": "string", - "description": "Specify Type of customer requesting the Oauth token.
            Valid Values: client_credentials, csp_credentials, client_pc_credentials
            Note:
            client_credentials - should be used for customers and brand new Compatible Provider customers who are yet to unboard child accounts.
            csp_credentials - should be used for Compatible Provider customers with existing child accounts.
            client_pc_credentials \u2013 should be used for Proprietary Parent Child customers." + "description": "Specify Type of customer requesting the Oauth token.
            Valid Values: client_credentials, csp_credentials, client_pc_credentials
            Note:
            client_credentials - should be used for customers, Integrators, and brand new Compatible Provider customers who are yet to unboard child accounts.
            csp_credentials - should be used for Integrators, and Compatible Provider customers with existing child accounts.
            client_pc_credentials \u2013 should be used for Proprietary Parent Child customers." }, "client_id": { "type": "string", @@ -192,11 +192,11 @@ }, "child_Key": { "type": "string", - "description": "Specify the Client ID also known as Customer Key. This element is used as a login credential for a Compatible customer or a Proprietary Parent Child customer to access the application on behalf of their customer.
            Example: XXXX-XXX-XXXX-XXX
            Note: This element should be used by Compatible and Proprietary Parent Child customers." + "description": "Specify the Client ID also known as Customer Key. This element is used as a login credential for an Integrator customer, Compatible customer or a Proprietary Parent Child customer to access the application on behalf of their customer.
            Example: XXXX-XXX-XXXX-XXX
            Note: This element should be used by Integrator, Compatible and Proprietary Parent Child customers." }, "child_secret": { "type": "string", - "description": "Specify the Client secret also known as Customer Secret. This element is used as a login credential for a Compatible customer or a Proprietary Parent Child customer to access the application on behalf of their customer.
            Example: XXXX-XXX-XXXX-XXX
            Note: This element should be used by Compatible and Proprietary Parent Child customers." + "description": "Specify the Client secret also known as Customer Secret. This element is used as a login credential for an Integrator customer, Compatible customer or a Proprietary Parent Child customer to access the application on behalf of their customer.
            Example: XXXX-XXX-XXXX-XXX
            Note: This element should be used by Integrator, Compatible and Proprietary Parent Child customers." } }, "description": "The request elements for OAuth API." diff --git a/resources/models/.raw/consolidation/v1/ShipConsolidation-Resource.json b/resources/models/.raw/consolidation/v1/ShipConsolidation-Resource.json index 38e064e8..254596cf 100644 --- a/resources/models/.raw/consolidation/v1/ShipConsolidation-Resource.json +++ b/resources/models/.raw/consolidation/v1/ShipConsolidation-Resource.json @@ -2506,7 +2506,7 @@ }, "resolution": { "type": "integer", - "description": "Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203.", + "description": "Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203.Note: 300 DPI resolution is only allowed for ZPLII image type.", "example": 300 } }, @@ -3769,8 +3769,7 @@ "example": "DEPARTMENT_OF_COMMERCE", "enum": [ "DEPARTMENT_OF_COMMERCE", - "DEPARTMENT_OF_STATE", - "DEPARTMENT_OF_COMMERCE_AND_DEPARTMENT_OF_STATE" + "DEPARTMENT_OF_STATE" ] }, "destinationCountries": { @@ -5033,7 +5032,7 @@ }, "countryCode": { "type": "string", - "description": "The two-letter code used to identify a country. Max length is 2.
            Click here to see Country Codes", + "description": "The two-letter code used to identify a country. Max length is 2.
            click here to see Country Codes", "example": "US" }, "residential": { @@ -5176,6 +5175,11 @@ "$ref": "#/components/schemas/ShippingDocumentDispositionDetail_1" } }, + "resolution": { + "description": "Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203. 300 DPI is only allowed for imageType is ZPLII.", + "example": 300, + "type": "integer" + }, "labelPrintingOrientation": { "type": "string", "description": "This is applicable only to documents produced on thermal printers with roll stock.", @@ -5443,7 +5447,7 @@ "$ref": "#/components/schemas/Dimensions" }, "totalInsuredValue": { - "$ref": "#/components/schemas/TotalInsuredMoney" + "$ref": "#/components/schemas/TotalInsuredMoney_1" }, "unitSystem": { "type": "string", @@ -5465,6 +5469,26 @@ }, "description": "Specifies the international distribution detail." }, + "TotalInsuredMoney_1": { + "required": [ + "currency" + ], + "type": "object", + "properties": { + "amount": { + "type": "number", + "description": "This is commodity value in amount used for Customs declaration.
            Max limit: 7 digits before decimal.", + "format": "double", + "example": 12.45 + }, + "currency": { + "type": "string", + "description": "This is the currency of the commodity value used for Customs declaration.
            click here to see Currency Codes", + "example": "USD" + } + }, + "description": "This is commodity value used for Customs declaration." + }, "Money_1_1": { "required": [ "value" @@ -5492,7 +5516,7 @@ "type": "object", "properties": { "specialServicesRequested": { - "$ref": "#/components/schemas/TransborderDistributionDetail_specialServicesRequested" + "$ref": "#/components/schemas/TransborderDistributionDetail_1_specialServicesRequested" }, "routing": { "type": "string", @@ -5541,7 +5565,7 @@ ] }, "totalCustomsValue": { - "$ref": "#/components/schemas/Money" + "$ref": "#/components/schemas/Money_2" }, "regulatoryControls": { "type": "array", @@ -5561,7 +5585,7 @@ "description": "Amount paid to a third party for the purpose of insuring this shipment against damage or loss. Used to calculate estimated duties and taxes", "allOf": [ { - "$ref": "#/components/schemas/Money" + "$ref": "#/components/schemas/Money_2" } ] }, @@ -5710,6 +5734,106 @@ }, "description": "Attributes for a Party to a transaction including the physical address, contact information, and account number information." }, + "Money_2": { + "required": [ + "currency" + ], + "type": "object", + "properties": { + "amount": { + "type": "number", + "description": "This is commodity value in amount used for Customs declaration.
            Max limit: 7 digits before decimal.", + "format": "double", + "example": 12.45 + }, + "currency": { + "type": "string", + "description": "This is the currency of the commodity value used for Customs declaration.
            click here to see Currency Codes", + "example": "USD" + } + }, + "description": "This is commodity value used for Customs declaration." + }, + "FreightChargeMoney_1": { + "required": [ + "currency" + ], + "type": "object", + "properties": { + "amount": { + "type": "number", + "description": "This is commodity value in amount used for Customs declaration.
            Max limit: 7 digits before decimal.", + "format": "double", + "example": 12.45 + }, + "currency": { + "type": "string", + "description": "This is the currency of the commodity value used for Customs declaration.click here to see Currency Codes", + "example": "USD" + } + }, + "description": "Any freight charges that are associated with this shipment." + }, + "TaxesOrMiscellaneousCharges_1": { + "required": [ + "currency" + ], + "type": "object", + "properties": { + "amount": { + "type": "number", + "description": "This is commodity value in amount used for Customs declaration.
            Max limit: 7 digits before decimal.", + "format": "double", + "example": 12.45 + }, + "currency": { + "type": "string", + "description": "This is the currency of the commodity value used for Customs declaration.click here to see Currency Codes", + "example": "USD" + } + }, + "description": "Any taxes or miscellaneous charges other than Freight charges or Insurance charges, that are associated with this shipment." + }, + "PackingCostCharges_1": { + "required": [ + "currency" + ], + "type": "object", + "properties": { + "amount": { + "type": "number", + "description": "This is commodity value in amount used for Customs declaration.
            Max limit: 7 digits before decimal.", + "format": "double", + "example": 12.45 + }, + "currency": { + "type": "string", + "description": "This is the currency of the commodity value used for Customs declaration.click here to see Currency Codes", + "example": "USD" + } + }, + "description": "Any packing costs that are associated with this shipment." + }, + "HandlingCostCharges_1": { + "required": [ + "currency" + ], + "type": "object", + "properties": { + "amount": { + "type": "number", + "description": "This is commodity value in amount used for Customs declaration.
            Max limit: 7 digits before decimal.", + "format": "double", + "example": 12.45 + }, + "currency": { + "type": "string", + "description": "This is the currency of the commodity value used for Customs declaration.
            click here to see Currency Codes", + "example": "USD" + } + }, + "description": " Any handling costs that are associated with this shipment." + }, "ExportDetail_1": { "required": [ "b13AFilingOption", @@ -5824,10 +5948,10 @@ "example": "EA" }, "unitPrice": { - "$ref": "#/components/schemas/Money" + "$ref": "#/components/schemas/Money_2" }, "customsValue": { - "$ref": "#/components/schemas/Money" + "$ref": "#/components/schemas/Money_2" }, "commodityId": { "type": "string", @@ -12402,6 +12526,239 @@ } } }, + "TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_payor_responsibleParty_address": { + "type": "object", + "properties": { + "streetLines": { + "type": "array", + "description": "This is a combination of number, street name, etc.
            Note: At least one line is required and streetlines more than 3 will be ignored. Empty lines should not be included.", + "example": "[10 FedEx Parkway, Suite 302]", + "items": { + "type": "string" + } + }, + "city": { + "type": "string", + "description": "This is a placeholder for City Name.
            Note: This is conditional and not required in all the shipping requests. It is recommended for Express shipments for the most accurate ODA and OPA surcharges and not used for Ground/SmartPost.", + "example": "Beverly Hills" + }, + "stateOrProvinceCode": { + "type": "string", + "description": "This is a placeholder for State or Province code.
            Note: This is conditional and not required in all the shipping requests. It is recommended for Express shipments for the most accurate ODA and OPA surcharges and not used for Ground/SmartPost.", + "example": "CA" + }, + "postalCode": { + "type": "string", + "description": "This is placeholder for postal code.
            Note: The postal code is required for postal-aware countries.", + "example": "38127" + }, + "countryCode": { + "type": "string", + "description": "This is the Two-letter country code. click here to see Country Codes", + "example": "US" + }, + "residential": { + "type": "boolean", + "description": "Indicate whether this address is Residential as opposed to Commercial.
            Valid Values: True or False.", + "example": true, + "enum": [ + true, + false + ] + }, + "urbanizationCode": { + "type": "string", + "description": "Relevant only to addresses in Puerto Rico.", + "example": "CO" + }, + "countryName": { + "type": "string", + "description": "The fully spelt out name of a country.", + "example": "Canada" + }, + "geographicCoordinates": { + "type": "string", + "description": "The geographic coordinates cooresponding to this address.", + "example": "+40.75-074.00" + }, + "classification": { + "type": "string", + "description": "Specifies that FedEx courier has confirmed that the address is a confirmed business location.", + "example": "BUSINESS", + "enum": [ + "BUSINESS", + "MIXED", + "RESIDENTIAL", + "UNCONFIRMED_BUSINESS", + "UNCONFIRMED_RESIDENCE", + "UNKOWN" + ] + } + }, + "description": "Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of \"address parts\" which should be handled as a unit (such as a city-state-ZIP combination within the US)." + }, + "TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_payor_responsibleParty": { + "type": "object", + "properties": { + "accountNumber": { + "type": "string", + "description": "Account number of the payor", + "example": "123456789" + }, + "tins": { + "type": "array", + "description": "Used for adding the tax id", + "items": { + "$ref": "#/components/schemas/Tins" + } + }, + "contact": { + "$ref": "#/components/schemas/TransborderDistributionDetail_specialServicesRequested_transborderDistributionLtlDetail_payment_payor_responsibleParty_contact" + }, + "address": { + "$ref": "#/components/schemas/TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_payor_responsibleParty_address" + } + }, + "description": "The descriptive information for the person who is responsible for the shipment." + }, + "TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_payor": { + "type": "object", + "properties": { + "responsibleParty": { + "$ref": "#/components/schemas/TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_payor_responsibleParty" + }, + "associatedAccounts": { + "type": "array", + "description": "Other associated accounts", + "items": { + "$ref": "#/components/schemas/TransborderDistributionDetail_specialServicesRequested_transborderDistributionLtlDetail_payment_payor_associatedAccounts" + } + } + }, + "description": "Information about the person who is paying for the shipment.
            Payor is mandatory when the paymentType is RECIPIENT, THIRD_PARTY or COLLECT." + }, + "TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_creditCard_creditCardHolder": { + "type": "object", + "properties": { + "contact": { + "$ref": "#/components/schemas/TransborderDistributionDetail_specialServicesRequested_transborderDistributionLtlDetail_payment_creditCard_creditCardHolder_contact" + }, + "address": { + "$ref": "#/components/schemas/TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_payor_responsibleParty_address" + } + }, + "description": "Credit card holder's information" + }, + "TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_creditCard": { + "type": "object", + "properties": { + "number": { + "type": "string", + "description": "Credit card number", + "example": "1111222233334444" + }, + "creditCardType": { + "type": "string", + "description": "Credit card used for payment", + "example": "DISCOVER", + "enum": [ + "AMEX", + "DANKORT", + "DINERS", + "DISCOVER", + "JCB", + "MASTERCARD", + "VISA" + ] + }, + "expirationDate": { + "type": "string", + "description": "Credit card expiration date", + "example": "2022-23-01" + }, + "lastAuthenticationByFedexDate": { + "type": "string", + "description": "Use date format (MM-dd-yyyy). It is the last time the user has updated their credit card information", + "example": "12-05-2001" + }, + "verificationCode": { + "type": "string", + "description": "Verification code", + "example": "123" + }, + "creditCardHolder": { + "$ref": "#/components/schemas/TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_creditCard_creditCardHolder" + } + }, + "description": "Credit card details" + }, + "TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment": { + "type": "object", + "properties": { + "paymentType": { + "type": "string", + "description": "Payment type for LTL transportation", + "example": "CREDIT_CARD", + "enum": [ + "ACCOUNT", + "CASH", + "COLLECT", + "CREDIT_CARD", + "EPAYMENT", + "RECIPIENT", + "SENDER", + "THIRD_PARTY" + ] + }, + "payor": { + "$ref": "#/components/schemas/TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_payor" + }, + "ePaymentDetail": { + "$ref": "#/components/schemas/TransborderDistributionDetail_specialServicesRequested_transborderDistributionLtlDetail_payment_ePaymentDetail" + }, + "creditCard": { + "$ref": "#/components/schemas/TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_creditCard" + }, + "creditCardTransactionDetail": { + "$ref": "#/components/schemas/TransborderDistributionDetail_specialServicesRequested_transborderDistributionLtlDetail_payment_creditCardTransactionDetail" + }, + "amount": { + "$ref": "#/components/schemas/TransborderDistributionDetail_specialServicesRequested_transborderDistributionLtlDetail_payment_amount" + } + }, + "description": "Payment for LTL transportation" + }, + "TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail": { + "type": "object", + "properties": { + "payment": { + "$ref": "#/components/schemas/TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment" + }, + "ltlScacCode": { + "type": "string", + "description": "Standard Carrier Alpha Code for origin-country LTL services.", + "example": "SAIA" + } + }, + "description": "Specifies details for the origin-country LTL services performed by FedEx." + }, + "TransborderDistributionDetail_1_specialServicesRequested": { + "type": "object", + "properties": { + "specialServiceTypes": { + "type": "string", + "description": "Identifies features of service requested for the current Transborder Distribution. shipment.", + "example": "FEDEX_LTL", + "enum": [ + "FEDEX_LTL" + ] + }, + "transborderDistributionLtlDetail": { + "$ref": "#/components/schemas/TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail" + } + }, + "description": "Specifies special services to be performed on this shipment as part of a transborder distribution." + }, "CustomsClearanceDetail_1_commercialInvoice": { "type": "object", "properties": { @@ -12430,10 +12787,10 @@ ] }, "freightCharge": { - "$ref": "#/components/schemas/FreightChargeMoney" + "$ref": "#/components/schemas/FreightChargeMoney_1" }, "taxesOrMiscellaneousCharge": { - "$ref": "#/components/schemas/TaxesOrMiscellaneousCharges" + "$ref": "#/components/schemas/TaxesOrMiscellaneousCharges_1" }, "taxesOrMiscellaneousChargeType": { "type": "string", @@ -12449,10 +12806,10 @@ ] }, "packingCosts": { - "$ref": "#/components/schemas/PackingCostCharges" + "$ref": "#/components/schemas/PackingCostCharges_1" }, "handlingCosts": { - "$ref": "#/components/schemas/HandlingCostCharges" + "$ref": "#/components/schemas/HandlingCostCharges_1" }, "specialInstructions": { "type": "string", diff --git a/resources/models/.raw/freight-ltl/v1/LTLFreight-Resource.json b/resources/models/.raw/freight-ltl/v1/LTLFreight-Resource.json index b4dccf08..d3a50eab 100644 --- a/resources/models/.raw/freight-ltl/v1/LTLFreight-Resource.json +++ b/resources/models/.raw/freight-ltl/v1/LTLFreight-Resource.json @@ -13,7 +13,7 @@ "/rate/v1/freight/rates/quotes": { "post": { "summary": "Rate Freight LTL", - "description": "This endpoint provides the ability to retrieve rate quotes and optionall transit information. The rate is calculated based on the origin and destination of the shipment. Additional information such as carrier code, service type, or service option can be used to filter the results. Applicable operating company is FedEx Freight.
            Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.", + "description": "This endpoint providess the ability to retrieve rate quotes and optionall transitt informationnnn. The rate is calculated based on the origin and destination of the shipment. Additional information such as carrier code, service type, or service option can be used to filter the results. Applicable operating company is FedEx Freight.
            Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.", "operationId": "Freight RateQuote", "requestBody": { "content": { @@ -1568,7 +1568,7 @@ "description": "Indicate the total weight of the requested package line items.", "allOf": [ { - "$ref": "#/components/schemas/Weight" + "$ref": "#/components/schemas/Weight_With_Link" } ] }, @@ -1957,7 +1957,7 @@ "description": "Customer-provided description of this line item." }, "weight": { - "$ref": "#/components/schemas/Weight" + "$ref": "#/components/schemas/Weight_Without_Link" }, "pieces": { "type": "integer", @@ -5853,7 +5853,7 @@ "example": "description" }, "weight": { - "$ref": "#/components/schemas/Weight_2" + "$ref": "#/components/schemas/Weight_Without_Link" }, "pieces": { "type": "integer", @@ -5984,6 +5984,56 @@ "value": 68 } }, + "Weight_With_Link": { + "description": "These are the package weight details.", + "type": "object", + "required": [ + "units", + "value" + ], + "properties": { + "units": { + "description": "Specifies the package weight unit type.
            Example:KG", + "type": "string", + "enum": [ + "KG", + "LB" + ], + "example": "KG" + }, + "value": { + "format": "double", + "description": "Weight Value.
            Example: 68.25
            Click here to see Weight Values", + "type": "number", + "example": 68.25 + } + } + }, + "Weight_Without_Link": { + "description": "These are the package weight details.", + "type": "object", + "required": [ + "units", + "value" + ], + "properties": { + "units": { + "description": "Specifies the package weight unit type.
            Example:KG", + "type": "string", + "enum": [ + "KG", + "LB" + ], + "example": "KG" + }, + "value": { + "format": "double", + "description": "Weight Value.
            Example: 68.25", + "type": "number", + "example": 68.25 + } + } + }, "LineItemsDimensions": { "description": "Indicate the dimensions of the package.
            Following conditions will apply:
            • Dimensions are optional but when added, then all three dimensions must be indicated.
            • Dimensions are required with YOUR_PACKAGING package type.
            Note: The maximum/minimum dimension values varies based on the services and the packaging types. Refer FedEx Service Guide for service details related to DIM Weighting for FedEx Express and oversize conditions for FedEx Express and FedEx Ground.", "type": "object", @@ -6960,7 +7010,7 @@ "example": "non-threaded rivets" }, "weight": { - "$ref": "#/components/schemas/Weight_2" + "$ref": "#/components/schemas/Weight_Without_Link" }, "exportLicenseNumber": { "type": "string", @@ -7274,7 +7324,7 @@ }, "resolution": { "type": "integer", - "description": "Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203.", + "description": "Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203.Note: 300 DPI resolution is only allowed for ZPLII image type.", "example": 300 } }, @@ -8124,7 +8174,7 @@ "$ref": "#/components/schemas/Money_2" }, "weight": { - "$ref": "#/components/schemas/Weight_2" + "$ref": "#/components/schemas/Weight_With_Link" }, "dimensions": { "description": "Required.
            The dimensions of the package; length, width & height. All three dimensions must be indicated. Dimensions are required with all FedEx Freight Services like \"INTERNATIONAL_PRIORITY_FREIGHT\" and \"INTERNATIONAL_ECONOMY_FREIGHT\"", @@ -12452,7 +12502,7 @@ "example": 4 }, "weight": { - "$ref": "#/components/schemas/Weight_2" + "$ref": "#/components/schemas/Weight_Without_Link" }, "dimensions": { "$ref": "#/components/schemas/LineItemsDimensions" diff --git a/resources/models/.raw/locations-search/v1/Locations-Resource.json b/resources/models/.raw/locations-search/v1/Locations-Resource.json index cc0a0ba7..a9c9269c 100644 --- a/resources/models/.raw/locations-search/v1/Locations-Resource.json +++ b/resources/models/.raw/locations-search/v1/Locations-Resource.json @@ -556,17 +556,17 @@ }, "countryCode": { "type": "string", - "description": "This is the Two-letter country code.
            Example: US
            Click here to see Country Codes", + "description": "The ISO Alpha2, Alpha3, Numeric3 code for the country or name (5 character max) for the country.
            Example: US", "example": "US" }, "residential": { "type": "boolean", - "description": "Indicate whether this address is Residential as opposed to Commercial.
            Valid Values: True or False.", + "description": "Indicates whether the address returned is residential as opposed to commercial.
            Valid values: True, False.", "example": false }, "addressVerificationId": { "type": "string", - "description": "This is the address verification identifier.
            Example: MARKET_LAUNCH", + "description": "Address verification Identifier", "example": "MARKET_LAUNCH" }, "addressClassification": { @@ -577,7 +577,8 @@ "UNKNOWN", "BUSINESS", "RESIDENTIAL" - ] + ], + "example": "MIXED" }, "addressClassificationConfidence": { "type": "string", @@ -585,10 +586,11 @@ "enum": [ "POTENTIAL", "PERMANENT" - ] + ], + "example": "PERMANENT" } }, - "description": "Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of \\\"address parts\\\" which should be handled as a unit (such as a city-state-ZIP combination within the US).", + "description": "Specifies the Address Details for a location.", "example": { "streetLines": [ "10 FedEx Parkway", @@ -606,11 +608,13 @@ "properties": { "latitude": { "type": "string", - "description": "The geo coordinate value that specifies the north-south position of the address.
            Example: 36.1699\u00b0 N" + "description": "The geo coordinate value that specifies the north-south position of the address.
            Example: 36.1699\u00b0 N", + "example": "5.637376" }, "longitude": { "type": "string", - "description": "The geo coordinate value that specifies the East-West position of the address.
            Example:115.1398\u00b0 W" + "description": "The geo coordinate value that specifies the East-West position of the address.
            Example:115.1398\u00b0 W", + "example": "3.61607" } }, "description": "The ISO6709 geographic coordinates for a specific geographic location, specifically latitude and longitude.", @@ -696,7 +700,7 @@ "serviceCategory": { "type": "string", "description": "The service category applicable for the capability.", - "example": "EXPRESS_PARCEL ", + "example": "EXPRESS_PARCEL", "enum": [ "EXPRESS_FREIGHT", "EXPRESS_PARCEL", @@ -706,7 +710,10 @@ "daysOfWeek": { "type": "array", "description": "The days of the week for which this capability applies.
            Valid values:
            • MON
            • TUE
            • WED
            • THU
            • FRI
            • SAT
            • SUN
            ", - "example": "[MON, TUE ]", + "example": [ + "MON", + "TUE" + ], "items": { "type": "string" } @@ -717,7 +724,7 @@ "carrierCode": "FDXE", "serviceType": "PRIORITY_OVERNIGHT", "transferOfPossessionType": "DROPOFF", - "serviceCategory": "EXPRESS_PARCEL", + "serviceCategory": "EXPRESS_FREIGHT", "daysOfWeek": [ "MON", "TUE" @@ -1276,19 +1283,17 @@ "latitude": { "type": "number", "description": "The geo coordinate value that specifies the north-south position of the address.
            Example: 36.1699\u00b0 N", - "format": "double" + "format": "double", + "example": 5.637376 }, "longitude": { "type": "number", "description": "The geo coordinate value that specifies the East-West position of the address.
            Example: 115.1398\u00b0 W", - "format": "double" + "format": "double", + "example": 3.616076 } }, - "description": "The ISO6709GeographicCoordinates for a specific geographic location", - "example": { - "latitude": 5.637376, - "longitude": 3.616076 - } + "description": "The ISO6709GeographicCoordinates for a specific geographic location" }, "LocationDetail": { "type": "object", @@ -1347,6 +1352,9 @@ "locationAttributeTypes": { "type": "array", "description": "Attributes for the location.", + "example": [ + "ALREADY_OPEN" + ], "items": { "type": "string", "enum": [ @@ -1433,17 +1441,19 @@ "displayName": "John Taylor", "contact": { "personName": "John Taylor", - "emailAddress": "sample@company.com", - "phoneNumber": "9013575012", - "phoneExtension": 5000, + "emailAddress": "xxxxlor@fedex.com", + "phoneNumber": "xxxxxxxx12", + "phoneExtension": "91", "companyName": "Fedex", "faxNumber": "fax number", + "displayName": "jhon", "stateTaxId": "state tax identifier", "fedralTaxId": "federal tax identifier" }, "addressAncillaryDetail": { "locationInCity": "Mill Heights", "suite": "suite", + "displayName": "jhon", "adderssVerificationOverrideReason": "MANUAL_OVERRIDE", "locationInProperty": "back building north", "addtionalDescriptions": "thru south guard gate", @@ -1500,6 +1510,10 @@ "latestDropoffDetails": [ { "dayOfWeek": "MONDAY", + "operationalOverlay": { + "time": "time", + "type": "WEST_COAST" + }, "exceptionalTime": "08:30:00", "exceptionalOverlay": { "time": "09:00:00", @@ -1508,22 +1522,28 @@ "operationTime": "08:30:00" } ], - "serviceCategory": "EXPRESS_PARCEL" + "serviceCategory": "EXPRESS_FREIGHT" }, { "serviceType": "STANDARD_OVERNIGHT", "countryRelationshipType": "DOMESTIC", "carrierCodeType": "FDXE", - "latestDropoffDetails": { - "dayOfWeek": "TUESDAY", - "exceptionalTime": "07:00:00", - "exceptionalOverlay": { - "time": "02:00:00", - "type": "WEST_COAST" - }, - "operationTime": "06:00:00" - }, - "serviceCategory": "EXPRESS_PARCEL" + "latestDropoffDetails": [ + { + "dayOfWeek": "TUESDAY", + "operationalOverlay": { + "time": "09:00:00", + "type": "WEST_COAST" + }, + "exceptionalTime": "07:00:00", + "exceptionalOverlay": { + "time": "02:00:00", + "type": "WEST_COAST" + }, + "operationTime": "06:00:00" + } + ], + "serviceCategory": "EXPRESS_FREIGHT" } ], "geoPositionalCoordinates": { @@ -1562,7 +1582,7 @@ "THURSDAY", "FRIDAY" ], - "serviceCategory": "GROUND" + "serviceCategory": "GROUND_HOME_DELIVERY" }, { "serviceType": "FEDEX_GROUND", @@ -1667,7 +1687,7 @@ "personName": "John Taylor", "emailAddress": "sample@company.com", "phoneNumber": "1234567890", - "phoneExtension": 1234, + "phoneExtension": "1234", "faxNumber": "1234567890", "companyName": "Fedex", "stateTaxId": "11-N-1745", @@ -1846,7 +1866,8 @@ "SMARTPOST", "EXPRESS_PARCEL", "NULL" - ] + ], + "example": "EXPRESS_PARCEL" } }, "description": "This is a subset of the transportation carrier's products or services which may have unique characteristics at the location i.e. latest drop-off times for FDXE vs FDXG.", diff --git a/resources/models/.raw/open-ship/v1/OpenShipment-Resource.json b/resources/models/.raw/open-ship/v1/OpenShipment-Resource.json index f001490d..dc455bc1 100644 --- a/resources/models/.raw/open-ship/v1/OpenShipment-Resource.json +++ b/resources/models/.raw/open-ship/v1/OpenShipment-Resource.json @@ -13,7 +13,7 @@ "/ship/v1/openshipments/create": { "post": { "summary": "Create Open Shipment", - "description": "This endpoint helps you to create an open shipment request with the required shipping information.
            Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.", + "description": "This endpoint helps you to create an openn shipment request with the required shipping information.
            Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.", "operationId": "Create Open Shipmentt", "requestBody": { "content": { @@ -2873,7 +2873,20 @@ "properties": { "value": { "type": "string", - "description": "The account number value.Value is required if the paymentType is RECIPIENT, THIRD_PARTY or COLLECT.
            Example: Your account number" + "description": "Conditional.
            The account number value.
            Max Length is 9.
            Example: 12XXXXX89" + } + }, + "description": "This is FedEx Account number details.", + "example": { + "value": "Your account number" + } + }, + "PartyAccountNumber_1": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Conditional.
            The account number value.
            Max Length is 9.
            Example: 12XXXXX89

            NOTE:- FedEx Account number is required for FedEx International Connect Plus (FICP) service shipments from APAC to US or PR with duty & tax Bill-to recipient:
            if any of the shipment commodities\u2019 Country of Manufacture is CN/HK" } }, "description": "This is FedEx Account number details.", @@ -3378,7 +3391,7 @@ "type": "object", "properties": { "totalWeight": { - "$ref": "#/components/schemas/Weight_1" + "$ref": "#/components/schemas/Weight_Without_Link" }, "packageCount": { "type": "integer", @@ -4169,7 +4182,7 @@ "$ref": "#/components/schemas/Contact_1" }, "accountNumber": { - "$ref": "#/components/schemas/PartyAccountNumber" + "$ref": "#/components/schemas/PartyAccountNumber_1" }, "tins": { "type": "array", @@ -4331,7 +4344,7 @@ "example": "non-threaded rivets" }, "weight": { - "$ref": "#/components/schemas/Weight" + "$ref": "#/components/schemas/Weight_Without_Link" }, "exportLicenseNumber": { "type": "string", @@ -4406,6 +4419,56 @@ "value": 68 } }, + "Weight_With_Link": { + "description": "These are the package weight details.", + "type": "object", + "required": [ + "units", + "value" + ], + "properties": { + "units": { + "description": "Specifies the package weight unit type.
            Example:KG", + "type": "string", + "enum": [ + "KG", + "LB" + ], + "example": "KG" + }, + "value": { + "format": "double", + "description": "Weight Value.
            Example: 68.25
            Click here to see Weight Values", + "type": "number", + "example": 68.25 + } + } + }, + "Weight_Without_Link": { + "description": "These are the package weight details.", + "type": "object", + "required": [ + "units", + "value" + ], + "properties": { + "units": { + "description": "Specifies the package weight unit type.
            Example:KG", + "type": "string", + "enum": [ + "KG", + "LB" + ], + "example": "KG" + }, + "value": { + "format": "double", + "description": "Weight Value.
            Example: 68.25", + "type": "number", + "example": 68.25 + } + } + }, "UsmcaDetail": { "type": "object", "properties": { @@ -4524,8 +4587,7 @@ "example": "DEPARTMENT_OF_COMMERCE", "enum": [ "DEPARTMENT_OF_COMMERCE", - "DEPARTMENT_OF_STATE", - "DEPARTMENT_OF_COMMERCE_AND_DEPARTMENT_OF_STATE" + "DEPARTMENT_OF_STATE" ] }, "destinationCountries": { @@ -4656,7 +4718,7 @@ ] }, "weight": { - "$ref": "#/components/schemas/Weight" + "$ref": "#/components/schemas/Weight_With_Link" }, "dimensions": { "description": "Indicate the dimensions of the package.
            Following conditions will apply:
            • Dimensions are optional but when added, then all three dimensions must be indicated.
            • Dimensions are required when using a Express freight service.
            Note: The maximum/minimum dimension values varies based on the services and the packaging types. Refer FedEx Service Guide for service details related to DIM Weighting for FedEx Express and oversize conditions for FedEx Express and FedEx Ground.", @@ -4840,7 +4902,7 @@ } }, "dryIceWeight": { - "$ref": "#/components/schemas/Weight" + "$ref": "#/components/schemas/Weight_Without_Link" }, "standaloneBatteryDetails": { "type": "array", @@ -4910,14 +4972,11 @@ "description": "These are details for the package containing alcohol. This is required for alcohol special service. The alcoholRecipientType is required." }, "DangerousGoodsDetail": { - "required": [ - "accessibility" - ], "type": "object", "properties": { "accessibility": { "type": "string", - "description": "Specify Dangerous Goods Accessibility Type.
            • Inaccessible – it does not have to be accessable on the aircraft.
            • Accessible – it must be fully accessible on the aircraft, and is more strictly controlled.
            ", + "description": "Specify Dangerous Goods Accessibility Type.
            • Inaccessible – it does not have to be accessable on the aircraft.
            • Accessible – it must be fully accessible on the aircraft, and is more strictly controlled.
            Note: Accessibility is only required for IATA controlled DG shipments.", "example": "INACCESSIBLE", "enum": [ "ACCESSIBLE", @@ -4929,6 +4988,17 @@ "type": "boolean", "example": false }, + "regulation": { + "type": "string", + "description": "It is a HazardousCommodityRegulationType(The regulation under which the DG data has been validated).", + "example": "ADR", + "enum": [ + "ADR", + "DOT", + "IATA", + "ORMD" + ] + }, "options": { "type": "array", "description": "Indicate type of DG being reported.", @@ -7787,7 +7857,7 @@ }, "resolution": { "type": "integer", - "description": "Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203.", + "description": "Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203.Note: 300 DPI resolution is only allowed for ZPLII image type.", "example": 300 } }, @@ -8957,7 +9027,7 @@ "example": "Test1234" }, "shipAction": { - "description": "Allowed values are STRONG_VALIDATION", + "description": "Allowed values are STRONG_VALIDATION, PROVIDE_DOCUMENTS_INCREMENTALLY", "example": "STRONG_VALIDATION", "allOf": [ { diff --git a/resources/models/.raw/pickup-request/v1/Pickup-Resource.json b/resources/models/.raw/pickup-request/v1/Pickup-Resource.json index da103ff4..773185ef 100644 --- a/resources/models/.raw/pickup-request/v1/Pickup-Resource.json +++ b/resources/models/.raw/pickup-request/v1/Pickup-Resource.json @@ -1510,7 +1510,7 @@ }, "bookingNumber": { "type": "string", - "description": "Specify a freight shipment booking number from FedEx. This number is mandatory for freight dispatch requests.
            Example: 1234AGTT ", + "description": "Express Freight shipments (refer below) may require booking number. This booking number may also be required for freight dispatch requests.
            FedEx 1Day Freight - booking number is optional.
            FedEx International Priority Freight - booking number is required
            NOTE:
            a. For Intra EU (EU-to-EU) and EU outbound (EU-to-NON_EU) Express Freight shipments, bookingNumber is optional.
            b. For Express Freight shipments not originating in EU, Customers need to call FedEx to book freight shipment and receive a booking number. This booking number is included in the Ship request and prints on the shipping label.
            example:1234AGTT", "example": "1234AGTT" }, "dimensions": { @@ -2112,8 +2112,8 @@ "Check_Pickup_Availability_Domestic_Express": { "example": { "pickupAddress": { - "postalCode": "38116", - "countryCode": "US" + "postalCode": "75008", + "countryCode": "FR" }, "pickupRequestType": [ "SAME_DAY" @@ -2121,7 +2121,12 @@ "carriers": [ "FDXE" ], - "countryRelationship": "DOMESTIC" + "countryRelationship": "DOMESTIC", + "shipmentAttributes": [ + { + "serviceType": "FEDEX_FIRST" + } + ] } }, "Check_Pickup_Availability_Domestic_Ground": { @@ -2151,7 +2156,12 @@ "carriers": [ "FDXE" ], - "countryRelationship": "INTERNATIONAL" + "countryRelationship": "INTERNATIONAL", + "shipmentAttributes": [ + { + "serviceType": "INTERNATIONAL_PRIORITY_FREIGHT" + } + ] } }, "PudcResponseVO_CancelPickup": { diff --git a/resources/models/.raw/rates-transit-times/v1/RateQuotes-Resource.json b/resources/models/.raw/rates-transit-times/v1/RateQuotes-Resource.json index d610facf..adf410cd 100644 --- a/resources/models/.raw/rates-transit-times/v1/RateQuotes-Resource.json +++ b/resources/models/.raw/rates-transit-times/v1/RateQuotes-Resource.json @@ -2493,6 +2493,13 @@ "items": { "$ref": "#/components/schemas/Surcharge" } + }, + "taxes": { + "description": "List of taxes.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Tax" + } } }, "description": "This is shipment level rate data." @@ -2762,15 +2769,11 @@ }, "type": { "type": "string", - "description": "This is Broker Type.", - "example": "EXPORT", + "description": "This is Broker Type.Example:IMPORT", + "example": "IMPORT", "enum": [ - "EXPORT", "IMPORT" ] - }, - "brokerAddress": { - "$ref": "#/components/schemas/Brokeraddress" } }, "description": "These are Broker Detail for the rate quote." @@ -2982,7 +2985,7 @@ "example": "Your account number" } }, - "description": "This is the Account number details.
            Note:
            • If the paymentType is Sender, then the account number is optional in shippingChargesPayment.
            • In case if this is shipping account number, do use the account number used for creating Auth Token.
            ", + "description": "This is the Account number details.
            Note:
            • If the paymentType is Sender, then the account number is optional in shippingChargesPayment.
            ", "example": { "value": "Your account number" } @@ -3583,8 +3586,8 @@ "streetLines": [ "SENDER ADDRESS" ], - "city": "", - "stateOrProvinceCode": "", + "city": "SENDER CITY", + "stateOrProvinceCode": "SENDER PROVINCE CODE", "postalCode": "5003", "countryCode": "NO" } @@ -3594,8 +3597,8 @@ "streetLines": [ "RECIPIENT ADDRESS 1" ], - "city": "", - "stateOrProvinceCode": "", + "city": "RECIPIENT city", + "stateOrProvinceCode": "RECIPIENT PROVINCE CODE", "postalCode": "5003", "countryCode": "NO" } @@ -3661,6 +3664,180 @@ "webSiteCountryCode": "US" } }, + "MinimumSamplePayload_1": { + "example": { + "accountNumber": { + "value": "XXXXX7354" + }, + "requestedShipment": { + "shipper": { + "address": { + "postalCode": "65247", + "countryCode": "US" + } + }, + "recipient": { + "address": { + "postalCode": "72348", + "countryCode": "US" + } + }, + "pickupType": "DROPOFF_AT_FEDEX_LOCATION", + "rateRequestType": [ + "ACCOUNT", + "LIST" + ], + "requestedPackageLineItems": [ + { + "weight": { + "units": "LB", + "value": "10" + } + } + ] + } + } + }, + "FreightSamplePayload-RateResourceDetails_1": { + "example": { + "accountNumber": { + "value": "XXXXX9837" + }, + "requestedShipment": { + "freightShipmentDetail": { + "role": "SHIPPER", + "lineItem": [ + { + "pieces": "1", + "handlingUnits": "1", + "freightClass": "CLASS_060", + "subPackagingType": "PALLET", + "description": "books autograph", + "weight": { + "units": "LB", + "value": "1000.00" + }, + "id": "books", + "dimensions": { + "length": "15", + "width": "15", + "units": "IN", + "height": "15" + } + } + ], + "fedExFreightBillingContactAndAddress": { + "address": { + "residential": false, + "city": "COLLIERVILLE", + "countryCode": "US", + "streetLines": [ + "20 FEDEX PKWY" + ], + "postalCode": "380178711", + "stateOrProvinceCode": "TN" + }, + "contact": { + "personName": "BRON TAPES", + "emailAddress": "neena_sebastian@syntelinc.com", + "phoneNumber": "9012635448", + "phoneExtension": "001", + "companyName": "SYNT" + } + }, + "collectTermsType": "STANDARD", + "fedExFreightAccountNumber": { + "value": "XXXXX9837", + "key": "ba9b4726f7fac6ca7515492d2a4e369e" + }, + "declaredValueUnits": "USD", + "totalHandlingUnits": "2" + }, + "shipper": { + "address": { + "residential": false, + "city": "Collierville", + "countryCode": "US", + "streetLines": [ + "20 Fedex Parkway" + ], + "postalCode": "380178711", + "stateOrProvinceCode": "TN" + }, + "contact": { + "personName": "Abhay_shipper", + "phoneNumber": "9822280721", + "companyName": "Syntel" + }, + "accountNumber": { + "value": "XXXXX9837", + "key": "ba9b4726f7fac6ca7515492d2a4e369e" + } + }, + "rateRequestType": [ + "LIST" + ], + "shipmentSpecialServices": { + "specialServiceTypes": [] + }, + "recipient": { + "address": { + "residential": false, + "city": "Memphis", + "countryCode": "US", + "postalCode": "38116", + "stateOrProvinceCode": "ON" + } + }, + "shippingChargesPayment": { + "payor": { + "responsibleParty": { + "address": { + "residential": false, + "city": "Collierville", + "countryCode": "US", + "streetLines": [ + "10 Fedex Parkway" + ], + "postalCode": "38017", + "stateOrProvinceCode": "TN" + } + } + }, + "paymentType": "SENDER" + }, + "shipDateStamp": "2020-02-19", + "requestedPackageLineItems": [ + { + "subPackagingType": "OTHER", + "groupPackageCount": "1", + "itemDescriptionForClearance": "", + "weight": { + "units": "LB", + "value": "1000.00" + }, + "associatedFreightLineItems": [ + { + "id": "books" + } + ] + } + ], + "pickupType": "CONTACT_FEDEX_TO_SCHEDULE", + "packagingType": "YOUR_PACKAGING" + }, + "rateRequestControlParameters": { + "returnTransitTimes": true, + "servicesNeededOnRateFailure": false, + "rateSortOrder": "SERVICENAMETRADITIONAL", + "returnLocalizedDateTime": true + }, + "carrierCodes": [ + "FXFR" + ], + "customerTransactionId": "User defined Transaction Id" + } + }, "RateRequestControlParameters": { "type": "object", "properties": { @@ -3809,9 +3986,6 @@ "customsClearanceDetail": { "$ref": "#/components/schemas/RequestedShipmentCustomsClearanceDetail" }, - "serviceTypeDetail": { - "$ref": "#/components/schemas/ServiceTypeDetailVO" - }, "smartPostInfoDetail": { "$ref": "#/components/schemas/RequestedShipmentSmartPostInfoDetail" } @@ -4036,10 +4210,6 @@ "$ref": "#/components/schemas/Money_1" }, { - "required": [ - "amount", - "currency" - ], "properties": { "amount": { "type": "number", @@ -5359,7 +5529,7 @@ }, "commodities": { "type": "array", - "description": "Specify the commodity details.", + "description": "Indicates the details about the dutiable packages. Maximum upto 999 commodities per shipment.", "items": { "$ref": "#/components/schemas/Commodity" } @@ -5524,7 +5694,7 @@ }, "countryOfManufacture": { "type": "string", - "description": "This is a manufacturing country. Maximum field Length is 4
            Example: IN", + "description": "This is commodity country of manufacture. This is required. Maximum allowed length is 4.
            Example: US
            Click here to see Country Codes", "example": "US" }, "quantityUnits": { @@ -6598,6 +6768,12 @@ { "$ref": "#/components/schemas/Full_Schema_Quote_Rate" }, + { + "$ref": "#/components/schemas/MinimumSamplePayload_1" + }, + { + "$ref": "#/components/schemas/FreightSamplePayload-RateResourceDetails_1" + }, { "$ref": "#/components/schemas/US_Domestic_Rate_shop" }, @@ -6725,6 +6901,33 @@ } } }, + "Tax": { + "description": "Tax surcharge details", + "type": "object", + "properties": { + "amount": { + "description": "Tax amount.
            Example: 408.97", + "format": "double", + "type": "number", + "example": 408.97 + }, + "name": { + "description": "The localized name of the tax.
            Example: Denmark VAT", + "type": "string", + "example": "Denmark VAT" + }, + "description": { + "description": "The description of the Surcharge/Tax.
            Example: Denmark VAT", + "type": "string", + "example": "Denmark VAT" + }, + "type": { + "description": "The type of Surcharge/Tax.
            Example: VAT", + "type": "string", + "example": "VAT" + } + } + }, "DeliveryOnInvoiceAcceptanceDetailRecipient_contact": { "required": [ "companyName", diff --git a/resources/models/.raw/service-availability/v1/PackageAndServiceOptions-Resource.json b/resources/models/.raw/service-availability/v1/PackageAndServiceOptions-Resource.json index d95b4fa6..588a10a8 100644 --- a/resources/models/.raw/service-availability/v1/PackageAndServiceOptions-Resource.json +++ b/resources/models/.raw/service-availability/v1/PackageAndServiceOptions-Resource.json @@ -1355,6 +1355,56 @@ } ] }, + "Weight_With_Link": { + "description": "These are the package weight details.", + "type": "object", + "required": [ + "units", + "value" + ], + "properties": { + "units": { + "description": "Specifies the package weight unit type.
            Example:KG", + "type": "string", + "enum": [ + "KG", + "LB" + ], + "example": "KG" + }, + "value": { + "format": "double", + "description": "Weight Value.
            Example: 68.25
            Click here to see Weight Values", + "type": "number", + "example": 68.25 + } + } + }, + "Weight_Without_Link": { + "description": "These are the package weight details.", + "type": "object", + "required": [ + "units", + "value" + ], + "properties": { + "units": { + "description": "Specifies the package weight unit type.
            Example:KG", + "type": "string", + "enum": [ + "KG", + "LB" + ], + "example": "KG" + }, + "value": { + "format": "double", + "description": "Weight Value.
            Example: 68.25", + "type": "number", + "example": 68.25 + } + } + }, "StandaloneBatteryDetails": { "type": "object", "properties": { @@ -2163,7 +2213,7 @@ "$ref": "#/components/schemas/InsuredValue" }, "weight": { - "$ref": "#/components/schemas/Weight" + "$ref": "#/components/schemas/Weight_With_Link" }, "dimensions": { "$ref": "#/components/schemas/Dimensions" @@ -2374,7 +2424,7 @@ "description": "These are the weight details.", "allOf": [ { - "$ref": "#/components/schemas/Weight" + "$ref": "#/components/schemas/Weight_Without_Link" } ] }, @@ -2698,7 +2748,7 @@ "description": "Total weight of items for this line item", "allOf": [ { - "$ref": "#/components/schemas/Weight" + "$ref": "#/components/schemas/Weight_Without_Link" } ] }, diff --git a/resources/models/.raw/service-availability/v1/SpecialServiceOptions-Resource.json b/resources/models/.raw/service-availability/v1/SpecialServiceOptions-Resource.json index ebf2fbee..f7a23925 100644 --- a/resources/models/.raw/service-availability/v1/SpecialServiceOptions-Resource.json +++ b/resources/models/.raw/service-availability/v1/SpecialServiceOptions-Resource.json @@ -1201,7 +1201,7 @@ "$ref": "#/components/schemas/InsuredValue" }, "weight": { - "$ref": "#/components/schemas/Weight" + "$ref": "#/components/schemas/Weight_With_Link" }, "dimensions": { "$ref": "#/components/schemas/Dimensions" @@ -1325,6 +1325,56 @@ } ] }, + "Weight_With_Link": { + "description": "These are the package weight details.", + "type": "object", + "required": [ + "units", + "value" + ], + "properties": { + "units": { + "description": "Specifies the package weight unit type.
            Example:KG", + "type": "string", + "enum": [ + "KG", + "LB" + ], + "example": "KG" + }, + "value": { + "format": "double", + "description": "Weight Value.
            Example: 68.25
            Click here to see Weight Values", + "type": "number", + "example": 68.25 + } + } + }, + "Weight_Without_Link": { + "description": "These are the package weight details.", + "type": "object", + "required": [ + "units", + "value" + ], + "properties": { + "units": { + "description": "Specifies the package weight unit type.
            Example:KG", + "type": "string", + "enum": [ + "KG", + "LB" + ], + "example": "KG" + }, + "value": { + "format": "double", + "description": "Weight Value.
            Example: 68.25", + "type": "number", + "example": 68.25 + } + } + }, "StandaloneBatteryDetails": { "type": "object", "properties": { @@ -1494,7 +1544,7 @@ "description": "These are the weight details.", "allOf": [ { - "$ref": "#/components/schemas/Weight" + "$ref": "#/components/schemas/Weight_Without_Link" } ] }, @@ -1840,7 +1890,7 @@ "description": "Total weight of items for this line item", "allOf": [ { - "$ref": "#/components/schemas/Weight" + "$ref": "#/components/schemas/Weight_Without_Link" } ] }, diff --git a/resources/models/.raw/ship/v1/Shipment-Resource.json b/resources/models/.raw/ship/v1/Shipment-Resource.json index a4ee5e12..92e68549 100644 --- a/resources/models/.raw/ship/v1/Shipment-Resource.json +++ b/resources/models/.raw/ship/v1/Shipment-Resource.json @@ -13,7 +13,7 @@ "/ship/v1/shipments": { "post": { "summary": "Create Shipment", - "description": "This endpoint helpsss you to create shipment requests thereby validating all the shipping input information and either generates the labels (if the responses is synchronous) or a job ID if transaction is processed using asynchronous method.
            Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.", + "description": "This endpoint helps you to create shipment requests thereby validating all the shipping input information and either generates the labels (if the responses is synchronous) or a job ID if transaction is processed using asynchronous method.
            Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.", "operationId": "Create Shipment", "requestBody": { "content": { @@ -23,6 +23,15 @@ { "$ref": "#/components/schemas/Full_Schema_Ship" }, + { + "$ref": "#/components/schemas/MinimumSamplePayload-ShipShipment" + }, + { + "$ref": "#/components/schemas/MinimumSamplePayload-DomesticShipmentMPS" + }, + { + "$ref": "#/components/schemas/SamplePayload-InternationalShipmentMPS" + }, { "$ref": "#/components/schemas/FDGSamplePayload-ShipShipment-intraEurope" }, @@ -987,7 +996,7 @@ ] }, "requestedShipment": { - "$ref": "#/components/schemas/RequestedShipment" + "$ref": "#/components/schemas/RequestedShipment_1" }, "labelResponseOptions": { "$ref": "#/components/schemas/LABELRESPONSEOPTIONS" @@ -1014,32 +1023,36 @@ "labelResponseOptions": "URL_ONLY", "requestedShipment": { "shipper": { - "companyName": "SENDER COMPANY NAME", - "phoneNumber": 9018328595, + "contact": { + "companyName": "Shipper Company Name", + "personName": "SENDER PERSON NAME", + "phoneNumber": 1234567890 + }, "address": { "streetLines": [ "SENDER ADDRESS 1" - ] - }, - "city": "TRAFFORD PARK", - "stateOrProvinceCode": "LA", - "postalCode": "M17 2SW", - "countryCode": "GB" + ], + "city": "TRAFFORD PARK", + "stateOrProvinceCode": "LA", + "postalCode": "M17 2SW", + "countryCode": "GB" + } }, "recipients": [ { "contact": { + "personName": "Recipient PERSON NAME", "companyName": "RECIPIENT COMPANY NAME", - "phoneNumber": 9018328595, - "address": { - "streetLines": [ - "SENDER ADDRESS 1" - ], - "city": "LONDON", - "stateOrProvinceCode": "LO", - "postalCode": "E14 4DA", - "countryCode": "GB" - } + "phoneNumber": 9018328595 + }, + "address": { + "streetLines": [ + "SENDER ADDRESS 1" + ], + "city": "LONDON", + "stateOrProvinceCode": "LO", + "postalCode": "E14 4DA", + "countryCode": "GB" } } ], @@ -1051,49 +1064,36 @@ "shippingChargesPayment": { "paymentType": "SENDER" }, - "totalCustomsValue": { - "amount": 100, - "currency": "UKL" - }, - "isDocumentOnly": false, - "dutiesPayment": { - "paymentType": "SENDER" + "labelSpecification": { + "docType": "PDF", + "stockType": "PAPER_LETTER" }, - "docType": "PDF", - "stockType": "PAPER_LETTER", - "requestedPackageLineItems": { - "-groupPackageCount": 1, - "physicalPackaging": "YOUR_PACKAGING", - "currency": "UKL", - "amount": 0, - "weight": { - "units": "LB", - "value": 35 - }, - "dimensions": { - "length": 20, - "width": 20, - "units": "IN", - "height": 20 - }, - "packageSpecialServices": { - "specialServiceTypes": [ - "DANGEROUS_GOODS" - ], - "regulation": "ADR", - "cargoAircraftOnly": false, - "options": [ - "HAZARDOUS_MATERIALS" - ] + "requestedPackageLineItems": [ + { + "weight": { + "units": "LB", + "value": 35 + }, + "packageSpecialServices": { + "specialServiceTypes": [ + "DANGEROUS_GOODS" + ], + "dangerousGoodsDetail": { + "regulation": "ADR", + "options": [ + "HAZARDOUS_MATERIALS" + ] + } + } } - } + ] }, "accountNumber": { - "key": "xxxxxxxxxxxxxxxxx722e31f" + "value": "XXXXX1073" } } }, - "RequestedShipment": { + "RequestedShipment_1": { "required": [ "labelSpecification", "packagingType", @@ -1308,7 +1308,7 @@ "properties": { "amount": { "type": "number", - "description": "This is the amount. Maximum limit is 5 digits before decimal.
            Example: 1556.25", + "description": "This is commodity value in amount used for Customs declaration.
            Max limit: 11 digits before decimal.
            Example: 1,55,6457.25", "format": "double", "example": "1556.25" }, @@ -1328,7 +1328,7 @@ "type": "object", "properties": { "address": { - "$ref": "#/components/schemas/PartyAddress" + "$ref": "#/components/schemas/PartyAddress_2" }, "contact": { "$ref": "#/components/schemas/PartyContact" @@ -1419,7 +1419,63 @@ }, "stateOrProvinceCode": { "type": "string", - "description": "The US States,Canada and Puerto Rico Province codes of the recipient. The Format and presence of this field may vary depending on the country.State code is required for US, CA, PR and not required for other countries. Conditional. Max length is 2.
            Example: CA", + "description": "The US States,Canada and Puerto Rico Province codes of the recipient. The Format and presence of this field may vary depending on the country.State code is required for US, CA, PR and not required for other countries. Conditional.
            Example: CA", + "example": "CA" + }, + "postalCode": { + "type": "string", + "description": "This is the postal code.
            Note: This is Optional for non postal-aware countries. Maximum length is 10.
            Example: 65247
            click here to see Postal aware countries", + "example": "90210" + }, + "countryCode": { + "type": "string", + "description": "This is the two-letter country code.
            Maximum length is 2.
            Example: US
            click here to see Country codes", + "example": "US" + }, + "residential": { + "type": "boolean", + "description": "Indicates whether this address is residential (as opposed to commercial).
            Example: false", + "example": false + } + }, + "description": "This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US).", + "example": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + } + }, + "PartyAddress_2": { + "required": [ + "city", + "countryCode", + "streetLines" + ], + "type": "object", + "properties": { + "streetLines": { + "type": "array", + "description": "Combination of number, street name, etc. At least one line is required for a valid physical address. Empty lines should not be included. Max Length is 35.
            Example: [1550 Union Blvd,Suite 302]", + "example": "1550 Union Blvd, Suite 302", + "items": { + "type": "string" + } + }, + "city": { + "type": "string", + "maxLength": 35, + "description": "The name of city, town of the recipient.Max length is 35.
            Example: Beverly Hills", + "example": "Beverly Hills" + }, + "stateOrProvinceCode": { + "type": "string", + "description": "It is used to identify the principal subdivisions (e.g., provinces or states) of countries. The Format and presence of this field may vary depending on the country. Note: For specific countries, such as the United States and Canada, and Puerto Rico, there is a two-character state, province, codes limit . Example: TX", "example": "CA" }, "postalCode": { @@ -1549,7 +1605,7 @@ "type": "object", "properties": { "address": { - "$ref": "#/components/schemas/PartyAddress" + "$ref": "#/components/schemas/PartyAddress_2" }, "contact": { "$ref": "#/components/schemas/PartyContact" @@ -1697,7 +1753,7 @@ }, "stateOrProvinceCode": { "type": "string", - "description": "This is a placeholder for State or Province code.State code is required for US, CA, PR and not required for other countries. Conditional. Max length is 2.
            Example: CA
            click here to see State or Province Code", + "description": "This is a placeholder for State or Province code.State code is required for US, CA, PR and not required for other countries. Conditional.
            Example: CA
            click here to see State or Province Code", "example": "CA" }, "postalCode": { @@ -1854,7 +1910,21 @@ "properties": { "value": { "type": "string", - "description": "Conditional.
            The account number value.
            Value is required if the paymentType is THIRD_PARTY.
            Max Length is 9.
            Example: 12XXXXX89", + "description": "Conditional.
            The account number value.
            Max Length is 9.
            Example: 12XXXXX89", + "example": "12XXXXX89" + } + }, + "description": "This is FedEx Account number details.", + "example": { + "value": "Your account number" + } + }, + "PartyAccountNumber_1": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Conditional.
            The account number value.
            Max Length is 9.
            Example: 12XXXXX89
            NOTE-FedEx Account Number is required for FedEx International Connect Plus (FICP) service shipments from APAC to US or PR with duty & tax Bill-to recipient:
            1. If any of the shipment Commodities' Country of Manufacture is CN/HK", "example": "12XXXXX89" } }, @@ -1970,6 +2040,7 @@ "example": "PRO_FORMA_INVOICE", "enum": [ "CERTIFICATE_OF_ORIGIN", + "NET_RATE_SHEET", "COMMERCIAL_INVOICE", "ETD_LABEL", "USMCA_CERTIFICATION_OF_ORIGIN", @@ -2561,6 +2632,8 @@ "example": "ACCOUNT", "enum": [ "ACCOUNT", + "ACTUAL", + "LIST", "CURRENT", "CUSTOM" ] @@ -2728,7 +2801,10 @@ "DSP_73", "DSP_85", "DSP_LICENSE_AGREEMENT", - "WAREHOUSE_WITHDRAWAL" + "WAREHOUSE_WITHDRAWAL", + "FROM_FOREIGN_TRADE_ZONE", + "DEA_486", + "DSP_94" ] } }, @@ -3179,6 +3255,11 @@ "description": "The originatorName that will populate the Commercial Invoice (or Pro Forma).
            Example: originator name", "example": "originator Name" }, + "paymentTerms": { + "description": "The payment terms that will populate the Commercial Invoice (or Pro Forma). This field is being supported for completeness only.
            Example: payment terms", + "type": "string", + "example": "payment terms" + }, "comments": { "type": "array", "description": "The comments that will populate the Commercial Invoice (or Pro Forma). Only the comments specified in the first two indexes of the array will be printed on the invoice and other comments would be ignored as the limitation is set for only two indexes. It considers the comment which is in the first index as a Special Instructions, Hence the comment at first index will be printed under special instructions and the other will be printed at comments section in the Commercial Invoice Document.
            Example: comments", @@ -3456,7 +3537,7 @@ "$ref": "#/components/schemas/Contact_1" }, "accountNumber": { - "$ref": "#/components/schemas/PartyAccountNumber" + "$ref": "#/components/schemas/PartyAccountNumber_1" }, "tins": { "type": "array", @@ -3734,7 +3815,8 @@ "description": "Indicate the weight unit type. The package and commodity weight unit should be the same else the request will result in an error.
            Example:KG", "example": "KG", "enum": [ - "KG" + "KG", + "LB" ] }, "value": { @@ -3868,8 +3950,7 @@ "example": "DEPARTMENT_OF_COMMERCE", "enum": [ "DEPARTMENT_OF_COMMERCE", - "DEPARTMENT_OF_STATE", - "DEPARTMENT_OF_COMMERCE_AND_DEPARTMENT_OF_STATE" + "DEPARTMENT_OF_STATE" ] }, "destinationCountries": { @@ -4005,6 +4086,7 @@ "example": "PAPER_7X475", "enum": [ "PAPER_4X6", + "STOCK_4X675", "PAPER_4X675", "PAPER_4X8", "PAPER_4X9", @@ -4061,7 +4143,7 @@ }, "resolution": { "type": "integer", - "description": "Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203.", + "description": "Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203.Note: 300 DPI resolution is only allowed for ZPLII image type.", "example": 300 } }, @@ -4082,6 +4164,7 @@ "default": "SHIPPER_INFORMATION", "enum": [ "CUSTOMS_VALUE", + "SHIPPER_ACCOUNT_NUMBER", "DIMENSIONS", "DUTIES_AND_TAXES_PAYOR_ACCOUNT_NUMBER", "INSURED_VALUE", @@ -4710,7 +4793,7 @@ }, "stateOrProvinceCode": { "type": "string", - "description": "This is a placeholder for State or Province code.State code is required for US, CA, PR and not required for other countries. Conditional. Max length is 2.
            Example: CA.
            click here to see State or Province Code", + "description": "This is a placeholder for State or Province code.State code is required for US, CA, PR and not required for other countries. Conditional.
            Example: CA.
            click here to see State or Province Code", "example": "CA" }, "postalCode": { @@ -5207,9 +5290,6 @@ "description": "These are detcontentails for the package containing alcohol. This is required for alcohol special service. The alcoholRecipientType is required." }, "DangerousGoodsDetail": { - "required": [ - "accessibility" - ], "type": "object", "properties": { "cargoAircraftOnly": { @@ -5219,8 +5299,8 @@ }, "regulation": { "type": "string", - "description": "The hazardous package shipment regulation type. Note- regulation as ADR only for FULLY_REGULATED_DANGEROUS_GOODS(FDG) & LIMITED_QUANTITIES_DANGEROUS_GOODS(LDG) special service type.", - "example": "DOT", + "description": "It is a HazardousCommodityRegulationType(The regulation under which the DG data has been validated).", + "example": "ADR", "enum": [ "ADR", "DOT", @@ -5230,7 +5310,7 @@ }, "accessibility": { "type": "string", - "description": "Specify Dangerous Goods Accessibility Type.
            • Inaccessible – it does not have to be accessable on the aircraft.
            • Accessible – it must be fully accessible on the aircraft, and is more strictly controlled.
            ", + "description": "Specify Dangerous Goods Accessibility Type.
            • Inaccessible – it does not have to be accessable on the aircraft.
            • Accessible – it must be fully accessible on the aircraft, and is more strictly controlled.
            Note: Accessibility is only required for IATA controlled DG shipments.", "example": "INACCESSIBLE", "enum": [ "ACCESSIBLE", @@ -5320,7 +5400,7 @@ }, "LABELRESPONSEOPTIONS": { "type": "string", - "description": "LabelResponseOptions specifies the label generation format.
            Example:URL_ONLY", + "description": "Note- Label will be returned as Base64 ONLY when openShipmentAction is PROVIDE_DOCUMENTS_INCREMENTALLY.
            LabelResponseOptions specifies the label generation format.
            Example:URL_ONLY", "example": "URL_ONLY", "enum": [ "URL_ONLY", @@ -8495,7 +8575,8 @@ "PROFORMA_INVOICE", "USMCA_CERTIFICATION_OF_ORIGIN", "CERTIFICATE_OF_ORIGIN", - "MERGED_LABELS_ONLY" + "MERGED_LABELS_ONLY", + "USMCA_COMMERCIAL_INVOICE_CERTIFICATION_OF_ORIGIN" ] }, "trackingNumber": { @@ -8594,13 +8675,6 @@ "format": "double", "example": 21.45 }, - "transactionDetails": { - "type": "array", - "description": "Indicates data received that governs data payload language/translations. The TransactionDetail from the request is echoed back to the caller in the corresponding reply.", - "items": { - "$ref": "#/components/schemas/TransactionDetailVO" - } - }, "packageDocuments": { "type": "array", "description": "These are package documents returned in the response.", @@ -8648,7 +8722,7 @@ "format": "double", "example": 621.45 }, - "netListRateAmount": { + "listRateAmount": { "type": "number", "description": "Indicates the net List rate amount.
            Example: 1.45", "format": "double", @@ -8693,11 +8767,6 @@ "description": "This is the tracking number associated with this package.
            Example: 49XXX0000XXX20032835", "example": "794953535000" }, - "successful": { - "type": "boolean", - "description": "Returns true if the responses are successful otherwise false.", - "example": true - }, "customerReferences": { "type": "array", "description": "These are additional customer reference data.
            Note: The groupPackageCount must be specified to retrieve customer references.", @@ -9159,7 +9228,7 @@ ] }, "options": { - "$ref": "#/components/schemas/HazardousCommodityContent001" + "$ref": "#/components/schemas/HazardousCommodityOptionDetail" }, "description": { "$ref": "#/components/schemas/ValidatedHazardousCommodityDescription" @@ -9695,10 +9764,6 @@ } }, "Address": { - "required": [ - "countryCode", - "streetLines" - ], "type": "object", "properties": { "streetLines": { @@ -9925,8 +9990,7 @@ }, "ShipmentDryIceDetail": { "required": [ - "packageCount", - "totalWeight" + "packageCount" ], "type": "object", "properties": { @@ -10968,10 +11032,10 @@ "description": "Indicates whether the shipment has been deleted from history or not. If the value is True, then it indicates that the shipment has been deleted.
            Example: true", "example": true }, - "successMessage": { + "message": { "type": "string", - "description": "The success message generated during cancellation request for Shipment.
            Example: Success", - "example": "Success" + "description": "The success message generated during cancellation request for Shipment.
            Example:Shipment is successfully cancelled", + "example": "Shipment is successfully cancelled" }, "alerts": { "type": "array", @@ -11799,6 +11863,420 @@ } }, "description": "Indicate the shipment special service or handling required for this shipment.
            Note:
            • If the shipper is requesting a special service, the special service type must be indicated in the object specialServiceTypes, and all supporting detail must be provided in the appropriate sub-object below.
            • For returns it is required to provide value RETURN_SHIPMENT in the specialServiceTypes.
            " + }, + "HazardousCommodityOptionDetail": { + "description": "Provides details of Hazardous Commodity Option Detail", + "type": "object", + "properties": { + "labelTextOption": { + "description": "Provides the label text option", + "type": "string", + "enum": [ + "APPEND", + "OVERRIDE", + "STANDARD" + ], + "example": "STANDARD" + }, + "customerSuppliedLabelText": { + "description": "DG Data Upload Mode:- Optional
            DG Full Validation Mode: Optional
            Text used in labeling the commodity under control of the LabelTextOption field", + "type": "string", + "example": "Customer Supplied Label Text" + } + } + }, + "SamplePayload-InternationalShipmentMPS": { + "example": { + "includeBase64document": false, + "requestedShipment": { + "serviceType": "INTERNATIONAL_ECONOMY", + "emailNotificationDetail": { + "recipients": [ + { + "notificationEventType": [ + "ON_DELIVERY", + "ON_EXCEPTION" + ], + "emailAddress": "neena_sebastian@syntelinc.com", + "notificationFormatType": "HTML", + "emailNotificationRecipientType": "SHIPPER", + "notificationType": "EMAIL", + "locale": "en" + } + ] + }, + "shipper": { + "address": { + "residential": false, + "city": "CAMPINUS", + "countryCode": "BR", + "postalCode": "04776", + "streetLines": [ + "SENDER ADDRESS 1", + "SENDER ADDRESS 2" + ], + "stateOrProvinceCode": "SP" + }, + "contact": { + "personName": "MAMU", + "emailAddress": "SENDER@fedex.com", + "phoneNumber": "9012635448", + "phoneExtension": "1234", + "companyName": "SENDER COMPANY" + }, + "tins": [ + { + "number": "", + "tinType": "BUSINESS_UNION", + "usage": "" + } + ] + }, + "shipmentSpecialServices": { + "specialServiceTypes": [] + }, + "labelSpecification": { + "paperType": "PAPER_LETTER", + "printerType": "PDF", + "returnedDispositionDetail": true, + "autoPrint": true + }, + "customsClearanceDetail": { + "insuranceCharges": "0.0", + "commercialInvoice": { + "shipmentPurpose": "REPAIR_AND_RETURN" + }, + "dutiesPayment": { + "payor": { + "responsibleParty": { + "address": { + "countryCode": "US" + }, + "accountNumber": { + "value": "XXXXX2842", + "key": "" + } + } + }, + "paymentType": "SENDER" + }, + "commodities": [ + { + "unitPrice": { + "amount": "67", + "currency": "INR" + }, + "numberOfPieces": "1", + "quantity": "1", + "customsValue": { + "amount": "134", + "currency": "INR" + }, + "countryOfManufacture": "US", + "name": "INTEROFFICE_DOCUMENT", + "description": "INTEROFFICE_DOCUMENT", + "weight": { + "units": "KG", + "value": "12" + }, + "quantityUnits": "PCS" + }, + { + "unitPrice": { + "amount": "1", + "currency": "INR" + }, + "numberOfPieces": "1", + "quantity": "1", + "customsValue": { + "amount": "5", + "currency": "INR" + }, + "countryOfManufacture": "US", + "name": "INTEROFFICE_DOCUMENT", + "description": "INTEROFFICE_DOCUMENT", + "weight": { + "units": "KG", + "value": "2" + }, + "quantityUnits": "PCS" + } + ], + "documentContent": "DOCUMENT", + "partiesToTransactionAreRelated": false, + "commercialInvoiceSpecification": { + "returnedDispositionDetail": true + } + }, + "blockInsightVisibility": true, + "shippingDocumentSpecification": { + "shippingDocumentTypes": [ + "COMMERCIAL_INVOICE" + ], + "commercialInvoiceDetail": { + "documentFormat": { + "stockType": "PAPER_LETTER", + "dispositions": [ + { + "dispositionType": "RETURNED" + } + ], + "locale": "en_US", + "docType": "PDF" + } + } + }, + "shipDatestamp": "2019-10-03", + "pickupType": "USE_SCHEDULED_PICKUP", + "recipients": [ + { + "address": { + "residential": false, + "city": "Ontario", + "countryCode": "CA", + "postalCode": "m1m1m1", + "streetLines": [ + "RECIPIENT ADDRESS 1", + "RECIPIENT ADDRESS 2" + ], + "stateOrProvinceCode": "ON" + }, + "contact": { + "personName": "BHARAT", + "emailAddress": "RECIPIENT@fedex.com", + "phoneNumber": "9018328595", + "phoneExtension": "2222", + "companyName": "RECIPIENT COMPANY" + }, + "tins": [ + { + "number": "1223334444", + "tinType": "BUSINESS_UNION", + "usage": "" + } + ], + "deliveryInstructions": "" + } + ], + "shippingChargesPayment": { + "payor": { + "responsibleParty": { + "address": { + "city": "SHENZHEN", + "countryCode": "CN", + "streetLines": [ + "SENDER ADDRESS 1", + "SENDER ADDRESS 2" + ], + "postalCode": "518001", + "stateOrProvinceCode": "" + }, + "contact": { + "personName": "MAMU", + "emailAddress": "725479@fedex.com", + "phoneNumber": "1234567890", + "phoneExtension": "1111", + "companyName": "SENDER COMPANY" + }, + "accountNumber": { + "value": "XXXXX2842" + } + } + }, + "paymentType": "SENDER" + }, + "requestedPackageLineItems": [ + { + "subPackagingType": "OTHER", + "groupPackageCount": "2", + "itemDescriptionForClearance": "SELFPACKAGE_BASKET", + "declaredValue": { + "amount": "67", + "currency": "INR" + }, + "weight": { + "units": "KG", + "value": "12" + }, + "dimensions": { + "length": "7", + "width": "7", + "units": "CM", + "height": "7" + }, + "packageSpecialServices": { + "signatureOptionType": "ADULT", + "specialServiceTypes": [ + "SIGNATURE_OPTION" + ] + } + } + ], + "packagingType": "YOUR_PACKAGING" + }, + "openShipmentAction": "CONFIRM", + "customerTransactionId": "This is a custom ID!", + "accountNumber": { + "value": "XXXXX2842" + } + } + }, + "MinimumSamplePayload-DomesticShipmentMPS": { + "example": { + "requestedShipment": { + "serviceType": "PRIORITY_OVERNIGHT", + "shipper": { + "address": { + "city": "Mem", + "countryCode": "US", + "postalCode": "38127", + "streetLines": [ + "1335 Ashville Dr" + ], + "stateOrProvinceCode": "TN" + }, + "contact": { + "personName": "SENDER NAME", + "phoneNumber": "9018328595" + } + }, + "labelSpecification": {}, + "pickupType": "CONTACT_FEDEX_TO_SCHEDULE", + "recipients": [ + { + "address": { + "residential": false, + "city": "IRVING", + "countryCode": "US", + "postalCode": "75038", + "streetLines": [ + "RECIPIENT ADDRESS 1" + ], + "stateOrProvinceCode": "TX" + } + }, + { + "contact": { + "personName": "RECIPIENT NAME", + "phoneNumber": "1234567890" + } + } + ], + "shippingChargesPayment": { + "paymentType": "SENDER", + "payor": { + "responsibleParty": { + "accountNumber": { + "value": "XXXX", + "key": "" + } + }, + "address": { + "streetLines": [ + "SENDER ADDRESS 1" + ], + "city": "MEMPHIS", + "stateOrProvinceCode": "TN", + "postalCode": "38116", + "countryCode": "US" + } + } + }, + "requestedPackageLineItems": [ + { + "weight": { + "units": "LB", + "value": "10" + } + }, + { + "weight": { + "units": "LB", + "value": "20" + } + } + ], + "packagingType": "YOUR_PACKAGING" + }, + "accountNumber": { + "value": "XXXXX2842" + } + } + }, + "MinimumSamplePayload-ShipShipment": { + "example": { + "requestedShipment": { + "shipper": { + "contact": { + "personName": "SENDER NAME", + "phoneNumber": "9018328595" + }, + "address": { + "streetLines": [ + "SENDER ADDRESS 1" + ], + "city": "MEMPHIS", + "stateOrProvinceCode": "TN", + "postalCode": "38116", + "countryCode": "US" + } + }, + "recipients": [ + { + "contact": { + "personName": "RECIPIENT NAME", + "phoneNumber": "9018328595" + } + }, + { + "address": { + "streetLines": [ + "RECIPIENT ADDRESS 1" + ], + "city": "MEMPHIS", + "stateOrProvinceCode": "TN", + "postalCode": "38116", + "countryCode": "US" + } + } + ], + "serviceType": "STANDARD_OVERNIGHT", + "packagingType": "YOUR_PACKAGING", + "pickupType": "DROPOFF_AT_FEDEX_LOCATION", + "shippingChargesPayment": { + "paymentType": "SENDER", + "payor": { + "responsibleParty": { + "accountNumber": { + "value": "XXXX", + "key": "" + } + }, + "address": { + "streetLines": [ + "SENDER ADDRESS 1" + ], + "city": "MEMPHIS", + "stateOrProvinceCode": "TN", + "postalCode": "38116", + "countryCode": "US" + } + } + }, + "labelSpecification": {}, + "requestedPackageLineItems": [ + { + "weight": { + "units": "LB", + "value": "20" + } + } + ] + }, + "accountNumber": { + "value": "XXXXX2842" + } + } } } } diff --git a/resources/models/.raw/ship/v1/Tag-Resource.json b/resources/models/.raw/ship/v1/Tag-Resource.json index 37413419..3fe81a2e 100644 --- a/resources/models/.raw/ship/v1/Tag-Resource.json +++ b/resources/models/.raw/ship/v1/Tag-Resource.json @@ -513,7 +513,7 @@ ], "allOf": [ { - "$ref": "#/components/schemas/RequestedShipment" + "$ref": "#/components/schemas/RequestedShipment_tag" }, { "properties": { @@ -540,7 +540,7 @@ } ] }, - "RequestedShipment": { + "RequestedShipment_tag": { "required": [ "labelSpecification", "packagingType", @@ -674,7 +674,7 @@ "$ref": "#/components/schemas/VariableHandlingChargeDetail" }, "customsClearanceDetail": { - "$ref": "#/components/schemas/CustomsClearanceDetail" + "$ref": "#/components/schemas/CustomsClearanceDetail_tag" }, "smartPostInfoDetail": { "$ref": "#/components/schemas/SmartPostInfoDetail" @@ -755,7 +755,7 @@ "properties": { "amount": { "type": "number", - "description": "This is the amount. Maximum limit is 5 digits before decimal.
            Example: 1556.25", + "description": "This is commodity value in amount used for Customs declaration.
            Max limit: 11 digits before decimal.
            Example: 1,55,6457.25", "format": "double", "example": "1556.25" }, @@ -775,7 +775,7 @@ "type": "object", "properties": { "address": { - "$ref": "#/components/schemas/PartyAddress" + "$ref": "#/components/schemas/PartyAddress_2" }, "contact": { "$ref": "#/components/schemas/PartyContact" @@ -866,7 +866,63 @@ }, "stateOrProvinceCode": { "type": "string", - "description": "The US States,Canada and Puerto Rico Province codes of the recipient. The Format and presence of this field may vary depending on the country.State code is required for US, CA, PR and not required for other countries. Conditional. Max length is 2.
            Example: CA", + "description": "The US States,Canada and Puerto Rico Province codes of the recipient. The Format and presence of this field may vary depending on the country.State code is required for US, CA, PR and not required for other countries. Conditional.
            Example: CA", + "example": "CA" + }, + "postalCode": { + "type": "string", + "description": "This is the postal code.
            Note: This is Optional for non postal-aware countries. Maximum length is 10.
            Example: 65247
            click here to see Postal aware countries", + "example": "90210" + }, + "countryCode": { + "type": "string", + "description": "This is the two-letter country code.
            Maximum length is 2.
            Example: US
            click here to see Country codes", + "example": "US" + }, + "residential": { + "type": "boolean", + "description": "Indicates whether this address is residential (as opposed to commercial).
            Example: false", + "example": false + } + }, + "description": "This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US).", + "example": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + } + }, + "PartyAddress_2": { + "required": [ + "city", + "countryCode", + "streetLines" + ], + "type": "object", + "properties": { + "streetLines": { + "type": "array", + "description": "Combination of number, street name, etc. At least one line is required for a valid physical address. Empty lines should not be included. Max Length is 35.
            Example: [1550 Union Blvd,Suite 302]", + "example": "1550 Union Blvd, Suite 302", + "items": { + "type": "string" + } + }, + "city": { + "type": "string", + "maxLength": 35, + "description": "The name of city, town of the recipient.Max length is 35.
            Example: Beverly Hills", + "example": "Beverly Hills" + }, + "stateOrProvinceCode": { + "type": "string", + "description": "It is used to identify the principal subdivisions (e.g., provinces or states) of countries. The Format and presence of this field may vary depending on the country. Note: For specific countries, such as the United States and Canada, and Puerto Rico, there is a two-character state, province, codes limit . Example: TX", "example": "CA" }, "postalCode": { @@ -998,7 +1054,7 @@ "type": "object", "properties": { "address": { - "$ref": "#/components/schemas/PartyAddress" + "$ref": "#/components/schemas/PartyAddress_2" }, "contact": { "$ref": "#/components/schemas/PartyContact" @@ -1303,7 +1359,21 @@ "properties": { "value": { "type": "string", - "description": "Conditional.
            The account number value.
            Value is required if the paymentType is THIRD_PARTY.
            Max Length is 9.
            Example: 12XXXXX89", + "description": "Conditional.
            The account number value.
            Max Length is 9.
            Example: 12XXXXX89", + "example": "12XXXXX89" + } + }, + "description": "This is FedEx Account number details.", + "example": { + "value": "Your account number" + } + }, + "PartyAccountNumber_tag": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Conditional.
            The account number value.
            Max Length is 9.
            Example: 12XXXXX89", "example": "12XXXXX89" } }, @@ -1419,6 +1489,7 @@ "example": "PRO_FORMA_INVOICE", "enum": [ "CERTIFICATE_OF_ORIGIN", + "NET_RATE_SHEET", "COMMERCIAL_INVOICE", "ETD_LABEL", "USMCA_CERTIFICATION_OF_ORIGIN", @@ -2009,6 +2080,8 @@ "description": "Specify the Rate Type used.", "enum": [ "ACCOUNT", + "LIST", + "ACTUAL", "CURRENT", "CUSTOM" ], @@ -2177,7 +2250,10 @@ "DSP_73", "DSP_85", "DSP_LICENSE_AGREEMENT", - "WAREHOUSE_WITHDRAWAL" + "WAREHOUSE_WITHDRAWAL", + "FROM_FOREIGN_TRADE_ZONE", + "DEA_486", + "DSP_94" ] } }, @@ -2440,7 +2516,7 @@ }, "description": "Indicate the details about how to calculate variable handling charges at the shipment level. They can be based on a percentage of the shipping charges or a fixed amount. If indicated, element rateLevelType is required." }, - "CustomsClearanceDetail": { + "CustomsClearanceDetail_tag": { "required": [ "commercialInvoice", "commodities" @@ -2484,13 +2560,13 @@ ] }, "dutiesPayment": { - "$ref": "#/components/schemas/Payment_1" + "$ref": "#/components/schemas/Payment_1_tag" }, "commodities": { "type": "array", "description": "Indicates the details about the dutiable packages. Maximum upto 999 commodities per shipment.", "items": { - "$ref": "#/components/schemas/Commodity" + "$ref": "#/components/schemas/Commodity_1" } }, "isDocumentOnly": { @@ -2627,6 +2703,11 @@ "description": "The originatorName that will populate the Commercial Invoice (or Pro Forma).
            Example: originator name", "example": "originator Name" }, + "paymentTerms": { + "description": "The payment terms that will populate the Commercial Invoice (or Pro Forma). This field is being supported for completeness only.
            Example: payment terms", + "type": "string", + "example": "payment terms" + }, "comments": { "type": "array", "description": "The comments that will populate the Commercial Invoice (or Pro Forma). Only the comments specified in the first two indexes of the array will be printed on the invoice and other comments would be ignored as the limitation is set for only two indexes. It considers the comment which is in the first index as a Special Instructions, Hence the comment at first index will be printed under special instructions and the other will be printed at comments section in the Commercial Invoice Document.
            Example: comments", @@ -2767,11 +2848,11 @@ }, "description": "These are email disposition details. Provides the type and email addresses of e-mail recipients. If returnedDispositionDetail in labelSpecification is set as true then email will be send with label and documents copy." }, - "Payment_1": { + "Payment_1_tag": { "type": "object", "properties": { "payor": { - "$ref": "#/components/schemas/Payor_1" + "$ref": "#/components/schemas/Payor_1_tag" }, "billingDetails": { "$ref": "#/components/schemas/BillingDetails" @@ -2843,11 +2924,11 @@ "paymentType": "SENDER" } }, - "Payor_1": { + "Payor_1_tag": { "type": "object", "properties": { "responsibleParty": { - "$ref": "#/components/schemas/Party_2" + "$ref": "#/components/schemas/Party_2_tag" } }, "description": "Information about the person who is paying for the shipment. Not applicable for credit card payment. ", @@ -2894,7 +2975,7 @@ } } }, - "Party_2": { + "Party_2_tag": { "type": "object", "properties": { "address": { @@ -2904,7 +2985,7 @@ "$ref": "#/components/schemas/Contact_1" }, "accountNumber": { - "$ref": "#/components/schemas/PartyAccountNumber" + "$ref": "#/components/schemas/PartyAccountNumber_tag" }, "tins": { "type": "array", @@ -2994,7 +3075,7 @@ "accountNumberCountryCode": "CA" } }, - "Commodity": { + "Commodity_1": { "required": [ "description" ], @@ -3182,7 +3263,8 @@ "description": "Indicate the weight unit type. The package and commodity weight unit should be the same else the request will result in an error.
            Example:KG", "example": "KG", "enum": [ - "KG" + "KG", + "LB" ] }, "value": { @@ -3316,8 +3398,7 @@ "example": "DEPARTMENT_OF_COMMERCE", "enum": [ "DEPARTMENT_OF_COMMERCE", - "DEPARTMENT_OF_STATE", - "DEPARTMENT_OF_COMMERCE_AND_DEPARTMENT_OF_STATE" + "DEPARTMENT_OF_STATE" ] }, "destinationCountries": { @@ -3453,6 +3534,7 @@ "example": "PAPER_7X475", "enum": [ "PAPER_4X6", + "STOCK_4X675", "PAPER_4X675", "PAPER_4X8", "PAPER_4X9", @@ -3509,7 +3591,7 @@ }, "resolution": { "type": "integer", - "description": "Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203.", + "description": "Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203.Note: 300 DPI resolution is only allowed for ZPLII image type.", "example": 300 } }, @@ -3530,6 +3612,7 @@ "default": "SHIPPER_INFORMATION", "enum": [ "CUSTOMS_VALUE", + "SHIPPER_ACCOUNT_NUMBER", "DIMENSIONS", "DUTIES_AND_TAXES_PAYOR_ACCOUNT_NUMBER", "INSURED_VALUE", @@ -4654,9 +4737,6 @@ "description": "These are detcontentails for the package containing alcohol. This is required for alcohol special service. The alcoholRecipientType is required." }, "DangerousGoodsDetail": { - "required": [ - "accessibility" - ], "type": "object", "properties": { "cargoAircraftOnly": { @@ -4664,9 +4744,20 @@ "type": "boolean", "example": false }, + "regulation": { + "type": "string", + "description": "It is a HazardousCommodityRegulationType(The regulation under which the DG data has been validated).", + "example": "ADR", + "enum": [ + "ADR", + "DOT", + "IATA", + "ORMD" + ] + }, "accessibility": { "type": "string", - "description": "Specify Dangerous Goods Accessibility Type.
            • Inaccessible – it does not have to be accessable on the aircraft.
            • Accessible – it must be fully accessible on the aircraft, and is more strictly controlled.
            ", + "description": "Specify Dangerous Goods Accessibility Type.
            • Inaccessible – it does not have to be accessable on the aircraft.
            • Accessible – it must be fully accessible on the aircraft, and is more strictly controlled.
            Note: Accessibility is only required for IATA controlled DG shipments.", "example": "INACCESSIBLE", "enum": [ "ACCESSIBLE", diff --git a/resources/models/.raw/track/v1/AssociatedShipments-Resource.json b/resources/models/.raw/track/v1/AssociatedShipments-Resource.json index c3e3b0d8..98cec47a 100644 --- a/resources/models/.raw/track/v1/AssociatedShipments-Resource.json +++ b/resources/models/.raw/track/v1/AssociatedShipments-Resource.json @@ -1,7 +1,7 @@ { "openapi": "3.0.0", "info": { - "title": "Track API", + "title": "Basic Integrated Visibility", "version": "1.0.0" }, "servers": [ diff --git a/resources/models/.raw/track/v1/Notifications-Resource.json b/resources/models/.raw/track/v1/Notifications-Resource.json index 0f7a48fd..c6863bab 100644 --- a/resources/models/.raw/track/v1/Notifications-Resource.json +++ b/resources/models/.raw/track/v1/Notifications-Resource.json @@ -1,7 +1,7 @@ { "openapi": "3.0.0", "info": { - "title": "Track API", + "title": "Basic Integrated Visibility ", "version": "1.0.0" }, "servers": [ diff --git a/resources/models/.raw/track/v1/ReferenceNumbers-Resource.json b/resources/models/.raw/track/v1/ReferenceNumbers-Resource.json index 27c31ac8..9a7c3bee 100644 --- a/resources/models/.raw/track/v1/ReferenceNumbers-Resource.json +++ b/resources/models/.raw/track/v1/ReferenceNumbers-Resource.json @@ -1,7 +1,7 @@ { "openapi": "3.0.0", "info": { - "title": "Track API", + "title": "Basic Integrated Visibility", "version": "1.0.0-oas3" }, "servers": [ diff --git a/resources/models/.raw/track/v1/TCN-Resource.json b/resources/models/.raw/track/v1/TCN-Resource.json index e05a8db4..822d9c90 100644 --- a/resources/models/.raw/track/v1/TCN-Resource.json +++ b/resources/models/.raw/track/v1/TCN-Resource.json @@ -1,7 +1,7 @@ { "openapi": "3.0.0", "info": { - "title": "Track API", + "title": "Basic Integrated Visibility ", "version": "1.0.0" }, "servers": [ diff --git a/resources/models/.raw/track/v1/TrackingDocuments-Resource.json b/resources/models/.raw/track/v1/TrackingDocuments-Resource.json index 3df9ecbe..83cfa6a0 100644 --- a/resources/models/.raw/track/v1/TrackingDocuments-Resource.json +++ b/resources/models/.raw/track/v1/TrackingDocuments-Resource.json @@ -1,7 +1,7 @@ { "openapi": "3.0.0", "info": { - "title": "Track API", + "title": "Basic Integrated Visibility ", "version": "1.0.0" }, "servers": [ diff --git a/resources/models/.raw/track/v1/TrackingNumbers-Resource.json b/resources/models/.raw/track/v1/TrackingNumbers-Resource.json index 94826bd2..4147c0c8 100644 --- a/resources/models/.raw/track/v1/TrackingNumbers-Resource.json +++ b/resources/models/.raw/track/v1/TrackingNumbers-Resource.json @@ -1,7 +1,7 @@ { "openapi": "3.0.0", "info": { - "title": "Track API", + "title": "Basic Integrated Visibility ", "version": "1.0.0" }, "servers": [ diff --git a/resources/models/.raw/trade-documents-upload/v1/EDUDocuments-Resource.json b/resources/models/.raw/trade-documents-upload/v1/EDUDocuments-Resource.json index 3610b340..e03f1877 100644 --- a/resources/models/.raw/trade-documents-upload/v1/EDUDocuments-Resource.json +++ b/resources/models/.raw/trade-documents-upload/v1/EDUDocuments-Resource.json @@ -13,7 +13,7 @@ "/documents/v1/etds/upload": { "post": { "summary": "Upload Document", - "description": "Use this endpoint to upload the trade documentss electronicallyy before (pre-shipment) and after (post-shipment) the shipment is created.
            Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.", + "description": "Use this endpoint to upload the trade documents electronically before (pre-shipment) and after (post-shipment) the shipment is created.
            Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.", "operationId": "Upload ETD files", "parameters": [ { @@ -473,6 +473,16 @@ } } ], + "servers": [ + { + "url": "https://documentapitest.prod.fedex.com/sandbox", + "description": "EDU Sandbox Server" + }, + { + "url": "https://documentapi.prod.fedex.com", + "description": "EDU Production Server" + } + ], "requestBody": { "content": { "multipart/form-data": { @@ -481,80 +491,13 @@ }, "examples": { "FullSchema-MultiDocumentRequest": { - "value": { - "workflowName": "ETDPreshipment", - "carrierCode": "FDXE", - "originCountryCode": "US", - "destinationCountryCode": "CA", - "shipmentDate": "2024-05-21T00:00:00", - "trackingNumber": "1122334455", - "metaData": [ - { - "fileName": "Penguin.png", - "fileReferenceId": "CI_1", - "contentType": "image/png", - "formCode": "USMCA", - "shipDocumentType": "COMMERCIAL_INVOICE" - }, - { - "fileName": "file1.txt", - "fileReferenceId": "PI_2", - "contentType": "text/plain", - "formCode": "USMCA", - "shipDocumentType": "PRO_FORMA_INVOICE" - } - ] - } + "value": "documentInformation: {\"workflowName\": \"ETDPreshipment\",\"carrierCode\": \"FDXE\",\"originCountryCode\": \"US\",\"destinationCountryCode\": \"CA\",\"shipmentDate\": \"2021-10-21T00:00:00\",\"trackingNumber\": \"782514212510\",\"metaData\": [{\"fileName\":\"file1.png\",\"fileReferenceId\":\"inv_file1_ctx_02132021_5\",\"contentType\": \"image/png\",\"formCode\": \"USMCA\",\"shipDocumentType\":\"COMMERCIAL_INVOICE\"},{\"fileName\":\"file2.txt\", \"fileReferenceId\":\"PI_2\", \"contentType\":\"text/plain\", \"formCode\": \"USMCA\", \"shipDocumentType\":\"PRO_FORMA_INVOICE\"},{\"fileName\":\"file3.txt\", \"fileReferenceId\":\"PI_2\", \"contentType\":\"text/plain\", \"formCode\": \"USMCA\", \"shipDocumentType\":\"PRO_FORMA_INVOICE\"},{\"fileName\":\"file4.txt\", \"fileReferenceId\":\"PI_2\", \"contentType\":\"text/plain\", \"formCode\": \"USMCA\", \"shipDocumentType\":\"PRO_FORMA_INVOICE\"},{\"file5.txt\", \"fileReferenceId\":\"PI_2\", \"contentType\":\"text/plain\", \"formCode\": \"USMCA\", \"shipDocumentType\":\"PRO_FORMA_INVOICE\"}]\nfileAttachments: 'file1.png'\nfileAttachments: 'file2.txt'\nfileAttachments: 'file3.txt'\nfileAttachments: 'file4.txt'\nfileAttachments: 'file5.txt'" }, "MinimumSamplePayload-MultiPreShipment": { - "value": { - "workflowName": "ETDPreshipment", - "carrierCode": "FDXE", - "originCountryCode": "US", - "destinationCountryCode": "CA", - "metaData": [ - { - "fileName": "Penguin.png", - "fileReferenceId": "CI_1", - "contentType": "image/png", - "formCode": "USMCA", - "shipDocumentType": "COMMERCIAL_INVOICE" - }, - { - "fileName": "file1.txt", - "fileReferenceId": "PI_2", - "contentType": "text/plain", - "formCode": "USMCA", - "shipDocumentType": "PRO_FORMA_INVOICE" - } - ] - } + "value": "documentInformation: {\"workflowName\": \"ETDPreshipment\",\"carrierCode\": \"FDXE\",\"originCountryCode\": \"US\",\"destinationCountryCode\": \"CA\",\"shipmentDate\": \"2023-05-21T00:00:00\",\"trackingNumber\": \"782514212510\",\"metaData\": [{\"fileName\":\"file1.png\",\"fileReferenceId\":\"inv_file1_ctx_02132021_5\",\"contentType\": \"image/png\",\"formCode\": \"USMCA\",\"shipDocumentType\":\"COMMERCIAL_INVOICE\"}]\nfileAttachments: 'file.png'" }, "MinimumSamplePayload-MultiPostShipment": { - "value": { - "workflowName": "ETDPostshipment", - "carrierCode": "FDXE", - "originCountryCode": "US", - "destinationCountryCode": "CA", - "shipmentDate": "2024-05-21T00:00:00", - "trackingNumber": "1122334455", - "metaData": [ - { - "fileName": "Penguin.png", - "fileReferenceId": "CI_1", - "contentType": "image/png", - "formCode": "USMCA", - "shipDocumentType": "COMMERCIAL_INVOICE" - }, - { - "fileName": "file1.txt", - "fileReferenceId": "PI_2", - "contentType": "text/plain", - "formCode": "USMCA", - "shipDocumentType": "PRO_FORMA_INVOICE" - } - ] - } + "value": "documentInformation: {\"workflowName\": \"ETDPostshipment\",\"carrierCode\": \"FDXE\",\"originCountryCode\": \"US\",\"destinationCountryCode\": \"CA\",\"shipmentDate\": \"2023-10-21T00:00:00\",\"trackingNumber\": \"782514212510\",\"metaData\": [{\"fileName\":\"file1.png\",\"fileReferenceId\":\"inv_file1_ctx_02132021_5\",\"contentType\": \"image/png\",\"formCode\": \"USMCA\",\"shipDocumentType\":\"COMMERCIAL_INVOICE\"}]\nfileAttachments: 'file.png'" } } } @@ -777,9 +720,19 @@ } } ], + "servers": [ + { + "url": "https://documentapitest.prod.fedex.com/sandbox", + "description": "EDU Sandbox Server" + }, + { + "url": "https://documentapi.prod.fedex.com", + "description": "EDU Production Server" + } + ], "requestBody": { "content": { - "multipart/form-data": { + "application/json": { "schema": { "$ref": "#/components/schemas/etds_base64multiupload_body" }, @@ -837,6 +790,8 @@ "carrierCode": "FDXE", "originCountryCode": "US", "destinationCountryCode": "CA", + "shipmentDate": "2024-01-06T00:00:00", + "trackingNumber": "782514212510", "metaData": [ { "fileReferenceId": "inv_file1_ctx_02132021_1", diff --git a/resources/models/address-validation/v1.json b/resources/models/address-validation/v1.json index 59d59346..0365f437 100644 --- a/resources/models/address-validation/v1.json +++ b/resources/models/address-validation/v1.json @@ -3,7 +3,7 @@ "/address/v1/addresses/resolve": { "post": { "summary": "Validate Address", - "description": "Use this endpoint to get address resolution details. These details are the outcome of validation andddd resolution of the input address. An address is stated assss resolved when the input address matches the known reference data...
            Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.", + "description": "Use this endpointtt to get address resolution details. These details areee the outcome of validation and resolution of the input address. An address is stated as resolved when the input address matches the known reference data.
            Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.", "operationId": "Validate Address", "requestBody": { "content": { diff --git a/resources/models/authorization/v1.json b/resources/models/authorization/v1.json index 5a7d4d9f..2c14c277 100644 --- a/resources/models/authorization/v1.json +++ b/resources/models/authorization/v1.json @@ -173,7 +173,7 @@ "properties": { "grant_type": { "type": "string", - "description": "Specify Type of customer requesting the Oauth token.
            Valid Values: client_credentials, csp_credentials, client_pc_credentials
            Note:
            client_credentials - should be used for customers and brand new Compatible Provider customers who are yet to unboard child accounts.
            csp_credentials - should be used for Compatible Provider customers with existing child accounts.
            client_pc_credentials \u2013 should be used for Proprietary Parent Child customers." + "description": "Specify Type of customer requesting the Oauth token.
            Valid Values: client_credentials, csp_credentials, client_pc_credentials
            Note:
            client_credentials - should be used for customers, Integrators, and brand new Compatible Provider customers who are yet to unboard child accounts.
            csp_credentials - should be used for Integrators, and Compatible Provider customers with existing child accounts.
            client_pc_credentials \u2013 should be used for Proprietary Parent Child customers." }, "client_id": { "type": "string", @@ -185,11 +185,11 @@ }, "child_Key": { "type": "string", - "description": "Specify the Client ID also known as Customer Key. This element is used as a login credential for a Compatible customer or a Proprietary Parent Child customer to access the application on behalf of their customer.
            Example: XXXX-XXX-XXXX-XXX
            Note: This element should be used by Compatible and Proprietary Parent Child customers." + "description": "Specify the Client ID also known as Customer Key. This element is used as a login credential for an Integrator customer, Compatible customer or a Proprietary Parent Child customer to access the application on behalf of their customer.
            Example: XXXX-XXX-XXXX-XXX
            Note: This element should be used by Integrator, Compatible and Proprietary Parent Child customers." }, "child_secret": { "type": "string", - "description": "Specify the Client secret also known as Customer Secret. This element is used as a login credential for a Compatible customer or a Proprietary Parent Child customer to access the application on behalf of their customer.
            Example: XXXX-XXX-XXXX-XXX
            Note: This element should be used by Compatible and Proprietary Parent Child customers." + "description": "Specify the Client secret also known as Customer Secret. This element is used as a login credential for an Integrator customer, Compatible customer or a Proprietary Parent Child customer to access the application on behalf of their customer.
            Example: XXXX-XXX-XXXX-XXX
            Note: This element should be used by Integrator, Compatible and Proprietary Parent Child customers." } }, "description": "The request elements for OAuth API." diff --git a/resources/models/consolidation/v1.json b/resources/models/consolidation/v1.json index bc1a1695..0687834f 100644 --- a/resources/models/consolidation/v1.json +++ b/resources/models/consolidation/v1.json @@ -2249,26 +2249,6 @@ "units": "CM" } }, - "TotalInsuredMoney": { - "required": [ - "currency" - ], - "type": "object", - "properties": { - "amount": { - "type": "number", - "description": "This is commodity value in amount used for Customs declaration.
            Max limit: 7 digits before decimal.", - "format": "double", - "example": 12.45 - }, - "currency": { - "type": "string", - "description": "This is the currency of the commodity value used for Customs declaration.
            Click here to see Currency Codes", - "example": "USD" - } - }, - "description": "This is commodity value used for Customs declaration." - }, "Tins": { "properties": { "tinType": { @@ -2386,86 +2366,6 @@ }, "description": "This provides the information necessary to identify the different statements,declarations, acts, and/or certifications that apply to this shipment." }, - "FreightChargeMoney": { - "required": [ - "currency" - ], - "type": "object", - "properties": { - "amount": { - "type": "number", - "description": "This is commodity value in amount used for Customs declaration.
            Max limit: 7 digits before decimal.", - "format": "double", - "example": 12.45 - }, - "currency": { - "type": "string", - "description": "This is the currency of the commodity value used for Customs declaration.Click here to see Currency Codes", - "example": "USD" - } - }, - "description": "Any freight charges that are associated with this shipment." - }, - "TaxesOrMiscellaneousCharges": { - "required": [ - "currency" - ], - "type": "object", - "properties": { - "amount": { - "type": "number", - "description": "This is commodity value in amount used for Customs declaration.
            Max limit: 7 digits before decimal.", - "format": "double", - "example": 12.45 - }, - "currency": { - "type": "string", - "description": "This is the currency of the commodity value used for Customs declaration.Click here to see Currency Codes", - "example": "USD" - } - }, - "description": "Any taxes or miscellaneous charges other than Freight charges or Insurance charges, that are associated with this shipment." - }, - "PackingCostCharges": { - "required": [ - "currency" - ], - "type": "object", - "properties": { - "amount": { - "type": "number", - "description": "This is commodity value in amount used for Customs declaration.
            Max limit: 7 digits before decimal.", - "format": "double", - "example": 12.45 - }, - "currency": { - "type": "string", - "description": "This is the currency of the commodity value used for Customs declaration.Click here to see Currency Codes", - "example": "USD" - } - }, - "description": "Any packing costs that are associated with this shipment." - }, - "HandlingCostCharges": { - "required": [ - "currency" - ], - "type": "object", - "properties": { - "amount": { - "type": "number", - "description": "This is commodity value in amount used for Customs declaration.
            Max limit: 7 digits before decimal.", - "format": "double", - "example": 12.45 - }, - "currency": { - "type": "string", - "description": "This is the currency of the commodity value used for Customs declaration.Click here to see Currency Codes", - "example": "USD" - } - }, - "description": " Any handling costs that are associated with this shipment." - }, "Weight": { "required": [ "units", @@ -2714,13 +2614,13 @@ "$ref": "#/components/schemas/CustomerReferences_1" }, "labelSpecification": { - "$ref": "#/components/schemas/LabelSpecification_2" + "$ref": "#/components/schemas/LabelSpecification" }, "internationalDistributionDetail": { "$ref": "#/components/schemas/InternationalDistributionDetail" }, "transborderDistributionDetail": { - "$ref": "#/components/schemas/TransborderDistributionDetail" + "$ref": "#/components/schemas/TransborderDistributionDetail_2" }, "customsClearanceDetail": { "$ref": "#/components/schemas/CustomsClearanceDetail_2" @@ -6884,132 +6784,365 @@ } } }, - "CustomsClearanceDetail_1_commercialInvoice": { + "TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_payor_responsibleParty_address": { "type": "object", "properties": { - "termsOfSale": { - "type": "string", - "description": "The termsOfSaleOthers that will populate the Commercial Invoice (or Pro Forma).This will need to be provided when the termsOfSale is Others. Valid values are FCA/FOB, CIP, CPT, EXW, DDU, DDP, DAP, DPU", - "example": "DDP" - }, - "comments": { + "streetLines": { "type": "array", - "description": "The comments that will populate the Commercial Invoice (or Pro Forma).", - "example": [ - "optional comments for the commercial invoice" - ], + "description": "This is a combination of number, street name, etc.
            Note: At least one line is required and streetlines more than 3 will be ignored. Empty lines should not be included.", + "example": "[10 FedEx Parkway, Suite 302]", "items": { "type": "string" } }, - "purpose": { + "city": { "type": "string", - "description": "This field is used for calculation of duties and taxes.", - "example": "CONSUMER", - "enum": [ - "BUSINESS", - "CONSUMER" - ] + "description": "This is a placeholder for City Name.
            Note: This is conditional and not required in all the shipping requests. It is recommended for Express shipments for the most accurate ODA and OPA surcharges and not used for Ground/SmartPost.", + "example": "Beverly Hills" }, - "freightCharge": { - "$ref": "#/components/schemas/FreightChargeMoney" + "stateOrProvinceCode": { + "type": "string", + "description": "This is a placeholder for State or Province code.
            Note: This is conditional and not required in all the shipping requests. It is recommended for Express shipments for the most accurate ODA and OPA surcharges and not used for Ground/SmartPost.", + "example": "CA" }, - "taxesOrMiscellaneousCharge": { - "$ref": "#/components/schemas/TaxesOrMiscellaneousCharges" + "postalCode": { + "type": "string", + "description": "This is placeholder for postal code.
            Note: The postal code is required for postal-aware countries.", + "example": "38127" }, - "taxesOrMiscellaneousChargeType": { + "countryCode": { "type": "string", - "description": "Specifice the kind of tax or miscellaneous charge being reported on a Commercial Invoice.", - "example": "COMMISSIONS", + "description": "This is the Two-letter country code. click here to see Country Codes", + "example": "US" + }, + "residential": { + "type": "boolean", + "description": "Indicate whether this address is Residential as opposed to Commercial.
            Valid Values: True or False.", + "example": true, "enum": [ - "COMMISSIONS", - "DISCOUNTS", - "HANDLING_FEES", - "OTHER", - "ROYALTIES_AND_LICENSE_FEES", - "TAXES" + true, + false ] }, - "packingCosts": { - "$ref": "#/components/schemas/PackingCostCharges" - }, - "handlingCosts": { - "$ref": "#/components/schemas/HandlingCostCharges" - }, - "specialInstructions": { - "type": "string", - "description": "The special instructions that will populate the Commercial Invoice (or Pro Forma).
            Example: specialInstructions", - "example": "specialInstructions\"" - }, - "declarationStatement": { + "urbanizationCode": { "type": "string", - "description": "The declaration statement that will populate the Commercial Invoice (or Pro Forma).
            Max length is 554
            Example: declarationStatement", - "example": "declarationStatement" + "description": "Relevant only to addresses in Puerto Rico.", + "example": "CO" }, - "paymentTerms": { + "countryName": { "type": "string", - "description": "The payment terms that will populate the Commercial Invoice (or Pro Forma). This field is being supported for completeness only.
            Example: payment terms", - "example": "payment terms" + "description": "The fully spelt out name of a country.", + "example": "Canada" }, - "purposeOfShipmentDescription": { + "geographicCoordinates": { "type": "string", - "description": "Describes the purpose of shipping description", - "example": "purpose Of Shipment Description" - }, - "customerReferences": { - "$ref": "#/components/schemas/CustomerReferences_1" + "description": "The geographic coordinates cooresponding to this address.", + "example": "+40.75-074.00" }, - "originatorName": { + "classification": { "type": "string", - "description": "The originatorName that will populate the Commercial Invoice (or Pro Forma).", - "example": "originator Name" - } - }, - "description": "Use this object to provide Commercial Invoice details.
            This element is required if a FedEx generated Consolidated Commercial Invoice is requested.
            To request a FedEx generated Consolidated Commercial Invoice include \"CONSOLIDATED_COMMERCIAL_INVOICE\" value in the \"consolidationDocumentTypes\" array, in the \"consolidationDocumentSpecification\" object.
            Customers are responsible for printing the Consolidated Commercial Invoice." - }, - "ConsolidationDocumentSpec_1_consolidatedCommercialInvoiceDetail": { - "type": "object", - "properties": { - "format": { - "$ref": "#/components/schemas/Formats" + "description": "Specifies that FedEx courier has confirmed that the address is a confirmed business location.", + "example": "BUSINESS", + "enum": [ + "BUSINESS", + "MIXED", + "RESIDENTIAL", + "UNCONFIRMED_BUSINESS", + "UNCONFIRMED_RESIDENCE", + "UNKOWN" + ] } }, - "description": "Specifies consolidated commercial invoice detail." + "description": "Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of \"address parts\" which should be handled as a unit (such as a city-state-ZIP combination within the US)." }, - "ConsolidationDocumentSpec_1_customsPackingListDetail": { + "TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_payor_responsibleParty": { "type": "object", "properties": { - "format": { - "$ref": "#/components/schemas/Formats" + "accountNumber": { + "type": "string", + "description": "Account number of the payor", + "example": "123456789" + }, + "tins": { + "type": "array", + "description": "Used for adding the tax id", + "items": { + "$ref": "#/components/schemas/Tins" + } + }, + "contact": { + "$ref": "#/components/schemas/TransborderDistributionDetail_specialServicesRequested_transborderDistributionLtlDetail_payment_payor_responsibleParty_contact" + }, + "address": { + "$ref": "#/components/schemas/TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_payor_responsibleParty_address" } }, - "description": "Specifies the customs packing list detail." + "description": "The descriptive information for the person who is responsible for the shipment." }, - "ConsolidationDocumentSpec_1_crnReportDetail": { + "TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_payor": { "type": "object", "properties": { - "format": { - "$ref": "#/components/schemas/Formats" + "responsibleParty": { + "$ref": "#/components/schemas/TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_payor_responsibleParty" + }, + "associatedAccounts": { + "type": "array", + "description": "Other associated accounts", + "items": { + "$ref": "#/components/schemas/TransborderDistributionDetail_specialServicesRequested_transborderDistributionLtlDetail_payment_payor_associatedAccounts" + } } }, - "description": "Specifies the child reference number report detail." + "description": "Information about the person who is paying for the shipment.
            Payor is mandatory when the paymentType is RECIPIENT, THIRD_PARTY or COLLECT." }, - "ConsolidationDocumentSpec_1_condensedCrnReportDetail": { + "TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_creditCard_creditCardHolder": { "type": "object", "properties": { - "format": { - "$ref": "#/components/schemas/Formats" + "contact": { + "$ref": "#/components/schemas/TransborderDistributionDetail_specialServicesRequested_transborderDistributionLtlDetail_payment_creditCard_creditCardHolder_contact" + }, + "address": { + "$ref": "#/components/schemas/TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_payor_responsibleParty_address" } }, - "description": "Specifies the child reference number report detail for condensed CrnReport Detail." + "description": "Credit card holder's information" }, - "ConsolidationDocumentSpec_1_consolidatedCustomsLinehaulReportDetail": { + "TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_creditCard": { "type": "object", "properties": { - "format": { - "$ref": "#/components/schemas/Formats" - } - }, + "number": { + "type": "string", + "description": "Credit card number", + "example": "1111222233334444" + }, + "creditCardType": { + "type": "string", + "description": "Credit card used for payment", + "example": "DISCOVER", + "enum": [ + "AMEX", + "DANKORT", + "DINERS", + "DISCOVER", + "JCB", + "MASTERCARD", + "VISA" + ] + }, + "expirationDate": { + "type": "string", + "description": "Credit card expiration date", + "example": "2022-23-01" + }, + "lastAuthenticationByFedexDate": { + "type": "string", + "description": "Use date format (MM-dd-yyyy). It is the last time the user has updated their credit card information", + "example": "12-05-2001" + }, + "verificationCode": { + "type": "string", + "description": "Verification code", + "example": "123" + }, + "creditCardHolder": { + "$ref": "#/components/schemas/TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_creditCard_creditCardHolder" + } + }, + "description": "Credit card details" + }, + "TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment": { + "type": "object", + "properties": { + "paymentType": { + "type": "string", + "description": "Payment type for LTL transportation", + "example": "CREDIT_CARD", + "enum": [ + "ACCOUNT", + "CASH", + "COLLECT", + "CREDIT_CARD", + "EPAYMENT", + "RECIPIENT", + "SENDER", + "THIRD_PARTY" + ] + }, + "payor": { + "$ref": "#/components/schemas/TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_payor" + }, + "ePaymentDetail": { + "$ref": "#/components/schemas/TransborderDistributionDetail_specialServicesRequested_transborderDistributionLtlDetail_payment_ePaymentDetail" + }, + "creditCard": { + "$ref": "#/components/schemas/TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_creditCard" + }, + "creditCardTransactionDetail": { + "$ref": "#/components/schemas/TransborderDistributionDetail_specialServicesRequested_transborderDistributionLtlDetail_payment_creditCardTransactionDetail" + }, + "amount": { + "$ref": "#/components/schemas/TransborderDistributionDetail_specialServicesRequested_transborderDistributionLtlDetail_payment_amount" + } + }, + "description": "Payment for LTL transportation" + }, + "TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail": { + "type": "object", + "properties": { + "payment": { + "$ref": "#/components/schemas/TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment" + }, + "ltlScacCode": { + "type": "string", + "description": "Standard Carrier Alpha Code for origin-country LTL services.", + "example": "SAIA" + } + }, + "description": "Specifies details for the origin-country LTL services performed by FedEx." + }, + "TransborderDistributionDetail_1_specialServicesRequested": { + "type": "object", + "properties": { + "specialServiceTypes": { + "type": "string", + "description": "Identifies features of service requested for the current Transborder Distribution. shipment.", + "example": "FEDEX_LTL", + "enum": [ + "FEDEX_LTL" + ] + }, + "transborderDistributionLtlDetail": { + "$ref": "#/components/schemas/TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail" + } + }, + "description": "Specifies special services to be performed on this shipment as part of a transborder distribution." + }, + "CustomsClearanceDetail_1_commercialInvoice": { + "type": "object", + "properties": { + "termsOfSale": { + "type": "string", + "description": "The termsOfSaleOthers that will populate the Commercial Invoice (or Pro Forma).This will need to be provided when the termsOfSale is Others. Valid values are FCA/FOB, CIP, CPT, EXW, DDU, DDP, DAP, DPU", + "example": "DDP" + }, + "comments": { + "type": "array", + "description": "The comments that will populate the Commercial Invoice (or Pro Forma).", + "example": [ + "optional comments for the commercial invoice" + ], + "items": { + "type": "string" + } + }, + "purpose": { + "type": "string", + "description": "This field is used for calculation of duties and taxes.", + "example": "CONSUMER", + "enum": [ + "BUSINESS", + "CONSUMER" + ] + }, + "freightCharge": { + "$ref": "#/components/schemas/FreightChargeMoney" + }, + "taxesOrMiscellaneousCharge": { + "$ref": "#/components/schemas/TaxesOrMiscellaneousCharges" + }, + "taxesOrMiscellaneousChargeType": { + "type": "string", + "description": "Specifice the kind of tax or miscellaneous charge being reported on a Commercial Invoice.", + "example": "COMMISSIONS", + "enum": [ + "COMMISSIONS", + "DISCOUNTS", + "HANDLING_FEES", + "OTHER", + "ROYALTIES_AND_LICENSE_FEES", + "TAXES" + ] + }, + "packingCosts": { + "$ref": "#/components/schemas/PackingCostCharges" + }, + "handlingCosts": { + "$ref": "#/components/schemas/HandlingCostCharges" + }, + "specialInstructions": { + "type": "string", + "description": "The special instructions that will populate the Commercial Invoice (or Pro Forma).
            Example: specialInstructions", + "example": "specialInstructions\"" + }, + "declarationStatement": { + "type": "string", + "description": "The declaration statement that will populate the Commercial Invoice (or Pro Forma).
            Max length is 554
            Example: declarationStatement", + "example": "declarationStatement" + }, + "paymentTerms": { + "type": "string", + "description": "The payment terms that will populate the Commercial Invoice (or Pro Forma). This field is being supported for completeness only.
            Example: payment terms", + "example": "payment terms" + }, + "purposeOfShipmentDescription": { + "type": "string", + "description": "Describes the purpose of shipping description", + "example": "purpose Of Shipment Description" + }, + "customerReferences": { + "$ref": "#/components/schemas/CustomerReferences_1" + }, + "originatorName": { + "type": "string", + "description": "The originatorName that will populate the Commercial Invoice (or Pro Forma).", + "example": "originator Name" + } + }, + "description": "Use this object to provide Commercial Invoice details.
            This element is required if a FedEx generated Consolidated Commercial Invoice is requested.
            To request a FedEx generated Consolidated Commercial Invoice include \"CONSOLIDATED_COMMERCIAL_INVOICE\" value in the \"consolidationDocumentTypes\" array, in the \"consolidationDocumentSpecification\" object.
            Customers are responsible for printing the Consolidated Commercial Invoice." + }, + "ConsolidationDocumentSpec_1_consolidatedCommercialInvoiceDetail": { + "type": "object", + "properties": { + "format": { + "$ref": "#/components/schemas/Formats" + } + }, + "description": "Specifies consolidated commercial invoice detail." + }, + "ConsolidationDocumentSpec_1_customsPackingListDetail": { + "type": "object", + "properties": { + "format": { + "$ref": "#/components/schemas/Formats" + } + }, + "description": "Specifies the customs packing list detail." + }, + "ConsolidationDocumentSpec_1_crnReportDetail": { + "type": "object", + "properties": { + "format": { + "$ref": "#/components/schemas/Formats" + } + }, + "description": "Specifies the child reference number report detail." + }, + "ConsolidationDocumentSpec_1_condensedCrnReportDetail": { + "type": "object", + "properties": { + "format": { + "$ref": "#/components/schemas/Formats" + } + }, + "description": "Specifies the child reference number report detail for condensed CrnReport Detail." + }, + "ConsolidationDocumentSpec_1_consolidatedCustomsLinehaulReportDetail": { + "type": "object", + "properties": { + "format": { + "$ref": "#/components/schemas/Formats" + } + }, "description": "Specifies the child reference number report detail for consolidated customs linehaul report detail." }, "ConsolidationDocumentSpec_1_consolidatedPartyReportDetail": { @@ -8014,27 +8147,25 @@ } } }, - "TransborderDistributionDetail": { + "TotalInsuredMoney": { + "required": [ + "currency" + ], "type": "object", "properties": { - "specialServicesRequested": { - "$ref": "#/components/schemas/TransborderDistributionDetail_specialServicesRequested" + "amount": { + "type": "number", + "description": "This is commodity value in amount used for Customs declaration.
            Max limit: 7 digits before decimal.", + "format": "double", + "example": 12.45 }, - "routing": { + "currency": { "type": "string", - "description": "Specifies the transborder distribution routing.", - "example": "CUSTOMER_SPECIFIED", - "enum": [ - "BY_METER", - "BY_ORIGIN", - "CUSTOMER_SPECIFIED" - ] - }, - "summaryDetail": { - "$ref": "#/components/schemas/SummaryDetail" + "description": "This is the currency of the commodity value used for Customs declaration.
            click here to see Currency Codes", + "example": "USD" } }, - "description": "Specifies attributes of a shipment whithin a transborder distribution." + "description": "This is commodity value used for Customs declaration." }, "CustomsOptionDetail": { "type": "object", @@ -8064,9 +8195,89 @@ }, "description": "Customs Option Detail, type must be indicated for each occurrence" }, - "DestinationControlDetail": { + "FreightChargeMoney": { "required": [ - "statementTypes" + "currency" + ], + "type": "object", + "properties": { + "amount": { + "type": "number", + "description": "This is commodity value in amount used for Customs declaration.
            Max limit: 7 digits before decimal.", + "format": "double", + "example": 12.45 + }, + "currency": { + "type": "string", + "description": "This is the currency of the commodity value used for Customs declaration.click here to see Currency Codes", + "example": "USD" + } + }, + "description": "Any freight charges that are associated with this shipment." + }, + "TaxesOrMiscellaneousCharges": { + "required": [ + "currency" + ], + "type": "object", + "properties": { + "amount": { + "type": "number", + "description": "This is commodity value in amount used for Customs declaration.
            Max limit: 7 digits before decimal.", + "format": "double", + "example": 12.45 + }, + "currency": { + "type": "string", + "description": "This is the currency of the commodity value used for Customs declaration.click here to see Currency Codes", + "example": "USD" + } + }, + "description": "Any taxes or miscellaneous charges other than Freight charges or Insurance charges, that are associated with this shipment." + }, + "PackingCostCharges": { + "required": [ + "currency" + ], + "type": "object", + "properties": { + "amount": { + "type": "number", + "description": "This is commodity value in amount used for Customs declaration.
            Max limit: 7 digits before decimal.", + "format": "double", + "example": 12.45 + }, + "currency": { + "type": "string", + "description": "This is the currency of the commodity value used for Customs declaration.click here to see Currency Codes", + "example": "USD" + } + }, + "description": "Any packing costs that are associated with this shipment." + }, + "HandlingCostCharges": { + "required": [ + "currency" + ], + "type": "object", + "properties": { + "amount": { + "type": "number", + "description": "This is commodity value in amount used for Customs declaration.
            Max limit: 7 digits before decimal.", + "format": "double", + "example": 12.45 + }, + "currency": { + "type": "string", + "description": "This is the currency of the commodity value used for Customs declaration.
            click here to see Currency Codes", + "example": "USD" + } + }, + "description": " Any handling costs that are associated with this shipment." + }, + "DestinationControlDetail": { + "required": [ + "statementTypes" ], "type": "object", "properties": { @@ -8099,61 +8310,6 @@ }, "description": "VERY IMPORTANT: Specify appropriate destinationcontrol statement type(s),Valid values: DEPARTMENT_OF_COMMERCE, DEPARTMENT_OF_STATE
            Be sure to also specify destination country and enduser." }, - "Commodity": { - "required": [ - "description", - "numberOfPieces" - ], - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Specify the commodity name", - "example": "non-threaded rivets" - }, - "numberOfPieces": { - "type": "integer", - "description": "Indicates the number of pieces associated with the commodity. Number of pieces cannot be a negative value or exceed 9,999.", - "format": "int32", - "example": 12 - }, - "description": { - "type": "string", - "description": "This is the commodity description. Maximum allowed 450 characters.", - "example": "AC parts" - }, - "countryOfManufacture": { - "type": "string", - "description": "This is commodity country of manufacture. This is required for International shipments. Maximum allowed length is 4.", - "example": "US" - }, - "weight": { - "$ref": "#/components/schemas/Weight" - }, - "quantity": { - "type": "integer", - "description": "This is the units quantity (using quantityUnits as the unit of measure) per commodity. This is used to estimate duties and taxes.", - "format": "int32", - "example": 125 - }, - "quantityUnits": { - "type": "string", - "description": "This is the unit of measure for the units quantity. This is used to estimate duties and taxes.", - "example": "EA" - }, - "unitPrice": { - "$ref": "#/components/schemas/Money_2" - }, - "customsValue": { - "$ref": "#/components/schemas/Money_2" - }, - "commodityId": { - "type": "string", - "description": "Value used to identify a commodity description; must be unique within the containing shipment.", - "example": "commodity Id" - } - } - }, "Formats": { "type": "object", "properties": { @@ -8657,6 +8813,61 @@ }, "description": "Conditional. Export Detail Used for US or CA exports." }, + "Commodity": { + "required": [ + "description", + "numberOfPieces" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Specify the commodity name", + "example": "non-threaded rivets" + }, + "numberOfPieces": { + "type": "integer", + "description": "Indicates the number of pieces associated with the commodity. Number of pieces cannot be a negative value or exceed 9,999.", + "format": "int32", + "example": 12 + }, + "description": { + "type": "string", + "description": "This is the commodity description. Maximum allowed 450 characters.", + "example": "AC parts" + }, + "countryOfManufacture": { + "type": "string", + "description": "This is commodity country of manufacture. This is required for International shipments. Maximum allowed length is 4.", + "example": "US" + }, + "weight": { + "$ref": "#/components/schemas/Weight" + }, + "quantity": { + "type": "integer", + "description": "This is the units quantity (using quantityUnits as the unit of measure) per commodity. This is used to estimate duties and taxes.", + "format": "int32", + "example": 125 + }, + "quantityUnits": { + "type": "string", + "description": "This is the unit of measure for the units quantity. This is used to estimate duties and taxes.", + "example": "EA" + }, + "unitPrice": { + "$ref": "#/components/schemas/Money_2" + }, + "customsValue": { + "$ref": "#/components/schemas/Money_2" + }, + "commodityId": { + "type": "string", + "description": "Value used to identify a commodity description; must be unique within the containing shipment.", + "example": "commodity Id" + } + } + }, "DocTabContent": { "type": "object", "properties": { @@ -8808,22 +9019,138 @@ }, "description": "Details about who and how the shipment will be paid for. 'payor' is optional when 'paymentType' provided is SENDER." }, - "ShipperParty": { + "LabelSpecification": { "required": [ - "address", - "contact" + "printedLabelOrigin" ], "type": "object", "properties": { - "address": { - "$ref": "#/components/schemas/PartyAddress" + "labelFormatType": { + "type": "string", + "description": "Specify the label Format Type.
            click here to see label format types", + "example": "COMMON2D", + "enum": [ + "COMMON2D", + "ERROR", + "LABEL_DATA_ONLY", + "MAILROOM", + "NO_LABEL", + "OPERATIONAL_LABEL", + "PRE_COMMON2D" + ] }, - "contact": { - "$ref": "#/components/schemas/PartyContact" + "labelStockType": { + "type": "string", + "description": "Indicate the label stock type used.
            click here to see label format types", + "example": "PAPER_7X475", + "enum": [ + "PAPER_4X6", + "PAPER_4X675", + "PAPER_4X8", + "PAPER_4X9", + "PAPER_7X475", + "PAPER_85X11_BOTTOM_HALF_LABEL", + "PAPER_85X11_TOP_HALF_LABEL", + "PAPER_LETTER", + "STOCK_4X675_LEADING_DOC_TAB", + "STOCK_4X8", + "STOCK_4X9_LEADING_DOC_TAB", + "STOCK_4X6", + "STOCK_4X675_TRAILING_DOC_TAB", + "STOCK_4X9_TRAILING_DOC_TAB", + "STOCK_4X675", + "STOCK_4X9", + "STOCK_4X8.5_TRAILING_DOC_TAB", + "STOCK_4X10.5_TRAILING_DOC_TAB" + ] }, - "tins": { + "imageType": { + "type": "string", + "description": "Specify the image format used for a shipping document.
            click here to see label format types", + "example": "PDF", + "enum": [ + "ZPLII", + "EPL2", + "PDF", + "PNG", + "DIB", + "DOC", + "DPL", + "GIF", + "RTF", + "TEXT" + ] + }, + "processingOptionsRequested": { + "$ref": "#/components/schemas/LabelSpecification_processingOptionsRequested" + }, + "dispositions": { "type": "array", - "description": "This is the tax identification number details.", + "description": "Specifies how to create, organize, and return the document", + "items": { + "$ref": "#/components/schemas/ShippingDocumentDispositionDetail" + } + }, + "resolution": { + "description": "Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203. 300 DPI is only allowed for imageType is ZPLII.", + "example": 300, + "type": "integer" + }, + "labelPrintingOrientation": { + "type": "string", + "description": "This is applicable only to documents produced on thermal printers with roll stock.", + "example": "TOP_EDGE_OF_TEXT_FIRST", + "default": "TOP_EDGE_OF_TEXT_FIRST", + "enum": [ + "BOTTOM_EDGE_OF_TEXT_FIRST", + "TOP_EDGE_OF_TEXT_FIRST" + ] + }, + "labelRotation": { + "type": "string", + "description": "This is applicable only to documents produced on thermal printers with roll stock.", + "example": "UPSIDE_DOWN", + "enum": [ + "LEFT", + "RIGHT", + "UPSIDE_DOWN", + "NONE" + ] + }, + "labelOrder": { + "type": "string", + "description": "This is the order of the Shipping label/documents to be generated.", + "example": "SHIPPING_LABEL_FIRST", + "enum": [ + "SHIPPING_LABEL_FIRST", + "SHIPPING_LABEL_LAST" + ] + }, + "printedLabelOrigin": { + "$ref": "#/components/schemas/ContactAndAddress" + }, + "customerSpecifiedDetail": { + "$ref": "#/components/schemas/CustomerSpecifiedLabelDetail" + } + }, + "description": "These are label specification details includes the image type, printer format, and label stock for label. Can also specify specific details such as doc-tab content, regulatory labels, and masking data on the label.
            Mandatory as it is needed during confirming consolidation. If it is not passed while creating consolidation it will fail during confirming consolidation." + }, + "ShipperParty": { + "required": [ + "address", + "contact" + ], + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/PartyAddress" + }, + "contact": { + "$ref": "#/components/schemas/PartyContact" + }, + "tins": { + "type": "array", + "description": "This is the tax identification number details.", "items": { "$ref": "#/components/schemas/TaxpayerIdentification" } @@ -9163,227 +9490,6 @@ }, "description": "These are additional customer reference data for commercial invoice." }, - "LabelSpecification": { - "required": [ - "printedLabelOrigin" - ], - "type": "object", - "properties": { - "labelFormatType": { - "type": "string", - "description": "Specify the label Format Type.
            click here to see label format types", - "example": "COMMON2D", - "enum": [ - "COMMON2D", - "ERROR", - "LABEL_DATA_ONLY", - "MAILROOM", - "NO_LABEL", - "OPERATIONAL_LABEL", - "PRE_COMMON2D" - ] - }, - "labelStockType": { - "type": "string", - "description": "Indicate the label stock type used.
            click here to see label format types", - "example": "PAPER_7X475", - "enum": [ - "PAPER_4X6", - "PAPER_4X675", - "PAPER_4X8", - "PAPER_4X9", - "PAPER_7X475", - "PAPER_85X11_BOTTOM_HALF_LABEL", - "PAPER_85X11_TOP_HALF_LABEL", - "PAPER_LETTER", - "STOCK_4X675_LEADING_DOC_TAB", - "STOCK_4X8", - "STOCK_4X9_LEADING_DOC_TAB", - "STOCK_4X6", - "STOCK_4X675_TRAILING_DOC_TAB", - "STOCK_4X9_TRAILING_DOC_TAB", - "STOCK_4X675", - "STOCK_4X9", - "STOCK_4X8.5_TRAILING_DOC_TAB", - "STOCK_4X10.5_TRAILING_DOC_TAB" - ] - }, - "imageType": { - "type": "string", - "description": "Specify the image format used for a shipping document.
            click here to see label format types", - "example": "PDF", - "enum": [ - "ZPLII", - "EPL2", - "PDF", - "PNG" - ] - }, - "processingOptionsRequested": { - "$ref": "#/components/schemas/LabelSpecification_processingOptionsRequested" - }, - "dispositions": { - "type": "array", - "description": "Specifies how to create, organize, and return the document.", - "items": { - "$ref": "#/components/schemas/ShippingDocumentDispositionDetail" - } - }, - "labelPrintingOrientation": { - "type": "string", - "description": "This is applicable only to documents produced on thermal printers with roll stock.", - "example": "TOP_EDGE_OF_TEXT_FIRST", - "default": "TOP_EDGE_OF_TEXT_FIRST", - "enum": [ - "BOTTOM_EDGE_OF_TEXT_FIRST", - "TOP_EDGE_OF_TEXT_FIRST" - ] - }, - "labelRotation": { - "type": "string", - "description": "This is applicable only to documents produced on thermal printers with roll stock.", - "example": "UPSIDE_DOWN", - "enum": [ - "LEFT", - "RIGHT", - "UPSIDE_DOWN", - "NONE" - ] - }, - "labelOrder": { - "type": "string", - "description": "This is the order of the Shipping labels to be generated.", - "example": "SHIPPING_LABEL_FIRST", - "enum": [ - "SHIPPING_LABEL_FIRST", - "SHIPPING_LABEL_LAST" - ] - }, - "printedLabelOrigin": { - "$ref": "#/components/schemas/ContactAndAddress" - }, - "customerSpecifiedDetail": { - "$ref": "#/components/schemas/CustomerSpecifiedLabelDetail" - }, - "resolution": { - "type": "integer", - "description": "Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203.", - "example": 300 - } - }, - "description": "These are label specification details includes the image type, printer format, and label stock for label. Can also specify specific details such as doc-tab content, regulatory labels, and masking data on the label.
            Mandatory as it is needed during confirming consolidation. If it is not passed while creating consolidation it will fail during confirming consolidation." - }, - "LabelSpecification_2": { - "required": [ - "printedLabelOrigin" - ], - "type": "object", - "properties": { - "labelFormatType": { - "type": "string", - "description": "Specify the label Format Type.
            click here to see label format types", - "example": "COMMON2D", - "enum": [ - "COMMON2D", - "ERROR", - "LABEL_DATA_ONLY", - "MAILROOM", - "NO_LABEL", - "OPERATIONAL_LABEL", - "PRE_COMMON2D" - ] - }, - "labelStockType": { - "type": "string", - "description": "Indicate the label stock type used.
            click here to see label format types", - "example": "PAPER_7X475", - "enum": [ - "PAPER_4X6", - "PAPER_4X675", - "PAPER_4X8", - "PAPER_4X9", - "PAPER_7X475", - "PAPER_85X11_BOTTOM_HALF_LABEL", - "PAPER_85X11_TOP_HALF_LABEL", - "PAPER_LETTER", - "STOCK_4X675_LEADING_DOC_TAB", - "STOCK_4X8", - "STOCK_4X9_LEADING_DOC_TAB", - "STOCK_4X6", - "STOCK_4X675_TRAILING_DOC_TAB", - "STOCK_4X9_TRAILING_DOC_TAB", - "STOCK_4X675", - "STOCK_4X9", - "STOCK_4X8.5_TRAILING_DOC_TAB", - "STOCK_4X10.5_TRAILING_DOC_TAB" - ] - }, - "imageType": { - "type": "string", - "description": "Specify the image format used for a shipping document.
            click here to see label format types", - "example": "PDF", - "enum": [ - "ZPLII", - "EPL2", - "PDF", - "PNG", - "DIB", - "DOC", - "DPL", - "GIF", - "RTF", - "TEXT" - ] - }, - "processingOptionsRequested": { - "$ref": "#/components/schemas/LabelSpecification_processingOptionsRequested" - }, - "dispositions": { - "type": "array", - "description": "Specifies how to create, organize, and return the document", - "items": { - "$ref": "#/components/schemas/ShippingDocumentDispositionDetail" - } - }, - "labelPrintingOrientation": { - "type": "string", - "description": "This is applicable only to documents produced on thermal printers with roll stock.", - "example": "TOP_EDGE_OF_TEXT_FIRST", - "default": "TOP_EDGE_OF_TEXT_FIRST", - "enum": [ - "BOTTOM_EDGE_OF_TEXT_FIRST", - "TOP_EDGE_OF_TEXT_FIRST" - ] - }, - "labelRotation": { - "type": "string", - "description": "This is applicable only to documents produced on thermal printers with roll stock.", - "example": "UPSIDE_DOWN", - "enum": [ - "LEFT", - "RIGHT", - "UPSIDE_DOWN", - "NONE" - ] - }, - "labelOrder": { - "type": "string", - "description": "This is the order of the Shipping label/documents to be generated.", - "example": "SHIPPING_LABEL_FIRST", - "enum": [ - "SHIPPING_LABEL_FIRST", - "SHIPPING_LABEL_LAST" - ] - }, - "printedLabelOrigin": { - "$ref": "#/components/schemas/ContactAndAddress" - }, - "customerSpecifiedDetail": { - "$ref": "#/components/schemas/CustomerSpecifiedLabelDetail" - } - }, - "description": "These are label specification details includes the image type, printer format, and label stock for label. Can also specify specific details such as doc-tab content, regulatory labels, and masking data on the label.
            Mandatory as it is needed during confirming consolidation. If it is not passed while creating consolidation it will fail during confirming consolidation." - }, "Contact": { "type": "object", "properties": { @@ -9539,12 +9645,56 @@ }, "currency": { "type": "string", - "description": "This is the currency of the commodity value used for Customs declaration.Click here to see Currency Codes", + "description": "This is the currency of the commodity value used for Customs declaration.
            click here to see Currency Codes", "example": "USD" } }, "description": "This is commodity value used for Customs declaration." }, + "TransborderDistributionDetail": { + "type": "object", + "properties": { + "specialServicesRequested": { + "$ref": "#/components/schemas/TransborderDistributionDetail_specialServicesRequested" + }, + "routing": { + "type": "string", + "description": "Specifies the transborder distribution routing.", + "example": "CUSTOMER_SPECIFIED", + "enum": [ + "BY_METER", + "BY_ORIGIN", + "CUSTOMER_SPECIFIED" + ] + }, + "summaryDetail": { + "$ref": "#/components/schemas/SummaryDetail" + } + }, + "description": "Specifies attributes of a shipment whithin a transborder distribution." + }, + "TransborderDistributionDetail_2": { + "type": "object", + "properties": { + "specialServicesRequested": { + "$ref": "#/components/schemas/TransborderDistributionDetail_1_specialServicesRequested" + }, + "routing": { + "type": "string", + "description": "Specifies the transborder distribution routing.", + "example": "CUSTOMER_SPECIFIED", + "enum": [ + "BY_METER", + "BY_ORIGIN", + "CUSTOMER_SPECIFIED" + ] + }, + "summaryDetail": { + "$ref": "#/components/schemas/SummaryDetail" + } + }, + "description": "Specifies attributes of a shipment whithin a transborder distribution." + }, "CustomsClearanceDetail": { "type": "object", "properties": { diff --git a/resources/models/freight-ltl/v1.json b/resources/models/freight-ltl/v1.json index 3b00b5ec..5444e1c6 100644 --- a/resources/models/freight-ltl/v1.json +++ b/resources/models/freight-ltl/v1.json @@ -3,7 +3,7 @@ "/rate/v1/freight/rates/quotes": { "post": { "summary": "Rate Freight LTL", - "description": "This endpoint provides the ability to retrieve rate quotes and optionall transit information. The rate is calculated based on the origin and destination of the shipment. Additional information such as carrier code, service type, or service option can be used to filter the results. Applicable operating company is FedEx Freight.
            Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.", + "description": "This endpoint providess the ability to retrieve rate quotes and optionall transitt informationnnn. The rate is calculated based on the origin and destination of the shipment. Additional information such as carrier code, service type, or service option can be used to filter the results. Applicable operating company is FedEx Freight.
            Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.", "operationId": "Freight RateQuote", "requestBody": { "content": { @@ -1317,7 +1317,7 @@ }, "weight": { "description": "Indicate the total weight of the requested package line items.", - "$ref": "#/components/schemas/Weight" + "$ref": "#/components/schemas/Weight_With_Link" }, "dimensions": { "$ref": "#/components/schemas/Dimensions" @@ -3556,6 +3556,56 @@ "personalIdentificationNumber": "98712345" } }, + "Weight_With_Link": { + "description": "These are the package weight details.", + "type": "object", + "required": [ + "units", + "value" + ], + "properties": { + "units": { + "description": "Specifies the package weight unit type.
            Example:KG", + "type": "string", + "enum": [ + "KG", + "LB" + ], + "example": "KG" + }, + "value": { + "format": "double", + "description": "Weight Value.
            Example: 68.25
            Click here to see Weight Values", + "type": "number", + "example": 68.25 + } + } + }, + "Weight_Without_Link": { + "description": "These are the package weight details.", + "type": "object", + "required": [ + "units", + "value" + ], + "properties": { + "units": { + "description": "Specifies the package weight unit type.
            Example:KG", + "type": "string", + "enum": [ + "KG", + "LB" + ], + "example": "KG" + }, + "value": { + "format": "double", + "description": "Weight Value.
            Example: 68.25", + "type": "number", + "example": 68.25 + } + } + }, "LineItemsDimensions": { "description": "Indicate the dimensions of the package.
            Following conditions will apply:
            • Dimensions are optional but when added, then all three dimensions must be indicated.
            • Dimensions are required with YOUR_PACKAGING package type.
            Note: The maximum/minimum dimension values varies based on the services and the packaging types. Refer FedEx Service Guide for service details related to DIM Weighting for FedEx Express and oversize conditions for FedEx Express and FedEx Ground.", "type": "object", @@ -4061,7 +4111,7 @@ "example": "non-threaded rivets" }, "weight": { - "$ref": "#/components/schemas/Weight" + "$ref": "#/components/schemas/Weight_Without_Link" }, "exportLicenseNumber": { "type": "string", @@ -4375,7 +4425,7 @@ }, "resolution": { "type": "integer", - "description": "Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203.", + "description": "Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203.Note: 300 DPI resolution is only allowed for ZPLII image type.", "example": 300 } }, @@ -5062,7 +5112,7 @@ "$ref": "#/components/schemas/Money" }, "weight": { - "$ref": "#/components/schemas/Weight" + "$ref": "#/components/schemas/Weight_With_Link" }, "dimensions": { "description": "Required.
            The dimensions of the package; length, width & height. All three dimensions must be indicated. Dimensions are required with all FedEx Freight Services like \"INTERNATIONAL_PRIORITY_FREIGHT\" and \"INTERNATIONAL_ECONOMY_FREIGHT\"", @@ -7283,7 +7333,7 @@ "example": 4 }, "weight": { - "$ref": "#/components/schemas/Weight" + "$ref": "#/components/schemas/Weight_Without_Link" }, "dimensions": { "$ref": "#/components/schemas/LineItemsDimensions" @@ -8899,7 +8949,7 @@ "description": "Customer-provided description of this line item." }, "weight": { - "$ref": "#/components/schemas/Weight" + "$ref": "#/components/schemas/Weight_Without_Link" }, "pieces": { "type": "integer", @@ -9002,7 +9052,7 @@ "example": "description" }, "weight": { - "$ref": "#/components/schemas/Weight" + "$ref": "#/components/schemas/Weight_Without_Link" }, "pieces": { "type": "integer", diff --git a/resources/models/locations-search/v1.json b/resources/models/locations-search/v1.json index 242aca93..fd3ac164 100644 --- a/resources/models/locations-search/v1.json +++ b/resources/models/locations-search/v1.json @@ -502,17 +502,17 @@ }, "countryCode": { "type": "string", - "description": "This is the Two-letter country code.
            Example: US
            Click here to see Country Codes", + "description": "The ISO Alpha2, Alpha3, Numeric3 code for the country or name (5 character max) for the country.
            Example: US", "example": "US" }, "residential": { "type": "boolean", - "description": "Indicate whether this address is Residential as opposed to Commercial.
            Valid Values: True or False.", + "description": "Indicates whether the address returned is residential as opposed to commercial.
            Valid values: True, False.", "example": false }, "addressVerificationId": { "type": "string", - "description": "This is the address verification identifier.
            Example: MARKET_LAUNCH", + "description": "Address verification Identifier", "example": "MARKET_LAUNCH" }, "addressClassification": { @@ -523,7 +523,8 @@ "UNKNOWN", "BUSINESS", "RESIDENTIAL" - ] + ], + "example": "MIXED" }, "addressClassificationConfidence": { "type": "string", @@ -531,10 +532,11 @@ "enum": [ "POTENTIAL", "PERMANENT" - ] + ], + "example": "PERMANENT" } }, - "description": "Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of \\\"address parts\\\" which should be handled as a unit (such as a city-state-ZIP combination within the US).", + "description": "Specifies the Address Details for a location.", "example": { "streetLines": [ "10 FedEx Parkway", @@ -552,11 +554,13 @@ "properties": { "latitude": { "type": "string", - "description": "The geo coordinate value that specifies the north-south position of the address.
            Example: 36.1699\u00b0 N" + "description": "The geo coordinate value that specifies the north-south position of the address.
            Example: 36.1699\u00b0 N", + "example": "5.637376" }, "longitude": { "type": "string", - "description": "The geo coordinate value that specifies the East-West position of the address.
            Example:115.1398\u00b0 W" + "description": "The geo coordinate value that specifies the East-West position of the address.
            Example:115.1398\u00b0 W", + "example": "3.61607" } }, "description": "The ISO6709 geographic coordinates for a specific geographic location, specifically latitude and longitude.", @@ -642,7 +646,7 @@ "serviceCategory": { "type": "string", "description": "The service category applicable for the capability.", - "example": "EXPRESS_PARCEL ", + "example": "EXPRESS_PARCEL", "enum": [ "EXPRESS_FREIGHT", "EXPRESS_PARCEL", @@ -652,7 +656,10 @@ "daysOfWeek": { "type": "array", "description": "The days of the week for which this capability applies.
            Valid values:
            • MON
            • TUE
            • WED
            • THU
            • FRI
            • SAT
            • SUN
            ", - "example": "[MON, TUE ]", + "example": [ + "MON", + "TUE" + ], "items": { "type": "string" } @@ -663,7 +670,7 @@ "carrierCode": "FDXE", "serviceType": "PRIORITY_OVERNIGHT", "transferOfPossessionType": "DROPOFF", - "serviceCategory": "EXPRESS_PARCEL", + "serviceCategory": "EXPRESS_FREIGHT", "daysOfWeek": [ "MON", "TUE" @@ -1018,19 +1025,17 @@ "latitude": { "type": "number", "description": "The geo coordinate value that specifies the north-south position of the address.
            Example: 36.1699\u00b0 N", - "format": "double" + "format": "double", + "example": 5.637376 }, "longitude": { "type": "number", "description": "The geo coordinate value that specifies the East-West position of the address.
            Example: 115.1398\u00b0 W", - "format": "double" + "format": "double", + "example": 3.616076 } }, - "description": "The ISO6709GeographicCoordinates for a specific geographic location", - "example": { - "latitude": 5.637376, - "longitude": 3.616076 - } + "description": "The ISO6709GeographicCoordinates for a specific geographic location" }, "LocationDetail": { "type": "object", @@ -1085,6 +1090,9 @@ "locationAttributeTypes": { "type": "array", "description": "Attributes for the location.", + "example": [ + "ALREADY_OPEN" + ], "items": { "type": "string", "enum": [ @@ -1167,17 +1175,19 @@ "displayName": "John Taylor", "contact": { "personName": "John Taylor", - "emailAddress": "sample@company.com", - "phoneNumber": "9013575012", - "phoneExtension": 5000, + "emailAddress": "xxxxlor@fedex.com", + "phoneNumber": "xxxxxxxx12", + "phoneExtension": "91", "companyName": "Fedex", "faxNumber": "fax number", + "displayName": "jhon", "stateTaxId": "state tax identifier", "fedralTaxId": "federal tax identifier" }, "addressAncillaryDetail": { "locationInCity": "Mill Heights", "suite": "suite", + "displayName": "jhon", "adderssVerificationOverrideReason": "MANUAL_OVERRIDE", "locationInProperty": "back building north", "addtionalDescriptions": "thru south guard gate", @@ -1234,6 +1244,10 @@ "latestDropoffDetails": [ { "dayOfWeek": "MONDAY", + "operationalOverlay": { + "time": "time", + "type": "WEST_COAST" + }, "exceptionalTime": "08:30:00", "exceptionalOverlay": { "time": "09:00:00", @@ -1242,22 +1256,28 @@ "operationTime": "08:30:00" } ], - "serviceCategory": "EXPRESS_PARCEL" + "serviceCategory": "EXPRESS_FREIGHT" }, { "serviceType": "STANDARD_OVERNIGHT", "countryRelationshipType": "DOMESTIC", "carrierCodeType": "FDXE", - "latestDropoffDetails": { - "dayOfWeek": "TUESDAY", - "exceptionalTime": "07:00:00", - "exceptionalOverlay": { - "time": "02:00:00", - "type": "WEST_COAST" - }, - "operationTime": "06:00:00" - }, - "serviceCategory": "EXPRESS_PARCEL" + "latestDropoffDetails": [ + { + "dayOfWeek": "TUESDAY", + "operationalOverlay": { + "time": "09:00:00", + "type": "WEST_COAST" + }, + "exceptionalTime": "07:00:00", + "exceptionalOverlay": { + "time": "02:00:00", + "type": "WEST_COAST" + }, + "operationTime": "06:00:00" + } + ], + "serviceCategory": "EXPRESS_FREIGHT" } ], "geoPositionalCoordinates": { @@ -1296,7 +1316,7 @@ "THURSDAY", "FRIDAY" ], - "serviceCategory": "GROUND" + "serviceCategory": "GROUND_HOME_DELIVERY" }, { "serviceType": "FEDEX_GROUND", @@ -1401,7 +1421,7 @@ "personName": "John Taylor", "emailAddress": "sample@company.com", "phoneNumber": "1234567890", - "phoneExtension": 1234, + "phoneExtension": "1234", "faxNumber": "1234567890", "companyName": "Fedex", "stateTaxId": "11-N-1745", @@ -1580,7 +1600,8 @@ "SMARTPOST", "EXPRESS_PARCEL", "NULL" - ] + ], + "example": "EXPRESS_PARCEL" } }, "description": "This is a subset of the transportation carrier's products or services which may have unique characteristics at the location i.e. latest drop-off times for FDXE vs FDXG.", diff --git a/resources/models/open-ship/v1.json b/resources/models/open-ship/v1.json index 5f2e437a..bd3677d0 100644 --- a/resources/models/open-ship/v1.json +++ b/resources/models/open-ship/v1.json @@ -3,7 +3,7 @@ "/ship/v1/openshipments/create": { "post": { "summary": "Create Open Shipment", - "description": "This endpoint helps you to create an open shipment request with the required shipping information.
            Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.", + "description": "This endpoint helps you to create an openn shipment request with the required shipping information.
            Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.", "operationId": "Create Open Shipmentt", "requestBody": { "content": { @@ -2492,19 +2492,6 @@ } } }, - "PartyAccountNumber": { - "type": "object", - "properties": { - "value": { - "type": "string", - "description": "The account number value.Value is required if the paymentType is RECIPIENT, THIRD_PARTY or COLLECT.
            Example: Your account number" - } - }, - "description": "This is FedEx Account number details.", - "example": { - "value": "Your account number" - } - }, "OpenShipmentSpecialServicesRequested": { "type": "object", "properties": { @@ -3366,7 +3353,7 @@ "example": "non-threaded rivets" }, "weight": { - "$ref": "#/components/schemas/Weight" + "$ref": "#/components/schemas/Weight_Without_Link" }, "exportLicenseNumber": { "type": "string", @@ -3413,6 +3400,84 @@ } } }, + "Weight": { + "required": [ + "units", + "value" + ], + "type": "object", + "properties": { + "units": { + "type": "string", + "description": "Indicate the weight unit type. The package and commodity weight unit should be the same else the request will result in an error.", + "example": "KG", + "enum": [ + "KG" + ] + }, + "value": { + "type": "number", + "description": "Weight Value.
            Example: 68.25
            Click here to see Weight Values", + "format": "double", + "example": 68.25 + } + }, + "description": "These are the package weight details.
            Note: Weight is not required for One rate shipments", + "example": { + "units": "KG", + "value": 68 + } + }, + "Weight_With_Link": { + "description": "These are the package weight details.", + "type": "object", + "required": [ + "units", + "value" + ], + "properties": { + "units": { + "description": "Specifies the package weight unit type.
            Example:KG", + "type": "string", + "enum": [ + "KG", + "LB" + ], + "example": "KG" + }, + "value": { + "format": "double", + "description": "Weight Value.
            Example: 68.25
            Click here to see Weight Values", + "type": "number", + "example": 68.25 + } + } + }, + "Weight_Without_Link": { + "description": "These are the package weight details.", + "type": "object", + "required": [ + "units", + "value" + ], + "properties": { + "units": { + "description": "Specifies the package weight unit type.
            Example:KG", + "type": "string", + "enum": [ + "KG", + "LB" + ], + "example": "KG" + }, + "value": { + "format": "double", + "description": "Weight Value.
            Example: 68.25", + "type": "number", + "example": 68.25 + } + } + }, "UsmcaDetail": { "type": "object", "properties": { @@ -3531,8 +3596,7 @@ "example": "DEPARTMENT_OF_COMMERCE", "enum": [ "DEPARTMENT_OF_COMMERCE", - "DEPARTMENT_OF_STATE", - "DEPARTMENT_OF_COMMERCE_AND_DEPARTMENT_OF_STATE" + "DEPARTMENT_OF_STATE" ] }, "destinationCountries": { @@ -3659,7 +3723,7 @@ "$ref": "#/components/schemas/Money" }, "weight": { - "$ref": "#/components/schemas/Weight" + "$ref": "#/components/schemas/Weight_With_Link" }, "dimensions": { "description": "Indicate the dimensions of the package.
            Following conditions will apply:
            • Dimensions are optional but when added, then all three dimensions must be indicated.
            • Dimensions are required when using a Express freight service.
            Note: The maximum/minimum dimension values varies based on the services and the packaging types. Refer FedEx Service Guide for service details related to DIM Weighting for FedEx Express and oversize conditions for FedEx Express and FedEx Ground.", @@ -3816,7 +3880,7 @@ } }, "dryIceWeight": { - "$ref": "#/components/schemas/Weight" + "$ref": "#/components/schemas/Weight_Without_Link" }, "standaloneBatteryDetails": { "type": "array", @@ -3886,14 +3950,11 @@ "description": "These are details for the package containing alcohol. This is required for alcohol special service. The alcoholRecipientType is required." }, "DangerousGoodsDetail": { - "required": [ - "accessibility" - ], "type": "object", "properties": { "accessibility": { "type": "string", - "description": "Specify Dangerous Goods Accessibility Type.
            • Inaccessible – it does not have to be accessable on the aircraft.
            • Accessible – it must be fully accessible on the aircraft, and is more strictly controlled.
            ", + "description": "Specify Dangerous Goods Accessibility Type.
            • Inaccessible – it does not have to be accessable on the aircraft.
            • Accessible – it must be fully accessible on the aircraft, and is more strictly controlled.
            Note: Accessibility is only required for IATA controlled DG shipments.", "example": "INACCESSIBLE", "enum": [ "ACCESSIBLE", @@ -3905,6 +3966,17 @@ "type": "boolean", "example": false }, + "regulation": { + "type": "string", + "description": "It is a HazardousCommodityRegulationType(The regulation under which the DG data has been validated).", + "example": "ADR", + "enum": [ + "ADR", + "DOT", + "IATA", + "ORMD" + ] + }, "options": { "type": "array", "description": "Indicate type of DG being reported.", @@ -5936,7 +6008,7 @@ }, "resolution": { "type": "integer", - "description": "Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203.", + "description": "Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203.Note: 300 DPI resolution is only allowed for ZPLII image type.", "example": 300 } }, @@ -6923,7 +6995,7 @@ "example": "Test1234" }, "shipAction": { - "description": "Allowed values are STRONG_VALIDATION", + "description": "Allowed values are STRONG_VALIDATION, PROVIDE_DOCUMENTS_INCREMENTALLY", "example": "STRONG_VALIDATION", "$ref": "#/components/schemas/OpenShipAction" }, @@ -7991,6 +8063,19 @@ "residential": false } }, + "PartyAccountNumber": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Conditional.
            The account number value.
            Max Length is 9.
            Example: 12XXXXX89

            NOTE:- FedEx Account number is required for FedEx International Connect Plus (FICP) service shipments from APAC to US or PR with duty & tax Bill-to recipient:
            if any of the shipment commodities\u2019 Country of Manufacture is CN/HK" + } + }, + "description": "This is FedEx Account number details.", + "example": { + "value": "Your account number" + } + }, "UploadDocumentReferenceDetail": { "type": "object", "properties": { @@ -8027,34 +8112,6 @@ }, "description": "Specify the document upload reference details." }, - "Weight": { - "required": [ - "units", - "value" - ], - "type": "object", - "properties": { - "units": { - "type": "string", - "description": "Indicate the weight unit type. The package and commodity weight unit should be the same else the request will result in an error.", - "example": "KG", - "enum": [ - "KG" - ] - }, - "value": { - "type": "number", - "description": "Weight Value.
            Example: 68.25
            Click here to see Weight Values", - "format": "double", - "example": 68.25 - } - }, - "description": "These are the package weight details.
            Note: Weight is not required for One rate shipments", - "example": { - "units": "KG", - "value": 68 - } - }, "PhoneNumber": { "type": "object", "properties": { @@ -9045,7 +9102,7 @@ "type": "object", "properties": { "totalWeight": { - "$ref": "#/components/schemas/Weight" + "$ref": "#/components/schemas/Weight_Without_Link" }, "packageCount": { "type": "integer", diff --git a/resources/models/pickup-request/v1.json b/resources/models/pickup-request/v1.json index 89424621..8386db72 100644 --- a/resources/models/pickup-request/v1.json +++ b/resources/models/pickup-request/v1.json @@ -1066,7 +1066,7 @@ }, "bookingNumber": { "type": "string", - "description": "Specify a freight shipment booking number from FedEx. This number is mandatory for freight dispatch requests.
            Example: 1234AGTT ", + "description": "Express Freight shipments (refer below) may require booking number. This booking number may also be required for freight dispatch requests.
            FedEx 1Day Freight - booking number is optional.
            FedEx International Priority Freight - booking number is required
            NOTE:
            a. For Intra EU (EU-to-EU) and EU outbound (EU-to-NON_EU) Express Freight shipments, bookingNumber is optional.
            b. For Express Freight shipments not originating in EU, Customers need to call FedEx to book freight shipment and receive a booking number. This booking number is included in the Ship request and prints on the shipping label.
            example:1234AGTT", "example": "1234AGTT" }, "dimensions": { diff --git a/resources/models/rates-transit-times/v1.json b/resources/models/rates-transit-times/v1.json index 9bfe4843..232fcc5b 100644 --- a/resources/models/rates-transit-times/v1.json +++ b/resources/models/rates-transit-times/v1.json @@ -2198,6 +2198,13 @@ "items": { "$ref": "#/components/schemas/Surcharge" } + }, + "taxes": { + "description": "List of taxes.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Tax" + } } }, "description": "This is shipment level rate data." @@ -2467,15 +2474,11 @@ }, "type": { "type": "string", - "description": "This is Broker Type.", - "example": "EXPORT", + "description": "This is Broker Type.Example:IMPORT", + "example": "IMPORT", "enum": [ - "EXPORT", "IMPORT" ] - }, - "brokerAddress": { - "$ref": "#/components/schemas/Brokeraddress" } }, "description": "These are Broker Detail for the rate quote." @@ -2538,7 +2541,7 @@ "example": "Your account number" } }, - "description": "This is the Account number details.
            Note:
            • If the paymentType is Sender, then the account number is optional in shippingChargesPayment.
            • In case if this is shipping account number, do use the account number used for creating Auth Token.
            ", + "description": "This is the Account number details.
            Note:
            • If the paymentType is Sender, then the account number is optional in shippingChargesPayment.
            ", "example": { "value": "Your account number" } @@ -2935,9 +2938,6 @@ "customsClearanceDetail": { "$ref": "#/components/schemas/CustomsClearanceDetail" }, - "serviceTypeDetail": { - "$ref": "#/components/schemas/ServiceTypeDetailVO" - }, "smartPostInfoDetail": { "$ref": "#/components/schemas/SmartPostInfoDetail" } @@ -3824,7 +3824,7 @@ }, "commodities": { "type": "array", - "description": "Specify the commodity details.", + "description": "Indicates the details about the dutiable packages. Maximum upto 999 commodities per shipment.", "items": { "$ref": "#/components/schemas/Commodity" } @@ -3960,7 +3960,7 @@ }, "countryOfManufacture": { "type": "string", - "description": "This is a manufacturing country. Maximum field Length is 4
            Example: IN", + "description": "This is commodity country of manufacture. This is required. Maximum allowed length is 4.
            Example: US
            Click here to see Country Codes", "example": "US" }, "quantityUnits": { @@ -3985,36 +3985,6 @@ } } }, - "ServiceTypeDetailVO": { - "type": "object", - "properties": { - "carrierCode": { - "type": "string", - "description": "Identifies which carrier is being described.", - "enum": [ - "FDXE", - "FDXG", - "FXSP", - "FXFR", - "FDXC", - "FXCC" - ] - }, - "description": { - "type": "string", - "description": "Description" - }, - "serviceName": { - "type": "string", - "description": "Service Name" - }, - "serviceCategory": { - "type": "string", - "description": "Service Category" - } - }, - "description": "service type information details" - }, "SmartPostInfoDetail": { "type": "object", "properties": { @@ -4234,28 +4204,31 @@ } }, "Tax": { + "description": "Tax surcharge details", "type": "object", "properties": { "amount": { - "type": "number", - "description": "Specifies the list of tax amounts.
            Example : 87.5", + "description": "Tax amount.
            Example: 408.97", "format": "double", - "example": 87.5 + "type": "number", + "example": 408.97 }, "name": { + "description": "The localized name of the tax.
            Example: Denmark VAT", "type": "string", - "description": "Specifies the localized name of the tax.
            Example: Name" + "example": "Denmark VAT" }, "description": { + "description": "The description of the Surcharge/Tax.
            Example: Denmark VAT", "type": "string", - "description": "Specifies the description of the Surcharge/Tax.
            Example: description" + "example": "Denmark VAT" }, "type": { + "description": "The type of Surcharge/Tax.
            Example: VAT", "type": "string", - "description": "Specifies the type of Surcharge/Tax.
            Example: type" + "example": "VAT" } - }, - "description": "Specifies the Tax surcharge details" + } }, "Address": { "type": "object", diff --git a/resources/models/service-availability/v1.json b/resources/models/service-availability/v1.json index 0c665c4b..f0a0f533 100644 --- a/resources/models/service-availability/v1.json +++ b/resources/models/service-availability/v1.json @@ -1314,6 +1314,56 @@ } } }, + "Weight_With_Link": { + "description": "These are the package weight details.", + "type": "object", + "required": [ + "units", + "value" + ], + "properties": { + "units": { + "description": "Specifies the package weight unit type.
            Example:KG", + "type": "string", + "enum": [ + "KG", + "LB" + ], + "example": "KG" + }, + "value": { + "format": "double", + "description": "Weight Value.
            Example: 68.25
            Click here to see Weight Values", + "type": "number", + "example": 68.25 + } + } + }, + "Weight_Without_Link": { + "description": "These are the package weight details.", + "type": "object", + "required": [ + "units", + "value" + ], + "properties": { + "units": { + "description": "Specifies the package weight unit type.
            Example:KG", + "type": "string", + "enum": [ + "KG", + "LB" + ], + "example": "KG" + }, + "value": { + "format": "double", + "description": "Weight Value.
            Example: 68.25", + "type": "number", + "example": 68.25 + } + } + }, "StandaloneBatteryDetails": { "type": "object", "properties": { @@ -1718,7 +1768,7 @@ "$ref": "#/components/schemas/Money" }, "weight": { - "$ref": "#/components/schemas/Weight" + "$ref": "#/components/schemas/Weight_With_Link" }, "dimensions": { "$ref": "#/components/schemas/Dimensions" @@ -1839,7 +1889,7 @@ }, "dryIceWeight": { "description": "These are the weight details.", - "$ref": "#/components/schemas/Weight" + "$ref": "#/components/schemas/Weight_Without_Link" }, "standaloneBatteryDetails": { "type": "array", @@ -2087,7 +2137,7 @@ }, "weight": { "description": "Total weight of items for this line item", - "$ref": "#/components/schemas/Weight" + "$ref": "#/components/schemas/Weight_Without_Link" }, "packaging": { "type": "string", diff --git a/resources/models/ship/v1.json b/resources/models/ship/v1.json index 40b61f52..4db8bcd9 100644 --- a/resources/models/ship/v1.json +++ b/resources/models/ship/v1.json @@ -3,7 +3,7 @@ "/ship/v1/shipments": { "post": { "summary": "Create Shipment", - "description": "This endpoint helpsss you to create shipment requests thereby validating all the shipping input information and either generates the labels (if the responses is synchronous) or a job ID if transaction is processed using asynchronous method.
            Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.", + "description": "This endpoint helps you to create shipment requests thereby validating all the shipping input information and either generates the labels (if the responses is synchronous) or a job ID if transaction is processed using asynchronous method.
            Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.", "operationId": "Create Shipment", "requestBody": { "content": { @@ -1339,183 +1339,6 @@ }, "description": "The request elements required to create a shipment." }, - "RequestedShipment": { - "required": [ - "labelSpecification", - "packagingType", - "pickupType", - "recipients", - "requestedPackageLineItems", - "serviceType", - "shipper", - "shippingChargesPayment", - "totalWeight" - ], - "type": "object", - "properties": { - "shipDatestamp": { - "type": "string", - "description": "This is the shipment date. Default value is current date in case the date is not provided or a past date is provided.
            Format [YYYY-MM-DD].
            Example: 2019-10-14", - "example": "2019-10-14" - }, - "totalDeclaredValue": { - "description": "It is the sum of all declared values of all packages in a shipment. The amount of totalDeclaredValue must be equal to the sum of all the individual declaredValues in the shipment. The declaredValue and totalDeclaredValue must match in all currencies in one shipment. This value represents FedEx maximum liability associated with a shipment. This is including, but not limited to any loss, damage, delay, misdelivery, any failure to provide information, or misdelivery of information related to the Shipment.
            Note: The totalDeclaredValue should not exceed customsValue.", - "$ref": "#/components/schemas/Money" - }, - "shipper": { - "description": "Indicate the Shipper contact details for this shipment.", - "example": { - "address": { - "streetLines": [ - "10 FedEx Parkway", - "Suite 302" - ], - "city": "Beverly Hills", - "stateOrProvinceCode": "CA", - "postalCode": "90210", - "countryCode": "US", - "residential": false - }, - "contact": { - "personName": "John Taylor", - "emailAddress": "sample@company.com", - "phoneExtension": "91", - "phoneNumber": "XXXX567890", - "companyName": "Fedex" - }, - "tins": [ - { - "number": "XXX567", - "tinType": "FEDERAL", - "usage": "usage", - "effectiveDate": "2024-06-13", - "expirationDate": "2024-06-13" - } - ] - }, - "$ref": "#/components/schemas/ShipperParty" - }, - "soldTo": { - "description": "Will indicate the party responsible for purchasing the goods shipped from the shipper to the recipient. The sold to party is not necessarily the recipient or the importer of record. The sold to party is relevant when the purchaser, rather than the recipient determines when certain customs regulations apply.", - "$ref": "#/components/schemas/SoldToParty" - }, - "recipients": { - "type": "array", - "description": "Indicate the descriptive data for the recipient location to which the shipment is to be received.", - "items": { - "$ref": "#/components/schemas/RecipientsParty" - } - }, - "recipientLocationNumber": { - "type": "string", - "description": "A unique identifier for a recipient location.
            Example:1234567", - "example": "1234567" - }, - "pickupType": { - "type": "string", - "description": "Indicates if shipment is being dropped off at a FedEx location or being picked up by FedEx or if it's a regularly scheduled pickup for this shipment. Required for FedEx Express and Ground Shipment.
            Example: USE_SCHEDULED_PICKUP", - "example": "USE_SCHEDULED_PICKUP", - "enum": [ - "CONTACT_FEDEX_TO_SCHEDULE", - "DROPOFF_AT_FEDEX_LOCATION", - "USE_SCHEDULED_PICKUP" - ] - }, - "serviceType": { - "type": "string", - "description": "Indicate the FedEx service type used for this shipment.
            Example: STANDARD_OVERNIGHT
            click here to see Service Types", - "example": "PRIORITY_OVERNIGHT" - }, - "packagingType": { - "type": "string", - "description": "Specify the packaging used.
            Note: For Express Freight shipments, the packaging will default to YOUR_PACKAGING irrespective of the user provided package type in the request.
            Example: FEDEX_PAK
            click here to see Package Types", - "example": "YOUR_PACKAGING" - }, - "totalWeight": { - "type": "number", - "description": "Indicate the shipment total weight in pounds.
            Example: 10.6
            Note:
            • This only applies to International shipments and should be used on the first package of a multiple piece shipment.
            • This value contains 1 explicit decimal position.
            • For one Label at a time shipments, the unit of totalWeight is considered same as the unit of weight provided in requestedPackageLineItem field.
            ", - "format": "double", - "example": 20.6 - }, - "origin": { - "description": "Indicate shipment origin address information, if it is different from the shipper address.", - "$ref": "#/components/schemas/ContactAndAddress" - }, - "shippingChargesPayment": { - "$ref": "#/components/schemas/Payment" - }, - "shipmentSpecialServices": { - "$ref": "#/components/schemas/ShipmentSpecialServicesRequested" - }, - "emailNotificationDetail": { - "$ref": "#/components/schemas/ShipShipmentEMailNotificationDetail" - }, - "expressFreightDetail": { - "$ref": "#/components/schemas/ExpressFreightDetail" - }, - "variableHandlingChargeDetail": { - "$ref": "#/components/schemas/VariableHandlingChargeDetail" - }, - "customsClearanceDetail": { - "$ref": "#/components/schemas/CustomsClearanceDetail" - }, - "smartPostInfoDetail": { - "$ref": "#/components/schemas/SmartPostInfoDetail" - }, - "blockInsightVisibility": { - "type": "boolean", - "description": "If true, only the shipper/payer will have visibility of this shipment.
            Valid Value : true, false.
            Default:false
            Example: true", - "example": true - }, - "labelSpecification": { - "$ref": "#/components/schemas/LabelSpecification" - }, - "shippingDocumentSpecification": { - "$ref": "#/components/schemas/ShippingDocumentSpecification" - }, - "rateRequestType": { - "type": "array", - "description": "Indicate the type of rates to be returned. The account specific rates are returned by default if the account number is specified in the request.
            Following are values:
            • LIST - Returns FedEx published list rates in addition to account-specific rates (if applicable).
            • INCENTIVE - This is one-time discount for incentivising the customer. For more information, contact your FedEx representative.
            • ACCOUNT - Returns account specific rates (Default).
            • PREFERRED - Returns rates in the preferred currency specified in the element preferredCurrency.
            • RETAIL - Returns customer rate from one of retail FedEx service centers.
            Examples: [\"ACCOUNT\", \"PREFERRED\"]", - "example": [ - "LIST", - "PREFERRED" - ], - "items": { - "type": "string", - "enum": [ - "LIST", - "NONE", - "PREFERRED", - "ACCOUNT", - "INCENTIVE", - "RETAIL" - ] - } - }, - "preferredCurrency": { - "type": "string", - "description": "Indicate the currency the caller requests to have used in all returned monetary values. Should be Used in conjunction with the element RateRequestType.
            Example: USD
            click here to see available Currency codes
            Note: Incorrect currency codes should not be supplied. The system ignores the incorrect currency code.", - "example": "USD" - }, - "totalPackageCount": { - "type": "integer", - "description": "For an MPS, this is the total number of packages in the shipment.Applicable for parent shipment for one label at a time shipments.
            Example: 25", - "format": "int32", - "example": 25 - }, - "masterTrackingId": { - "$ref": "#/components/schemas/MasterTrackingId" - }, - "requestedPackageLineItems": { - "type": "array", - "description": "These are one or more package-attribute descriptions, each of which describes an individual package, a group of identical packages, or (for the total-piece-total-weight case) common characteristics of all packages in the shipment.
            • At least one instance containing the weight for at least one package is required for EXPRESS and GROUND shipments.
            • Single piece requests will have one RequestedPackageLineItem.
            • Multiple piece requests will have multiple RequestedPackageLineItems.
            • Maximum occurrences is 30.
            ", - "items": { - "$ref": "#/components/schemas/RequestedPackageLineItem" - } - } - }, - "description": "The descriptive data of the requested shipment." - }, "Money": { "type": "object", "properties": { @@ -1538,7 +1361,7 @@ "properties": { "amount": { "type": "number", - "description": "This is the amount. Maximum limit is 5 digits before decimal.
            Example: 1556.25", + "description": "This is commodity value in amount used for Customs declaration.
            Max limit: 11 digits before decimal.
            Example: 1,55,6457.25", "format": "double", "example": "1556.25" }, @@ -2253,6 +2076,8 @@ "description": "Specify the Rate Type used.", "enum": [ "ACCOUNT", + "LIST", + "ACTUAL", "CURRENT", "CUSTOM" ], @@ -2325,7 +2150,10 @@ "DSP_73", "DSP_85", "DSP_LICENSE_AGREEMENT", - "WAREHOUSE_WITHDRAWAL" + "WAREHOUSE_WITHDRAWAL", + "FROM_FOREIGN_TRADE_ZONE", + "DEA_486", + "DSP_94" ] } }, @@ -2541,7 +2369,7 @@ "properties": { "regulatoryControls": { "type": "array", - "description": "These are the regulatory controls applicable to the shipment.
            Example:USMCA,FOOD_OR_PERISHABLE", + "description": "These are the regulatory controls applicable to the shipment.
            Example:[USMCA,FOOD_OR_PERISHABLE]", "example": [ "NOT_IN_FREE_CIRCULATION", "USMCA" @@ -2588,7 +2416,7 @@ "isDocumentOnly": { "type": "boolean", "description": "Defaults to false. Only used for international Express requests to indicate if just documents are being shipped or not. A valude of DERIVED will cause the value to be determined by PMIS based on the specified commodities information
            Example: false", - "example": false + "example": true }, "recipientCustomsId": { "$ref": "#/components/schemas/RecipientCustomsId" @@ -2689,6 +2517,11 @@ "description": "The originatorName that will populate the Commercial Invoice (or Pro Forma).
            Example: originator name", "example": "originator Name" }, + "paymentTerms": { + "description": "The payment terms that will populate the Commercial Invoice (or Pro Forma). This field is being supported for completeness only.
            Example: payment terms", + "type": "string", + "example": "payment terms" + }, "comments": { "type": "array", "description": "The comments that will populate the Commercial Invoice (or Pro Forma). Only the comments specified in the first two indexes of the array will be printed on the invoice and other comments would be ignored as the limitation is set for only two indexes. It considers the comment which is in the first index as a Special Instructions, Hence the comment at first index will be printed under special instructions and the other will be printed at comments section in the Commercial Invoice Document.
            Example: comments", @@ -2828,138 +2661,43 @@ "accountNumberCountryCode": "CA" } }, - "Commodity": { - "required": [ - "description" - ], + "AdditionalMeasures": { "type": "object", "properties": { - "unitPrice": { - "description": "This is the unit price.", - "$ref": "#/components/schemas/Money" - }, - "additionalMeasures": { - "type": "array", - "description": "This object contains additional quantitative information other than weight and quantity to calculate duties and taxes.", - "items": { - "$ref": "#/components/schemas/AdditionalMeasures" - } - }, - "numberOfPieces": { - "type": "integer", - "description": "Indicate the number of pieces associated with the commodity. The value can neither be negative nor exceed 9,999.
            Example: 12", - "format": "int32", - "example": 12 - }, "quantity": { - "type": "integer", - "description": "This is the units quantity (using quantityUnits as the unit of measure) per commodity. This is used to estimate duties and taxes.
            Example: 125", - "format": "int32", - "example": 125 + "type": "number", + "description": "Specify commodity quantity.", + "format": "double", + "example": 12.45 }, - "quantityUnits": { + "units": { "type": "string", - "description": "This is the unit of measure for the units quantity. This is used to estimate duties and taxes.
            Example: EA
            click here to see Commodity Unit Measures", - "example": "Ea" - }, - "customsValue": { - "description": "This customs value is applicable for all items(or units) under the specified commodity.", - "$ref": "#/components/schemas/Customs_Money" - }, - "countryOfManufacture": { + "description": "Unit of measure used to express the quantity of this commodity line item.", + "example": "KG" + } + } + }, + "UsmcaDetail": { + "type": "object", + "properties": { + "originCriterion": { "type": "string", - "description": "This is commodity country of manufacture. This is required for International shipments. Maximum allowed length is 4.
            Example: US
            click here to see Country codes", - "example": "US" - }, - "cIMarksAndNumbers": { - "type": "string", - "description": "This is an identifying mark or number used on the packaging of a shipment to help customers identify a particular shipment
            Example: 87123", - "example": "87123" - }, - "harmonizedCode": { - "type": "string", - "description": "This is to specify the Harmonized Tariff System (HTS) code to meet U.S. and foreign governments' customs requirements. These are mainly used to estimate the duties and taxes.
            Example: 0613
            To research the classification for your commodity, use the FedEx Global Trade Manager online at fedex.com/gtm. You will find country-specific information to determine whether your commodity is considered to be a document or non-document for your destination.", - "example": "0613" - }, - "description": { - "type": "string", - "description": "Required
            ScrewsMaximum allowed 450 characters.
            Example: description", - "example": "description" - }, - "name": { - "type": "string", - "description": "This is Commodity name.
            Example: Non-Threaded Rivets", - "example": "non-threaded rivets" - }, - "weight": { - "$ref": "#/components/schemas/Weight" - }, - "exportLicenseNumber": { - "type": "string", - "description": "This is the export license number for the shipment.
            Example: 26456", - "example": "26456" - }, - "exportLicenseExpirationDate": { - "type": "string", - "description": "Specify the export license expiration date for the shipment.
            Format YYYY-MM-DD
            Example : 2009-04-12", - "format": "date-time" - }, - "partNumber": { - "type": "string", - "description": "This is a part number.
            Example: 167", - "example": "167" - }, - "purpose": { - "type": "string", - "description": "This field is used for calculation of duties and taxes.

            Valid values are : BUSINESS and CONSUMER.
            Example:BUSINESS", - "example": "BUSINESS", - "enum": [ - "BUSINESS", - "CONSUMER" - ] - }, - "usmcaDetail": { - "$ref": "#/components/schemas/UsmcaDetail" - } - } - }, - "AdditionalMeasures": { - "type": "object", - "properties": { - "quantity": { - "type": "number", - "description": "Specify commodity quantity.", - "format": "double", - "example": 12.45 - }, - "units": { - "type": "string", - "description": "Unit of measure used to express the quantity of this commodity line item.", - "example": "KG" - } - } - }, - "UsmcaDetail": { - "type": "object", - "properties": { - "originCriterion": { - "type": "string", - "description": "Specify the origin criterion.", - "enum": [ - "A", - "B", - "C", - "D", - "E" - ] - } - }, - "description": "Indicates the USMCA detail" - }, - "RecipientCustomsId": { - "type": "object", - "properties": { - "type": { + "description": "Specify the origin criterion.", + "enum": [ + "A", + "B", + "C", + "D", + "E" + ] + } + }, + "description": "Indicates the USMCA detail" + }, + "RecipientCustomsId": { + "type": "object", + "properties": { + "type": { "type": "string", "description": "This is ID Type.", "example": "PASSPORT", @@ -3057,8 +2795,7 @@ "example": "DEPARTMENT_OF_COMMERCE", "enum": [ "DEPARTMENT_OF_COMMERCE", - "DEPARTMENT_OF_STATE", - "DEPARTMENT_OF_COMMERCE_AND_DEPARTMENT_OF_STATE" + "DEPARTMENT_OF_STATE" ] }, "destinationCountries": { @@ -3194,6 +2931,7 @@ "example": "PAPER_7X475", "enum": [ "PAPER_4X6", + "STOCK_4X675", "PAPER_4X675", "PAPER_4X8", "PAPER_4X9", @@ -3250,7 +2988,7 @@ }, "resolution": { "type": "integer", - "description": "Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203.", + "description": "Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203.Note: 300 DPI resolution is only allowed for ZPLII image type.", "example": 300 } }, @@ -3271,6 +3009,7 @@ "default": "SHIPPER_INFORMATION", "enum": [ "CUSTOMS_VALUE", + "SHIPPER_ACCOUNT_NUMBER", "DIMENSIONS", "DUTIES_AND_TAXES_PAYOR_ACCOUNT_NUMBER", "INSURED_VALUE", @@ -4201,9 +3940,6 @@ "description": "These are detcontentails for the package containing alcohol. This is required for alcohol special service. The alcoholRecipientType is required." }, "DangerousGoodsDetail": { - "required": [ - "accessibility" - ], "type": "object", "properties": { "cargoAircraftOnly": { @@ -4211,9 +3947,20 @@ "type": "boolean", "example": false }, + "regulation": { + "type": "string", + "description": "It is a HazardousCommodityRegulationType(The regulation under which the DG data has been validated).", + "example": "ADR", + "enum": [ + "ADR", + "DOT", + "IATA", + "ORMD" + ] + }, "accessibility": { "type": "string", - "description": "Specify Dangerous Goods Accessibility Type.
            • Inaccessible – it does not have to be accessable on the aircraft.
            • Accessible – it must be fully accessible on the aircraft, and is more strictly controlled.
            ", + "description": "Specify Dangerous Goods Accessibility Type.
            • Inaccessible – it does not have to be accessable on the aircraft.
            • Accessible – it must be fully accessible on the aircraft, and is more strictly controlled.
            Note: Accessibility is only required for IATA controlled DG shipments.", "example": "INACCESSIBLE", "enum": [ "ACCESSIBLE", @@ -4299,7 +4046,7 @@ }, "LABELRESPONSEOPTIONS": { "type": "string", - "description": "LabelResponseOptions specifies the label generation format.
            Example:URL_ONLY", + "description": "Note- Label will be returned as Base64 ONLY when openShipmentAction is PROVIDE_DOCUMENTS_INCREMENTALLY.
            LabelResponseOptions specifies the label generation format.
            Example:URL_ONLY", "example": "URL_ONLY", "enum": [ "URL_ONLY", @@ -4476,7 +4223,8 @@ "PROFORMA_INVOICE", "USMCA_CERTIFICATION_OF_ORIGIN", "CERTIFICATE_OF_ORIGIN", - "MERGED_LABELS_ONLY" + "MERGED_LABELS_ONLY", + "USMCA_COMMERCIAL_INVOICE_CERTIFICATION_OF_ORIGIN" ] }, "trackingNumber": { @@ -4559,13 +4307,6 @@ "format": "double", "example": 21.45 }, - "transactionDetails": { - "type": "array", - "description": "Indicates data received that governs data payload language/translations. The TransactionDetail from the request is echoed back to the caller in the corresponding reply.", - "items": { - "$ref": "#/components/schemas/TransactionDetailVO" - } - }, "packageDocuments": { "type": "array", "description": "These are package documents returned in the response.", @@ -4613,7 +4354,7 @@ "format": "double", "example": 621.45 }, - "netListRateAmount": { + "listRateAmount": { "type": "number", "description": "Indicates the net List rate amount.
            Example: 1.45", "format": "double", @@ -4658,11 +4399,6 @@ "description": "This is the tracking number associated with this package.
            Example: 49XXX0000XXX20032835", "example": "794953535000" }, - "successful": { - "type": "boolean", - "description": "Returns true if the responses are successful otherwise false.", - "example": true - }, "customerReferences": { "type": "array", "description": "These are additional customer reference data.
            Note: The groupPackageCount must be specified to retrieve customer references.", @@ -4673,21 +4409,6 @@ }, "description": "Piece Response information." }, - "TransactionDetailVO": { - "type": "object", - "properties": { - "transactionDetails": { - "type": "string", - "description": "Includes data returned which governs data payload language/translations. The TransactionDetail from the request is echoed back to the caller in the corresponding reply.
            Example: transactionDetails", - "example": "transactionDetails" - }, - "transactionId": { - "type": "string", - "description": "This element has a unique identifier added in your request, helps you match the request to the reply. Maximum of 40 characters allowed.
            Example: XXXX_XXX123XXXXX.", - "example": "12345" - } - } - }, "CompletedShipmentDetail": { "type": "object", "properties": { @@ -5116,7 +4837,7 @@ "$ref": "#/components/schemas/HazardousCommodityQuantityDetail" }, "options": { - "$ref": "#/components/schemas/HazardousCommodityContent" + "$ref": "#/components/schemas/HazardousCommodityOptionDetail" }, "description": { "$ref": "#/components/schemas/ValidatedHazardousCommodityDescription" @@ -5133,6 +4854,36 @@ }, "description": "These the details on the kind and quantity of an individual hazardous commodity in a package." }, + "HazardousCommodityQuantityDetail": { + "required": [ + "amount", + "quantityType" + ], + "type": "object", + "properties": { + "quantityType": { + "type": "string", + "description": "Specifies which measure of quantity is to be validated.
            Example:GROSS", + "example": "GROSS", + "enum": [ + "GROSS", + "NET" + ] + }, + "amount": { + "type": "number", + "description": "Indicate the amount of the commodity in alternate units.
            Example: 24.56", + "format": "double", + "example": 24.56 + }, + "units": { + "type": "string", + "description": "Indicate the unit of measure.
            Example: KG", + "example": "Kg" + } + }, + "description": "Specify the Hazardous commodity quantity details." + }, "ValidatedHazardousCommodityDescription": { "type": "object", "properties": { @@ -6324,10 +6075,10 @@ "description": "Indicates whether the shipment has been deleted from history or not. If the value is True, then it indicates that the shipment has been deleted.
            Example: true", "example": true }, - "successMessage": { + "message": { "type": "string", - "description": "The success message generated during cancellation request for Shipment.
            Example: Success", - "example": "Success" + "description": "The success message generated during cancellation request for Shipment.
            Example:Shipment is successfully cancelled", + "example": "Shipment is successfully cancelled" }, "alerts": { "type": "array", @@ -6819,6 +6570,27 @@ }, "description": "Indicate the shipment special service or handling required for this shipment.
            Note:
            • If the shipper is requesting a special service, the special service type must be indicated in the object specialServiceTypes, and all supporting detail must be provided in the appropriate sub-object below.
            • For returns it is required to provide value RETURN_SHIPMENT in the specialServiceTypes.
            " }, + "HazardousCommodityOptionDetail": { + "description": "Provides details of Hazardous Commodity Option Detail", + "type": "object", + "properties": { + "labelTextOption": { + "description": "Provides the label text option", + "type": "string", + "enum": [ + "APPEND", + "OVERRIDE", + "STANDARD" + ], + "example": "STANDARD" + }, + "customerSuppliedLabelText": { + "description": "DG Data Upload Mode:- Optional
            DG Full Validation Mode: Optional
            Text used in labeling the commodity under control of the LabelTextOption field", + "type": "string", + "example": "Customer Supplied Label Text" + } + } + }, "Full_Schema_Create_Tag": { "required": [ "accountNumber", @@ -6851,7 +6623,7 @@ ], "allOf": [ { - "$ref": "#/components/schemas/RequestedShipment" + "$ref": "#/components/schemas/RequestedShipment_tag" }, { "properties": { @@ -6880,43 +6652,517 @@ } ] }, - "SHPCResponseVO_CreateTag": { + "RequestedShipment_tag": { + "required": [ + "labelSpecification", + "packagingType", + "pickupType", + "recipients", + "requestedPackageLineItems", + "serviceType", + "shipper", + "shippingChargesPayment", + "totalWeight" + ], "type": "object", "properties": { - "transactionId": { + "shipDatestamp": { "type": "string", - "description": "The transaction ID is a special set of numbers that defines each transaction.
            Example: 624deea6-b709-470c-8c39-4b5511281492", - "example": "624deea6-b709-470c-8c39-4b5511281492" + "description": "This is the shipment date. Default value is current date in case the date is not provided or a past date is provided.
            Format [YYYY-MM-DD].
            Example: 2019-10-14", + "example": "2019-10-14" }, - "customerTransactionId": { + "totalDeclaredValue": { + "description": "It is the sum of all declared values of all packages in a shipment. The amount of totalDeclaredValue must be equal to the sum of all the individual declaredValues in the shipment. The declaredValue and totalDeclaredValue must match in all currencies in one shipment. This value represents FedEx maximum liability associated with a shipment. This is including, but not limited to any loss, damage, delay, misdelivery, any failure to provide information, or misdelivery of information related to the Shipment.
            Note: The totalDeclaredValue should not exceed customsValue.", + "$ref": "#/components/schemas/Money" + }, + "shipper": { + "description": "Indicate the Shipper contact details for this shipment.", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "91", + "phoneNumber": "XXXX567890", + "companyName": "Fedex" + }, + "tins": [ + { + "number": "XXX567", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2024-06-13", + "expirationDate": "2024-06-13" + } + ] + }, + "$ref": "#/components/schemas/ShipperParty" + }, + "soldTo": { + "description": "Will indicate the party responsible for purchasing the goods shipped from the shipper to the recipient. The sold to party is not necessarily the recipient or the importer of record. The sold to party is relevant when the purchaser, rather than the recipient determines when certain customs regulations apply.", + "$ref": "#/components/schemas/SoldToParty" + }, + "recipients": { + "type": "array", + "description": "Indicate the descriptive data for the recipient location to which the shipment is to be received.", + "items": { + "$ref": "#/components/schemas/RecipientsParty" + } + }, + "recipientLocationNumber": { "type": "string", - "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
            Example: AnyCo_order123456789", - "example": "AnyCo_order123456789" + "description": "A unique identifier for a recipient location.
            Example:1234567", + "example": "1234567" }, - "output": { - "$ref": "#/components/schemas/CreateTagOutputVO" - } - }, - "description": "Wrapper class for ShipShipmentOutputVO. It holds transactionId and output." - }, - "CreateTagOutputVO": { - "type": "object", - "properties": { - "masterTrackingNumber": { + "pickupType": { "type": "string", - "description": "Specifies the Master Tracking Number for the requested shipment.
            Example: 997338100007320", - "example": "997338100007320" + "description": "Indicates if shipment is being dropped off at a FedEx location or being picked up by FedEx or if it's a regularly scheduled pickup for this shipment. Required for FedEx Express and Ground Shipment.
            Example: USE_SCHEDULED_PICKUP", + "example": "USE_SCHEDULED_PICKUP", + "enum": [ + "CONTACT_FEDEX_TO_SCHEDULE", + "DROPOFF_AT_FEDEX_LOCATION", + "USE_SCHEDULED_PICKUP" + ] }, "serviceType": { "type": "string", - "description": "Specifies the service type for this shipment.
            Example: GROUND_HOME_DELIVERY
            Click here to see Service Types", - "example": "GROUND_HOME_DELIVERY" + "description": "Indicate the FedEx service type used for this shipment.
            Example: STANDARD_OVERNIGHT
            click here to see Service Types", + "example": "PRIORITY_OVERNIGHT" }, - "shipTimestamp": { + "packagingType": { "type": "string", - "description": "Specifies the shipment date and time. The default timestamp is the current date-time. Format is MMM-dd-yyyy.
            Example: 2019-10-04", - "example": "2019-10-04" - }, + "description": "Specify the packaging used.
            Note: For Express Freight shipments, the packaging will default to YOUR_PACKAGING irrespective of the user provided package type in the request.
            Example: FEDEX_PAK
            click here to see Package Types", + "example": "YOUR_PACKAGING" + }, + "totalWeight": { + "type": "number", + "description": "Indicate the shipment total weight in pounds.
            Example: 10.6
            Note:
            • This only applies to International shipments and should be used on the first package of a multiple piece shipment.
            • This value contains 1 explicit decimal position.
            • For one Label at a time shipments, the unit of totalWeight is considered same as the unit of weight provided in requestedPackageLineItem field.
            ", + "format": "double", + "example": 20.6 + }, + "origin": { + "description": "Indicate shipment origin address information, if it is different from the shipper address.", + "$ref": "#/components/schemas/ContactAndAddress" + }, + "shippingChargesPayment": { + "$ref": "#/components/schemas/Payment" + }, + "shipmentSpecialServices": { + "$ref": "#/components/schemas/ShipmentSpecialServicesRequested" + }, + "emailNotificationDetail": { + "$ref": "#/components/schemas/ShipShipmentEMailNotificationDetail" + }, + "expressFreightDetail": { + "$ref": "#/components/schemas/ExpressFreightDetail" + }, + "variableHandlingChargeDetail": { + "$ref": "#/components/schemas/VariableHandlingChargeDetail" + }, + "customsClearanceDetail": { + "$ref": "#/components/schemas/CustomsClearanceDetail_tag" + }, + "smartPostInfoDetail": { + "$ref": "#/components/schemas/SmartPostInfoDetail" + }, + "blockInsightVisibility": { + "type": "boolean", + "description": "If true, only the shipper/payer will have visibility of this shipment.
            Valid Value : true, false.
            Default:false
            Example: true", + "example": true + }, + "labelSpecification": { + "$ref": "#/components/schemas/LabelSpecification" + }, + "shippingDocumentSpecification": { + "$ref": "#/components/schemas/ShippingDocumentSpecification" + }, + "rateRequestType": { + "type": "array", + "description": "Indicate the type of rates to be returned. The account specific rates are returned by default if the account number is specified in the request.
            Following are values:
            • LIST - Returns FedEx published list rates in addition to account-specific rates (if applicable).
            • INCENTIVE - This is one-time discount for incentivising the customer. For more information, contact your FedEx representative.
            • ACCOUNT - Returns account specific rates (Default).
            • PREFERRED - Returns rates in the preferred currency specified in the element preferredCurrency.
            • RETAIL - Returns customer rate from one of retail FedEx service centers.
            Examples: [\"ACCOUNT\", \"PREFERRED\"]", + "example": [ + "LIST", + "PREFERRED" + ], + "items": { + "type": "string", + "enum": [ + "LIST", + "NONE", + "PREFERRED", + "ACCOUNT", + "INCENTIVE", + "RETAIL" + ] + } + }, + "preferredCurrency": { + "type": "string", + "description": "Indicate the currency the caller requests to have used in all returned monetary values. Should be Used in conjunction with the element RateRequestType.
            Example: USD
            click here to see available Currency codes
            Note: Incorrect currency codes should not be supplied. The system ignores the incorrect currency code.", + "example": "USD" + }, + "totalPackageCount": { + "type": "integer", + "description": "For an MPS, this is the total number of packages in the shipment.Applicable for parent shipment for one label at a time shipments.
            Example: 25", + "format": "int32", + "example": 25 + }, + "masterTrackingId": { + "$ref": "#/components/schemas/MasterTrackingId" + }, + "requestedPackageLineItems": { + "type": "array", + "description": "These are one or more package-attribute descriptions, each of which describes an individual package, a group of identical packages, or (for the total-piece-total-weight case) common characteristics of all packages in the shipment.
            • At least one instance containing the weight for at least one package is required for EXPRESS and GROUND shipments.
            • Single piece requests will have one RequestedPackageLineItem.
            • Multiple piece requests will have multiple RequestedPackageLineItems.
            • Maximum occurrences is 30.
            ", + "items": { + "$ref": "#/components/schemas/RequestedPackageLineItem" + } + } + }, + "description": "The descriptive data of the requested shipment." + }, + "PartyAccountNumber_tag": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Conditional.
            The account number value.
            Max Length is 9.
            Example: 12XXXXX89", + "example": "12XXXXX89" + } + }, + "description": "This is FedEx Account number details.", + "example": { + "value": "Your account number" + } + }, + "CustomsClearanceDetail_tag": { + "required": [ + "commercialInvoice", + "commodities" + ], + "type": "object", + "properties": { + "regulatoryControls": { + "type": "array", + "description": "These are the regulatory controls applicable to the shipment.
            Example:USMCA,FOOD_OR_PERISHABLE", + "example": [ + "NOT_IN_FREE_CIRCULATION", + "USMCA" + ], + "items": { + "type": "string", + "enum": [ + "FOOD_OR_PERISHABLE", + "USMCA", + "NOT_APPLICABLE_FOR_LOW_VALUE_CUSTOMS_EXCEPTIONS", + "NOT_IN_FREE_CIRCULATION" + ] + } + }, + "brokers": { + "type": "array", + "description": "Specify broker information. Use this option only if you are using Broker Select Option for your shipment. A country code must be specified in addition to one of the following address items: postal code, city, or location id.", + "items": { + "$ref": "#/components/schemas/BrokerDetail" + } + }, + "commercialInvoice": { + "$ref": "#/components/schemas/CommercialInvoice" + }, + "freightOnValue": { + "type": "string", + "description": "Specify the risk owner for the Freight shipment.This element is only mandatory or valid for Intra India shipments.
            Example: OWN_RISK", + "example": "OWN_RISK", + "enum": [ + "CARRIER_RISK", + "OWN_RISK" + ] + }, + "dutiesPayment": { + "$ref": "#/components/schemas/Payment_1_tag" + }, + "commodities": { + "type": "array", + "description": "Indicates the details about the dutiable packages. Maximum upto 999 commodities per shipment.", + "items": { + "$ref": "#/components/schemas/Commodity" + } + }, + "isDocumentOnly": { + "type": "boolean", + "description": "Defaults to false. Only used for international Express requests to indicate if just documents are being shipped or not. A valude of DERIVED will cause the value to be determined by PMIS based on the specified commodities information
            Example: false", + "example": false + }, + "recipientCustomsId": { + "$ref": "#/components/schemas/RecipientCustomsId" + }, + "customsOption": { + "$ref": "#/components/schemas/CustomsOptionDetail" + }, + "importerOfRecord": { + "description": "The descriptive data for the importer of Record for the shipment and their physical address, contact and account number information.", + "$ref": "#/components/schemas/Party" + }, + "generatedDocumentLocale": { + "type": "string", + "description": "This is the locale for generated document.
            Example: en_US
            click here to see Locales
            Note: If the locale is left blank or an invalid locale is entered, an error message is returned in response.", + "example": "en_US" + }, + "exportDetail": { + "$ref": "#/components/schemas/ExportDetail" + }, + "totalCustomsValue": { + "description": "This is the total customs value.", + "$ref": "#/components/schemas/Money" + }, + "partiesToTransactionAreRelated": { + "type": "boolean", + "description": "Specify if the transacting parties are related." + }, + "declarationStatementDetail": { + "$ref": "#/components/schemas/CustomsDeclarationStatementDetail" + }, + "insuranceCharge": { + "description": "Specify insurance charges if applicable.
            Note: FedEx does not provide insurance of any kind.", + "$ref": "#/components/schemas/Money" + } + }, + "description": "These are customs clearance details. Required for International and intra-country Shipments." + }, + "Payment_1_tag": { + "type": "object", + "properties": { + "payor": { + "$ref": "#/components/schemas/Payor_1_tag" + }, + "billingDetails": { + "$ref": "#/components/schemas/BillingDetails" + }, + "paymentType": { + "type": "string", + "description": "Indicates who and how the shipment will be paid for.Required for Express and Ground.
            Example: SENDER", + "enum": [ + "SENDER", + "RECIPIENT", + "THIRD_PARTY", + "COLLECT" + ], + "example": "SENDER" + } + }, + "description": "This is a payment type, basically indicates who is the payor for the shipment.Conditional required for International Shipments", + "example": { + "payor": { + "responsibleParty": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "38127", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneNumber": "1234567890", + "phoneExtension": "phone extension", + "companyName": "Fedex", + "faxNumber": "fax number" + }, + "accountNumber": { + "value": "Your account number" + }, + "tins": [ + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2024-06-13", + "expirationDate": "2024-06-13" + }, + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2024-06-13", + "expirationDate": "2024-06-13" + } + ] + } + }, + "billingDetails": { + "billingCode": "billingCode", + "billingType": "billingType", + "aliasId": "aliasId", + "accountNickname": "accountNickname", + "accountNumber": "Your account number", + "accountNumberCountryCode": "US" + }, + "paymentType": "SENDER" + } + }, + "Payor_1_tag": { + "type": "object", + "properties": { + "responsibleParty": { + "$ref": "#/components/schemas/Party_2_tag" + } + }, + "description": "Information about the person who is paying for the shipment. Not applicable for credit card payment. ", + "example": { + "responsibleParty": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "38127", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneNumber": "1234567890", + "phoneExtension": "phone extension", + "companyName": "Fedex", + "faxNumber": "fax number" + }, + "accountNumber": { + "value": "Your account number" + }, + "tins": [ + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + }, + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ] + } + } + }, + "Party_2_tag": { + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/Address" + }, + "contact": { + "$ref": "#/components/schemas/Contact" + }, + "accountNumber": { + "$ref": "#/components/schemas/PartyAccountNumber_tag" + }, + "tins": { + "type": "array", + "description": "This is the tax identification number details.", + "items": { + "$ref": "#/components/schemas/TaxpayerIdentification" + } + } + }, + "description": "Use this object to provide the attributes such as physical address, contact information and account number information.", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "38127", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneNumber": "1234567890", + "phoneExtension": "phone extension", + "companyName": "Fedex", + "faxNumber": "fax number" + }, + "accountNumber": { + "value": "Your account number" + }, + "tins": [ + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + }, + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ] + } + }, + "SHPCResponseVO_CreateTag": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
            Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "customerTransactionId": { + "type": "string", + "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
            Example: AnyCo_order123456789", + "example": "AnyCo_order123456789" + }, + "output": { + "$ref": "#/components/schemas/CreateTagOutputVO" + } + }, + "description": "Wrapper class for ShipShipmentOutputVO. It holds transactionId and output." + }, + "CreateTagOutputVO": { + "type": "object", + "properties": { + "masterTrackingNumber": { + "type": "string", + "description": "Specifies the Master Tracking Number for the requested shipment.
            Example: 997338100007320", + "example": "997338100007320" + }, + "serviceType": { + "type": "string", + "description": "Specifies the service type for this shipment.
            Example: GROUND_HOME_DELIVERY
            Click here to see Service Types", + "example": "GROUND_HOME_DELIVERY" + }, + "shipTimestamp": { + "type": "string", + "description": "Specifies the shipment date and time. The default timestamp is the current date-time. Format is MMM-dd-yyyy.
            Example: 2019-10-04", + "example": "2019-10-04" + }, "completedTagDetail": { "$ref": "#/components/schemas/CompletedTagDetail" }, @@ -6967,38 +7213,211 @@ "description": "The transaction ID is a special set of numbers that defines each transaction.
            Example: 624deea6-b709-470c-8c39-4b5511281492", "example": "624deea6-b709-470c-8c39-4b5511281492" }, - "customerTransactionId": { - "type": "string", - "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
            Example: AnyCo_order123456789", - "example": "AnyCo_order123456789" + "customerTransactionId": { + "type": "string", + "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
            Example: AnyCo_order123456789", + "example": "AnyCo_order123456789" + }, + "output": { + "$ref": "#/components/schemas/CancelTagOuputVO" + } + }, + "description": "Wrapper class for CancelTagOuputVO. It holds transactionId and output." + }, + "CancelTagOuputVO": { + "type": "object", + "properties": { + "cancelledTag": { + "type": "boolean", + "description": "Indicates whether the tag has been cancelled or not. If true, then the tag has been successfully cancelled.
            Example: true", + "example": true + }, + "successMessage": { + "type": "string", + "description": "Message received when a tag is successfully cancelled.
            Example: success", + "example": "success" + } + }, + "description": "The output details when a tag is cancelled." + }, + "RequestedShipment": { + "required": [ + "labelSpecification", + "packagingType", + "pickupType", + "recipients", + "requestedPackageLineItems", + "serviceType", + "shipper", + "shippingChargesPayment", + "totalWeight" + ], + "type": "object", + "properties": { + "shipDatestamp": { + "type": "string", + "description": "This is the shipment date. Default value is current date in case the date is not provided or a past date is provided.
            Format [YYYY-MM-DD].
            Example: 2019-10-14", + "example": "2019-10-14" + }, + "totalDeclaredValue": { + "description": "It is the sum of all declared values of all packages in a shipment. The amount of totalDeclaredValue must be equal to the sum of all the individual declaredValues in the shipment. The declaredValue and totalDeclaredValue must match in all currencies in one shipment. This value represents FedEx maximum liability associated with a shipment. This is including, but not limited to any loss, damage, delay, misdelivery, any failure to provide information, or misdelivery of information related to the Shipment.
            Note: The totalDeclaredValue should not exceed customsValue.", + "$ref": "#/components/schemas/Money" + }, + "shipper": { + "description": "Indicate the Shipper contact details for this shipment.", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "91", + "phoneNumber": "XXXX567890", + "companyName": "Fedex" + }, + "tins": [ + { + "number": "XXX567", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2024-06-13", + "expirationDate": "2024-06-13" + } + ] + }, + "$ref": "#/components/schemas/ShipperParty" + }, + "recipients": { + "type": "array", + "description": "Indicate the descriptive data for the recipient location to which the shipment is to be received.", + "items": { + "$ref": "#/components/schemas/RecipientsParty" + } + }, + "soldTo": { + "description": "Will indicate the party responsible for purchasing the goods shipped from the shipper to the recipient. The sold to party is not necessarily the recipient or the importer of record. The sold to party is relevant when the purchaser, rather than the recipient determines when certain customs regulations apply.", + "$ref": "#/components/schemas/SoldToParty" + }, + "recipientLocationNumber": { + "type": "string", + "description": "A unique identifier for a recipient location.
            Example:1234567", + "example": "1234567" + }, + "pickupType": { + "type": "string", + "description": "Indicates if shipment is being dropped off at a FedEx location or being picked up by FedEx or if it's a regularly scheduled pickup for this shipment. Required for FedEx Express and Ground Shipment.
            Example: USE_SCHEDULED_PICKUP", + "example": "USE_SCHEDULED_PICKUP", + "enum": [ + "CONTACT_FEDEX_TO_SCHEDULE", + "DROPOFF_AT_FEDEX_LOCATION", + "USE_SCHEDULED_PICKUP" + ] + }, + "serviceType": { + "type": "string", + "description": "Indicate the FedEx service type used for this shipment.
            Example: STANDARD_OVERNIGHT
            click here to see Service Types", + "example": "PRIORITY_OVERNIGHT" + }, + "packagingType": { + "type": "string", + "description": "Specify the packaging used.
            Note: For Express Freight shipments, the packaging will default to YOUR_PACKAGING irrespective of the user provided package type in the request.
            Example: FEDEX_PAK
            click here to see Package Types", + "example": "YOUR_PACKAGING" + }, + "totalWeight": { + "type": "number", + "description": "Indicate the shipment total weight in pounds.
            Example: 10.6
            Note:
            • This only applies to International shipments and should be used on the first package of a multiple piece shipment.
            • This value contains 1 explicit decimal position.
            • For one Label at a time shipments, the unit of totalWeight is considered same as the unit of weight provided in requestedPackageLineItem field.
            ", + "format": "double", + "example": 20.6 + }, + "origin": { + "description": "Indicate shipment origin address information, if it is different from the shipper address.", + "$ref": "#/components/schemas/ContactAndAddress" + }, + "shippingChargesPayment": { + "$ref": "#/components/schemas/Payment" + }, + "shipmentSpecialServices": { + "$ref": "#/components/schemas/ShipmentSpecialServicesRequested" + }, + "emailNotificationDetail": { + "$ref": "#/components/schemas/ShipShipmentEMailNotificationDetail" + }, + "expressFreightDetail": { + "$ref": "#/components/schemas/ExpressFreightDetail" + }, + "variableHandlingChargeDetail": { + "$ref": "#/components/schemas/VariableHandlingChargeDetail" + }, + "customsClearanceDetail": { + "$ref": "#/components/schemas/CustomsClearanceDetail" + }, + "smartPostInfoDetail": { + "$ref": "#/components/schemas/SmartPostInfoDetail" }, - "output": { - "$ref": "#/components/schemas/CancelTagOuputVO" - } - }, - "description": "Wrapper class for CancelTagOuputVO. It holds transactionId and output." - }, - "CancelTagOuputVO": { - "type": "object", - "properties": { - "cancelledTag": { + "blockInsightVisibility": { "type": "boolean", - "description": "Indicates whether the tag has been cancelled or not. If true, then the tag has been successfully cancelled.
            Example: true", + "description": "If true, only the shipper/payer will have visibility of this shipment.
            Valid Value : true, false.
            Default:false
            Example: true", "example": true }, - "successMessage": { + "labelSpecification": { + "$ref": "#/components/schemas/LabelSpecification" + }, + "shippingDocumentSpecification": { + "$ref": "#/components/schemas/ShippingDocumentSpecification" + }, + "rateRequestType": { + "type": "array", + "description": "Indicate the type of rates to be returned. The account specific rates are returned by default if the account number is specified in the request.
            Following are values:
            • LIST - Returns FedEx published list rates in addition to account-specific rates (if applicable).
            • INCENTIVE - This is one-time discount for incentivising the customer. For more information, contact your FedEx representative.
            • ACCOUNT - Returns account specific rates (Default).
            • PREFERRED - Returns rates in the preferred currency specified in the element preferredCurrency.
            • RETAIL - Returns customer rate from one of retail FedEx service centers.
            Examples: [\"ACCOUNT\", \"PREFERRED\"]", + "example": [ + "LIST", + "PREFERRED" + ], + "items": { + "type": "string", + "enum": [ + "LIST", + "NONE", + "PREFERRED", + "ACCOUNT", + "INCENTIVE", + "RETAIL" + ] + } + }, + "preferredCurrency": { "type": "string", - "description": "Message received when a tag is successfully cancelled.
            Example: success", - "example": "success" + "description": "Indicate the currency the caller requests to have used in all returned monetary values. Should be Used in conjunction with the element RateRequestType.
            Example: USD
            click here to see available Currency codes
            Note: Incorrect currency codes should not be supplied. The system ignores the incorrect currency code.", + "example": "USD" + }, + "totalPackageCount": { + "type": "integer", + "description": "For an MPS, this is the total number of packages in the shipment.Applicable for parent shipment for one label at a time shipments.
            Example: 25", + "format": "int32", + "example": 25 + }, + "masterTrackingId": { + "$ref": "#/components/schemas/MasterTrackingId" + }, + "requestedPackageLineItems": { + "type": "array", + "description": "These are one or more package-attribute descriptions, each of which describes an individual package, a group of identical packages, or (for the total-piece-total-weight case) common characteristics of all packages in the shipment.
            • At least one instance containing the weight for at least one package is required for EXPRESS and GROUND shipments.
            • Single piece requests will have one RequestedPackageLineItem.
            • Multiple piece requests will have multiple RequestedPackageLineItems.
            • Maximum occurrences is 30.
            ", + "items": { + "$ref": "#/components/schemas/RequestedPackageLineItem" + } } }, - "description": "The output details when a tag is cancelled." + "description": "The descriptive data of the requested shipment." }, "Address": { - "required": [ - "countryCode", - "streetLines" - ], "type": "object", "properties": { "streetLines": { @@ -7103,7 +7522,8 @@ "description": "Indicate the weight unit type. The package and commodity weight unit should be the same else the request will result in an error.
            Example:KG", "example": "KG", "enum": [ - "KG" + "KG", + "LB" ] }, "value": { @@ -7174,209 +7594,113 @@ } } }, - "DocTabContentZone": { - "type": "object", - "properties": { - "docTabZoneSpecifications": { - "type": "array", - "description": "Indicate the doc tab specifications for the individual doc tab zone on the label.", - "items": { - "$ref": "#/components/schemas/DocTabZoneSpecification" - } - } - }, - "description": "Indicate the doc tab specification for different zones on the label. The specification includes zone number, header and data field to be displayed on the label." - }, - "HazardousCommodityQuantityDetail": { + "Commodity": { "required": [ - "amount", - "quantityType" + "description" ], "type": "object", "properties": { - "quantityType": { - "type": "string", - "description": "Specifies which measure of quantity is to be validated.", - "example": "NET", - "enum": [ - "GROSS", - "NET" - ] - }, - "amount": { - "type": "number", - "description": "Number of units of the type below.
            Example: 34.56", - "format": "double", - "example": 34.56 - }, - "units": { - "type": "string", - "description": "Specifies the units.
            Example: KG", - "example": "Kg" - } - }, - "description": "Indicates the Hazardous Commodity Quantity Detail." - }, - "HazardousCommodityContent": { - "type": "object", - "properties": { - "quantity": { - "$ref": "#/components/schemas/HazardousCommodityQuantityDetail" + "unitPrice": { + "description": "This is the unit price.", + "$ref": "#/components/schemas/Money" }, - "innerReceptacles": { + "additionalMeasures": { "type": "array", - "description": "Specifies the inner receptacles within the container.", + "description": "This object contains additional quantitative information other than weight and quantity to calculate duties and taxes.", "items": { - "$ref": "#/components/schemas/HazardousCommodityInnerReceptacleDetail" + "$ref": "#/components/schemas/AdditionalMeasures" } }, - "options": { - "$ref": "#/components/schemas/HazardousCommodityOptionDetail" + "numberOfPieces": { + "type": "integer", + "description": "Indicate the number of pieces associated with the commodity. The value can neither be negative nor exceed 9,999.
            Example: 12", + "format": "int32", + "example": 12 }, - "description": { - "$ref": "#/components/schemas/HazardousCommodityDescription" - } - }, - "description": "Customer-provided specifications for handling individual commodities." - }, - "HazardousCommodityInnerReceptacleDetail": { - "type": "object", - "properties": { "quantity": { - "$ref": "#/components/schemas/HazardousCommodityQuantityDetail" - } - } - }, - "HazardousCommodityOptionDetail": { - "type": "object", - "properties": { - "labelTextOption": { - "type": "string", - "description": "Indicates the label text option.", - "enum": [ - "APPEND", - "OVERRIDE", - "STANDARD" - ] - }, - "customerSuppliedLabelText": { - "type": "string", - "description": "'DG Data Upload Mode:- Optional.,DG Full Validation Mode:- Optional,Text used in labeling the commodity under control of the LabelTextOption field
            Example:Customer Supplied Label Text' \n\n", - "example": "Customer Supplied Label Text." - } - }, - "description": "Indicates details of hazardous commodity option detail." - }, - "HazardousCommodityDescription": { - "required": [ - "packingGroup", - "reportableQuantity" - ], - "type": "object", - "properties": { - "sequenceNumber": { "type": "integer", - "description": "Required
            Specify the sequence number.
            Example: 9812", + "description": "This is the units quantity (using quantityUnits as the unit of measure) per commodity. This is used to estimate duties and taxes.
            Example: 125", "format": "int32", - "example": 9812 + "example": 125 }, - "processingOptions": { - "type": "array", - "description": "Indicates any special processing options to be applied to the description of the dangerous goods commodity
            Example: [\"INCLUDE_SPECIAL_PROVISIONS\"]", - "items": { - "type": "string", - "example": "INCLUDE_SPECIAL_PROVISIONS", - "enum": [ - "INCLUDE_SPECIAL_PROVISIONS" - ] - } + "quantityUnits": { + "type": "string", + "description": "This is the unit of measure for the units quantity. This is used to estimate duties and taxes.
            Example: EA
            click here to see Commodity Unit Measures", + "example": "Ea" }, - "subsidiaryClasses": { - "type": "array", - "description": "Required\n\nIndicates list of subsidiary classes
            Example: [\"Subsidiary Classes\"]", - "example": [ - "Subsidiary Classes" - ], - "items": { - "type": "string" - } + "customsValue": { + "description": "This customs value is applicable for all items(or units) under the specified commodity.", + "$ref": "#/components/schemas/Customs_Money" }, - "labelText": { + "countryOfManufacture": { "type": "string", - "description": "Specifies the text for the label.", - "example": "labelText" + "description": "This is commodity country of manufacture. This is required for International shipments. Maximum allowed length is 4.
            Example: US
            click here to see Country codes", + "example": "US" }, - "technicalName": { + "cIMarksAndNumbers": { "type": "string", - "description": "Specifies the technical name for the hazardous material.", - "example": "technicalName" + "description": "This is an identifying mark or number used on the packaging of a shipment to help customers identify a particular shipment
            Example: 87123", + "example": "87123" }, - "packingDetails": { - "$ref": "#/components/schemas/HazardousCommodityPackingDetail" + "harmonizedCode": { + "type": "string", + "description": "This is to specify the Harmonized Tariff System (HTS) code to meet U.S. and foreign governments' customs requirements. These are mainly used to estimate the duties and taxes.
            Example: 0613
            To research the classification for your commodity, use the FedEx Global Trade Manager online at fedex.com/gtm. You will find country-specific information to determine whether your commodity is considered to be a document or non-document for your destination.", + "example": "0613" }, - "authorization": { + "description": { "type": "string", - "description": "Information related to quantity limitations and operator or state variations as may be applicable to the dangerous goods commodity.", - "example": "authorization" + "description": "Required
            ScrewsMaximum allowed 450 characters.
            Example: description", + "example": "description" }, - "reportableQuantity": { - "type": "boolean", - "description": "Reportable Quantity", - "example": true + "name": { + "type": "string", + "description": "This is Commodity name.
            Example: Non-Threaded Rivets", + "example": "non-threaded rivets" }, - "percentage": { - "type": "number", - "description": "Percentage
            Example: 12.45", - "format": "double", - "example": 12.45 + "weight": { + "$ref": "#/components/schemas/Weight" }, - "id": { + "exportLicenseNumber": { "type": "string", - "description": "ID
            Example: 123", - "example": "123" + "description": "This is the export license number for the shipment.
            Example: 26456", + "example": "26456" }, - "packingGroup": { + "exportLicenseExpirationDate": { "type": "string", - "description": "Identifies DOT packing group for a hazardous commodity", - "example": "I", - "enum": [ - "DEFAULT", - "I", - "II", - "III" - ] + "description": "Specify the export license expiration date for the shipment.
            Format YYYY-MM-DD
            Example : 2009-04-12", + "format": "date-time" }, - "properShippingName": { + "partNumber": { "type": "string", - "description": "The proper shipping name as defined by the regulation. The name can also include qualifying words
            Example: properShippingName", - "example": "properShippingName" + "description": "This is a part number.
            Example: 167", + "example": "167" }, - "hazardClass": { + "purpose": { "type": "string", - "description": "Specifies the hazard class for the commodity
            Example: hazard Class\n", - "example": "hazard Class" + "description": "This field is used for calculation of duties and taxes.

            Valid values are : BUSINESS and CONSUMER.
            Example:BUSINESS", + "example": "BUSINESS", + "enum": [ + "BUSINESS", + "CONSUMER" + ] + }, + "usmcaDetail": { + "$ref": "#/components/schemas/UsmcaDetail" } - }, - "description": "Required
            Details of hazardous commodity description." + } }, - "HazardousCommodityPackingDetail": { - "required": [ - "cargoAircraftOnly" - ], + "DocTabContentZone": { "type": "object", "properties": { - "packingInstructions": { - "type": "string", - "description": "Coded specification for how commodity is to be packed.
            Example: packing Instructions", - "example": "packing Instructions" - }, - "cargoAircraftOnly": { - "type": "boolean", - "description": "A Boolean value that, when True, specifies the mode of shipment transportation should be Cargo Aircraft for Dangerous Goods.
            Note: An identifier DGD-CAO is added in AWB for cargo aircraft shipments.Example: true", - "example": true + "docTabZoneSpecifications": { + "type": "array", + "description": "Indicate the doc tab specifications for the individual doc tab zone on the label.", + "items": { + "$ref": "#/components/schemas/DocTabZoneSpecification" + } } }, - "description": "Specifies documentation and limits for validation of an individual packing group/category. DG Data Upload Mode: Required (IATA), Optional (Other), DG Full Validation Mode: Required (IATA), Optional (Other)," + "description": "Indicate the doc tab specification for different zones on the label. The specification includes zone number, header and data field to be displayed on the label." }, "CXSError": { "type": "object", @@ -7480,7 +7804,7 @@ }, "stateOrProvinceCode": { "type": "string", - "description": "The US States,Canada and Puerto Rico Province codes of the recipient. The Format and presence of this field may vary depending on the country.State code is required for US, CA, PR and not required for other countries. Conditional. Max length is 2.
            Example: CA", + "description": "It is used to identify the principal subdivisions (e.g., provinces or states) of countries. The Format and presence of this field may vary depending on the country. Note: For specific countries, such as the United States and Canada, and Puerto Rico, there is a two-character state, province, codes limit . Example: TX", "example": "CA" }, "postalCode": { @@ -8126,8 +8450,7 @@ }, "ShipmentDryIceDetail_2": { "required": [ - "packageCount", - "totalWeight" + "packageCount" ], "type": "object", "properties": { diff --git a/resources/models/track/v1.json b/resources/models/track/v1.json index ae9b5900..372a7351 100644 --- a/resources/models/track/v1.json +++ b/resources/models/track/v1.json @@ -3611,7 +3611,7 @@ }, "openapi": "3.0.0", "info": { - "title": "Track API", + "title": "Basic Integrated Visibility ", "version": "1.0.0" } } \ No newline at end of file diff --git a/resources/models/trade-documents-upload/v1.json b/resources/models/trade-documents-upload/v1.json index dc6a44a3..1dd1d720 100644 --- a/resources/models/trade-documents-upload/v1.json +++ b/resources/models/trade-documents-upload/v1.json @@ -3,7 +3,7 @@ "/documents/v1/etds/upload": { "post": { "summary": "Upload Document", - "description": "Use this endpoint to upload the trade documentss electronicallyy before (pre-shipment) and after (post-shipment) the shipment is created.
            Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.", + "description": "Use this endpoint to upload the trade documents electronically before (pre-shipment) and after (post-shipment) the shipment is created.
            Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.", "operationId": "Upload ETD files", "parameters": [ { @@ -469,6 +469,16 @@ } } ], + "servers": [ + { + "url": "https://documentapitest.prod.fedex.com/sandbox", + "description": "EDU Sandbox Server" + }, + { + "url": "https://documentapi.prod.fedex.com", + "description": "EDU Production Server" + } + ], "requestBody": { "content": { "multipart/form-data": { @@ -477,80 +487,13 @@ }, "examples": { "FullSchema-MultiDocumentRequest": { - "value": { - "workflowName": "ETDPreshipment", - "carrierCode": "FDXE", - "originCountryCode": "US", - "destinationCountryCode": "CA", - "shipmentDate": "2024-05-21T00:00:00", - "trackingNumber": "1122334455", - "metaData": [ - { - "fileName": "Penguin.png", - "fileReferenceId": "CI_1", - "contentType": "image/png", - "formCode": "USMCA", - "shipDocumentType": "COMMERCIAL_INVOICE" - }, - { - "fileName": "file1.txt", - "fileReferenceId": "PI_2", - "contentType": "text/plain", - "formCode": "USMCA", - "shipDocumentType": "PRO_FORMA_INVOICE" - } - ] - } + "value": "documentInformation: {\"workflowName\": \"ETDPreshipment\",\"carrierCode\": \"FDXE\",\"originCountryCode\": \"US\",\"destinationCountryCode\": \"CA\",\"shipmentDate\": \"2021-10-21T00:00:00\",\"trackingNumber\": \"782514212510\",\"metaData\": [{\"fileName\":\"file1.png\",\"fileReferenceId\":\"inv_file1_ctx_02132021_5\",\"contentType\": \"image/png\",\"formCode\": \"USMCA\",\"shipDocumentType\":\"COMMERCIAL_INVOICE\"},{\"fileName\":\"file2.txt\", \"fileReferenceId\":\"PI_2\", \"contentType\":\"text/plain\", \"formCode\": \"USMCA\", \"shipDocumentType\":\"PRO_FORMA_INVOICE\"},{\"fileName\":\"file3.txt\", \"fileReferenceId\":\"PI_2\", \"contentType\":\"text/plain\", \"formCode\": \"USMCA\", \"shipDocumentType\":\"PRO_FORMA_INVOICE\"},{\"fileName\":\"file4.txt\", \"fileReferenceId\":\"PI_2\", \"contentType\":\"text/plain\", \"formCode\": \"USMCA\", \"shipDocumentType\":\"PRO_FORMA_INVOICE\"},{\"file5.txt\", \"fileReferenceId\":\"PI_2\", \"contentType\":\"text/plain\", \"formCode\": \"USMCA\", \"shipDocumentType\":\"PRO_FORMA_INVOICE\"}]\nfileAttachments: 'file1.png'\nfileAttachments: 'file2.txt'\nfileAttachments: 'file3.txt'\nfileAttachments: 'file4.txt'\nfileAttachments: 'file5.txt'" }, "MinimumSamplePayload-MultiPreShipment": { - "value": { - "workflowName": "ETDPreshipment", - "carrierCode": "FDXE", - "originCountryCode": "US", - "destinationCountryCode": "CA", - "metaData": [ - { - "fileName": "Penguin.png", - "fileReferenceId": "CI_1", - "contentType": "image/png", - "formCode": "USMCA", - "shipDocumentType": "COMMERCIAL_INVOICE" - }, - { - "fileName": "file1.txt", - "fileReferenceId": "PI_2", - "contentType": "text/plain", - "formCode": "USMCA", - "shipDocumentType": "PRO_FORMA_INVOICE" - } - ] - } + "value": "documentInformation: {\"workflowName\": \"ETDPreshipment\",\"carrierCode\": \"FDXE\",\"originCountryCode\": \"US\",\"destinationCountryCode\": \"CA\",\"shipmentDate\": \"2023-05-21T00:00:00\",\"trackingNumber\": \"782514212510\",\"metaData\": [{\"fileName\":\"file1.png\",\"fileReferenceId\":\"inv_file1_ctx_02132021_5\",\"contentType\": \"image/png\",\"formCode\": \"USMCA\",\"shipDocumentType\":\"COMMERCIAL_INVOICE\"}]\nfileAttachments: 'file.png'" }, "MinimumSamplePayload-MultiPostShipment": { - "value": { - "workflowName": "ETDPostshipment", - "carrierCode": "FDXE", - "originCountryCode": "US", - "destinationCountryCode": "CA", - "shipmentDate": "2024-05-21T00:00:00", - "trackingNumber": "1122334455", - "metaData": [ - { - "fileName": "Penguin.png", - "fileReferenceId": "CI_1", - "contentType": "image/png", - "formCode": "USMCA", - "shipDocumentType": "COMMERCIAL_INVOICE" - }, - { - "fileName": "file1.txt", - "fileReferenceId": "PI_2", - "contentType": "text/plain", - "formCode": "USMCA", - "shipDocumentType": "PRO_FORMA_INVOICE" - } - ] - } + "value": "documentInformation: {\"workflowName\": \"ETDPostshipment\",\"carrierCode\": \"FDXE\",\"originCountryCode\": \"US\",\"destinationCountryCode\": \"CA\",\"shipmentDate\": \"2023-10-21T00:00:00\",\"trackingNumber\": \"782514212510\",\"metaData\": [{\"fileName\":\"file1.png\",\"fileReferenceId\":\"inv_file1_ctx_02132021_5\",\"contentType\": \"image/png\",\"formCode\": \"USMCA\",\"shipDocumentType\":\"COMMERCIAL_INVOICE\"}]\nfileAttachments: 'file.png'" } } } @@ -776,9 +719,19 @@ } } ], + "servers": [ + { + "url": "https://documentapitest.prod.fedex.com/sandbox", + "description": "EDU Sandbox Server" + }, + { + "url": "https://documentapi.prod.fedex.com", + "description": "EDU Production Server" + } + ], "requestBody": { "content": { - "multipart/form-data": { + "application/json": { "schema": { "$ref": "#/components/schemas/FullSchema-Base64MultiDocumentRequest" }, @@ -836,6 +789,8 @@ "carrierCode": "FDXE", "originCountryCode": "US", "destinationCountryCode": "CA", + "shipmentDate": "2024-01-06T00:00:00", + "trackingNumber": "782514212510", "metaData": [ { "fileReferenceId": "inv_file1_ctx_02132021_1", diff --git a/src/Api/AddressValidationV1/Requests/ValidateAddress.php b/src/Api/AddressValidationV1/Requests/ValidateAddress.php index 52a53f43..2953376b 100644 --- a/src/Api/AddressValidationV1/Requests/ValidateAddress.php +++ b/src/Api/AddressValidationV1/Requests/ValidateAddress.php @@ -24,10 +24,10 @@ /** * Validate Address * - * Use this endpoint to get address resolution details. These details are the outcome of validation - * andddd resolution of the input address. An address is stated assss resolved when the input address - * matches the known reference data...
            Note: FedEx APIs do not support Cross-Origin Resource - * Sharing (CORS) mechanism. + * Use this endpointtt to get address resolution details. These details areee the outcome of validation + * and resolution of the input address. An address is stated as resolved when the input address matches + * the known reference data.
            Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) + * mechanism. */ class ValidateAddress extends Request implements HasBody { diff --git a/src/Api/AuthorizationV1/Dto/FullSchema.php b/src/Api/AuthorizationV1/Dto/FullSchema.php index 2aecdc99..d5ec1204 100644 --- a/src/Api/AuthorizationV1/Dto/FullSchema.php +++ b/src/Api/AuthorizationV1/Dto/FullSchema.php @@ -23,11 +23,11 @@ final class FullSchema extends Dto ]; /** - * @param string $grantType Specify Type of customer requesting the Oauth token.
            Valid Values: client_credentials, csp_credentials, client_pc_credentials
            Note:
            client_credentials - should be used for customers and brand new Compatible Provider customers who are yet to unboard child accounts.
            csp_credentials - should be used for Compatible Provider customers with existing child accounts.
            client_pc_credentials – should be used for Proprietary Parent Child customers. + * @param string $grantType Specify Type of customer requesting the Oauth token.
            Valid Values: client_credentials, csp_credentials, client_pc_credentials
            Note:
            client_credentials - should be used for customers, Integrators, and brand new Compatible Provider customers who are yet to unboard child accounts.
            csp_credentials - should be used for Integrators, and Compatible Provider customers with existing child accounts.
            client_pc_credentials – should be used for Proprietary Parent Child customers. * @param string $clientId Specify the Client ID also known as API Key received during FedEx Developer portal registration.
            Example: XXXX-XXX-XXXX-XXX * @param string $clientSecret Specify the Client secret also known as Secret Key received during FedEx Developer portal registration.
            Example: XXXX-XXX-XXXX-XXX - * @param ?string $childKey Specify the Client ID also known as Customer Key. This element is used as a login credential for a Compatible customer or a Proprietary Parent Child customer to access the application on behalf of their customer.
            Example: XXXX-XXX-XXXX-XXX
            Note: This element should be used by Compatible and Proprietary Parent Child customers. - * @param ?string $childSecret Specify the Client secret also known as Customer Secret. This element is used as a login credential for a Compatible customer or a Proprietary Parent Child customer to access the application on behalf of their customer.
            Example: XXXX-XXX-XXXX-XXX
            Note: This element should be used by Compatible and Proprietary Parent Child customers. + * @param ?string $childKey Specify the Client ID also known as Customer Key. This element is used as a login credential for an Integrator customer, Compatible customer or a Proprietary Parent Child customer to access the application on behalf of their customer.
            Example: XXXX-XXX-XXXX-XXX
            Note: This element should be used by Integrator, Compatible and Proprietary Parent Child customers. + * @param ?string $childSecret Specify the Client secret also known as Customer Secret. This element is used as a login credential for an Integrator customer, Compatible customer or a Proprietary Parent Child customer to access the application on behalf of their customer.
            Example: XXXX-XXX-XXXX-XXX
            Note: This element should be used by Integrator, Compatible and Proprietary Parent Child customers. */ public function __construct( public string $grantType, diff --git a/src/Api/ConsolidationV1/Dto/FreightChargeMoney.php b/src/Api/ConsolidationV1/Dto/FreightChargeMoney.php index 30665fd9..fb89d812 100644 --- a/src/Api/ConsolidationV1/Dto/FreightChargeMoney.php +++ b/src/Api/ConsolidationV1/Dto/FreightChargeMoney.php @@ -15,7 +15,7 @@ final class FreightChargeMoney extends Dto { /** - * @param string $currency This is the currency of the commodity value used for Customs declaration.Click here to see Currency Codes + * @param string $currency This is the currency of the commodity value used for Customs declaration.click here to see Currency Codes * @param ?float $amount This is commodity value in amount used for Customs declaration.
            Max limit: 7 digits before decimal. */ public function __construct( diff --git a/src/Api/ConsolidationV1/Dto/HandlingCostCharges.php b/src/Api/ConsolidationV1/Dto/HandlingCostCharges.php index bb94f141..606ad20e 100644 --- a/src/Api/ConsolidationV1/Dto/HandlingCostCharges.php +++ b/src/Api/ConsolidationV1/Dto/HandlingCostCharges.php @@ -15,7 +15,7 @@ final class HandlingCostCharges extends Dto { /** - * @param string $currency This is the currency of the commodity value used for Customs declaration.Click here to see Currency Codes + * @param string $currency This is the currency of the commodity value used for Customs declaration.
            click here to see Currency Codes * @param ?float $amount This is commodity value in amount used for Customs declaration.
            Max limit: 7 digits before decimal. */ public function __construct( diff --git a/src/Api/ConsolidationV1/Dto/LabelSpecification.php b/src/Api/ConsolidationV1/Dto/LabelSpecification.php index 69df8dcc..de1d4970 100644 --- a/src/Api/ConsolidationV1/Dto/LabelSpecification.php +++ b/src/Api/ConsolidationV1/Dto/LabelSpecification.php @@ -21,12 +21,12 @@ final class LabelSpecification extends Dto * @param ?string $labelFormatType Specify the label Format Type.
            click here to see label format types * @param ?string $labelStockType Indicate the label stock type used.
            click here to see label format types * @param ?string $imageType Specify the image format used for a shipping document.
            click here to see label format types - * @param ShippingDocumentDispositionDetail[]|null $dispositions Specifies how to create, organize, and return the document. + * @param ShippingDocumentDispositionDetail[]|null $dispositions Specifies how to create, organize, and return the document + * @param ?int $resolution Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203. 300 DPI is only allowed for imageType is ZPLII. * @param ?string $labelPrintingOrientation This is applicable only to documents produced on thermal printers with roll stock. * @param ?string $labelRotation This is applicable only to documents produced on thermal printers with roll stock. - * @param ?string $labelOrder This is the order of the Shipping labels to be generated. + * @param ?string $labelOrder This is the order of the Shipping label/documents to be generated. * @param ?CustomerSpecifiedLabelDetail $customerSpecifiedDetail Allows customer-specified control of label content - * @param ?int $resolution Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203. */ public function __construct( public ContactAndAddress $printedLabelOrigin, @@ -35,10 +35,10 @@ public function __construct( public ?string $imageType = null, public ?LabelSpecificationProcessingOptionsRequested $processingOptionsRequested = null, public ?array $dispositions = null, + public ?int $resolution = null, public ?string $labelPrintingOrientation = null, public ?string $labelRotation = null, public ?string $labelOrder = null, public ?CustomerSpecifiedLabelDetail $customerSpecifiedDetail = null, - public ?int $resolution = null, ) {} } diff --git a/src/Api/ConsolidationV1/Dto/Money2.php b/src/Api/ConsolidationV1/Dto/Money2.php index 6c932844..a08337a4 100644 --- a/src/Api/ConsolidationV1/Dto/Money2.php +++ b/src/Api/ConsolidationV1/Dto/Money2.php @@ -15,7 +15,7 @@ final class Money2 extends Dto { /** - * @param string $currency This is the currency of the commodity value used for Customs declaration.Click here to see Currency Codes + * @param string $currency This is the currency of the commodity value used for Customs declaration.
            click here to see Currency Codes * @param ?float $amount This is commodity value in amount used for Customs declaration.
            Max limit: 7 digits before decimal. */ public function __construct( diff --git a/src/Api/ConsolidationV1/Dto/PackingCostCharges.php b/src/Api/ConsolidationV1/Dto/PackingCostCharges.php index f99687db..600d31c2 100644 --- a/src/Api/ConsolidationV1/Dto/PackingCostCharges.php +++ b/src/Api/ConsolidationV1/Dto/PackingCostCharges.php @@ -15,7 +15,7 @@ final class PackingCostCharges extends Dto { /** - * @param string $currency This is the currency of the commodity value used for Customs declaration.Click here to see Currency Codes + * @param string $currency This is the currency of the commodity value used for Customs declaration.click here to see Currency Codes * @param ?float $amount This is commodity value in amount used for Customs declaration.
            Max limit: 7 digits before decimal. */ public function __construct( diff --git a/src/Api/ConsolidationV1/Dto/RequestedConsolidation.php b/src/Api/ConsolidationV1/Dto/RequestedConsolidation.php index 9e53f31a..cc03a77c 100644 --- a/src/Api/ConsolidationV1/Dto/RequestedConsolidation.php +++ b/src/Api/ConsolidationV1/Dto/RequestedConsolidation.php @@ -31,8 +31,8 @@ final class RequestedConsolidation extends Dto * @param ?DistributionLocations $distributionLocation Specifies the distribution locations for consolidation.
            Mandatory for International Ground Distribution. * @param ConsolidationDataSources1Inner[]|null $consolidationDataSources Specifies how selected values in the consolidation are to be determined. * @param CustomerReferences1Inner[]|null $customerReferences These are additional customer reference data for commercial invoice. - * @param ?LabelSpecification2 $labelSpecification These are label specification details includes the image type, printer format, and label stock for label. Can also specify specific details such as doc-tab content, regulatory labels, and masking data on the label.
            Mandatory as it is needed during confirming consolidation. If it is not passed while creating consolidation it will fail during confirming consolidation. - * @param ?TransborderDistributionDetail $transborderDistributionDetail Specifies attributes of a shipment whithin a transborder distribution. + * @param ?LabelSpecification $labelSpecification These are label specification details includes the image type, printer format, and label stock for label. Can also specify specific details such as doc-tab content, regulatory labels, and masking data on the label.
            Mandatory as it is needed during confirming consolidation. If it is not passed while creating consolidation it will fail during confirming consolidation. + * @param ?TransborderDistributionDetail2 $transborderDistributionDetail Specifies attributes of a shipment whithin a transborder distribution. * @param ?ConsolidationDocumentSpec2 $consolidationDocumentSpecification Details of consolidation document specification * @param ?Payment $shippingChargesPayment Details about who and how the shipment will be paid for. 'payor' is optional when 'paymentType' provided is SENDER. * @param ?string $description Description of the package item. @@ -52,8 +52,8 @@ public function __construct( public ?DistributionLocations $distributionLocation = null, public ?array $consolidationDataSources = null, public ?array $customerReferences = null, - public ?LabelSpecification2 $labelSpecification = null, - public ?TransborderDistributionDetail $transborderDistributionDetail = null, + public ?LabelSpecification $labelSpecification = null, + public ?TransborderDistributionDetail2 $transborderDistributionDetail = null, public ?ConsolidationDocumentSpec2 $consolidationDocumentSpecification = null, public ?Payment $shippingChargesPayment = null, public ?string $description = null, diff --git a/src/Api/ConsolidationV1/Dto/TaxesOrMiscellaneousCharges.php b/src/Api/ConsolidationV1/Dto/TaxesOrMiscellaneousCharges.php index 75446cdc..5abb5119 100644 --- a/src/Api/ConsolidationV1/Dto/TaxesOrMiscellaneousCharges.php +++ b/src/Api/ConsolidationV1/Dto/TaxesOrMiscellaneousCharges.php @@ -15,7 +15,7 @@ final class TaxesOrMiscellaneousCharges extends Dto { /** - * @param string $currency This is the currency of the commodity value used for Customs declaration.Click here to see Currency Codes + * @param string $currency This is the currency of the commodity value used for Customs declaration.click here to see Currency Codes * @param ?float $amount This is commodity value in amount used for Customs declaration.
            Max limit: 7 digits before decimal. */ public function __construct( diff --git a/src/Api/ConsolidationV1/Dto/TotalInsuredMoney.php b/src/Api/ConsolidationV1/Dto/TotalInsuredMoney.php index 02577cf8..50ca5abe 100644 --- a/src/Api/ConsolidationV1/Dto/TotalInsuredMoney.php +++ b/src/Api/ConsolidationV1/Dto/TotalInsuredMoney.php @@ -15,7 +15,7 @@ final class TotalInsuredMoney extends Dto { /** - * @param string $currency This is the currency of the commodity value used for Customs declaration.
            Click here to see Currency Codes + * @param string $currency This is the currency of the commodity value used for Customs declaration.
            click here to see Currency Codes * @param ?float $amount This is commodity value in amount used for Customs declaration.
            Max limit: 7 digits before decimal. */ public function __construct( diff --git a/src/Api/ConsolidationV1/Dto/TransborderDistributionDetail1SpecialServicesRequested.php b/src/Api/ConsolidationV1/Dto/TransborderDistributionDetail1SpecialServicesRequested.php new file mode 100644 index 00000000..0c092595 --- /dev/null +++ b/src/Api/ConsolidationV1/Dto/TransborderDistributionDetail1SpecialServicesRequested.php @@ -0,0 +1,25 @@ +Payor is mandatory when the paymentType is RECIPIENT, THIRD_PARTY or COLLECT. + * @param ?TransborderDistributionDetailSpecialServicesRequestedTransborderDistributionLtlDetailPaymentEPaymentDetail $ePaymentDetail e-payment detail + * @param ?TransborderDistributionDetail1SpecialServicesRequestedTransborderDistributionLtlDetailPaymentCreditCard $creditCard Credit card details + * @param ?TransborderDistributionDetailSpecialServicesRequestedTransborderDistributionLtlDetailPaymentCreditCardTransactionDetail $creditCardTransactionDetail Details for the credit card transaction + * @param ?TransborderDistributionDetailSpecialServicesRequestedTransborderDistributionLtlDetailPaymentAmount $amount Currency type and amount details + */ + public function __construct( + public ?string $paymentType = null, + public ?TransborderDistributionDetail1SpecialServicesRequestedTransborderDistributionLtlDetailPaymentPayor $payor = null, + public ?TransborderDistributionDetailSpecialServicesRequestedTransborderDistributionLtlDetailPaymentEPaymentDetail $ePaymentDetail = null, + public ?TransborderDistributionDetail1SpecialServicesRequestedTransborderDistributionLtlDetailPaymentCreditCard $creditCard = null, + public ?TransborderDistributionDetailSpecialServicesRequestedTransborderDistributionLtlDetailPaymentCreditCardTransactionDetail $creditCardTransactionDetail = null, + public ?TransborderDistributionDetailSpecialServicesRequestedTransborderDistributionLtlDetailPaymentAmount $amount = null, + ) {} +} diff --git a/src/Api/ConsolidationV1/Dto/TransborderDistributionDetail1SpecialServicesRequestedTransborderDistributionLtlDetailPaymentCreditCard.php b/src/Api/ConsolidationV1/Dto/TransborderDistributionDetail1SpecialServicesRequestedTransborderDistributionLtlDetailPaymentCreditCard.php new file mode 100644 index 00000000..f8dbb0fb --- /dev/null +++ b/src/Api/ConsolidationV1/Dto/TransborderDistributionDetail1SpecialServicesRequestedTransborderDistributionLtlDetailPaymentCreditCard.php @@ -0,0 +1,33 @@ + TransborderDistributionDetailSpecialServicesRequestedTransborderDistributionLtlDetailPaymentPayorAssociatedAccounts::class, + ]; + + /** + * @param ?TransborderDistributionDetail1SpecialServicesRequestedTransborderDistributionLtlDetailPaymentPayorResponsibleParty $responsibleParty The descriptive information for the person who is responsible for the shipment. + * @param TransborderDistributionDetailSpecialServicesRequestedTransborderDistributionLtlDetailPaymentPayorAssociatedAccounts[]|null $associatedAccounts Other associated accounts + */ + public function __construct( + public ?TransborderDistributionDetail1SpecialServicesRequestedTransborderDistributionLtlDetailPaymentPayorResponsibleParty $responsibleParty = null, + public ?array $associatedAccounts = null, + ) {} +} diff --git a/src/Api/ConsolidationV1/Dto/TransborderDistributionDetail1SpecialServicesRequestedTransborderDistributionLtlDetailPaymentPayorResponsibleParty.php b/src/Api/ConsolidationV1/Dto/TransborderDistributionDetail1SpecialServicesRequestedTransborderDistributionLtlDetailPaymentPayorResponsibleParty.php new file mode 100644 index 00000000..e45af3c5 --- /dev/null +++ b/src/Api/ConsolidationV1/Dto/TransborderDistributionDetail1SpecialServicesRequestedTransborderDistributionLtlDetailPaymentPayorResponsibleParty.php @@ -0,0 +1,31 @@ + Tins::class]; + + /** + * @param ?string $accountNumber Account number of the payor + * @param Tins[]|null $tins Used for adding the tax id + * @param ?TransborderDistributionDetailSpecialServicesRequestedTransborderDistributionLtlDetailPaymentPayorResponsiblePartyContact $contact The descriptive data for a point-of-contact person. + * @param ?TransborderDistributionDetail1SpecialServicesRequestedTransborderDistributionLtlDetailPaymentPayorResponsiblePartyAddress $address Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of "address parts" which should be handled as a unit (such as a city-state-ZIP combination within the US). + */ + public function __construct( + public ?string $accountNumber = null, + public ?array $tins = null, + public ?TransborderDistributionDetailSpecialServicesRequestedTransborderDistributionLtlDetailPaymentPayorResponsiblePartyContact $contact = null, + public ?TransborderDistributionDetail1SpecialServicesRequestedTransborderDistributionLtlDetailPaymentPayorResponsiblePartyAddress $address = null, + ) {} +} diff --git a/src/Api/ConsolidationV1/Dto/TransborderDistributionDetail1SpecialServicesRequestedTransborderDistributionLtlDetailPaymentPayorResponsiblePartyAddress.php b/src/Api/ConsolidationV1/Dto/TransborderDistributionDetail1SpecialServicesRequestedTransborderDistributionLtlDetailPaymentPayorResponsiblePartyAddress.php new file mode 100644 index 00000000..ea17317b --- /dev/null +++ b/src/Api/ConsolidationV1/Dto/TransborderDistributionDetail1SpecialServicesRequestedTransborderDistributionLtlDetailPaymentPayorResponsiblePartyAddress.php @@ -0,0 +1,41 @@ +Note: At least one line is required and streetlines more than 3 will be ignored. Empty lines should not be included. + * @param ?string $city This is a placeholder for City Name.
            Note: This is conditional and not required in all the shipping requests. It is recommended for Express shipments for the most accurate ODA and OPA surcharges and not used for Ground/SmartPost. + * @param ?string $stateOrProvinceCode This is a placeholder for State or Province code.
            Note: This is conditional and not required in all the shipping requests. It is recommended for Express shipments for the most accurate ODA and OPA surcharges and not used for Ground/SmartPost. + * @param ?string $postalCode This is placeholder for postal code.
            Note: The postal code is required for postal-aware countries. + * @param ?string $countryCode This is the Two-letter country code. click here to see Country Codes + * @param ?bool $residential Indicate whether this address is Residential as opposed to Commercial.
            Valid Values: True or False. + * @param ?string $urbanizationCode Relevant only to addresses in Puerto Rico. + * @param ?string $countryName The fully spelt out name of a country. + * @param ?string $geographicCoordinates The geographic coordinates cooresponding to this address. + * @param ?string $classification Specifies that FedEx courier has confirmed that the address is a confirmed business location. + */ + public function __construct( + public ?array $streetLines = null, + public ?string $city = null, + public ?string $stateOrProvinceCode = null, + public ?string $postalCode = null, + public ?string $countryCode = null, + public ?bool $residential = null, + public ?string $urbanizationCode = null, + public ?string $countryName = null, + public ?string $geographicCoordinates = null, + public ?string $classification = null, + ) {} +} diff --git a/src/Api/ConsolidationV1/Dto/TransborderDistributionDetail2.php b/src/Api/ConsolidationV1/Dto/TransborderDistributionDetail2.php new file mode 100644 index 00000000..5b2b1e6a --- /dev/null +++ b/src/Api/ConsolidationV1/Dto/TransborderDistributionDetail2.php @@ -0,0 +1,27 @@ +Example: EA
            click here to see Commodity Unit Measures * @param string $countryOfManufacture This is commodity country of manufacture. This is required for International shipments. Maximum allowed length is 4.
            Example: US
            click here to see Country codes * @param string $description This is the commodity description. Maximum allowed 450 characters.
            click here to see Vague commodity descriptions - * @param Weight $weight These are the package weight details.
            Note: Weight is not required for One rate shipments + * @param WeightWithoutLink $weight These are the package weight details. * @param AdditionalMeasures[]|null $additionalMeasures This object contains additional quantitative information other than weight and quantity to calculate duties and taxes. * @param ?int $numberOfPieces Indicate the number of pieces associated with the commodity. The value can neither be negative nor exceed 9,999.
            Example: 12 * @param ?Money $customsValue Specifies taxes or miscellaneous charge. @@ -43,7 +43,7 @@ public function __construct( public string $quantityUnits, public string $countryOfManufacture, public string $description, - public Weight $weight, + public WeightWithoutLink $weight, public ?array $additionalMeasures = null, public ?int $numberOfPieces = null, public ?Money $customsValue = null, diff --git a/src/Api/FreightLTLV1/Dto/FreightRequestedPackageLineItem.php b/src/Api/FreightLTLV1/Dto/FreightRequestedPackageLineItem.php index 4a813bb0..dd4c25a9 100644 --- a/src/Api/FreightLTLV1/Dto/FreightRequestedPackageLineItem.php +++ b/src/Api/FreightLTLV1/Dto/FreightRequestedPackageLineItem.php @@ -22,7 +22,7 @@ final class FreightRequestedPackageLineItem extends Dto /** * @param string $subPackagingType This is a sub package type for the package.
            Click here to see Sub-Packaging Types - * @param Weight $weight These are the package weight details.
            Note: Weight is not required for One rate shipments + * @param WeightWithLink $weight These are the package weight details. * @param AssociatedFreightLineItemDetail[] $associatedFreightLineItems Indicates the associated freight line item detail. * @param ?string $sequenceNumber Optional. Used only with individual packages as a unique identifier of each requested package. Will be adjusted at the shipment level as pieces are added. * @param CustomerReference[]|null $customerReferences These are additional customer reference data.
            Note: The groupPackageCount must be specified to retrieve customer references. @@ -37,7 +37,7 @@ final class FreightRequestedPackageLineItem extends Dto */ public function __construct( public string $subPackagingType, - public Weight $weight, + public WeightWithLink $weight, public array $associatedFreightLineItems, public ?string $sequenceNumber = null, public ?array $customerReferences = null, diff --git a/src/Api/FreightLTLV1/Dto/FreightShipmentLineItem.php b/src/Api/FreightLTLV1/Dto/FreightShipmentLineItem.php index 6017dcbe..bcc40ec5 100644 --- a/src/Api/FreightLTLV1/Dto/FreightShipmentLineItem.php +++ b/src/Api/FreightLTLV1/Dto/FreightShipmentLineItem.php @@ -17,7 +17,7 @@ final class FreightShipmentLineItem extends Dto /** * @param int $handlingUnits Number of individual handling units to which this line applies.
            (The total of line-item-level handling units may not balance to shipment-level total handling units.) * @param string $subPackagingType This is a sub package type for the package.
            a onclick='loadDocReference("subpackagetypes")'>Click here to see Sub-Packaging Types - * @param Weight $weight These are the package weight details.
            Note: Weight is not required for One rate shipments + * @param WeightWithoutLink $weight These are the package weight details. * @param int $pieces Specifies Total number of pieces. * @param string $freightClass Specifies Freight class for this line item. * @param string $id Specifies Identification for content in this line item. @@ -37,7 +37,7 @@ final class FreightShipmentLineItem extends Dto public function __construct( public int $handlingUnits, public string $subPackagingType, - public Weight $weight, + public WeightWithoutLink $weight, public int $pieces, public string $freightClass, public string $id, diff --git a/src/Api/FreightLTLV1/Dto/FreightShipmentLineItem2.php b/src/Api/FreightLTLV1/Dto/FreightShipmentLineItem2.php index 8ade3c66..409b10b1 100644 --- a/src/Api/FreightLTLV1/Dto/FreightShipmentLineItem2.php +++ b/src/Api/FreightLTLV1/Dto/FreightShipmentLineItem2.php @@ -17,7 +17,7 @@ final class FreightShipmentLineItem2 extends Dto /** * @param string $subPackagingType This is a sub package type for the package.
            Click here to see Sub-Packaging Types * @param string $description Customer-provided description of this line item.
            Example: description - * @param Weight $weight These are the package weight details.
            Note: Weight is not required for One rate shipments + * @param WeightWithoutLink $weight These are the package weight details. * @param int $pieces Total number of pieces.
            Example: 12 * @param string $freightClass Required.
            Freight class for this line item. * @param string $id Indicates the ID for the box.
            Example: 123 @@ -38,7 +38,7 @@ final class FreightShipmentLineItem2 extends Dto public function __construct( public string $subPackagingType, public string $description, - public Weight $weight, + public WeightWithoutLink $weight, public int $pieces, public string $freightClass, public string $id, diff --git a/src/Api/FreightLTLV1/Dto/LabelSpecification.php b/src/Api/FreightLTLV1/Dto/LabelSpecification.php index 5857bb29..38e826c4 100644 --- a/src/Api/FreightLTLV1/Dto/LabelSpecification.php +++ b/src/Api/FreightLTLV1/Dto/LabelSpecification.php @@ -24,7 +24,7 @@ final class LabelSpecification extends Dto * @param ?string $labelRotation This is applicable only to documents produced on thermal printers with roll stock. * @param ?string $labelPrintingOrientation This is applicable only to documents produced on thermal printers with roll stock. * @param ?bool $returnedDispositionDetail Specify whether or not the return deposition is needed. - * @param ?int $resolution Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203. + * @param ?int $resolution Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203.Note: 300 DPI resolution is only allowed for ZPLII image type. */ public function __construct( public string $labelStockType, diff --git a/src/Api/FreightLTLV1/Dto/LineItems.php b/src/Api/FreightLTLV1/Dto/LineItems.php index dcc39748..14210d10 100644 --- a/src/Api/FreightLTLV1/Dto/LineItems.php +++ b/src/Api/FreightLTLV1/Dto/LineItems.php @@ -23,7 +23,7 @@ final class LineItems extends Dto * @param ?string $description Specify the description.
            Example: "data" * @param ?string $packaging Specify the packaging being used. * @param ?float $pieces Specifies the number.
            Example: 4 - * @param ?Weight $weight These are the package weight details.
            Note: Weight is not required for One rate shipments + * @param ?WeightWithoutLink $weight These are the package weight details. * @param ?LineItemsDimensions $dimensions Indicate the dimensions of the package.
            Following conditions will apply:
            • Dimensions are optional but when added, then all three dimensions must be indicated.
            • Dimensions are required with YOUR_PACKAGING package type.
            Note: The maximum/minimum dimension values varies based on the services and the packaging types. Refer FedEx Service Guide for service details related to DIM Weighting for FedEx Express and oversize conditions for FedEx Express and FedEx Ground. * @param ?Address2 $destination Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of "address parts" which should be handled as a unit (such as a city-state-ZIP combination within the US). * @param ?ShipmentSpecialServicesRequested $shipmentSpecialServicesRequested Specifies the shipment special services requested. @@ -37,7 +37,7 @@ public function __construct( public ?string $description = null, public ?string $packaging = null, public ?float $pieces = null, - public ?Weight $weight = null, + public ?WeightWithoutLink $weight = null, public ?LineItemsDimensions $dimensions = null, public ?Address2 $destination = null, public ?ShipmentSpecialServicesRequested $shipmentSpecialServicesRequested = null, diff --git a/src/Api/FreightLTLV1/Dto/LtlRequestedPackageLineItem.php b/src/Api/FreightLTLV1/Dto/LtlRequestedPackageLineItem.php index 54158f3a..bf71af3c 100644 --- a/src/Api/FreightLTLV1/Dto/LtlRequestedPackageLineItem.php +++ b/src/Api/FreightLTLV1/Dto/LtlRequestedPackageLineItem.php @@ -21,7 +21,7 @@ final class LtlRequestedPackageLineItem extends Dto /** * @param string $subPackagingType This is a physical packaging type used for the package.
            Example: TUBE, CARTON, CONTAINER. etc.
            Click here to see Sub-Packaging Types
            For more information on physical packaging or packaging regulatory requirements, visit FedEx.com or contact your FedEx representative.
            Note: Sub packaging CAGE is not applicable for LTL Freight shipment. - * @param Weight $weight These are the package weight details.
            Note: Weight is not required for One rate shipments + * @param WeightWithLink $weight These are the package weight details. * @param AssociatedFreightLineItemDetail[] $associatedFreightLineItems Specifies associated freight line items. * @param ?int $groupPackageCount Indicate the grouped package count. These are number of identical package(s) each with one or more commodities.
            Example: 2 * @param ContentRecord[]|null $contentRecord Specifies the details of contents of the package. @@ -30,7 +30,7 @@ final class LtlRequestedPackageLineItem extends Dto */ public function __construct( public string $subPackagingType, - public Weight $weight, + public WeightWithLink $weight, public array $associatedFreightLineItems, public ?int $groupPackageCount = null, public ?array $contentRecord = null, diff --git a/src/Api/FreightLTLV1/Dto/WeightWithLink.php b/src/Api/FreightLTLV1/Dto/WeightWithLink.php new file mode 100644 index 00000000..55a6cda3 --- /dev/null +++ b/src/Api/FreightLTLV1/Dto/WeightWithLink.php @@ -0,0 +1,25 @@ +Example:KG + * @param float $value Weight Value.
            Example: 68.25
            Click here to see Weight Values + */ + public function __construct( + public string $units, + public float $value, + ) {} +} diff --git a/src/Api/FreightLTLV1/Dto/WeightWithoutLink.php b/src/Api/FreightLTLV1/Dto/WeightWithoutLink.php new file mode 100644 index 00000000..9b977e6a --- /dev/null +++ b/src/Api/FreightLTLV1/Dto/WeightWithoutLink.php @@ -0,0 +1,25 @@ +Example:KG + * @param float $value Weight Value.
            Example: 68.25 + */ + public function __construct( + public string $units, + public float $value, + ) {} +} diff --git a/src/Api/FreightLTLV1/Requests/FreightRateQuote.php b/src/Api/FreightLTLV1/Requests/FreightRateQuote.php index 4c9336a7..c5dd454b 100644 --- a/src/Api/FreightLTLV1/Requests/FreightRateQuote.php +++ b/src/Api/FreightLTLV1/Requests/FreightRateQuote.php @@ -23,9 +23,9 @@ /** * Freight RateQuote * - * This endpoint provides the ability to retrieve rate quotes and optionall transit information. The - * rate is calculated based on the origin and destination of the shipment. Additional information such - * as carrier code, service type, or service option can be used to filter the results. Applicable + * This endpoint providess the ability to retrieve rate quotes and optionall transitt informationnnn. + * The rate is calculated based on the origin and destination of the shipment. Additional information + * such as carrier code, service type, or service option can be used to filter the results. Applicable * operating company is FedEx Freight.
            Note: FedEx APIs do not support Cross-Origin Resource * Sharing (CORS) mechanism. */ diff --git a/src/Api/LocationsSearchV1/Dto/Address.php b/src/Api/LocationsSearchV1/Dto/Address.php index 28c42c7e..a4c90630 100644 --- a/src/Api/LocationsSearchV1/Dto/Address.php +++ b/src/Api/LocationsSearchV1/Dto/Address.php @@ -15,13 +15,13 @@ final class Address extends Dto { /** - * @param string $countryCode This is the Two-letter country code.
            Example: US
            Click here to see Country Codes + * @param string $countryCode The ISO Alpha2, Alpha3, Numeric3 code for the country or name (5 character max) for the country.
            Example: US * @param ?string[] $streetLines This is a combination of number, street name, etc.
            Note: Streetlines more than 3 will be ignored. Empty lines should not be included.
            Example: [\"10 FedEx Parkway\", \"Suite 302\"] * @param ?string $city This is a placeholder for City Name.
            City or PostalCode is mandatory when search criteria is ADDRESS or PHONE_NUMBER
            Example: Beverly Hills * @param ?string $stateOrProvinceCode This is a placeholder for State or Province code.
            Example: CA
            Click here to see State/Province Code * @param ?string $postalCode This is placeholder for postal code.
            Note:
            • Postal code is required for postal-aware countries.
            • City or PostalCode is mandatory when search criteria is ADDRESS or PHONE_NUMBER
            Example: 38127

            Click here to see Postal aware countries - * @param ?bool $residential Indicate whether this address is Residential as opposed to Commercial.
            Valid Values: True or False. - * @param ?string $addressVerificationId This is the address verification identifier.
            Example: MARKET_LAUNCH + * @param ?bool $residential Indicates whether the address returned is residential as opposed to commercial.
            Valid values: True, False. + * @param ?string $addressVerificationId Address verification Identifier * @param ?string $addressClassification The business residential indicators. * @param ?string $addressClassificationConfidence The confidence of business residential classification business residential indicators. */ diff --git a/src/Api/LocationsSearchV1/Dto/ContactAndAddress.php b/src/Api/LocationsSearchV1/Dto/ContactAndAddress.php index 7393e172..ec37be67 100644 --- a/src/Api/LocationsSearchV1/Dto/ContactAndAddress.php +++ b/src/Api/LocationsSearchV1/Dto/ContactAndAddress.php @@ -15,7 +15,7 @@ final class ContactAndAddress extends Dto { /** - * @param ?Address $address Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of \"address parts\" which should be handled as a unit (such as a city-state-ZIP combination within the US). + * @param ?Address $address Specifies the Address Details for a location. * @param ?Contact $contact Indicates the contact details such as Name, Email, PhoneNumber * @param ?AddressAncillaryDetail $addressAncillaryDetail Indicate the additional address details for the physical location . */ diff --git a/src/Api/LocationsSearchV1/Dto/Location.php b/src/Api/LocationsSearchV1/Dto/Location.php index b33671f7..c8dad904 100644 --- a/src/Api/LocationsSearchV1/Dto/Location.php +++ b/src/Api/LocationsSearchV1/Dto/Location.php @@ -15,7 +15,7 @@ final class Location extends Dto { /** - * @param Address $address Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of \"address parts\" which should be handled as a unit (such as a city-state-ZIP combination within the US). + * @param Address $address Specifies the Address Details for a location. * @param ?GeoCode $longLat The ISO6709 geographic coordinates for a specific geographic location, specifically latitude and longitude. */ public function __construct( diff --git a/src/Api/LocationsSearchV1/Dto/LocationSummaryOutputVo.php b/src/Api/LocationsSearchV1/Dto/LocationSummaryOutputVo.php index e140590e..b9ea497e 100644 --- a/src/Api/LocationsSearchV1/Dto/LocationSummaryOutputVo.php +++ b/src/Api/LocationsSearchV1/Dto/LocationSummaryOutputVo.php @@ -24,7 +24,7 @@ final class LocationSummaryOutputVo extends Dto /** * @param ?int $totalResults Indicates the total number of locations that are displayed in the result.
            Example: 13 * @param ?int $resultsReturned Specifies the number of results returned in the reply.
            Example: 10 - * @param ?Address $matchedAddress Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of \"address parts\" which should be handled as a unit (such as a city-state-ZIP combination within the US). + * @param ?Address $matchedAddress Specifies the Address Details for a location. * @param ?GeoPositionalCoordinates $matchedAddressGeoCoord The ISO6709GeographicCoordinates for a specific geographic location * @param mixed[][]|null $locationDetailList List of FedEx locations meeting the search criteria. * @param Alert[]|null $alerts Specifies the alerts. diff --git a/src/Api/OpenShipV1/Dto/Commodity.php b/src/Api/OpenShipV1/Dto/Commodity.php index 7bacb62e..f2f34366 100644 --- a/src/Api/OpenShipV1/Dto/Commodity.php +++ b/src/Api/OpenShipV1/Dto/Commodity.php @@ -30,7 +30,7 @@ final class Commodity extends Dto * @param ?string $cImarksAndNumbers This is an identifying mark or number used on the packaging of a shipment to help customers identify a particular shipment
            Example: 87123 * @param ?string $harmonizedCode This is to specify the Harmonized Tariff System (HTS) code to meet U.S. and foreign governments' customs requirements. These are mainly used to estimate the duties and taxes.
            Example: 0613
            To research the classification for your commodity, use the FedEx Global Trade Manager online at fedex.com/gtm. You will find country-specific information to determine whether your commodity is considered to be a document or non-document for your destination. * @param ?string $name This is Commodity name.
            Example: Non-Threaded Rivets - * @param ?Weight $weight These are the package weight details.
            Note: Weight is not required for One rate shipments + * @param ?WeightWithoutLink $weight These are the package weight details. * @param ?string $exportLicenseNumber This is the export license number for the shipment.
            Example: 26456 * @param ?\DateTimeInterface $exportLicenseExpirationDate Specify the export license expiration date for the shipment.
            Format YYYY-MM-DD
            Example : 2009-04-12 * @param ?string $partNumber This is a part number.
            Example: 167 @@ -49,7 +49,7 @@ public function __construct( public ?string $cImarksAndNumbers = null, public ?string $harmonizedCode = null, public ?string $name = null, - public ?Weight $weight = null, + public ?WeightWithoutLink $weight = null, public ?string $exportLicenseNumber = null, public ?\DateTimeInterface $exportLicenseExpirationDate = null, public ?string $partNumber = null, diff --git a/src/Api/OpenShipV1/Dto/DangerousGoodsDetail.php b/src/Api/OpenShipV1/Dto/DangerousGoodsDetail.php index 36d297f9..e79bd69c 100644 --- a/src/Api/OpenShipV1/Dto/DangerousGoodsDetail.php +++ b/src/Api/OpenShipV1/Dto/DangerousGoodsDetail.php @@ -15,13 +15,15 @@ final class DangerousGoodsDetail extends Dto { /** - * @param string $accessibility Specify Dangerous Goods Accessibility Type.
            • Inaccessible – it does not have to be accessable on the aircraft.
            • Accessible – it must be fully accessible on the aircraft, and is more strictly controlled.
            + * @param ?string $accessibility Specify Dangerous Goods Accessibility Type.
            • Inaccessible – it does not have to be accessable on the aircraft.
            • Accessible – it must be fully accessible on the aircraft, and is more strictly controlled.
            Note: Accessibility is only required for IATA controlled DG shipments. * @param ?bool $cargoAircraftOnly A Boolean value that, when True, specifies the mode of shipment transportation should be Cargo Aircraft for Dangerous Goods. Its default value is set as False.
            Note: An identifier DGD-CAO is added in AWB for cargo aircraft shipments. + * @param ?string $regulation It is a HazardousCommodityRegulationType(The regulation under which the DG data has been validated). * @param ?string[] $options Indicate type of DG being reported. */ public function __construct( - public string $accessibility, + public ?string $accessibility = null, public ?bool $cargoAircraftOnly = null, + public ?string $regulation = null, public ?array $options = null, ) {} } diff --git a/src/Api/OpenShipV1/Dto/LabelSpecification.php b/src/Api/OpenShipV1/Dto/LabelSpecification.php index eb3291ce..aa1a3506 100644 --- a/src/Api/OpenShipV1/Dto/LabelSpecification.php +++ b/src/Api/OpenShipV1/Dto/LabelSpecification.php @@ -24,7 +24,7 @@ final class LabelSpecification extends Dto * @param ?string $labelRotation This is applicable only to documents produced on thermal printers with roll stock. * @param ?string $labelPrintingOrientation This is applicable only to documents produced on thermal printers with roll stock. * @param ?bool $returnedDispositionDetail Specify whether or not the return deposition is needed. - * @param ?int $resolution Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203. + * @param ?int $resolution Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203.Note: 300 DPI resolution is only allowed for ZPLII image type. */ public function __construct( public string $labelStockType, diff --git a/src/Api/OpenShipV1/Dto/PackageSpecialServicesRequested.php b/src/Api/OpenShipV1/Dto/PackageSpecialServicesRequested.php index 41699fb0..6f02053c 100644 --- a/src/Api/OpenShipV1/Dto/PackageSpecialServicesRequested.php +++ b/src/Api/OpenShipV1/Dto/PackageSpecialServicesRequested.php @@ -31,7 +31,7 @@ final class PackageSpecialServicesRequested extends Dto * @param ?PackageCodDetail $packageCodDetail These are COD package details. For use with FedEx Ground services only; COD must be present in shipments special services. * @param ?int $pieceCountVerificationBoxCount Provide the pieceCount or VerificationBoxCount for batteries or cells that are contained within this specific package. * @param BatteryDetail[]|null $batteryDetails Provide details about the batteries or cells that are contained within this specific package. - * @param ?Weight $dryIceWeight These are the package weight details.
            Note: Weight is not required for One rate shipments + * @param ?WeightWithoutLink $dryIceWeight These are the package weight details. * @param StandaloneBatteryDetails[]|null $standaloneBatteryDetails Provide details about the batteries or cells that are contained within this specific package. */ public function __construct( @@ -44,7 +44,7 @@ public function __construct( public ?PackageCodDetail $packageCodDetail = null, public ?int $pieceCountVerificationBoxCount = null, public ?array $batteryDetails = null, - public ?Weight $dryIceWeight = null, + public ?WeightWithoutLink $dryIceWeight = null, public ?array $standaloneBatteryDetails = null, ) {} } diff --git a/src/Api/OpenShipV1/Dto/PartyAccountNumber.php b/src/Api/OpenShipV1/Dto/PartyAccountNumber.php index 0d290803..e9cd603a 100644 --- a/src/Api/OpenShipV1/Dto/PartyAccountNumber.php +++ b/src/Api/OpenShipV1/Dto/PartyAccountNumber.php @@ -15,7 +15,7 @@ final class PartyAccountNumber extends Dto { /** - * @param ?string $value The account number value.Value is required if the paymentType is RECIPIENT, THIRD_PARTY or COLLECT.
            Example: Your account number + * @param ?string $value Conditional.
            The account number value.
            Max Length is 9.
            Example: 12XXXXX89

            NOTE:- FedEx Account number is required for FedEx International Connect Plus (FICP) service shipments from APAC to US or PR with duty & tax Bill-to recipient:
            if any of the shipment commodities’ Country of Manufacture is CN/HK */ public function __construct( public ?string $value = null, diff --git a/src/Api/OpenShipV1/Dto/RequestedPackageLineItem.php b/src/Api/OpenShipV1/Dto/RequestedPackageLineItem.php index 2fdccc1d..c9ad16e6 100644 --- a/src/Api/OpenShipV1/Dto/RequestedPackageLineItem.php +++ b/src/Api/OpenShipV1/Dto/RequestedPackageLineItem.php @@ -20,7 +20,7 @@ final class RequestedPackageLineItem extends Dto ]; /** - * @param Weight $weight These are the package weight details.
            Note: Weight is not required for One rate shipments + * @param WeightWithLink $weight These are the package weight details. * @param ?string $sequenceNumber Optional.
            Used only with individual packages as a unique identifier of each requested package. Will be adjusted at the shipment level as pieces are added. * @param ?string $subPackagingType Indicate the subPackagingType, if you are using your own packaging for the shipment. Use it for all shipments inbound to Canada (CA) and inbound shipments to the U.S. and Puerto Rico (PR) from Canada and Mexico (MX).subPackagingType is mandatory for shipments to Canada.
            Example: TUBE, CARTON, CONTAINER. etc.
            Note: If the value is TUBE, a non-machinable surcharge will be applicable for SmartPost shipments.
            click here to see Sub-Packaging Types
            For more information on physical packaging or packaging regulatory requirements, contact your FedEx representative. * @param CustomerReference[]|null $customerReferences These are additional customer reference data.
            Note: The groupPackageCount must be specified to retrieve customer references. @@ -34,7 +34,7 @@ final class RequestedPackageLineItem extends Dto * @param ?PackageSpecialServicesRequested $packageSpecialServices These are special services that are available at the package level for some or all service types. */ public function __construct( - public Weight $weight, + public WeightWithLink $weight, public ?string $sequenceNumber = null, public ?string $subPackagingType = null, public ?array $customerReferences = null, diff --git a/src/Api/OpenShipV1/Dto/ShipmentDryIceDetail.php b/src/Api/OpenShipV1/Dto/ShipmentDryIceDetail.php index ed592224..47122f85 100644 --- a/src/Api/OpenShipV1/Dto/ShipmentDryIceDetail.php +++ b/src/Api/OpenShipV1/Dto/ShipmentDryIceDetail.php @@ -15,11 +15,11 @@ final class ShipmentDryIceDetail extends Dto { /** - * @param ?Weight $totalWeight These are the package weight details.
            Note: Weight is not required for One rate shipments + * @param ?WeightWithoutLink $totalWeight These are the package weight details. * @param ?int $packageCount Indicates the total number of packages in the shipment that contain dry ice.
            Example: 12 */ public function __construct( - public ?Weight $totalWeight = null, + public ?WeightWithoutLink $totalWeight = null, public ?int $packageCount = null, ) {} } diff --git a/src/Api/OpenShipV1/Dto/WeightWithLink.php b/src/Api/OpenShipV1/Dto/WeightWithLink.php new file mode 100644 index 00000000..a31faf63 --- /dev/null +++ b/src/Api/OpenShipV1/Dto/WeightWithLink.php @@ -0,0 +1,25 @@ +Example:KG + * @param float $value Weight Value.
            Example: 68.25
            Click here to see Weight Values + */ + public function __construct( + public string $units, + public float $value, + ) {} +} diff --git a/src/Api/OpenShipV1/Dto/WeightWithoutLink.php b/src/Api/OpenShipV1/Dto/WeightWithoutLink.php new file mode 100644 index 00000000..fad8cc76 --- /dev/null +++ b/src/Api/OpenShipV1/Dto/WeightWithoutLink.php @@ -0,0 +1,25 @@ +Example:KG + * @param float $value Weight Value.
            Example: 68.25 + */ + public function __construct( + public string $units, + public float $value, + ) {} +} diff --git a/src/Api/OpenShipV1/Requests/CreateOpenShipmentt.php b/src/Api/OpenShipV1/Requests/CreateOpenShipmentt.php index 5b665458..f6d5a901 100644 --- a/src/Api/OpenShipV1/Requests/CreateOpenShipmentt.php +++ b/src/Api/OpenShipV1/Requests/CreateOpenShipmentt.php @@ -24,7 +24,7 @@ /** * Create Open Shipmentt * - * This endpoint helps you to create an open shipment request with the required shipping + * This endpoint helps you to create an openn shipment request with the required shipping * information.
            Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) * mechanism. */ diff --git a/src/Api/PickupRequestV1/Dto/ExpressFreightPickupDetail.php b/src/Api/PickupRequestV1/Dto/ExpressFreightPickupDetail.php index a6122f0c..5ddf1003 100644 --- a/src/Api/PickupRequestV1/Dto/ExpressFreightPickupDetail.php +++ b/src/Api/PickupRequestV1/Dto/ExpressFreightPickupDetail.php @@ -18,7 +18,7 @@ final class ExpressFreightPickupDetail extends Dto * @param ?string $truckType Specify type of pickup truck. * @param ?string $service Specify FedEx Service for the shipment.
            Example: FEDEX_1_DAY_FREIGHT * @param ?string $trailerLength Specify the trailer size, required for dispatch. - * @param ?string $bookingNumber Specify a freight shipment booking number from FedEx. This number is mandatory for freight dispatch requests.
            Example: 1234AGTT + * @param ?string $bookingNumber Express Freight shipments (refer below) may require booking number. This booking number may also be required for freight dispatch requests.
            FedEx 1Day Freight - booking number is optional.
            FedEx International Priority Freight - booking number is required
            NOTE:
            a. For Intra EU (EU-to-EU) and EU outbound (EU-to-NON_EU) Express Freight shipments, bookingNumber is optional.
            b. For Express Freight shipments not originating in EU, Customers need to call FedEx to book freight shipment and receive a booking number. This booking number is included in the Ship request and prints on the shipping label.
            example:1234AGTT * @param ?Dimensions $dimensions Indicate the dimensions of the package.
            Following conditions will apply:
            • Dimensions are optional but when added, then all three dimensions must be indicated.
            • Dimensions are required with YOUR_PACKAGING package type.
            Note: The maximum/minimum dimension values varies based on the services and the packaging types. Refer FedEx Service Guide for service details related to DIM Weighting for FedEx Express and oversize conditions for FedEx Express and FedEx Ground. */ public function __construct( diff --git a/src/Api/RatesAndTransitTimesV1/Dto/BrokerDetail.php b/src/Api/RatesAndTransitTimesV1/Dto/BrokerDetail.php index ea199198..4c81dbe3 100644 --- a/src/Api/RatesAndTransitTimesV1/Dto/BrokerDetail.php +++ b/src/Api/RatesAndTransitTimesV1/Dto/BrokerDetail.php @@ -15,12 +15,10 @@ final class BrokerDetail extends Dto { /** - * @param string $type This is Broker Type. - * @param ?Brokeraddress $brokerAddress This is the broker address used for this shipment. + * @param string $type This is Broker Type.Example:IMPORT */ public function __construct( public BrokerDetailBroker $broker, public string $type, - public ?Brokeraddress $brokerAddress = null, ) {} } diff --git a/src/Api/RatesAndTransitTimesV1/Dto/BrokerDetailBroker.php b/src/Api/RatesAndTransitTimesV1/Dto/BrokerDetailBroker.php index d8143a79..1eccacbb 100644 --- a/src/Api/RatesAndTransitTimesV1/Dto/BrokerDetailBroker.php +++ b/src/Api/RatesAndTransitTimesV1/Dto/BrokerDetailBroker.php @@ -17,7 +17,7 @@ final class BrokerDetailBroker extends Dto /** * @param string $address These are Broker address details. * @param string $contact These are broker contact details such as Name, Email, PhoneNumber. - * @param ?AccountNumber $accountNumber This is the Account number details.
            Note:
            • If the paymentType is Sender, then the account number is optional in shippingChargesPayment.
            • In case if this is shipping account number, do use the account number used for creating Auth Token.
            + * @param ?AccountNumber $accountNumber This is the Account number details.
            Note:
            • If the paymentType is Sender, then the account number is optional in shippingChargesPayment.
            */ public function __construct( public string $address, diff --git a/src/Api/RatesAndTransitTimesV1/Dto/Commodity.php b/src/Api/RatesAndTransitTimesV1/Dto/Commodity.php index 84f99044..3b4fc056 100644 --- a/src/Api/RatesAndTransitTimesV1/Dto/Commodity.php +++ b/src/Api/RatesAndTransitTimesV1/Dto/Commodity.php @@ -21,7 +21,7 @@ final class Commodity extends Dto * @param ?Money $customsValue Indicate the amount details. This is optional, but if indicated, amount and currency must be provided. * @param ?Money $unitPrice Indicate the amount details. This is optional, but if indicated, amount and currency must be provided. * @param ?int $numberOfPieces Specifies the number of pieces for this commodity.
            Example: 10 - * @param ?string $countryOfManufacture This is a manufacturing country. Maximum field Length is 4
            Example: IN + * @param ?string $countryOfManufacture This is commodity country of manufacture. This is required. Maximum allowed length is 4.
            Example: US
            Click here to see Country Codes * @param ?string $quantityUnits Indicate quantiy unit used. Used to estimate duties and taxes
            Example: PCS
            click here to see Commodity Unit Measures * @param ?string $name Indicate the Commodity name
            Example: DOCUMENTS * @param ?string $harmonizedCode This is to specify the Harmonized Tariff System (HTS) code to meet U.S. and foreign governments' customs requirements. These are mainly used to estimate the duties and taxes.
            Example: A six digit code for Almonds fresh or dried is 080211. The HTS code for pistachios in shell is 080251. The HTS code for fish is HS203.
            To research the classification for your commodity, use the FedEx Global Trade Manager online at fedex.com/gtm. You can find the commodities and its respective codes by logging into FedEx and selecting harmonized code option. You will find country-specific information to determine whether your commodity is considered to be a document or non-document for your destination.
            For additional information about harmonized code, refer to harmonized code. diff --git a/src/Api/RatesAndTransitTimesV1/Dto/CustomsClearanceDetail.php b/src/Api/RatesAndTransitTimesV1/Dto/CustomsClearanceDetail.php index eaf95896..382dd405 100644 --- a/src/Api/RatesAndTransitTimesV1/Dto/CustomsClearanceDetail.php +++ b/src/Api/RatesAndTransitTimesV1/Dto/CustomsClearanceDetail.php @@ -17,7 +17,7 @@ final class CustomsClearanceDetail extends Dto protected static array $complexArrayTypes = ['commodities' => Commodity::class, 'brokers' => BrokerDetail::class]; /** - * @param Commodity[] $commodities Specify the commodity details. + * @param Commodity[] $commodities Indicates the details about the dutiable packages. Maximum upto 999 commodities per shipment. * @param BrokerDetail[]|null $brokers Conditional.
            Required if BROKER_SELECT_OPTION is specified as a shipment special service type. A country code must be specified in addition to one of the following address items: postal code, city, or location id. * @param ?CommercialInvoice $commercialInvoice The Commercial Invoice element is required for electronic upload of CI data. It will serve to create/transmit an electronic Commercial Invoice through the FedEx system.
            Customers are responsible for printing their own Commercial Invoice.
            If you would like FedEx to generate a Commercial Invoice and transmit it to Customs for clearance purposes, you need to specify that in the 'ETDDetail/RequesteDocumentCopies' element.
            Support consists of a Maximum of 99 commodity line items. * @param ?string $freightOnValue Indicates Freight on value for customs. diff --git a/src/Api/RatesAndTransitTimesV1/Dto/FullSchemaQuoteRate.php b/src/Api/RatesAndTransitTimesV1/Dto/FullSchemaQuoteRate.php index 54e6bbe9..9b13dbf7 100644 --- a/src/Api/RatesAndTransitTimesV1/Dto/FullSchemaQuoteRate.php +++ b/src/Api/RatesAndTransitTimesV1/Dto/FullSchemaQuoteRate.php @@ -15,7 +15,7 @@ final class FullSchemaQuoteRate extends Dto { /** - * @param AccountNumber $accountNumber This is the Account number details.
            Note:
            • If the paymentType is Sender, then the account number is optional in shippingChargesPayment.
            • In case if this is shipping account number, do use the account number used for creating Auth Token.
            + * @param AccountNumber $accountNumber This is the Account number details.
            Note:
            • If the paymentType is Sender, then the account number is optional in shippingChargesPayment.
            * @param RequestedShipment $requestedShipment This is shipment data for which a rate quote (or rate-shipping comparison) is requested. * @param ?RateRequestControlParameters $rateRequestControlParameters Specify the return transit times, services needed on rate failure, choice of variable option and order to sort rate options to filter and sort the expected response. * @param ?string[] $carrierCodes Specify the four letter code of a FedEx operating company that meets your requirements.
            Example: FDXE
            • FDXE - FedEx Express
            • FDXG - FedEx Ground
            • FXSP - FedEx SmartPost
            • FXCC - FedEx Custom Critical.
            diff --git a/src/Api/RatesAndTransitTimesV1/Dto/Party.php b/src/Api/RatesAndTransitTimesV1/Dto/Party.php index d25ca5a3..6e8edc73 100644 --- a/src/Api/RatesAndTransitTimesV1/Dto/Party.php +++ b/src/Api/RatesAndTransitTimesV1/Dto/Party.php @@ -16,7 +16,7 @@ final class Party extends Dto { /** * @param ?Address $address This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US). Country code is required. Postal code is required for postal aware countries. State or province code is mandatory for Puerto Rico. - * @param ?AccountNumber $accountNumber This is the Account number details.
            Note:
            • If the paymentType is Sender, then the account number is optional in shippingChargesPayment.
            • In case if this is shipping account number, do use the account number used for creating Auth Token.
            + * @param ?AccountNumber $accountNumber This is the Account number details.
            Note:
            • If the paymentType is Sender, then the account number is optional in shippingChargesPayment.
            * @param ?Contact $contact Indicate the contact details. */ public function __construct( diff --git a/src/Api/RatesAndTransitTimesV1/Dto/Party2.php b/src/Api/RatesAndTransitTimesV1/Dto/Party2.php index 98ab8c9a..72344d6d 100644 --- a/src/Api/RatesAndTransitTimesV1/Dto/Party2.php +++ b/src/Api/RatesAndTransitTimesV1/Dto/Party2.php @@ -17,7 +17,7 @@ final class Party2 extends Dto /** * @param ?Address $address This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US). Country code is required. Postal code is required for postal aware countries. State or province code is mandatory for Puerto Rico. * @param ?Contact $contact Indicate the contact details. - * @param ?AccountNumber $accountNumber This is the Account number details.
            Note:
            • If the paymentType is Sender, then the account number is optional in shippingChargesPayment.
            • In case if this is shipping account number, do use the account number used for creating Auth Token.
            + * @param ?AccountNumber $accountNumber This is the Account number details.
            Note:
            • If the paymentType is Sender, then the account number is optional in shippingChargesPayment.
            */ public function __construct( public ?Address $address = null, diff --git a/src/Api/RatesAndTransitTimesV1/Dto/RequestedShipment.php b/src/Api/RatesAndTransitTimesV1/Dto/RequestedShipment.php index a9a73ed9..4c687d63 100644 --- a/src/Api/RatesAndTransitTimesV1/Dto/RequestedShipment.php +++ b/src/Api/RatesAndTransitTimesV1/Dto/RequestedShipment.php @@ -32,7 +32,6 @@ final class RequestedShipment extends Dto * @param ?float $totalWeight Specify the total weight of the shipment.
            This is only applies to International shipments and should be used on the first package of a multiple piece shipment. This value contains 1 explicit decimal position. * @param ?ShipmentSpecialServicesRequested $shipmentSpecialServices Indicate special services for which the rate data is being requested. Special Services are available at the shipment level for some or all service types.
            Example: [BROKER_SELECT_OPTION]
            Click here to see Shipment level Special Service Types * @param ?CustomsClearanceDetail $customsClearanceDetail This is Customs clearance data, used for both international and intra-country shipping and rating. Customs commodity data is required for international and intra-country rating. - * @param ?ServiceTypeDetailVo $serviceTypeDetail service type information details * @param ?SmartPostInfoDetail $smartPostInfoDetail Use this object to specify the smartpost shipment details.
            Required for SMARTPOST service. If SmartPostInfoDetail is indicated, the elements below it are also required. */ public function __construct( @@ -51,7 +50,6 @@ public function __construct( public ?float $totalWeight = null, public ?ShipmentSpecialServicesRequested $shipmentSpecialServices = null, public ?CustomsClearanceDetail $customsClearanceDetail = null, - public ?ServiceTypeDetailVo $serviceTypeDetail = null, public ?SmartPostInfoDetail $smartPostInfoDetail = null, ) {} } diff --git a/src/Api/RatesAndTransitTimesV1/Dto/ShipmentRateDetail.php b/src/Api/RatesAndTransitTimesV1/Dto/ShipmentRateDetail.php index 36f6f692..330b45ff 100644 --- a/src/Api/RatesAndTransitTimesV1/Dto/ShipmentRateDetail.php +++ b/src/Api/RatesAndTransitTimesV1/Dto/ShipmentRateDetail.php @@ -14,7 +14,11 @@ final class ShipmentRateDetail extends Dto { - protected static array $complexArrayTypes = ['freightDiscount' => RateDiscount::class, 'surCharges' => Surcharge::class]; + protected static array $complexArrayTypes = [ + 'freightDiscount' => RateDiscount::class, + 'surCharges' => Surcharge::class, + 'taxes' => Tax::class, + ]; /** * @param ?CurrencyExchangeRate $currencyExchangeRate Specifies the currency exchange performed on financial amounts for this rate. @@ -31,6 +35,7 @@ final class ShipmentRateDetail extends Dto * @param ?Weight $totalDimWeight These are the weight details. * @param ?int $dimDivisor Identifies the type of divisor that was applied.
            Example: 10 * @param Surcharge[]|null $surCharges Indicates the surcharges applied to this shipment. + * @param Tax[]|null $taxes List of taxes. */ public function __construct( public ?CurrencyExchangeRate $currencyExchangeRate = null, @@ -47,5 +52,6 @@ public function __construct( public ?Weight $totalDimWeight = null, public ?int $dimDivisor = null, public ?array $surCharges = null, + public ?array $taxes = null, ) {} } diff --git a/src/Api/RatesAndTransitTimesV1/Dto/Tax.php b/src/Api/RatesAndTransitTimesV1/Dto/Tax.php index 5e5fd7ab..1b8bfa44 100644 --- a/src/Api/RatesAndTransitTimesV1/Dto/Tax.php +++ b/src/Api/RatesAndTransitTimesV1/Dto/Tax.php @@ -15,10 +15,10 @@ final class Tax extends Dto { /** - * @param ?float $amount Specifies the list of tax amounts.
            Example : 87.5 - * @param ?string $name Specifies the localized name of the tax.
            Example: Name - * @param ?string $description Specifies the description of the Surcharge/Tax.
            Example: description - * @param ?string $type Specifies the type of Surcharge/Tax.
            Example: type + * @param ?float $amount Tax amount.
            Example: 408.97 + * @param ?string $name The localized name of the tax.
            Example: Denmark VAT + * @param ?string $description The description of the Surcharge/Tax.
            Example: Denmark VAT + * @param ?string $type The type of Surcharge/Tax.
            Example: VAT */ public function __construct( public ?float $amount = null, diff --git a/src/Api/ServiceAvailabilityV1/Dto/FreightShipmentLineItem.php b/src/Api/ServiceAvailabilityV1/Dto/FreightShipmentLineItem.php index 083ff5fc..e7215c22 100644 --- a/src/Api/ServiceAvailabilityV1/Dto/FreightShipmentLineItem.php +++ b/src/Api/ServiceAvailabilityV1/Dto/FreightShipmentLineItem.php @@ -16,7 +16,7 @@ final class FreightShipmentLineItem extends Dto { /** * @param string $freightClass Specify the freight class based on the item to be shipped and its weight measured per unit volume(Example: Kilograms per Cubic Meter) the shipment is categorized accordingly.Click here to use Freight class calculator - * @param Weight $weight Specify the total weight of the shipment.
            This is only applies to International shipments and should be used on the first package of a multiple piece shipment. This value contains 1 explicit decimal position. + * @param WeightWithoutLink $weight These are the package weight details. * @param ?int $pieces Optional
            Total number of pieces
            Example: 1 * @param ?Volume $volume Optional * @@ -34,7 +34,7 @@ final class FreightShipmentLineItem extends Dto */ public function __construct( public string $freightClass, - public Weight $weight, + public WeightWithoutLink $weight, public ?int $pieces = null, public ?Volume $volume = null, public ?int $handlingUnits = null, diff --git a/src/Api/ServiceAvailabilityV1/Dto/PackageSpecialServicesRequested.php b/src/Api/ServiceAvailabilityV1/Dto/PackageSpecialServicesRequested.php index 342d7161..7020b41c 100644 --- a/src/Api/ServiceAvailabilityV1/Dto/PackageSpecialServicesRequested.php +++ b/src/Api/ServiceAvailabilityV1/Dto/PackageSpecialServicesRequested.php @@ -27,7 +27,7 @@ final class PackageSpecialServicesRequested extends Dto * @param ?int $pieceCountVerificationBoxCount Provide the pieceCount or VerificationBoxCount for batteries or cells that are contained within this specific package. * @param BatteryDetail[]|null $batteryDetails Indicates the battery details. * @param ?string[] $specialServiceTypes Special services requested for the shipment.
            Example:
            • RETURN_SHIPMENT
            • BROKER_SELECT_OPTION
            • CALL_BEFORE_DELIVERY
            • COD
            • CUSTOM_DELIVERY_WINDOW
            Click here to see Shipment level Special Service Types - * @param ?Weight $dryIceWeight Specify the total weight of the shipment.
            This is only applies to International shipments and should be used on the first package of a multiple piece shipment. This value contains 1 explicit decimal position. + * @param ?WeightWithoutLink $dryIceWeight These are the package weight details. * @param StandaloneBatteryDetails[]|null $standaloneBatteryDetails Provide details about the batteries or cells that are contained within this specific package. */ public function __construct( @@ -39,7 +39,7 @@ public function __construct( public ?int $pieceCountVerificationBoxCount = null, public ?array $batteryDetails = null, public ?array $specialServiceTypes = null, - public ?Weight $dryIceWeight = null, + public ?WeightWithoutLink $dryIceWeight = null, public ?array $standaloneBatteryDetails = null, ) {} } diff --git a/src/Api/ServiceAvailabilityV1/Dto/RequestedPackageLineItem.php b/src/Api/ServiceAvailabilityV1/Dto/RequestedPackageLineItem.php index c1fe3408..5aeec195 100644 --- a/src/Api/ServiceAvailabilityV1/Dto/RequestedPackageLineItem.php +++ b/src/Api/ServiceAvailabilityV1/Dto/RequestedPackageLineItem.php @@ -17,7 +17,7 @@ final class RequestedPackageLineItem extends Dto protected static array $complexArrayTypes = ['customerReferences' => CustomerReference::class]; /** - * @param Weight $weight Specify the total weight of the shipment.
            This is only applies to International shipments and should be used on the first package of a multiple piece shipment. This value contains 1 explicit decimal position. + * @param WeightWithLink $weight These are the package weight details. * @param ?string $physicalPackaging Specify the packaging used.
            Example: FEDEX_PAK
            Click here to see Package Types * @param ?int $groupPackageCount Indicate the grouped package count. These are number of identical package(s) each with one or more commodities.
            Example: 2 * @param ?string $itemDescriptionForClearance Describe the content of the package for customs clearance purposes. This applies to intra-UAE, intra-Columbia and intra-Brazil shipments. @@ -28,7 +28,7 @@ final class RequestedPackageLineItem extends Dto * @param ?PackageSpecialServicesRequested $packageSpecialServices These are special services that are available at the package level for some or all service types. */ public function __construct( - public Weight $weight, + public WeightWithLink $weight, public ?string $physicalPackaging = null, public ?int $groupPackageCount = null, public ?string $itemDescriptionForClearance = null, diff --git a/src/Api/ServiceAvailabilityV1/Dto/WeightWithLink.php b/src/Api/ServiceAvailabilityV1/Dto/WeightWithLink.php new file mode 100644 index 00000000..4264d6a2 --- /dev/null +++ b/src/Api/ServiceAvailabilityV1/Dto/WeightWithLink.php @@ -0,0 +1,25 @@ +Example:KG + * @param float $value Weight Value.
            Example: 68.25
            Click here to see Weight Values + */ + public function __construct( + public string $units, + public float $value, + ) {} +} diff --git a/src/Api/ServiceAvailabilityV1/Dto/WeightWithoutLink.php b/src/Api/ServiceAvailabilityV1/Dto/WeightWithoutLink.php new file mode 100644 index 00000000..da664111 --- /dev/null +++ b/src/Api/ServiceAvailabilityV1/Dto/WeightWithoutLink.php @@ -0,0 +1,25 @@ +Example:KG + * @param float $value Weight Value.
            Example: 68.25 + */ + public function __construct( + public string $units, + public float $value, + ) {} +} diff --git a/src/Api/ShipV1/Dto/Address.php b/src/Api/ShipV1/Dto/Address.php index af4469d6..e3d000cb 100644 --- a/src/Api/ShipV1/Dto/Address.php +++ b/src/Api/ShipV1/Dto/Address.php @@ -15,19 +15,19 @@ final class Address extends Dto { /** - * @param string[] $streetLines This is the combination of number, street name, etc.
            Note: At least one line is required and streetlines more than 3 will be ignored. Empty lines should not be included. Maximum length per line is 35.
            Example: [10 FedEx Parkway, Suite 302, .etc.] - * @param string $countryCode This is the two-letter country code.
            Maximum length is 2.
            Example: US
            click here to see Country codes + * @param ?string[] $streetLines This is the combination of number, street name, etc.
            Note: At least one line is required and streetlines more than 3 will be ignored. Empty lines should not be included. Maximum length per line is 35.
            Example: [10 FedEx Parkway, Suite 302, .etc.] * @param ?string $city This is a placeholder for City Name.
            Note: This is conditional and not required in all the requests.
            Note: It is recommended for Express shipments for the most accurate ODA and OPA surcharges.
            Example: Beverly Hills * @param ?string $stateOrProvinceCode This is a placeholder for State or Province code.State code is required for US, CA, PR and not required for other countries. Conditional. Max length is 2.
            Example: CA
            click here to see State or Province Code * @param ?string $postalCode Indicate the Postal code. This is Optional for non postal-aware countries. Maximum length is 10.
            Example: 65247
            click here to see Postal aware countries + * @param ?string $countryCode This is the two-letter country code.
            Maximum length is 2.
            Example: US
            click here to see Country codes * @param ?bool $residential Indicate whether this address is residential (as opposed to commercial). */ public function __construct( - public array $streetLines, - public string $countryCode, + public ?array $streetLines = null, public ?string $city = null, public ?string $stateOrProvinceCode = null, public ?string $postalCode = null, + public ?string $countryCode = null, public ?bool $residential = null, ) {} } diff --git a/src/Api/ShipV1/Dto/CancelShipmentOutputVo.php b/src/Api/ShipV1/Dto/CancelShipmentOutputVo.php index 3a721dcb..644f3d6c 100644 --- a/src/Api/ShipV1/Dto/CancelShipmentOutputVo.php +++ b/src/Api/ShipV1/Dto/CancelShipmentOutputVo.php @@ -19,13 +19,13 @@ final class CancelShipmentOutputVo extends Dto /** * @param ?bool $cancelledShipment Indicates whether the shipment has been cancelled or not. If the value is True, then it indicates that the shipment has been cancelled.
            Example: true * @param ?bool $cancelledHistory Indicates whether the shipment has been deleted from history or not. If the value is True, then it indicates that the shipment has been deleted.
            Example: true - * @param ?string $successMessage The success message generated during cancellation request for Shipment.
            Example: Success + * @param ?string $message The success message generated during cancellation request for Shipment.
            Example:Shipment is successfully cancelled * @param Alert[]|null $alerts This is a cancellation request alert. This alert includes information such as alert code, alert type, and alert message. */ public function __construct( public ?bool $cancelledShipment = null, public ?bool $cancelledHistory = null, - public ?string $successMessage = null, + public ?string $message = null, public ?array $alerts = null, ) {} } diff --git a/src/Api/ShipV1/Dto/CommercialInvoice.php b/src/Api/ShipV1/Dto/CommercialInvoice.php index 1750eb4b..f4bf70a3 100644 --- a/src/Api/ShipV1/Dto/CommercialInvoice.php +++ b/src/Api/ShipV1/Dto/CommercialInvoice.php @@ -18,6 +18,7 @@ final class CommercialInvoice extends Dto /** * @param ?string $originatorName The originatorName that will populate the Commercial Invoice (or Pro Forma).
            Example: originator name + * @param ?string $paymentTerms The payment terms that will populate the Commercial Invoice (or Pro Forma). This field is being supported for completeness only.
            Example: payment terms * @param ?string[] $comments The comments that will populate the Commercial Invoice (or Pro Forma). Only the comments specified in the first two indexes of the array will be printed on the invoice and other comments would be ignored as the limitation is set for only two indexes. It considers the comment which is in the first index as a Special Instructions, Hence the comment at first index will be printed under special instructions and the other will be printed at comments section in the Commercial Invoice Document.
            Example: comments * @param CustomerReference[]|null $customerReferences These are additional customer reference data for commercial invoice. * @param ?Money $taxesOrMiscellaneousCharge This customs value is applicable for all items(or units) under the specified commodity @@ -33,6 +34,7 @@ final class CommercialInvoice extends Dto */ public function __construct( public ?string $originatorName = null, + public ?string $paymentTerms = null, public ?array $comments = null, public ?array $customerReferences = null, public ?Money $taxesOrMiscellaneousCharge = null, diff --git a/src/Api/ShipV1/Dto/CreateTagRequestedShipment.php b/src/Api/ShipV1/Dto/CreateTagRequestedShipment.php index 6d389129..1a2ee53d 100644 --- a/src/Api/ShipV1/Dto/CreateTagRequestedShipment.php +++ b/src/Api/ShipV1/Dto/CreateTagRequestedShipment.php @@ -38,7 +38,7 @@ final class CreateTagRequestedShipment extends Dto * @param ?ShipShipmentEmailNotificationDetail $emailNotificationDetail This is used to provide eMail notification information.. * @param ?ExpressFreightDetail $expressFreightDetail Indicates the advance booking number, shipper load /count and packing list details. This details must be provided by the user during freight shipment. * @param ?VariableHandlingChargeDetail $variableHandlingChargeDetail Indicate the details about how to calculate variable handling charges at the shipment level. They can be based on a percentage of the shipping charges or a fixed amount. If indicated, element rateLevelType is required. - * @param ?CustomsClearanceDetail $customsClearanceDetail These are customs clearance details. Required for International and intra-country Shipments. + * @param ?CustomsClearanceDetailTag $customsClearanceDetail These are customs clearance details. Required for International and intra-country Shipments. * @param ?SmartPostInfoDetail $smartPostInfoDetail Use this object to specify the smartpost shipment details.
            Required for SMARTPOST service. If SmartPostInfoDetail is indicated, the elements below it are also required. * @param ?bool $blockInsightVisibility If true, only the shipper/payer will have visibility of this shipment.
            Valid Value : true, false.
            Default:false
            Example: true * @param ?ShippingDocumentSpecification $shippingDocumentSpecification Use this object to provide all data required for additional (non-label) shipping documents to be produced. @@ -67,7 +67,7 @@ public function __construct( public ?ShipShipmentEmailNotificationDetail $emailNotificationDetail = null, public ?ExpressFreightDetail $expressFreightDetail = null, public ?VariableHandlingChargeDetail $variableHandlingChargeDetail = null, - public ?CustomsClearanceDetail $customsClearanceDetail = null, + public ?CustomsClearanceDetailTag $customsClearanceDetail = null, public ?SmartPostInfoDetail $smartPostInfoDetail = null, public ?bool $blockInsightVisibility = null, public ?ShippingDocumentSpecification $shippingDocumentSpecification = null, diff --git a/src/Api/ShipV1/Dto/CustomsClearanceDetail.php b/src/Api/ShipV1/Dto/CustomsClearanceDetail.php index 756e6904..f9727f33 100644 --- a/src/Api/ShipV1/Dto/CustomsClearanceDetail.php +++ b/src/Api/ShipV1/Dto/CustomsClearanceDetail.php @@ -19,7 +19,7 @@ final class CustomsClearanceDetail extends Dto /** * @param CommercialInvoice $commercialInvoice Use this object to provide Commercial Invoice details. This element is required for electronic upload of CI data. It will serve to create/transmit an electronic Commercial Invoice through the FedEx system.
            Customers are responsible for printing their own Commercial Invoice.
            If you would like FedEx to generate a Commercial Invoice and transmit it to Customs for clearance purposes, you need to specify that in the ETDDetail/RequestedDocumentCopies element.
            Supports maximum of 99 commodity line items. * @param Commodity[] $commodities Indicates the details about the dutiable packages. Maximum upto 999 commodities per shipment. - * @param ?string[] $regulatoryControls These are the regulatory controls applicable to the shipment.
            Example:USMCA,FOOD_OR_PERISHABLE + * @param ?string[] $regulatoryControls These are the regulatory controls applicable to the shipment.
            Example:[USMCA,FOOD_OR_PERISHABLE] * @param BrokerDetail[]|null $brokers Specify broker information. Use this option only if you are using Broker Select Option for your shipment. A country code must be specified in addition to one of the following address items: postal code, city, or location id. * @param ?string $freightOnValue Specify the risk owner for the Freight shipment.This element is only mandatory or valid for Intra India shipments.
            Example: OWN_RISK * @param ?Payment2 $dutiesPayment This is a payment type, basically indicates who is the payor for the shipment.Conditional required for International Shipments diff --git a/src/Api/ShipV1/Dto/CustomsClearanceDetailTag.php b/src/Api/ShipV1/Dto/CustomsClearanceDetailTag.php new file mode 100644 index 00000000..c417c707 --- /dev/null +++ b/src/Api/ShipV1/Dto/CustomsClearanceDetailTag.php @@ -0,0 +1,54 @@ + Commodity::class, 'brokers' => BrokerDetail::class]; + + /** + * @param CommercialInvoice $commercialInvoice Use this object to provide Commercial Invoice details. This element is required for electronic upload of CI data. It will serve to create/transmit an electronic Commercial Invoice through the FedEx system.
            Customers are responsible for printing their own Commercial Invoice.
            If you would like FedEx to generate a Commercial Invoice and transmit it to Customs for clearance purposes, you need to specify that in the ETDDetail/RequestedDocumentCopies element.
            Supports maximum of 99 commodity line items. + * @param Commodity[] $commodities Indicates the details about the dutiable packages. Maximum upto 999 commodities per shipment. + * @param ?string[] $regulatoryControls These are the regulatory controls applicable to the shipment.
            Example:USMCA,FOOD_OR_PERISHABLE + * @param BrokerDetail[]|null $brokers Specify broker information. Use this option only if you are using Broker Select Option for your shipment. A country code must be specified in addition to one of the following address items: postal code, city, or location id. + * @param ?string $freightOnValue Specify the risk owner for the Freight shipment.This element is only mandatory or valid for Intra India shipments.
            Example: OWN_RISK + * @param ?Payment1Tag $dutiesPayment This is a payment type, basically indicates who is the payor for the shipment.Conditional required for International Shipments + * @param ?bool $isDocumentOnly Defaults to false. Only used for international Express requests to indicate if just documents are being shipped or not. A valude of DERIVED will cause the value to be determined by PMIS based on the specified commodities information
            Example: false + * @param ?RecipientCustomsId $recipientCustomsId Use this element to provide valid identification details. Used for populating brazil tax id. + * @param ?CustomsOptionDetail $customsOption These are customs Option Detail, type must be indicated for each occurrence. + * @param ?string $generatedDocumentLocale This is the locale for generated document.
            Example: en_US
            click here to see Locales
            Note: If the locale is left blank or an invalid locale is entered, an error message is returned in response. + * @param ?ExportDetail $exportDetail These are export Detail used for US or CA exports. + * @param ?Money $totalCustomsValue This customs value is applicable for all items(or units) under the specified commodity + * @param ?bool $partiesToTransactionAreRelated Specify if the transacting parties are related. + * @param ?CustomsDeclarationStatementDetail $declarationStatementDetail Specifies about the statements to be declared for Customs. + * @param ?Money $insuranceCharge This customs value is applicable for all items(or units) under the specified commodity + */ + public function __construct( + public CommercialInvoice $commercialInvoice, + public array $commodities, + public ?array $regulatoryControls = null, + public ?array $brokers = null, + public ?string $freightOnValue = null, + public ?Payment1Tag $dutiesPayment = null, + public ?bool $isDocumentOnly = null, + public ?RecipientCustomsId $recipientCustomsId = null, + public ?CustomsOptionDetail $customsOption = null, + public ?Party $importerOfRecord = null, + public ?string $generatedDocumentLocale = null, + public ?ExportDetail $exportDetail = null, + public ?Money $totalCustomsValue = null, + public ?bool $partiesToTransactionAreRelated = null, + public ?CustomsDeclarationStatementDetail $declarationStatementDetail = null, + public ?Money $insuranceCharge = null, + ) {} +} diff --git a/src/Api/ShipV1/Dto/CustomsMoney.php b/src/Api/ShipV1/Dto/CustomsMoney.php index 76505436..6c773908 100644 --- a/src/Api/ShipV1/Dto/CustomsMoney.php +++ b/src/Api/ShipV1/Dto/CustomsMoney.php @@ -15,7 +15,7 @@ final class CustomsMoney extends Dto { /** - * @param ?float $amount This is the amount. Maximum limit is 5 digits before decimal.
            Example: 1556.25 + * @param ?float $amount This is commodity value in amount used for Customs declaration.
            Max limit: 11 digits before decimal.
            Example: 1,55,6457.25 * @param ?string $currency This is the currency code for the amount.
            Example: USD
            Click here to see Currency codes */ public function __construct( diff --git a/src/Api/ShipV1/Dto/DangerousGoodsDetail.php b/src/Api/ShipV1/Dto/DangerousGoodsDetail.php index adf1f429..ec8c8793 100644 --- a/src/Api/ShipV1/Dto/DangerousGoodsDetail.php +++ b/src/Api/ShipV1/Dto/DangerousGoodsDetail.php @@ -15,13 +15,15 @@ final class DangerousGoodsDetail extends Dto { /** - * @param string $accessibility Specify Dangerous Goods Accessibility Type.
            • Inaccessible – it does not have to be accessable on the aircraft.
            • Accessible – it must be fully accessible on the aircraft, and is more strictly controlled.
            * @param ?bool $cargoAircraftOnly A Boolean value that, when True, specifies the mode of shipment transportation should be Cargo Aircraft for Dangerous Goods. Its default value is set as False.
            Note: An identifier DGD-CAO is added in AWB for cargo aircraft shipments. + * @param ?string $regulation It is a HazardousCommodityRegulationType(The regulation under which the DG data has been validated). + * @param ?string $accessibility Specify Dangerous Goods Accessibility Type.
            • Inaccessible – it does not have to be accessable on the aircraft.
            • Accessible – it must be fully accessible on the aircraft, and is more strictly controlled.
            Note: Accessibility is only required for IATA controlled DG shipments. * @param ?string[] $options Indicate type of DG being reported.
            - SMALL_QUANTITY_EXCEPTION : It is applicable for only One Piece shipment. */ public function __construct( - public string $accessibility, public ?bool $cargoAircraftOnly = null, + public ?string $regulation = null, + public ?string $accessibility = null, public ?array $options = null, ) {} } diff --git a/src/Api/ShipV1/Dto/FullSchemaShip.php b/src/Api/ShipV1/Dto/FullSchemaShip.php index bac24afa..69b93b10 100644 --- a/src/Api/ShipV1/Dto/FullSchemaShip.php +++ b/src/Api/ShipV1/Dto/FullSchemaShip.php @@ -18,7 +18,7 @@ final class FullSchemaShip extends Dto /** * @param RequestedShipment $requestedShipment The descriptive data of the requested shipment. - * @param string $labelResponseOptions LabelResponseOptions specifies the label generation format.
            Example:URL_ONLY + * @param string $labelResponseOptions Note- Label will be returned as Base64 ONLY when openShipmentAction is PROVIDE_DOCUMENTS_INCREMENTALLY.
            LabelResponseOptions specifies the label generation format.
            Example:URL_ONLY * @param ShipperAccountNumber $accountNumber The account number associated with the shipment. * @param ?string $mergeLabelDocOption It specifies the content of the merged pdf URL in the response. The merged pdf URL is generated only if the labelResponseOption is indicated as URL_ONLY.
            • If the value is 'LABELS_AND_DOCS', then merged (all shipping labels and shipping documents) pdf URL will be returned.
            • If the value is 'LABELS_ONLY', merged (all shipping labels only) pdf URL will be returned.
            • If the value is 'NONE', then no merged pdf URL will be returned.

            This is optional field and will default to LABELS_AND_DOCS.
            Note: If the value is 'LABELS_ONLY', then the returned merged pdf label will not be in the Base64 encoded format. * @param ?string $shipAction Indicate shipment action for the Shipment.
            • CONFIRM – used in case of shipment submission
            • TRANSFER – used in case of Email Label Shipment or Pending Shipment submission. diff --git a/src/Api/ShipV1/Dto/HazardousCommodityOptionDetail.php b/src/Api/ShipV1/Dto/HazardousCommodityOptionDetail.php index a9ec1bd9..1d19c163 100644 --- a/src/Api/ShipV1/Dto/HazardousCommodityOptionDetail.php +++ b/src/Api/ShipV1/Dto/HazardousCommodityOptionDetail.php @@ -15,8 +15,8 @@ final class HazardousCommodityOptionDetail extends Dto { /** - * @param ?string $labelTextOption Indicates the label text option. - * @param ?string $customerSuppliedLabelText 'DG Data Upload Mode:- Optional.,DG Full Validation Mode:- Optional,Text used in labeling the commodity under control of the LabelTextOption field
              Example:Customer Supplied Label Text' + * @param ?string $labelTextOption Provides the label text option + * @param ?string $customerSuppliedLabelText DG Data Upload Mode:- Optional
              DG Full Validation Mode: Optional
              Text used in labeling the commodity under control of the LabelTextOption field */ public function __construct( public ?string $labelTextOption = null, diff --git a/src/Api/ShipV1/Dto/HazardousCommodityQuantityDetail.php b/src/Api/ShipV1/Dto/HazardousCommodityQuantityDetail.php index af88b119..1015ef26 100644 --- a/src/Api/ShipV1/Dto/HazardousCommodityQuantityDetail.php +++ b/src/Api/ShipV1/Dto/HazardousCommodityQuantityDetail.php @@ -15,9 +15,9 @@ final class HazardousCommodityQuantityDetail extends Dto { /** - * @param string $quantityType Specifies which measure of quantity is to be validated. - * @param float $amount Number of units of the type below.
              Example: 34.56 - * @param ?string $units Specifies the units.
              Example: KG + * @param string $quantityType Specifies which measure of quantity is to be validated.
              Example:GROSS + * @param float $amount Indicate the amount of the commodity in alternate units.
              Example: 24.56 + * @param ?string $units Indicate the unit of measure.
              Example: KG */ public function __construct( public string $quantityType, diff --git a/src/Api/ShipV1/Dto/LabelSpecification.php b/src/Api/ShipV1/Dto/LabelSpecification.php index 5763a808..ebe145f4 100644 --- a/src/Api/ShipV1/Dto/LabelSpecification.php +++ b/src/Api/ShipV1/Dto/LabelSpecification.php @@ -24,7 +24,7 @@ final class LabelSpecification extends Dto * @param ?string $labelRotation This is applicable only to documents produced on thermal printers with roll stock. * @param ?string $labelPrintingOrientation This is applicable only to documents produced on thermal printers with roll stock. * @param ?string $returnedDispositionDetail Specifies a particular way in which a kind of shipping document is to be produced and provided
              Example:RETURNED - * @param ?int $resolution Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203. + * @param ?int $resolution Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203.Note: 300 DPI resolution is only allowed for ZPLII image type. */ public function __construct( public string $labelStockType, diff --git a/src/Api/ShipV1/Dto/Party2Tag.php b/src/Api/ShipV1/Dto/Party2Tag.php new file mode 100644 index 00000000..c01e4364 --- /dev/null +++ b/src/Api/ShipV1/Dto/Party2Tag.php @@ -0,0 +1,31 @@ + TaxpayerIdentification::class]; + + /** + * @param ?Address $address Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of "address parts" which should be handled as a unit (such as a city-state-ZIP combination within the US). + * @param ?Contact $contact Indicate the contact details of the shipper. + * @param ?PartyAccountNumberTag $accountNumber This is FedEx Account number details. + * @param TaxpayerIdentification[]|null $tins This is the tax identification number details. + */ + public function __construct( + public ?Address $address = null, + public ?Contact $contact = null, + public ?PartyAccountNumberTag $accountNumber = null, + public ?array $tins = null, + ) {} +} diff --git a/src/Api/ShipV1/Dto/PartyAccountNumberTag.php b/src/Api/ShipV1/Dto/PartyAccountNumberTag.php new file mode 100644 index 00000000..e938fb9a --- /dev/null +++ b/src/Api/ShipV1/Dto/PartyAccountNumberTag.php @@ -0,0 +1,23 @@ + The account number value.
              Max Length is 9.
              Example: 12XXXXX89 + */ + public function __construct( + public ?string $value = null, + ) {} +} diff --git a/src/Api/ShipV1/Dto/PartyAddress.php b/src/Api/ShipV1/Dto/PartyAddress.php index 5ab44fa9..c87fb42a 100644 --- a/src/Api/ShipV1/Dto/PartyAddress.php +++ b/src/Api/ShipV1/Dto/PartyAddress.php @@ -18,7 +18,7 @@ final class PartyAddress extends Dto * @param string[] $streetLines Combination of number, street name, etc. At least one line is required for a valid physical address. Empty lines should not be included. Max Length is 35.
              Example: [1550 Union Blvd,Suite 302] * @param string $city The name of city, town of the recipient.Max length is 35.
              Example: Beverly Hills * @param string $countryCode This is the two-letter country code.
              Maximum length is 2.
              Example: US
              click here to see Country codes - * @param ?string $stateOrProvinceCode The US States,Canada and Puerto Rico Province codes of the recipient. The Format and presence of this field may vary depending on the country.State code is required for US, CA, PR and not required for other countries. Conditional. Max length is 2.
              Example: CA + * @param ?string $stateOrProvinceCode It is used to identify the principal subdivisions (e.g., provinces or states) of countries. The Format and presence of this field may vary depending on the country. Note: For specific countries, such as the United States and Canada, and Puerto Rico, there is a two-character state, province, codes limit . Example: TX * @param ?string $postalCode This is the postal code.
              Note: This is Optional for non postal-aware countries. Maximum length is 10.
              Example: 65247
              click here to see Postal aware countries * @param ?bool $residential Indicates whether this address is residential (as opposed to commercial).
              Example: false */ diff --git a/src/Api/ShipV1/Dto/Payment1Tag.php b/src/Api/ShipV1/Dto/Payment1Tag.php new file mode 100644 index 00000000..f9c6b40e --- /dev/null +++ b/src/Api/ShipV1/Dto/Payment1Tag.php @@ -0,0 +1,27 @@ +Example: SENDER + */ + public function __construct( + public ?Payor1Tag $payor = null, + public ?BillingDetails $billingDetails = null, + public ?string $paymentType = null, + ) {} +} diff --git a/src/Api/ShipV1/Dto/Payor1Tag.php b/src/Api/ShipV1/Dto/Payor1Tag.php new file mode 100644 index 00000000..fea3603f --- /dev/null +++ b/src/Api/ShipV1/Dto/Payor1Tag.php @@ -0,0 +1,23 @@ + TransactionDetailVo::class, 'packageDocuments' => LabelResponseVo::class, 'customerReferences' => CustomerReference::class, ]; /** * @param ?float $netChargeAmount Indicates the net charges amount.
              Example: 21.45 - * @param TransactionDetailVo[]|null $transactionDetails Indicates data received that governs data payload language/translations. The TransactionDetail from the request is echoed back to the caller in the corresponding reply. * @param LabelResponseVo[]|null $packageDocuments These are package documents returned in the response. * @param ?string $acceptanceTrackingNumber Indicates the acceptance tracking number.
              Example: 7949XXXXX5000 * @param ?string $serviceCategory Indicates the service category. @@ -30,7 +28,7 @@ final class PieceResponse extends Dto * @param ?string $deliveryTimestamp Indicates delivery date with timestamp.
              Example: 2012-09-23 * @param ?string $trackingIdType Indicates the type of the tracking identifier. * @param ?float $additionalChargesDiscount These are additional charges or discounts.
              Example: 621.45 - * @param ?float $netListRateAmount Indicates the net List rate amount.
              Example: 1.45 + * @param ?float $listRateAmount Indicates the net List rate amount.
              Example: 1.45 * @param ?float $baseRateAmount Specifies the base rate amount.
              Example: 321.45 * @param ?int $packageSequenceNumber Indicates package sequence number.
              Example: 215 * @param ?float $netDiscountAmount Specifies the net discount amount.
              Example: 121.45 @@ -38,12 +36,10 @@ final class PieceResponse extends Dto * @param ?string $masterTrackingNumber This is a master tracking number of the shipment (must be unique for stand-alone open shipments, or unique within consolidation if consolidation key is provided).
              Example: 794XXXXX5000 * @param ?string $acceptanceType Indicates acceptance type.
              Example: acceptanceType
              Example:acceptanceType * @param ?string $trackingNumber This is the tracking number associated with this package.
              Example: 49XXX0000XXX20032835 - * @param ?bool $successful Returns true if the responses are successful otherwise false. * @param CustomerReference[]|null $customerReferences These are additional customer reference data.
              Note: The groupPackageCount must be specified to retrieve customer references. */ public function __construct( public ?float $netChargeAmount = null, - public ?array $transactionDetails = null, public ?array $packageDocuments = null, public ?string $acceptanceTrackingNumber = null, public ?string $serviceCategory = null, @@ -51,7 +47,7 @@ public function __construct( public ?string $deliveryTimestamp = null, public ?string $trackingIdType = null, public ?float $additionalChargesDiscount = null, - public ?float $netListRateAmount = null, + public ?float $listRateAmount = null, public ?float $baseRateAmount = null, public ?int $packageSequenceNumber = null, public ?float $netDiscountAmount = null, @@ -59,7 +55,6 @@ public function __construct( public ?string $masterTrackingNumber = null, public ?string $acceptanceType = null, public ?string $trackingNumber = null, - public ?bool $successful = null, public ?array $customerReferences = null, ) {} } diff --git a/src/Api/ShipV1/Dto/RequestedShipmentTag.php b/src/Api/ShipV1/Dto/RequestedShipmentTag.php new file mode 100644 index 00000000..9705b4c7 --- /dev/null +++ b/src/Api/ShipV1/Dto/RequestedShipmentTag.php @@ -0,0 +1,78 @@ + RecipientsParty::class, + 'requestedPackageLineItems' => RequestedPackageLineItem::class, + ]; + + /** + * @param ShipperParty $shipper Indicate the Shipper contact details for this shipment. + * @param RecipientsParty[] $recipients Indicate the descriptive data for the recipient location to which the shipment is to be received. + * @param string $pickupType Indicates if shipment is being dropped off at a FedEx location or being picked up by FedEx or if it's a regularly scheduled pickup for this shipment. Required for FedEx Express and Ground Shipment.
              Example: USE_SCHEDULED_PICKUP + * @param string $serviceType Indicate the FedEx service type used for this shipment.
              Example: STANDARD_OVERNIGHT
              click here to see Service Types + * @param string $packagingType Specify the packaging used.
              Note: For Express Freight shipments, the packaging will default to YOUR_PACKAGING irrespective of the user provided package type in the request.
              Example: FEDEX_PAK
              click here to see Package Types + * @param float $totalWeight Indicate the shipment total weight in pounds.
              Example: 10.6
              Note:
              • This only applies to International shipments and should be used on the first package of a multiple piece shipment.
              • This value contains 1 explicit decimal position.
              • For one Label at a time shipments, the unit of totalWeight is considered same as the unit of weight provided in requestedPackageLineItem field.
              + * @param Payment $shippingChargesPayment Specifies the payment details specifying the method and means of payment to FedEx for providing shipping services. + * @param LabelSpecification $labelSpecification These are label specification details includes the image type, printer format, and label stock for label. Can also specify specific details such as doc-tab content, regulatory labels, and masking data on the label. + * @param RequestedPackageLineItem[] $requestedPackageLineItems These are one or more package-attribute descriptions, each of which describes an individual package, a group of identical packages, or (for the total-piece-total-weight case) common characteristics of all packages in the shipment.
              • At least one instance containing the weight for at least one package is required for EXPRESS and GROUND shipments.
              • Single piece requests will have one RequestedPackageLineItem.
              • Multiple piece requests will have multiple RequestedPackageLineItems.
              • Maximum occurrences is 30.
              + * @param ?string $shipDatestamp This is the shipment date. Default value is current date in case the date is not provided or a past date is provided.
              Format [YYYY-MM-DD].
              Example: 2019-10-14 + * @param ?Money $totalDeclaredValue This customs value is applicable for all items(or units) under the specified commodity + * @param ?SoldToParty $soldTo Will indicate the party responsible for purchasing the goods shipped from the shipper to the recipient. The sold to party is not necessarily the recipient or the importer of record. The sold to party is relevant when the purchaser, rather than the recipient determines when certain customs regulations apply. + * @param ?string $recipientLocationNumber A unique identifier for a recipient location.
              Example:1234567 + * @param ?ContactAndAddress $origin Specifies the contact and address details of a location. + * @param ?ShipmentSpecialServicesRequested $shipmentSpecialServices Specify the special services requested at the shipment level.
              If the shipper is requesting a special service which requires additional data (such as the COD amount), the shipment special service type must be present in the specialServiceTypes collection, and the supporting detail must be provided in the appropriate sub-object below.
              RETURN_SHIPMENT is required for creating return shipments. + * @param ?ShipShipmentEmailNotificationDetail $emailNotificationDetail This is used to provide eMail notification information.. + * @param ?ExpressFreightDetail $expressFreightDetail Indicates the advance booking number, shipper load /count and packing list details. This details must be provided by the user during freight shipment. + * @param ?VariableHandlingChargeDetail $variableHandlingChargeDetail Indicate the details about how to calculate variable handling charges at the shipment level. They can be based on a percentage of the shipping charges or a fixed amount. If indicated, element rateLevelType is required. + * @param ?CustomsClearanceDetailTag $customsClearanceDetail These are customs clearance details. Required for International and intra-country Shipments. + * @param ?SmartPostInfoDetail $smartPostInfoDetail Use this object to specify the smartpost shipment details.
              Required for SMARTPOST service. If SmartPostInfoDetail is indicated, the elements below it are also required. + * @param ?bool $blockInsightVisibility If true, only the shipper/payer will have visibility of this shipment.
              Valid Value : true, false.
              Default:false
              Example: true + * @param ?ShippingDocumentSpecification $shippingDocumentSpecification Use this object to provide all data required for additional (non-label) shipping documents to be produced. + * @param ?string[] $rateRequestType Indicate the type of rates to be returned. The account specific rates are returned by default if the account number is specified in the request.
              Following are values:
              • LIST - Returns FedEx published list rates in addition to account-specific rates (if applicable).
              • INCENTIVE - This is one-time discount for incentivising the customer. For more information, contact your FedEx representative.
              • ACCOUNT - Returns account specific rates (Default).
              • PREFERRED - Returns rates in the preferred currency specified in the element preferredCurrency.
              • RETAIL - Returns customer rate from one of retail FedEx service centers.
              Examples: ["ACCOUNT", "PREFERRED"] + * @param ?string $preferredCurrency Indicate the currency the caller requests to have used in all returned monetary values. Should be Used in conjunction with the element RateRequestType.
              Example: USD
              click here to see available Currency codes
              Note: Incorrect currency codes should not be supplied. The system ignores the incorrect currency code. + * @param ?int $totalPackageCount For an MPS, this is the total number of packages in the shipment.Applicable for parent shipment for one label at a time shipments.
              Example: 25 + * @param ?MasterTrackingId $masterTrackingId Indicates the tracking details of the package.Required for child shipments of an oneLabelAtATime shipments + */ + public function __construct( + public ShipperParty $shipper, + public array $recipients, + public string $pickupType, + public string $serviceType, + public string $packagingType, + public float $totalWeight, + public Payment $shippingChargesPayment, + public LabelSpecification $labelSpecification, + public array $requestedPackageLineItems, + public ?string $shipDatestamp = null, + public ?Money $totalDeclaredValue = null, + public ?SoldToParty $soldTo = null, + public ?string $recipientLocationNumber = null, + public ?ContactAndAddress $origin = null, + public ?ShipmentSpecialServicesRequested $shipmentSpecialServices = null, + public ?ShipShipmentEmailNotificationDetail $emailNotificationDetail = null, + public ?ExpressFreightDetail $expressFreightDetail = null, + public ?VariableHandlingChargeDetail $variableHandlingChargeDetail = null, + public ?CustomsClearanceDetailTag $customsClearanceDetail = null, + public ?SmartPostInfoDetail $smartPostInfoDetail = null, + public ?bool $blockInsightVisibility = null, + public ?ShippingDocumentSpecification $shippingDocumentSpecification = null, + public ?array $rateRequestType = null, + public ?string $preferredCurrency = null, + public ?int $totalPackageCount = null, + public ?MasterTrackingId $masterTrackingId = null, + ) {} +} diff --git a/src/Api/ShipV1/Dto/ShipmentDryIceDetail2.php b/src/Api/ShipV1/Dto/ShipmentDryIceDetail2.php index ea707167..ce545335 100644 --- a/src/Api/ShipV1/Dto/ShipmentDryIceDetail2.php +++ b/src/Api/ShipV1/Dto/ShipmentDryIceDetail2.php @@ -15,13 +15,13 @@ final class ShipmentDryIceDetail2 extends Dto { /** - * @param Weight $totalWeight These are the package weight details.
              Note: Weight is not required for One rate shipments * @param int $packageCount Specifies the package Count for the shipment
              Example: 10 + * @param ?Weight $totalWeight These are the package weight details.
              Note: Weight is not required for One rate shipments * @param ?ShipmentDryIceProcessingOptionsRequested $processingOptions Specify that dry ice information is only applicable at the shipment level. Package level dry ice information would not apply. */ public function __construct( - public Weight $totalWeight, public int $packageCount, + public ?Weight $totalWeight = null, public ?ShipmentDryIceProcessingOptionsRequested $processingOptions = null, ) {} } diff --git a/src/Api/ShipV1/Dto/ValidatedHazardousCommodityContent.php b/src/Api/ShipV1/Dto/ValidatedHazardousCommodityContent.php index f01f936e..f097fa19 100644 --- a/src/Api/ShipV1/Dto/ValidatedHazardousCommodityContent.php +++ b/src/Api/ShipV1/Dto/ValidatedHazardousCommodityContent.php @@ -15,15 +15,15 @@ final class ValidatedHazardousCommodityContent extends Dto { /** - * @param ?HazardousCommodityQuantityDetail $quantity Indicates the Hazardous Commodity Quantity Detail. - * @param ?HazardousCommodityContent $options Customer-provided specifications for handling individual commodities. + * @param ?HazardousCommodityQuantityDetail $quantity Specify the Hazardous commodity quantity details. + * @param ?HazardousCommodityOptionDetail $options Provides details of Hazardous Commodity Option Detail * @param ?ValidatedHazardousCommodityDescription $description Identifies and describes an individual hazardous commodity. For 201001 load, this is based on data from the FedEx Ground Hazardous Materials Shipping Guide. * @param ?NetExplosiveDetail $netExplosiveDetail Specifies the total mass of the contained explosive substances, without the mass of any casings, bullets, shells, etc. * @param ?float $massPoints The mass points are a calculation used by ADR regulations for measuring the risk of a particular hazardous commodity.
              Example: 2.0 */ public function __construct( public ?HazardousCommodityQuantityDetail $quantity = null, - public ?HazardousCommodityContent $options = null, + public ?HazardousCommodityOptionDetail $options = null, public ?ValidatedHazardousCommodityDescription $description = null, public ?NetExplosiveDetail $netExplosiveDetail = null, public ?float $massPoints = null, diff --git a/src/Api/ShipV1/Requests/CreateShipment.php b/src/Api/ShipV1/Requests/CreateShipment.php index 49d1dee4..3311de49 100644 --- a/src/Api/ShipV1/Requests/CreateShipment.php +++ b/src/Api/ShipV1/Requests/CreateShipment.php @@ -24,7 +24,7 @@ /** * Create Shipment * - * This endpoint helpsss you to create shipment requests thereby validating all the shipping input + * This endpoint helps you to create shipment requests thereby validating all the shipping input * information and either generates the labels (if the responses is synchronous) or a job ID if * transaction is processed using asynchronous method.
              Note: FedEx APIs do not support * Cross-Origin Resource Sharing (CORS) mechanism. diff --git a/src/Api/TradeDocumentsUploadV1/Requests/UploadEtdFiles.php b/src/Api/TradeDocumentsUploadV1/Requests/UploadEtdFiles.php index ae9a8834..b0729f0d 100644 --- a/src/Api/TradeDocumentsUploadV1/Requests/UploadEtdFiles.php +++ b/src/Api/TradeDocumentsUploadV1/Requests/UploadEtdFiles.php @@ -23,7 +23,7 @@ /** * Upload ETD files * - * Use this endpoint to upload the trade documentss electronicallyy before (pre-shipment) and after + * Use this endpoint to upload the trade documents electronically before (pre-shipment) and after * (post-shipment) the shipment is created.
              Note: FedEx APIs do not support Cross-Origin * Resource Sharing (CORS) mechanism. */ diff --git a/src/Api/TradeDocumentsUploadV1/Requests/UploadMultiEncodedEtDfiles.php b/src/Api/TradeDocumentsUploadV1/Requests/UploadMultiEncodedEtDfiles.php index 039ea93c..e155b53c 100644 --- a/src/Api/TradeDocumentsUploadV1/Requests/UploadMultiEncodedEtDfiles.php +++ b/src/Api/TradeDocumentsUploadV1/Requests/UploadMultiEncodedEtDfiles.php @@ -14,7 +14,7 @@ use Saloon\Contracts\Body\HasBody; use Saloon\Enums\Method; use Saloon\Http\Response; -use Saloon\Traits\Body\HasMultipartBody; +use Saloon\Traits\Body\HasJsonBody; use ShipStream\FedEx\Api\TradeDocumentsUploadV1\Dto\FullSchemaBase64multiDocumentRequest; use ShipStream\FedEx\Api\TradeDocumentsUploadV1\Responses\ErrorResponseVo; use ShipStream\FedEx\Api\TradeDocumentsUploadV1\Responses\ErrorResponseVo2; @@ -30,7 +30,7 @@ */ class UploadMultiEncodedEtDfiles extends Request implements HasBody { - use HasMultipartBody; + use HasJsonBody; protected Method $method = Method::POST; From 73208b75986689690215bde4719aab59c17feade Mon Sep 17 00:00:00 2001 From: Rob Wigginton <8102829+bob2021@users.noreply.github.com> Date: Wed, 30 Jul 2025 12:01:59 +0100 Subject: [PATCH 06/22] Fix multipart/form-data requests failing. --- composer.json | 8 +++++++- .../Requests/ImageUploadServiceInfo.php | 13 ++++++++++++- .../Requests/UploadEtdFiles.php | 13 ++++++++++++- .../Requests/UploadMultiEtDfiles.php | 13 ++++++++++++- src/Enums/Endpoint.php | 4 +++- 5 files changed, 46 insertions(+), 5 deletions(-) diff --git a/composer.json b/composer.json index 2b9611ed..0f242a04 100644 --- a/composer.json +++ b/composer.json @@ -11,8 +11,14 @@ "require": { "saloonphp/saloon": "^3.8" }, + "repositories": [ + { + "type": "vcs", + "url": "https://github.com/bob2021/saloon-sdk-generator.git" + } + ], "require-dev": { - "highsidelabs/saloon-sdk-generator": "^2.1", + "highsidelabs/saloon-sdk-generator": "dev-fix-multipart", "psy/psysh": "^0.12.3", "symfony/console": "^7.0", "phpcompatibility/php-compatibility": "^9.3", diff --git a/src/Api/TradeDocumentsUploadV1/Requests/ImageUploadServiceInfo.php b/src/Api/TradeDocumentsUploadV1/Requests/ImageUploadServiceInfo.php index 1f1e1a54..3623fb6b 100644 --- a/src/Api/TradeDocumentsUploadV1/Requests/ImageUploadServiceInfo.php +++ b/src/Api/TradeDocumentsUploadV1/Requests/ImageUploadServiceInfo.php @@ -12,6 +12,7 @@ use Exception; use Saloon\Contracts\Body\HasBody; +use Saloon\Data\MultipartValue; use Saloon\Enums\Method; use Saloon\Http\Response; use Saloon\Traits\Body\HasMultipartBody; @@ -59,6 +60,16 @@ public function createDtoFromResponse(Response $response): ImageUploadServiceOut public function defaultBody(): array { - return $this->fullSchemaImageUploadServiceInputVo->toArray(); + $data = $this->fullSchemaImageUploadServiceInputVo->toArray(); + $multipart = []; + foreach ($data as $key => $value) { + if (is_string($value) || is_numeric($value)) { + $multipart[] = new MultipartValue($key, (string) $value); + } else { + $multipart[] = new MultipartValue($key, json_encode($value)); + } + } + + return $multipart; } } diff --git a/src/Api/TradeDocumentsUploadV1/Requests/UploadEtdFiles.php b/src/Api/TradeDocumentsUploadV1/Requests/UploadEtdFiles.php index b0729f0d..87e92302 100644 --- a/src/Api/TradeDocumentsUploadV1/Requests/UploadEtdFiles.php +++ b/src/Api/TradeDocumentsUploadV1/Requests/UploadEtdFiles.php @@ -12,6 +12,7 @@ use Exception; use Saloon\Contracts\Body\HasBody; +use Saloon\Data\MultipartValue; use Saloon\Enums\Method; use Saloon\Http\Response; use Saloon\Traits\Body\HasMultipartBody; @@ -59,6 +60,16 @@ public function createDtoFromResponse(Response $response): DocumentResponseOutpu public function defaultBody(): array { - return $this->fullSchemaDocumentUploadInputVo->toArray(); + $data = $this->fullSchemaDocumentUploadInputVo->toArray(); + $multipart = []; + foreach ($data as $key => $value) { + if (is_string($value) || is_numeric($value)) { + $multipart[] = new MultipartValue($key, (string) $value); + } else { + $multipart[] = new MultipartValue($key, json_encode($value)); + } + } + + return $multipart; } } diff --git a/src/Api/TradeDocumentsUploadV1/Requests/UploadMultiEtDfiles.php b/src/Api/TradeDocumentsUploadV1/Requests/UploadMultiEtDfiles.php index 18fa895d..fc217e34 100644 --- a/src/Api/TradeDocumentsUploadV1/Requests/UploadMultiEtDfiles.php +++ b/src/Api/TradeDocumentsUploadV1/Requests/UploadMultiEtDfiles.php @@ -12,6 +12,7 @@ use Exception; use Saloon\Contracts\Body\HasBody; +use Saloon\Data\MultipartValue; use Saloon\Enums\Method; use Saloon\Http\Response; use Saloon\Traits\Body\HasMultipartBody; @@ -60,6 +61,16 @@ public function createDtoFromResponse( public function defaultBody(): array { - return $this->fullSchemaMultiDocumentRequest->toArray(); + $data = $this->fullSchemaMultiDocumentRequest->toArray(); + $multipart = []; + foreach ($data as $key => $value) { + if (is_string($value) || is_numeric($value)) { + $multipart[] = new MultipartValue($key, (string) $value); + } else { + $multipart[] = new MultipartValue($key, json_encode($value)); + } + } + + return $multipart; } } diff --git a/src/Enums/Endpoint.php b/src/Enums/Endpoint.php index 8dd66e73..c6db0b82 100644 --- a/src/Enums/Endpoint.php +++ b/src/Enums/Endpoint.php @@ -12,9 +12,11 @@ enum Endpoint: string case PROD = 'https://apis.fedex.com'; case SANDBOX = 'https://apis-sandbox.fedex.com'; + case PROD_DOCUMENTS_UPLOAD = 'https://documentapi.prod.fedex.com'; + case SANDBOX_DOCUMENTS_UPLOAD = 'https://documentapitest.prod.fedex.com/sandbox'; public static function host(Endpoint $endpoint): string { - return str_replace('https://', '', $endpoint->value); + return parse_url($endpoint->value, PHP_URL_HOST) ?: ''; } } From d6ee7f1adc683289f2b7d083d4f2f54d04086b0b Mon Sep 17 00:00:00 2001 From: Rob Wigginton <8102829+bob2021@users.noreply.github.com> Date: Wed, 30 Jul 2025 16:36:47 +0100 Subject: [PATCH 07/22] Fix bad image upload schema. --- resources/metadata/modifications.json | 60 ++++++++++++++++++- .../models/trade-documents-upload/v1.json | 28 ++++++--- .../TradeDocumentsUploadV1/Dto/Document.php | 2 - .../Dto/DocumentContainer.php | 25 ++++++++ .../FullSchemaImageUploadServiceInputVo.php | 4 +- 5 files changed, 106 insertions(+), 13 deletions(-) create mode 100644 src/Api/TradeDocumentsUploadV1/Dto/DocumentContainer.php diff --git a/resources/metadata/modifications.json b/resources/metadata/modifications.json index 7010f769..67cfe2b0 100644 --- a/resources/metadata/modifications.json +++ b/resources/metadata/modifications.json @@ -100,5 +100,63 @@ ] } ] + }, + "trade-documents-upload": { + "1": [ + { + "comment": "Define a container for FullSchema-ImageUploadServiceInputVO.properties.document. Move rules property up one level. See https://stackoverflow.com/questions/78593938/restful-fedex-trade-document-upload-api-cant-upload-signature-or-letterhead-i", + "action": "merge", + "path": "components.schemas", + "value": { + "DocumentContainer": { + "required": [ + "document", + "rules" + ], + "type": "object", + "properties": { + "document": { + "$ref": "#/components/schemas/Document" + }, + "rules": { + "$ref": "#/components/schemas/Document_rules" + } + }, + "description": "A container for the document and rules." + } + } + }, + { + "comment": "Wrap FullSchema-ImageUploadServiceInputVO.properties.document in DocumentContainer. Define document before attachment else error 1001 is thrown.", + "action": "replace", + "path": "components.schemas.FullSchema-ImageUploadServiceInputVO.properties", + "value": { + "document": { + "$ref": "#/components/schemas/DocumentContainer" + }, + "attachment": { + "type": "string", + "description": "Input the actual image file to be uploaded.", + "format": "file" + } + } + }, + { + "comment": "Delete moved `FullSchema-ImageUploadServiceInputVO.properties.rules` property.", + "action": "delete", + "path": "components.schemas.Document.properties.rules" + }, + { + "comment": "Delete moved `FullSchema-ImageUploadServiceInputVO.properties.rules` from required properties.", + "action": "replace", + "path": "components.schemas.Document.required", + "value": [ + "contentType", + "meta", + "name", + "referenceId" + ] + } + ] } -} +} \ No newline at end of file diff --git a/resources/models/trade-documents-upload/v1.json b/resources/models/trade-documents-upload/v1.json index 1dd1d720..2009be19 100644 --- a/resources/models/trade-documents-upload/v1.json +++ b/resources/models/trade-documents-upload/v1.json @@ -1285,13 +1285,13 @@ ], "type": "object", "properties": { + "document": { + "$ref": "#/components/schemas/DocumentContainer" + }, "attachment": { "type": "string", "description": "Input the actual image file to be uploaded.", "format": "file" - }, - "document": { - "$ref": "#/components/schemas/Document" } }, "description": "The request elements to upload image files." @@ -1301,8 +1301,7 @@ "contentType", "meta", "name", - "referenceId", - "rules" + "referenceId" ], "type": "object", "properties": { @@ -1321,9 +1320,6 @@ "description": "Specify the file type or image type of the to be uploaded.

              Valid Values are:
              • image/png
              • image/gif
              ", "example": "image/png" }, - "rules": { - "$ref": "#/components/schemas/Document_rules" - }, "meta": { "$ref": "#/components/schemas/Document_meta" } @@ -1929,6 +1925,22 @@ "example": "dGVzdGluZyBmb3IgbXVsdGlmaWxlIHVwbG9hZCB0ZXN0LWExDQp0ZXN0aW5nIGZvciBtdWx0a WZpbGUgdXBsb2FkIHRlc3QtYTENCkphbmFyZGhhbiBTaGluZ2FkZQ" } } + }, + "DocumentContainer": { + "required": [ + "document", + "rules" + ], + "type": "object", + "properties": { + "document": { + "$ref": "#/components/schemas/Document" + }, + "rules": { + "$ref": "#/components/schemas/Document_rules" + } + }, + "description": "A container for the document and rules." } } }, diff --git a/src/Api/TradeDocumentsUploadV1/Dto/Document.php b/src/Api/TradeDocumentsUploadV1/Dto/Document.php index b6828dbd..dde1530f 100644 --- a/src/Api/TradeDocumentsUploadV1/Dto/Document.php +++ b/src/Api/TradeDocumentsUploadV1/Dto/Document.php @@ -18,14 +18,12 @@ final class Document extends Dto * @param string $referenceId Specify reference ID for the image to be uploaded.

              Example: SIGNA202103 * @param string $name Specify file name to be uploaded.

              Example: Signature.PNG * @param string $contentType Specify the file type or image type of the to be uploaded.

              Valid Values are:
              • image/png
              • image/gif
              - * @param DocumentRules $rules Specify the rules. * @param DocumentMeta $meta Use this object to specify image meta data such as image type, path and index for the file to be uploaded. */ public function __construct( public string $referenceId, public string $name, public string $contentType, - public DocumentRules $rules, public DocumentMeta $meta, ) {} } diff --git a/src/Api/TradeDocumentsUploadV1/Dto/DocumentContainer.php b/src/Api/TradeDocumentsUploadV1/Dto/DocumentContainer.php new file mode 100644 index 00000000..885b3aa6 --- /dev/null +++ b/src/Api/TradeDocumentsUploadV1/Dto/DocumentContainer.php @@ -0,0 +1,25 @@ + Date: Fri, 1 Aug 2025 11:14:44 +0100 Subject: [PATCH 08/22] Delete old DTO files. --- .../Dto/LabelSpecification2.php | 42 ---------------- .../Dto/ServiceTypeDetailVo.php | 29 ----------- .../ShipV1/Dto/HazardousCommodityContent.php | 31 ------------ .../Dto/HazardousCommodityDescription.php | 49 ------------------- ...azardousCommodityInnerReceptacleDetail.php | 23 --------- .../Dto/HazardousCommodityPackingDetail.php | 25 ---------- src/Api/ShipV1/Dto/TransactionDetailVo.php | 25 ---------- 7 files changed, 224 deletions(-) delete mode 100644 src/Api/ConsolidationV1/Dto/LabelSpecification2.php delete mode 100644 src/Api/RatesAndTransitTimesV1/Dto/ServiceTypeDetailVo.php delete mode 100644 src/Api/ShipV1/Dto/HazardousCommodityContent.php delete mode 100644 src/Api/ShipV1/Dto/HazardousCommodityDescription.php delete mode 100644 src/Api/ShipV1/Dto/HazardousCommodityInnerReceptacleDetail.php delete mode 100644 src/Api/ShipV1/Dto/HazardousCommodityPackingDetail.php delete mode 100644 src/Api/ShipV1/Dto/TransactionDetailVo.php diff --git a/src/Api/ConsolidationV1/Dto/LabelSpecification2.php b/src/Api/ConsolidationV1/Dto/LabelSpecification2.php deleted file mode 100644 index 18a464bd..00000000 --- a/src/Api/ConsolidationV1/Dto/LabelSpecification2.php +++ /dev/null @@ -1,42 +0,0 @@ - ShippingDocumentDispositionDetail::class]; - - /** - * @param ContactAndAddress $printedLabelOrigin Idicates the contact and address details of a location. - * @param ?string $labelFormatType Specify the label Format Type.
              click here to see label format types - * @param ?string $labelStockType Indicate the label stock type used.
              click here to see label format types - * @param ?string $imageType Specify the image format used for a shipping document.
              click here to see label format types - * @param ShippingDocumentDispositionDetail[]|null $dispositions Specifies how to create, organize, and return the document - * @param ?string $labelPrintingOrientation This is applicable only to documents produced on thermal printers with roll stock. - * @param ?string $labelRotation This is applicable only to documents produced on thermal printers with roll stock. - * @param ?string $labelOrder This is the order of the Shipping label/documents to be generated. - * @param ?CustomerSpecifiedLabelDetail $customerSpecifiedDetail Allows customer-specified control of label content - */ - public function __construct( - public ContactAndAddress $printedLabelOrigin, - public ?string $labelFormatType = null, - public ?string $labelStockType = null, - public ?string $imageType = null, - public ?LabelSpecificationProcessingOptionsRequested $processingOptionsRequested = null, - public ?array $dispositions = null, - public ?string $labelPrintingOrientation = null, - public ?string $labelRotation = null, - public ?string $labelOrder = null, - public ?CustomerSpecifiedLabelDetail $customerSpecifiedDetail = null, - ) {} -} diff --git a/src/Api/RatesAndTransitTimesV1/Dto/ServiceTypeDetailVo.php b/src/Api/RatesAndTransitTimesV1/Dto/ServiceTypeDetailVo.php deleted file mode 100644 index d003ea00..00000000 --- a/src/Api/RatesAndTransitTimesV1/Dto/ServiceTypeDetailVo.php +++ /dev/null @@ -1,29 +0,0 @@ - HazardousCommodityInnerReceptacleDetail::class]; - - /** - * @param ?HazardousCommodityQuantityDetail $quantity Indicates the Hazardous Commodity Quantity Detail. - * @param HazardousCommodityInnerReceptacleDetail[]|null $innerReceptacles Specifies the inner receptacles within the container. - * @param ?HazardousCommodityOptionDetail $options Indicates details of hazardous commodity option detail. - * @param ?HazardousCommodityDescription $description Required
              Details of hazardous commodity description. - */ - public function __construct( - public ?HazardousCommodityQuantityDetail $quantity = null, - public ?array $innerReceptacles = null, - public ?HazardousCommodityOptionDetail $options = null, - public ?HazardousCommodityDescription $description = null, - ) {} -} diff --git a/src/Api/ShipV1/Dto/HazardousCommodityDescription.php b/src/Api/ShipV1/Dto/HazardousCommodityDescription.php deleted file mode 100644 index aae34d3b..00000000 --- a/src/Api/ShipV1/Dto/HazardousCommodityDescription.php +++ /dev/null @@ -1,49 +0,0 @@ -Specify the sequence number.
              Example: 9812 - * @param ?string[] $processingOptions Indicates any special processing options to be applied to the description of the dangerous goods commodity
              Example: ["INCLUDE_SPECIAL_PROVISIONS"] - * @param ?string[] $subsidiaryClasses Required - * - * Indicates list of subsidiary classes
              Example: ["Subsidiary Classes"] - * @param ?string $labelText Specifies the text for the label. - * @param ?string $technicalName Specifies the technical name for the hazardous material. - * @param ?HazardousCommodityPackingDetail $packingDetails Specifies documentation and limits for validation of an individual packing group/category. DG Data Upload Mode: Required (IATA), Optional (Other), DG Full Validation Mode: Required (IATA), Optional (Other), - * @param ?string $authorization Information related to quantity limitations and operator or state variations as may be applicable to the dangerous goods commodity. - * @param ?float $percentage Percentage
              Example: 12.45 - * @param ?string $id ID
              Example: 123 - * @param ?string $properShippingName The proper shipping name as defined by the regulation. The name can also include qualifying words
              Example: properShippingName - * @param ?string $hazardClass Specifies the hazard class for the commodity
              Example: hazard Class - */ - public function __construct( - public bool $reportableQuantity, - public string $packingGroup, - public ?int $sequenceNumber = null, - public ?array $processingOptions = null, - public ?array $subsidiaryClasses = null, - public ?string $labelText = null, - public ?string $technicalName = null, - public ?HazardousCommodityPackingDetail $packingDetails = null, - public ?string $authorization = null, - public ?float $percentage = null, - public ?string $id = null, - public ?string $properShippingName = null, - public ?string $hazardClass = null, - ) {} -} diff --git a/src/Api/ShipV1/Dto/HazardousCommodityInnerReceptacleDetail.php b/src/Api/ShipV1/Dto/HazardousCommodityInnerReceptacleDetail.php deleted file mode 100644 index e52520ec..00000000 --- a/src/Api/ShipV1/Dto/HazardousCommodityInnerReceptacleDetail.php +++ /dev/null @@ -1,23 +0,0 @@ -Note: An identifier DGD-CAO is added in AWB for cargo aircraft shipments.Example: true - * @param ?string $packingInstructions Coded specification for how commodity is to be packed.
              Example: packing Instructions - */ - public function __construct( - public bool $cargoAircraftOnly, - public ?string $packingInstructions = null, - ) {} -} diff --git a/src/Api/ShipV1/Dto/TransactionDetailVo.php b/src/Api/ShipV1/Dto/TransactionDetailVo.php deleted file mode 100644 index e8555b9e..00000000 --- a/src/Api/ShipV1/Dto/TransactionDetailVo.php +++ /dev/null @@ -1,25 +0,0 @@ -Example: transactionDetails - * @param ?string $transactionId This element has a unique identifier added in your request, helps you match the request to the reply. Maximum of 40 characters allowed.
              Example: XXXX_XXX123XXXXX. - */ - public function __construct( - public ?string $transactionDetails = null, - public ?string $transactionId = null, - ) {} -} From 74b6b3c8f9d08075070e6d5f12e1cf8ee92f019f Mon Sep 17 00:00:00 2001 From: Rob Wigginton <8102829+bob2021@users.noreply.github.com> Date: Mon, 11 Aug 2025 12:48:10 +0100 Subject: [PATCH 09/22] Add ship-dg-hazmat schema. --- resources/apis.json | 11 + .../v1/ShipDGHazmatAPI-Resource.json | 12959 ++++++++++++++++ resources/models/ship-dg-hazmat/v1.json | 7846 ++++++++++ src/Api/ShipDGHazmatV1/Api.php | 47 + .../Dto/AdditionalLabelsDetail.php | 25 + .../ShipDGHazmatV1/Dto/AdditionalMeasures.php | 25 + src/Api/ShipDGHazmatV1/Dto/Address.php | 33 + .../ShipDGHazmatV1/Dto/AdrLicenseDetail.php | 23 + src/Api/ShipDGHazmatV1/Dto/AlcoholDetail.php | 25 + src/Api/ShipDGHazmatV1/Dto/Alert.php | 27 + src/Api/ShipDGHazmatV1/Dto/Alert3p.php | 27 + .../Dto/BaseProcessOutputVo.php | 37 + .../Dto/BaseProcessOutputVoCancelShipment.php | 31 + .../Dto/BaseProcessOutputVoValidate.php | 25 + src/Api/ShipDGHazmatV1/Dto/BatteryDetail.php | 28 + src/Api/ShipDGHazmatV1/Dto/BillingDetails.php | 33 + src/Api/ShipDGHazmatV1/Dto/BinaryBarcode.php | 25 + src/Api/ShipDGHazmatV1/Dto/BlanketPeriod.php | 25 + src/Api/ShipDGHazmatV1/Dto/BrokerDetail.php | 24 + .../Dto/CertificateOfOriginDetail.php | 27 + .../Dto/CodTransportationChargesDetail.php | 29 + .../ShipDGHazmatV1/Dto/CommercialInvoice.php | 49 + .../Dto/CommercialInvoiceDetail.php | 27 + src/Api/ShipDGHazmatV1/Dto/Commodity.php | 59 + .../Dto/CommodityClarificationDetail.php | 27 + .../ShipDGHazmatV1/Dto/CompletedEtdDetail.php | 29 + .../Dto/CompletedHazardousPackageDetail.php | 37 + .../Dto/CompletedHazardousShipmentDetail.php | 27 + .../Dto/CompletedHazardousSummaryDetail.php | 23 + .../Dto/CompletedHoldAtLocationDetail.php | 24 + .../Dto/CompletedPackageDetail.php | 41 + .../Dto/CompletedShipmentDetail.php | 51 + src/Api/ShipDGHazmatV1/Dto/Contact.php | 33 + src/Api/ShipDGHazmatV1/Dto/Contact2.php | 39 + .../ShipDGHazmatV1/Dto/ContactAndAddress.php | 25 + src/Api/ShipDGHazmatV1/Dto/ContentRecord.php | 29 + .../Dto/CurrencyExchangeRate.php | 27 + .../ShipDGHazmatV1/Dto/CustomerImageUsage.php | 27 + .../ShipDGHazmatV1/Dto/CustomerReference.php | 25 + .../Dto/CustomerSpecifiedLabelDetail.php | 34 + .../Dto/CustomsClearanceDetail.php | 57 + .../Dto/CustomsDeclarationStatementDetail.php | 25 + src/Api/ShipDGHazmatV1/Dto/CustomsMoney.php | 25 + .../Dto/CustomsOptionDetail.php | 25 + src/Api/ShipDGHazmatV1/Dto/CxsError.php | 29 + src/Api/ShipDGHazmatV1/Dto/CxsError2.php | 26 + src/Api/ShipDGHazmatV1/Dto/CxsError3.php | 26 + src/Api/ShipDGHazmatV1/Dto/CxsError4.php | 26 + .../ShipDGHazmatV1/Dto/CxsError401Errors.php | 29 + .../ShipDGHazmatV1/Dto/CxsError403Errors.php | 29 + .../ShipDGHazmatV1/Dto/CxsError404Errors.php | 29 + src/Api/ShipDGHazmatV1/Dto/CxsError5.php | 26 + .../ShipDGHazmatV1/Dto/CxsError500Errors.php | 29 + .../Dto/DangerousGoodsContainer.php | 39 + .../Dto/DangerousGoodsDetail.php | 55 + ...lInfectiousSubstanceResponsibleContact.php | 41 + .../Dto/DangerousGoodsDetailPackaging.php | 25 + ...angerousGoodsDetailRadioactivityDetail.php | 28 + ...odsDetailRadioactivityDetailDimensions.php | 29 + .../Dto/DangerousGoodsDetailSignatory.php | 27 + ...angerousGoodsShippersDeclarationDetail.php | 27 + .../Dto/DeliveryOnInvoiceAcceptanceDetail.php | 23 + .../Dto/DestinationControlDetail.php | 27 + src/Api/ShipDGHazmatV1/Dto/Detail.php | 29 + src/Api/ShipDGHazmatV1/Dto/Dimensions.php | 29 + src/Api/ShipDGHazmatV1/Dto/DocTabContent.php | 27 + .../Dto/DocTabContentBarcoded.php | 25 + .../ShipDGHazmatV1/Dto/DocTabContentZone.php | 25 + .../Dto/DocTabZoneSpecification.php | 31 + .../Dto/DocumentFormatOptionsRequested.php | 23 + .../Dto/DocumentGenerationDetail.php | 29 + .../Dto/DocumentRequirementsDetail.php | 29 + .../Dto/EMailNotificationDetail.php | 29 + .../Dto/EmailDispositionDetail.php | 27 + .../ShipDGHazmatV1/Dto/EmailLabelDetail.php | 27 + .../Dto/EmailNotificationRecipient.php | 35 + .../Dto/EmailOptionsRequested.php | 23 + src/Api/ShipDGHazmatV1/Dto/EmailRecipient.php | 29 + src/Api/ShipDGHazmatV1/Dto/EtdDetail.php | 29 + src/Api/ShipDGHazmatV1/Dto/ExportDetail.php | 31 + .../Dto/ExpressFreightDetail.php | 27 + .../Dto/FullSchemaCancelShipment.php | 31 + .../Dto/FullSchemaShipShipment.php | 31 + .../Dto/FullSchemaVerifyShipment.php | 25 + .../Dto/GeneralAgencyAgreementDetail.php | 23 + .../Dto/HazardousCommodityContent.php | 31 + .../Dto/HazardousCommodityDescription.php | 49 + ...azardousCommodityInnerReceptacleDetail.php | 23 + .../Dto/HazardousCommodityOptionDetail.php | 25 + .../Dto/HazardousCommodityPackagingDetail.php | 25 + .../Dto/HazardousCommodityPackingDetail.php | 25 + .../Dto/HazardousCommodityQuantityDetail.php | 27 + .../Dto/HoldAtLocationDetail.php | 27 + .../Dto/HomeDeliveryPremiumDetail.php | 27 + .../InternationalControlledExportDetail.php | 31 + ...nationalTrafficInArmsRegulationsDetail.php | 23 + .../Dto/JustContactAndAddress.php | 25 + src/Api/ShipDGHazmatV1/Dto/KeyValueDetail.php | 25 + .../ShipDGHazmatV1/Dto/LabelResponseVo.php | 41 + .../ShipDGHazmatV1/Dto/LabelSpecification.php | 41 + ...SpecificationReturnedDispositionDetail.php | 23 + .../Dto/LicenseOrPermitDetail.php | 27 + src/Api/ShipDGHazmatV1/Dto/Locale.php | 25 + .../Dto/MasterLabelResponse.php | 23 + src/Api/ShipDGHazmatV1/Dto/Message.php | 31 + .../ShipDGHazmatV1/Dto/MessageParameter.php | 25 + src/Api/ShipDGHazmatV1/Dto/Money.php | 25 + .../ShipDGHazmatV1/Dto/NetExplosiveDetail.php | 27 + src/Api/ShipDGHazmatV1/Dto/Op900detail.php | 29 + .../Dto/OperationalInstructions.php | 25 + .../ShipDGHazmatV1/Dto/PackageBarcodes.php | 30 + .../ShipDGHazmatV1/Dto/PackageCodDetail.php | 23 + .../Dto/PackageOperationalDetail.php | 29 + .../ShipDGHazmatV1/Dto/PackageRateDetail.php | 51 + src/Api/ShipDGHazmatV1/Dto/PackageRating.php | 29 + .../Dto/PackageSpecialServicesRequested.php | 52 + src/Api/ShipDGHazmatV1/Dto/Parameter.php | 25 + src/Api/ShipDGHazmatV1/Dto/Party.php | 33 + src/Api/ShipDGHazmatV1/Dto/Party2.php | 34 + .../ShipDGHazmatV1/Dto/PartyAccountNumber.php | 23 + src/Api/ShipDGHazmatV1/Dto/PartyAddress.php | 33 + src/Api/ShipDGHazmatV1/Dto/PartyContact.php | 31 + src/Api/ShipDGHazmatV1/Dto/Payment.php | 25 + src/Api/ShipDGHazmatV1/Dto/Payment2.php | 28 + src/Api/ShipDGHazmatV1/Dto/Payor.php | 23 + src/Api/ShipDGHazmatV1/Dto/Payor2.php | 23 + .../Dto/PendingShipmentAccessDetail.php | 25 + .../Dto/PendingShipmentAccessorDetail.php | 29 + .../Dto/PendingShipmentDetail.php | 37 + ...dingShipmentProcessingOptionsRequested.php | 23 + src/Api/ShipDGHazmatV1/Dto/PhoneNumber.php | 31 + src/Api/ShipDGHazmatV1/Dto/PieceResponse.php | 65 + .../Dto/PriorityAlertDetail.php | 25 + src/Api/ShipDGHazmatV1/Dto/ProducerParty.php | 31 + src/Api/ShipDGHazmatV1/Dto/ProductName.php | 27 + src/Api/ShipDGHazmatV1/Dto/RateDiscount.php | 29 + .../ShipDGHazmatV1/Dto/RecipientCustomsId.php | 25 + .../ShipDGHazmatV1/Dto/RecipientsParty.php | 31 + .../Dto/RecommendedDocumentSpecification.php | 23 + .../Dto/RegulatoryAdvisoryDetail.php | 30 + .../Dto/RegulatoryLabelContentDetail.php | 25 + .../Dto/RegulatoryProhibition.php | 37 + .../ShipDGHazmatV1/Dto/RegulatoryWaiver.php | 29 + .../Dto/RequestedPackageLineItem.php | 50 + .../ShipDGHazmatV1/Dto/RequestedShipment.php | 78 + .../Dto/RequestedShipmentVerify.php | 66 + ...dShipmentVerifyShipmentSpecialServices.php | 45 + .../Dto/ResponsiblePartyParty.php | 27 + .../Dto/ReturnAssociationDetail.php | 25 + .../ShipDGHazmatV1/Dto/ReturnEmailDetail.php | 25 + .../Dto/ReturnInstructionsDetail.php | 25 + .../Dto/ReturnMerchandiseAuthorization.php | 23 + .../Dto/ReturnShipmentDetail.php | 29 + .../Dto/ReturnShippingDocumentFormat.php | 35 + .../ShipDGHazmatV1/Dto/ServiceDescription.php | 38 + .../Dto/ShipmentAdvisoryDetails.php | 23 + .../ShipDGHazmatV1/Dto/ShipmentCodDetail.php | 36 + .../Dto/ShipmentDryIceDetail.php | 25 + .../Dto/ShipmentDryIceDetail2.php | 26 + ...ipmentDryIceProcessingOptionsRequested.php | 23 + .../Dto/ShipmentLegRateDetail.php | 80 + .../Dto/ShipmentOperationalDetail.php | 77 + .../ShipDGHazmatV1/Dto/ShipmentRateDetail.php | 78 + src/Api/ShipDGHazmatV1/Dto/ShipmentRating.php | 27 + .../Dto/ShipmentSpecialServicesRequested.php | 45 + .../Dto/ShipperAccountNumber.php | 23 + src/Api/ShipDGHazmatV1/Dto/ShipperParty.php | 33 + .../Dto/ShippingDocumentDispositionDetail.php | 25 + .../Dto/ShippingDocumentEmailDetail.php | 29 + .../Dto/ShippingDocumentEmailRecipient.php | 25 + .../Dto/ShippingDocumentFormat.php | 37 + .../Dto/ShippingDocumentSpecification.php | 42 + .../Dto/ShippingDocumentSpecification2.php | 42 + .../Dto/SignatureOptionDetail.php | 23 + .../Dto/SmartPostInfoDetail.php | 39 + src/Api/ShipDGHazmatV1/Dto/SoldToParty.php | 31 + .../Dto/StandaloneBatteryDetails.php | 23 + src/Api/ShipDGHazmatV1/Dto/StringBarcode.php | 25 + .../Dto/SuggestedCommodityDetail.php | 25 + src/Api/ShipDGHazmatV1/Dto/Surcharge.php | 29 + src/Api/ShipDGHazmatV1/Dto/Tax.php | 29 + .../Dto/TaxpayerIdentification.php | 31 + src/Api/ShipDGHazmatV1/Dto/TrackingId.php | 29 + .../Dto/TransactionDetailVo.php | 25 + .../Dto/TransactionShipmentOutputVo.php | 49 + .../Dto/UploadDocumentReferenceDetail.php | 29 + .../Dto/UsmcaCertificationOfOriginDetail.php | 39 + ...cialInvoiceCertificationOfOriginDetail.php | 35 + .../Dto/UsmcaCommodityDetail.php | 23 + .../Dto/UsmcaLowValueStatementDetail.php | 25 + .../ValidatedHazardousCommodityContent.php | 31 + ...ValidatedHazardousCommodityDescription.php | 51 + .../Dto/ValidatedHazardousContainer.php | 27 + .../Dto/VariableHandlingChargeDetail.php | 31 + src/Api/ShipDGHazmatV1/Dto/Weight.php | 25 + .../Requests/CancelShipment.php | 75 + .../ShipDGHazmatV1/Requests/DgHazShipment.php | 65 + .../Requests/ShipmentPackageValidate.php | 71 + .../Responses/ErrorResponseVo.php | 28 + .../Responses/ErrorResponseVo2.php | 30 + .../Responses/ErrorResponseVo3.php | 28 + .../Responses/ErrorResponseVo4.php | 28 + .../Responses/ErrorResponseVo5.php | 28 + .../Responses/ErrorResponseVo6.php | 30 + .../Responses/ShpcResponseVo.php | 28 + .../ShpcResponseVoCancelShipment.php | 28 + .../Responses/ShpcResponseVoValidate.php | 28 + 207 files changed, 27303 insertions(+) create mode 100644 resources/models/.raw/ship-dg-hazmat/v1/ShipDGHazmatAPI-Resource.json create mode 100644 resources/models/ship-dg-hazmat/v1.json create mode 100644 src/Api/ShipDGHazmatV1/Api.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/AdditionalLabelsDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/AdditionalMeasures.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/Address.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/AdrLicenseDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/AlcoholDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/Alert.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/Alert3p.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/BaseProcessOutputVo.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/BaseProcessOutputVoCancelShipment.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/BaseProcessOutputVoValidate.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/BatteryDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/BillingDetails.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/BinaryBarcode.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/BlanketPeriod.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/BrokerDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/CertificateOfOriginDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/CodTransportationChargesDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/CommercialInvoice.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/CommercialInvoiceDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/Commodity.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/CommodityClarificationDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/CompletedEtdDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/CompletedHazardousPackageDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/CompletedHazardousShipmentDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/CompletedHazardousSummaryDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/CompletedHoldAtLocationDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/CompletedPackageDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/CompletedShipmentDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/Contact.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/Contact2.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ContactAndAddress.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ContentRecord.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/CurrencyExchangeRate.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/CustomerImageUsage.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/CustomerReference.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/CustomerSpecifiedLabelDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/CustomsClearanceDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/CustomsDeclarationStatementDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/CustomsMoney.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/CustomsOptionDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/CxsError.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/CxsError2.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/CxsError3.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/CxsError4.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/CxsError401Errors.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/CxsError403Errors.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/CxsError404Errors.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/CxsError5.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/CxsError500Errors.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/DangerousGoodsContainer.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/DangerousGoodsDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/DangerousGoodsDetailInfectiousSubstanceResponsibleContact.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/DangerousGoodsDetailPackaging.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/DangerousGoodsDetailRadioactivityDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/DangerousGoodsDetailRadioactivityDetailDimensions.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/DangerousGoodsDetailSignatory.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/DangerousGoodsShippersDeclarationDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/DeliveryOnInvoiceAcceptanceDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/DestinationControlDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/Detail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/Dimensions.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/DocTabContent.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/DocTabContentBarcoded.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/DocTabContentZone.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/DocTabZoneSpecification.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/DocumentFormatOptionsRequested.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/DocumentGenerationDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/DocumentRequirementsDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/EMailNotificationDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/EmailDispositionDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/EmailLabelDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/EmailNotificationRecipient.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/EmailOptionsRequested.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/EmailRecipient.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/EtdDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ExportDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ExpressFreightDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/FullSchemaCancelShipment.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/FullSchemaShipShipment.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/FullSchemaVerifyShipment.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/GeneralAgencyAgreementDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/HazardousCommodityContent.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/HazardousCommodityDescription.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/HazardousCommodityInnerReceptacleDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/HazardousCommodityOptionDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/HazardousCommodityPackagingDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/HazardousCommodityPackingDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/HazardousCommodityQuantityDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/HoldAtLocationDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/HomeDeliveryPremiumDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/InternationalControlledExportDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/InternationalTrafficInArmsRegulationsDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/JustContactAndAddress.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/KeyValueDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/LabelResponseVo.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/LabelSpecification.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/LabelSpecificationReturnedDispositionDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/LicenseOrPermitDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/Locale.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/MasterLabelResponse.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/Message.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/MessageParameter.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/Money.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/NetExplosiveDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/Op900detail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/OperationalInstructions.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/PackageBarcodes.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/PackageCodDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/PackageOperationalDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/PackageRateDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/PackageRating.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/PackageSpecialServicesRequested.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/Parameter.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/Party.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/Party2.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/PartyAccountNumber.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/PartyAddress.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/PartyContact.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/Payment.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/Payment2.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/Payor.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/Payor2.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/PendingShipmentAccessDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/PendingShipmentAccessorDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/PendingShipmentDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/PendingShipmentProcessingOptionsRequested.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/PhoneNumber.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/PieceResponse.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/PriorityAlertDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ProducerParty.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ProductName.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/RateDiscount.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/RecipientCustomsId.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/RecipientsParty.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/RecommendedDocumentSpecification.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/RegulatoryAdvisoryDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/RegulatoryLabelContentDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/RegulatoryProhibition.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/RegulatoryWaiver.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/RequestedPackageLineItem.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/RequestedShipment.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/RequestedShipmentVerify.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/RequestedShipmentVerifyShipmentSpecialServices.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ResponsiblePartyParty.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ReturnAssociationDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ReturnEmailDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ReturnInstructionsDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ReturnMerchandiseAuthorization.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ReturnShipmentDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ReturnShippingDocumentFormat.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ServiceDescription.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ShipmentAdvisoryDetails.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ShipmentCodDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ShipmentDryIceDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ShipmentDryIceDetail2.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ShipmentDryIceProcessingOptionsRequested.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ShipmentLegRateDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ShipmentOperationalDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ShipmentRateDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ShipmentRating.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ShipmentSpecialServicesRequested.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ShipperAccountNumber.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ShipperParty.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ShippingDocumentDispositionDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ShippingDocumentEmailDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ShippingDocumentEmailRecipient.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ShippingDocumentFormat.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ShippingDocumentSpecification.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ShippingDocumentSpecification2.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/SignatureOptionDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/SmartPostInfoDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/SoldToParty.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/StandaloneBatteryDetails.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/StringBarcode.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/SuggestedCommodityDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/Surcharge.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/Tax.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/TaxpayerIdentification.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/TrackingId.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/TransactionDetailVo.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/TransactionShipmentOutputVo.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/UploadDocumentReferenceDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/UsmcaCertificationOfOriginDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/UsmcaCommercialInvoiceCertificationOfOriginDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/UsmcaCommodityDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/UsmcaLowValueStatementDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ValidatedHazardousCommodityContent.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ValidatedHazardousCommodityDescription.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/ValidatedHazardousContainer.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/VariableHandlingChargeDetail.php create mode 100644 src/Api/ShipDGHazmatV1/Dto/Weight.php create mode 100644 src/Api/ShipDGHazmatV1/Requests/CancelShipment.php create mode 100644 src/Api/ShipDGHazmatV1/Requests/DgHazShipment.php create mode 100644 src/Api/ShipDGHazmatV1/Requests/ShipmentPackageValidate.php create mode 100644 src/Api/ShipDGHazmatV1/Responses/ErrorResponseVo.php create mode 100644 src/Api/ShipDGHazmatV1/Responses/ErrorResponseVo2.php create mode 100644 src/Api/ShipDGHazmatV1/Responses/ErrorResponseVo3.php create mode 100644 src/Api/ShipDGHazmatV1/Responses/ErrorResponseVo4.php create mode 100644 src/Api/ShipDGHazmatV1/Responses/ErrorResponseVo5.php create mode 100644 src/Api/ShipDGHazmatV1/Responses/ErrorResponseVo6.php create mode 100644 src/Api/ShipDGHazmatV1/Responses/ShpcResponseVo.php create mode 100644 src/Api/ShipDGHazmatV1/Responses/ShpcResponseVoCancelShipment.php create mode 100644 src/Api/ShipDGHazmatV1/Responses/ShpcResponseVoValidate.php diff --git a/resources/apis.json b/resources/apis.json index 659426c0..ec2bd660 100644 --- a/resources/apis.json +++ b/resources/apis.json @@ -131,6 +131,17 @@ } ] }, + "ship-dg-hazmat": { + "name": "Ship DG Hazmat", + "versions": [ + { + "version": "1", + "url": [ + "https://developer.fedex.com/wirc/json/api_groups/ShipDGHazmatAPI/ShipDGHazmatAPI-Resource.json" + ] + } + ] + }, "track": { "name": "Track", "versions": [ diff --git a/resources/models/.raw/ship-dg-hazmat/v1/ShipDGHazmatAPI-Resource.json b/resources/models/.raw/ship-dg-hazmat/v1/ShipDGHazmatAPI-Resource.json new file mode 100644 index 00000000..40c5d0a1 --- /dev/null +++ b/resources/models/.raw/ship-dg-hazmat/v1/ShipDGHazmatAPI-Resource.json @@ -0,0 +1,12959 @@ +{ + "openapi": "3.0.0", + "info": { + "title": "Ship DG Hazmat API", + "description": "The resource for Ship DG Hazmat APIs", + "version": "1.0.0" + }, + "servers": [ + { + "url": "/" + } + ], + "paths": { + "/ship/v1/dghazshipments": { + "post": { + "summary": "Create DG Hazmat Shipment", + "description": "This endpoint helps you to create shipment requests thereby validating all the shipping input information and either generates the labels (if the responses is synchronous) or a job ID if transaction is processed using asynchronous method.
              Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.", + "operationId": "DGHazShipment", + "parameters": [ + { + "name": "X-customer-transaction-id", + "in": "header", + "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.", + "schema": { + "type": "string" + }, + "example": "624deea6-b709-470c-8c39-4b551281492" + }, + { + "name": "X-locale", + "in": "header", + "description": "This indicates the combination of language code and country code.
              Click here to see Locales", + "schema": { + "type": "string" + }, + "example": "en_US" + }, + { + "name": "authorization", + "in": "header", + "description": "This indicates the authorization token for the input request.", + "required": true, + "schema": { + "type": "string", + "example": "Bearer XXX" + } + }, + { + "in": "header", + "name": "content-type", + "description": "This is used to indicate the media type of the resource. The media type is a string sent along with the file indicating format of the file.", + "required": true, + "schema": { + "type": "string", + "example": "application/json" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/v1_dghazshipments_body" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SHPCResponseVO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": { + "code": "SHIPMENT.ACCOUNTNUMBER.UNAUTHORIZED", + "message": "This account is unauthorized. Please contact FedEx Customer Service." + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "NOT.AUTHORIZED.ERROR", + "message": "Access token expired. Please modify your request and try again." + } + ] + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "FORBIDDEN.ERROR", + "message": "We could not authorize your credentials. Please check your permissions and try again." + } + ] + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "NOT.FOUND.ERROR", + "message": "The resource you requested is no longer available. Please modify your request and try again." + } + ] + } + } + } + }, + "500": { + "description": "Failure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "INTERNAL.SERVER.ERROR", + "message": "We encountered an unexpected error and are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time." + } + ] + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "SERVICE.UNAVAILABLE.ERROR", + "message": "The service is currently unavailable and we are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time." + } + ] + } + } + } + } + }, + "x-code-samples": [ + { + "lang": "C#", + "source": "var client = new RestClient(\"https://apis-sandbox.fedex.com/ship/v1/dghazshipments\");\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"Authorization\", \"Bearer \");\nrequest.AddHeader(\"X-locale\", \"en_US\");\nrequest.AddHeader(\"Content-Type\", \"application/json\");\n// 'input' refers to JSON Payload\nrequest.AddParameter(\"application/x-www-form-urlencoded\", input, ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);\n\n\n\n\n" + }, + { + "lang": "JAVA", + "source": "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\n// 'input' refers to JSON Payload\nRequestBody body = RequestBody.create(mediaType, input);\nRequest request = new Request.Builder()\n .url(\"https://apis-sandbox.fedex.com/ship/v1/dghazshipments\")\n .post(body)\n .addHeader(\"Content-Type\", \"application/json\")\n .addHeader(\"X-locale\", \"en_US\")\n .addHeader(\"Authorization\", \"Bearer \")\n .build();\n \nResponse response = client.newCall(request).execute();" + }, + { + "lang": "JAVASCRIPT", + "source": "// 'input' refers to JSON Payload\nvar data = JSON.stringify(input);\n \n var xhr = new XMLHttpRequest();\n xhr.withCredentials = true;\n \n xhr.addEventListener(\"readystatechange\", function () {\n if (this.readyState === 4) {\n console.log(this.responseText);\n }\n });\n \n xhr.open(\"POST\", \"https://apis-sandbox.fedex.com/ship/v1/dghazshipments\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.setRequestHeader(\"X-locale\", \"en_US\");\n xhr.setRequestHeader(\"Authorization\", \"Bearer \");\n \n xhr.send(data);" + }, + { + "lang": "PHP", + "source": "setUrl('https://apis-sandbox.fedex.com/ship/v1/dghazshipments');\n$request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n 'Authorization' => 'Bearer ',\n 'X-locale' => 'en_US',\n 'Content-Type' => 'application/json'\n));\n\n$request->setBody(input); // 'input' refers to JSON Payload\n\ntry {\n $response = $request->send();\n\n echo $response->getBody();\n} catch (HttpException $ex) {\n echo $ex;\n}" + }, + { + "lang": "PYTHON", + "source": "import requests\n\nurl = \"https://apis-sandbox.fedex.com/ship/v1/dghazshipments\"\n\npayload = input # 'input' refers to JSON Payload\nheaders = {\n 'Content-Type': \"application/json\",\n 'X-locale': \"en_US\",\n 'Authorization': \"Bearer \"\n }\n\nresponse = requests.post(url, data=payload, headers=headers)\n\nprint(response.text)" + }, + { + "lang": "RUST", + "source": "extern crate reqwest;\n\nuse std::io::Read;\n\nfn construct_headers() -> HeaderMap {\n let mut headers = HeaderMap::new();\n headers.insert(\"Content-Type\", \"application/json\");\n headers.insert(\"X-locale\", \"en_US\");\n headers.insert(\"Authorization\", \"Bearer \");\n headers\n}\n\nfn run() -> Result<()> {\n let client = reqwest::Client::new();\n let mut res = client.post(\"https://apis-sandbox.fedex.com/ship/v1/dghazshipments\")\n .body(input) // 'input' refers to JSON Payload\n .headers(construct_headers())\n .send()?;\n let mut body = String::new();\n res.read_to_string(&mut body)?;\n\n println!(\"Status: {}\", res.status());\n println!(\"Headers:\\n{:#?}\", res.headers());\n println!(\"Body:\\n{}\", body);\n\n Ok(())\n}" + }, + { + "lang": "SWIFT", + "source": "import Foundation\n\nlet headers = [\n \"Content-Type\": \"application/json\",\n \"X-locale\": \"en_US\",\n \"Authorization\": \"Bearer \"\n]\nlet parameters = [\n input // 'input' refers to JSON Payload\n] as [String : Any]\n\nlet postData = JSONSerialization.data(withJSONObject: parameters, options: [])\n\nlet request = NSMutableURLRequest(url: NSURL(string: \"https://apis-sandbox.fedex.com/ship/v1/dghazshipments\")! as URL,\n cachePolicy: .useProtocolCachePolicy,\n timeoutInterval: 10.0)\nrequest.httpMethod = \"POST\"\nrequest.allHTTPHeaderFields = headers\nrequest.httpBody = postData as Data\n\nlet session = URLSession.shared\nlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in\n if (error != nil) {\n print(error)\n } else {\n let httpResponse = response as? HTTPURLResponse\n print(httpResponse)\n }\n})\n\ndataTask.resume()" + } + ] + } + }, + "/ship/v1/dghazshipments/cancel": { + "put": { + "summary": "Cancel DG Hazmat Shipment", + "description": "Use this endpoint to cancel FedEx Express and Ground shipments that have not already been tendered to FedEx. This request will cancel all packages within the shipment.
              Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.", + "operationId": "CancelShipment", + "parameters": [ + { + "name": "X-customer-transaction-id", + "in": "header", + "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.", + "schema": { + "type": "string" + }, + "example": "624deea6-b709-470c-8c39-4b551281492" + }, + { + "name": "X-locale", + "in": "header", + "description": "This indicates the combination of language code and country code.Click here to see Locales", + "schema": { + "type": "string" + }, + "example": "en_US" + }, + { + "name": "authorization", + "in": "header", + "description": "This indicates the authorization token for the input request.", + "required": true, + "schema": { + "type": "string", + "example": "Bearer XXX" + } + }, + { + "in": "header", + "name": "content-type", + "description": "This is used to indicate the media type of the resource. The media type is a string sent along with the file indicating format of the file.", + "required": true, + "schema": { + "type": "string", + "example": "application/json" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/dghazshipments_cancel_body" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SHPCResponseVO_CancelShipment" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO_1" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "customerTransactionId": "AnyCo_order123456789", + "errors": [ + { + "code": "SHIPMENT.USER.UNAUTHORIZED", + "message": "Requested user is not authorized to perform the operation." + } + ] + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO401" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "NOT.AUTHORIZED.ERROR", + "message": "Access token expired. Please modify your request and try again." + } + ] + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO403" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "FORBIDDEN.ERROR", + "message": "We could not authorize your credentials. Please check your permissions and try again." + } + ] + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO404" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "NOT.FOUND.ERROR", + "message": "The resource you requested is no longer available. Please modify your request and try again." + } + ] + } + } + } + }, + "500": { + "description": "Failure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO500" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "customerTransactionId": "AnyCo_order123456789", + "errors": [ + { + "code": "INTERNAL.SERVER.ERROR", + "message": "We encountered an unexpected error and are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time." + } + ] + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO503" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "customerTransactionId": "AnyCo_order123456789", + "errors": [ + { + "code": "SERVICE.UNAVAILABLE.ERROR", + "message": "The service is currently unavailable and we are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time." + } + ] + } + } + } + } + }, + "x-code-samples": [ + { + "lang": "C#", + "source": "var client = new RestClient(\"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/cancel\");\nvar request = new RestRequest(Method.PUT);\nrequest.AddHeader(\"Authorization\", \"Bearer \");\nrequest.AddHeader(\"X-locale\", \"en_US\");\nrequest.AddHeader(\"Content-Type\", \"application/json\");\n// 'input' refers to JSON Payload\nrequest.AddParameter(\"application/x-www-form-urlencoded\", input, ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);" + }, + { + "lang": "JAVA", + "source": "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\n// 'input' refers to JSON Payload\nRequestBody body = RequestBody.create(mediaType, input);\nRequest request = new Request.Builder()\n .url(\"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/cancel\")\n .put(body)\n .addHeader(\"Content-Type\", \"application/json\")\n .addHeader(\"X-locale\", \"en_US\")\n .addHeader(\"Authorization\", \"Bearer \")\n .build();\n\nResponse response = client.newCall(request).execute();" + }, + { + "lang": "JAVASCRIPT", + "source": "// 'input' refers to JSON Payload\nvar data = JSON.stringify(input);\n \n var xhr = new XMLHttpRequest();\n xhr.withCredentials = true;\n \n xhr.addEventListener(\"readystatechange\", function () {\n if (this.readyState === 4) {\n console.log(this.responseText);\n }\n });\n \n xhr.open(\"PUT\", \"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/cancel\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.setRequestHeader(\"X-locale\", \"en_US\");\n xhr.setRequestHeader(\"Authorization\", \"Bearer \");\n \n xhr.send(data);" + }, + { + "lang": "PHP", + "source": "setUrl('https://apis-sandbox.fedex.com/ship/v1/dghazshipments/cancel');\n$request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n 'Authorization' => 'Bearer ',\n 'X-locale' => 'en_US',\n 'Content-Type' => 'application/json'\n));\n\n$request->setBody(input); // 'input' refers to JSON Payload\n\ntry {\n $response = $request->send();\n\n echo $response->getBody();\n} catch (HttpException $ex) {\n echo $ex;\n}" + }, + { + "lang": "PYTHON", + "source": "import requests\n\nurl = \"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/cancel\"\n\npayload = input # 'input' refers to JSON Payload\nheaders = {\n 'Content-Type': \"application/json\",\n 'X-locale': \"en_US\",\n 'Authorization': \"Bearer \"\n }\n\nresponse = requests.put(url, data=payload, headers=headers)\n\nprint(response.text)" + }, + { + "lang": "RUST", + "source": "extern crate reqwest;\n\nuse std::io::Read;\n\nfn construct_headers() -> HeaderMap {\n let mut headers = HeaderMap::new();\n headers.insert(\"Content-Type\", \"application/json\");\n headers.insert(\"X-locale\", \"en_US\");\n headers.insert(\"Authorization\", \"Bearer \");\n headers\n}\n\nfn run() -> Result<()> {\n let client = reqwest::Client::new();\n let mut res = client.put(\"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/cancel\")\n .body(input) // 'input' refers to JSON Payload\n .headers(construct_headers())\n .send()?;\n let mut body = String::new();\n res.read_to_string(&mut body)?;\n\n println!(\"Status: {}\", res.status());\n println!(\"Headers:\\n{:#?}\", res.headers());\n println!(\"Body:\\n{}\", body);\n\n Ok(())\n}" + }, + { + "lang": "SWIFT", + "source": "import Foundation\n\nlet headers = [\n \"Content-Type\": \"application/json\",\n \"X-locale\": \"en_US\",\n \"Authorization\": \"Bearer \"\n]\nlet parameters = [\n input // 'input' refers to JSON Payload\n] as [String : Any]\n\nlet postData = JSONSerialization.data(withJSONObject: parameters, options: [])\n\nlet request = NSMutableURLRequest(url: NSURL(string: \"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/cancel\")! as URL,\n cachePolicy: .useProtocolCachePolicy,\n timeoutInterval: 10.0)\nrequest.httpMethod = \"PUT\"\nrequest.allHTTPHeaderFields = headers\nrequest.httpBody = postData as Data\n\nlet session = URLSession.shared\nlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in\n if (error != nil) {\n print(error)\n } else {\n let httpResponse = response as? HTTPURLResponse\n print(httpResponse)\n }\n})\n\ndataTask.resume()" + } + ] + } + }, + "/ship/v1/dghazshipments/validate": { + "post": { + "summary": "Validate DG Hazmat Shipment", + "description": "Use this endpoint to verify the accuracy of a shipment request prior to actually submitting shipment request. This allow businesses that receive shipping orders from end-user/customers to verify the shipment information prior to submitting a create shipment request to FedEx and printing a label. If for any reason the information needs to be edited or changed, it can be done while the end-user is still available to confirm the changes.

              Note:
              • This is shipment level validation hence supports validation for single piece shipment only.
              • Shipment validation is supported for all Express and Ground - Domestic as well as international shipments with all applicable special services.
              • Shipment validation is supported for SmartPost and not for Freight LTL shipments.

              Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.", + "operationId": "ShipmentPackageValidate", + "parameters": [ + { + "name": "X-customer-transaction-id", + "in": "header", + "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.", + "schema": { + "type": "string" + }, + "example": "624deea6-b709-470c-8c39-4b551281492" + }, + { + "name": "X-locale", + "in": "header", + "description": "This indicates the combination of language code and country code.Click here to see Locales", + "schema": { + "type": "string" + }, + "example": "en_US" + }, + { + "name": "authorization", + "in": "header", + "description": "This indicates the authorization token for the input request.", + "required": true, + "schema": { + "type": "string", + "example": "Bearer XXX" + } + }, + { + "in": "header", + "name": "content-type", + "description": "This is used to indicate the media type of the resource. The media type is a string sent along with the file indicating format of the file.", + "required": true, + "schema": { + "type": "string", + "example": "application/json" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/dghazshipments_validate_body" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SHPCResponseVO_Validate" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO" + }, + "example": { + "transactionId": "4f816527-0be2-4720-bd4e-4a10bf41ce3c", + "errors": [ + { + "code": "COUNTRY.POSTALANDSTATEORPROVINCECODE.MISMATCH", + "message": "Postal code and state or province code mismatch. Please update and try again." + } + ] + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "NOT.AUTHORIZED.ERROR", + "message": "Access token expired. Please modify your request and try again." + } + ] + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "FORBIDDEN.ERROR", + "message": "We could not authorize your credentials. Please check your permissions and try again." + } + ] + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "NOT.FOUND.ERROR", + "message": "The resource you requested is no longer available. Please modify your request and try again." + } + ] + } + } + } + }, + "500": { + "description": "Failure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "INTERNAL.SERVER.ERROR", + "message": "We encountered an unexpected error and are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time." + } + ] + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "customerTransactionId": "AnyCo_order123456789", + "errors": [ + { + "code": "SERVICE.UNAVAILABLE.ERROR", + "message": "The service is currently unavailable and we are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time." + } + ] + } + } + } + } + }, + "x-code-samples": [ + { + "lang": "C#", + "source": "var client = new RestClient(\"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/validate\");\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"Authorization\", \"Bearer \");\nrequest.AddHeader(\"X-locale\", \"en_US\");\nrequest.AddHeader(\"Content-Type\", \"application/json\");\n// 'input' refers to JSON Payload\nrequest.AddParameter(\"application/x-www-form-urlencoded\", input, ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);\n\n\n\n\n" + }, + { + "lang": "JAVA", + "source": "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\n// 'input' refers to JSON Payload\nRequestBody body = RequestBody.create(mediaType, input);\nRequest request = new Request.Builder()\n .url(\"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/validate\")\n .post(body)\n .addHeader(\"Content-Type\", \"application/json\")\n .addHeader(\"X-locale\", \"en_US\")\n .addHeader(\"Authorization\", \"Bearer \")\n .build();\n \nResponse response = client.newCall(request).execute();" + }, + { + "lang": "JAVASCRIPT", + "source": "// 'input' refers to JSON Payload\nvar data = JSON.stringify(input);\n \n var xhr = new XMLHttpRequest();\n xhr.withCredentials = true;\n \n xhr.addEventListener(\"readystatechange\", function () {\n if (this.readyState === 4) {\n console.log(this.responseText);\n }\n });\n \n xhr.open(\"POST\", \"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/validate\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.setRequestHeader(\"X-locale\", \"en_US\");\n xhr.setRequestHeader(\"Authorization\", \"Bearer \");\n \n xhr.send(data);" + }, + { + "lang": "PHP", + "source": "setUrl('https://apis-sandbox.fedex.com/ship/v1/dghazshipments/validate');\n$request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n 'Authorization' => 'Bearer ',\n 'X-locale' => 'en_US',\n 'Content-Type' => 'application/json'\n));\n\n$request->setBody(input); // 'input' refers to JSON Payload\n\ntry {\n $response = $request->send();\n\n echo $response->getBody();\n} catch (HttpException $ex) {\n echo $ex;\n}" + }, + { + "lang": "PYTHON", + "source": "import requests\n\nurl = \"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/validate\"\n\npayload = input # 'input' refers to JSON Payload\nheaders = {\n 'Content-Type': \"application/json\",\n 'X-locale': \"en_US\",\n 'Authorization': \"Bearer \"\n }\n\nresponse = requests.post(url, data=payload, headers=headers)\n\nprint(response.text)" + }, + { + "lang": "RUST", + "source": "extern crate reqwest;\n\nuse std::io::Read;\n\nfn construct_headers() -> HeaderMap {\n let mut headers = HeaderMap::new();\n headers.insert(\"Content-Type\", \"application/json\");\n headers.insert(\"X-locale\", \"en_US\");\n headers.insert(\"Authorization\", \"Bearer \");\n headers\n}\n\nfn run() -> Result<()> {\n let client = reqwest::Client::new();\n let mut res = client.post(\"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/validate\")\n .body(input) // 'input' refers to JSON Payload\n .headers(construct_headers())\n .send()?;\n let mut body = String::new();\n res.read_to_string(&mut body)?;\n\n println!(\"Status: {}\", res.status());\n println!(\"Headers:\\n{:#?}\", res.headers());\n println!(\"Body:\\n{}\", body);\n\n Ok(())\n}" + }, + { + "lang": "SWIFT", + "source": "import Foundation\n\nlet headers = [\n \"Content-Type\": \"application/json\",\n \"X-locale\": \"en_US\",\n \"Authorization\": \"Bearer \"\n]\nlet parameters = [\n input // 'input' refers to JSON Payload\n] as [String : Any]\n\nlet postData = JSONSerialization.data(withJSONObject: parameters, options: [])\n\nlet request = NSMutableURLRequest(url: NSURL(string: \"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/validate\")! as URL,\n cachePolicy: .useProtocolCachePolicy,\n timeoutInterval: 10.0)\nrequest.httpMethod = \"POST\"\nrequest.allHTTPHeaderFields = headers\nrequest.httpBody = postData as Data\n\nlet session = URLSession.shared\nlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in\n if (error != nil) {\n print(error)\n } else {\n let httpResponse = response as? HTTPURLResponse\n print(httpResponse)\n }\n})\n\ndataTask.resume()" + } + ] + } + } + }, + "components": { + "schemas": { + "SHPCResponseVO": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
              Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "customerTransactionId": { + "type": "string", + "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
              Example: AnyCo_order123456789", + "example": "AnyCo_order123456789" + }, + "output": { + "$ref": "#/components/schemas/BaseProcessOutputVO" + } + }, + "description": "Wrapper class for ShipShipmentOutputVO. It holds transactionId and output." + }, + "BaseProcessOutputVO": { + "type": "object", + "properties": { + "customerTransactionId": { + "type": "string", + "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
              Example:AnyCo_order123456789", + "example": "AnyCo_order123456789" + }, + "transactionShipments": { + "type": "array", + "description": "The shipping transaction details, such as master tracking number, service type, and ship timestamp.", + "items": { + "$ref": "#/components/schemas/TransactionShipmentOutputVO" + } + }, + "jobId": { + "type": "string" + }, + "masterMergeLabelandDocuments": { + "$ref": "#/components/schemas/MasterLabelResponse" + }, + "transactionDetail": { + "$ref": "#/components/schemas/TransactionDetail" + }, + "alerts": { + "type": "array", + "description": "The alerts received when a shipShipment is processed. This includes the alert code, alert type, and alert message.", + "items": { + "$ref": "#/components/schemas/Alert" + } + } + }, + "description": "The response elements received when a shipment is created." + }, + "ErrorResponseVO": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
              Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CXSError" + } + } + } + }, + "CXSError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.
              Example: ACCOUNTNUMBER.REGISTRATION.REQUIRED,LOGIN.REAUTHENTICATE.ERROR,UNAUTHORIZED.USAGE,NOT.FOUND.ERROR,INTERNAL.SERVER.ERROR" + }, + "parameterList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Parameter" + } + }, + "message": { + "type": "string", + "description": "Indicates the description of API error alert message.
              Example: Please enter a valid 9-digit FedEx account number or register for a new FedEx account number.", + "example": "Please enter a valid 9-digit FedEx account number or register for a new FedEx account number." + } + }, + "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" + }, + "Parameter": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Identifies the error option to be applied." + }, + "key": { + "type": "string", + "description": "Indicates the value associated with the key." + } + }, + "description": "List of parameters which indicates the properties of the alert message." + }, + "FullSchema-shipShipment": { + "required": [ + "accountNumber", + "labelResponseOptions", + "requestedShipment" + ], + "type": "object", + "properties": { + "requestedShipment": { + "$ref": "#/components/schemas/RequestedShipment" + }, + "accountNumber": { + "$ref": "#/components/schemas/ShipperAccountNumber" + }, + "shipAction": { + "$ref": "#/components/schemas/OpenShipmentAction" + }, + "labelResponseOptions": { + "$ref": "#/components/schemas/LabelResponseOptions" + }, + "mergeLabelDocOption": { + "type": "string", + "description": "It specifies the content of the merged pdf URL in the response. The merged pdf URL is generated only if the labelResponseOption is indicated as URL_ONLY.
              • If the value is 'LABELS_AND_DOCS', then merged (all shipping labels and shipping documents) pdf URL will be returned.
              • If the value is 'LABELS_ONLY', merged (all shipping labels only) pdf URL will be returned.
              • If the value is 'NONE', then no merged pdf URL will be returned.

              This is optional field and will default to LABELS_AND_DOCS.
              Note: If the value is 'LABELS_ONLY', then the returned merged pdf label will not be in the Base64 encoded format.", + "example": "LABELS_AND_DOCS", + "enum": [ + "NONE", + "LABELS_AND_DOCS", + "LABELS_ONLY" + ] + } + }, + "description": "The request elements required to create a shipment." + }, + "RequestedShipment": { + "required": [ + "labelSpecification", + "packagingType", + "pickupType", + "recipients", + "requestedPackageLineItems", + "serviceType", + "shipper", + "shippingChargesPayment" + ], + "type": "object", + "properties": { + "shipDatestamp": { + "type": "string", + "description": "This is the shipment date. Default value is current date in case the date is not provided or a past date is provided.
              Format [YYYY-MM-DD].
              Example: 2019-10-14", + "example": "2019-10-14" + }, + "pickupType": { + "type": "string", + "description": "Indicate the pickup type method by which the shipment to be tendered to FedEx.
              Click here for more information on Pickup Types.", + "example": "USE_SCHEDULED_PICKUP", + "enum": [ + "CONTACT_FEDEX TO_SCHEDULE", + "DROPOFF_AT_FEDEX_LOCATION", + "USE_SCHEDULED_PICKUP" + ] + }, + "serviceType": { + "type": "string", + "description": "Indicate the FedEx service type used for this shipment.
              Example: STANDARD_OVERNIGHT
              click here to see Service Types", + "example": "PRIORITY_OVERNIGHT" + }, + "recipientLocationNumber": { + "type": "string", + "description": "A unique identifier for a recipient location.", + "example": "1234567" + }, + "soldTo": { + "description": "Will indicate the party responsible for purchasing the goods shipped from the shipper to the recipient. The sold to party is not necessarily the recipient or the importer of record. The sold to party is relevant when the purchaser, rather than the recipient determines when certain customs regulations apply.", + "allOf": [ + { + "$ref": "#/components/schemas/SoldToParty" + } + ] + }, + "packagingType": { + "type": "string", + "description": "Specify the packaging used.
              Note: For Express Freight shipments, the packaging will default to YOUR_PACKAGING irrespective of the user provided package type in the request.
              Example: FEDEX_PAK
              click here to see Package Types", + "example": "YOUR_PACKAGING" + }, + "totalWeight": { + "type": "number", + "description": "Indicate the shipment total weight in pounds.
              Example: 10.6
              Note:
              • This only applies to International shipments and should be used on the first package of a multiple piece shipment.
              • This value contains 1 explicit decimal position.
              • For one Label at a time shipments, the unit of totalWeight is considered same as the unit of weight provided in requestedPackageLineItem field.
              ", + "format": "double", + "example": 20.1 + }, + "shipper": { + "description": "Indicate the Shipper contact details for this shipment.", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "91", + "phoneNumber": "1234567890", + "companyName": "Fedex" + }, + "tins": [ + { + "number": "123567", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ] + }, + "allOf": [ + { + "$ref": "#/components/schemas/ShipperParty" + } + ] + }, + "recipients": { + "type": "array", + "description": "Indicate the descriptive data for the recipient location to which the shipment is to be received.", + "items": { + "$ref": "#/components/schemas/RecipientsParty" + } + }, + "origin": { + "description": "Indicate shipment origin address information, if it is different from the shipper address.", + "allOf": [ + { + "$ref": "#/components/schemas/ContactAndAddress" + } + ] + }, + "shippingChargesPayment": { + "$ref": "#/components/schemas/Payment" + }, + "shipmentSpecialServices": { + "$ref": "#/components/schemas/ShipmentSpecialServicesRequested" + }, + "totalDeclaredValue": { + "description": "It is the sum of all declared values of all packages in a shipment. The amount of totalDeclaredValue must be equal to the sum of all the individual declaredValues in the shipment. The declaredValue and totalDeclaredValue must match in all currencies in one shipment. This value represents FedEx maximum liability associated with a shipment. This is including, but not limited to any loss, damage, delay, misdelivery, any failure to provide information, or misdelivery of information related to the Shipment.
              Note: The totalDeclaredValue should not exceed customsValue.", + "allOf": [ + { + "$ref": "#/components/schemas/Money" + } + ] + }, + "emailNotificationDetail": { + "$ref": "#/components/schemas/EMailNotificationDetail" + }, + "expressFreightDetail": { + "$ref": "#/components/schemas/ExpressFreightDetail" + }, + "variableHandlingChargeDetail": { + "$ref": "#/components/schemas/VariableHandlingChargeDetail" + }, + "customsClearanceDetail": { + "$ref": "#/components/schemas/CustomsClearanceDetail" + }, + "smartPostInfoDetail": { + "$ref": "#/components/schemas/SmartPostInfoDetail" + }, + "blockInsightVisibility": { + "type": "boolean", + "description": "Indicate if the shipment be available to be visible/tracked using FedEx InSight\u00ae tool. If value indicated as true, only the shipper/payer will have visibility of this shipment in the FedEx InSight\u00ae tool.", + "example": true + }, + "labelSpecification": { + "$ref": "#/components/schemas/LabelSpecification" + }, + "shippingDocumentSpecification": { + "$ref": "#/components/schemas/ShippingDocumentSpecification" + }, + "rateRequestType": { + "type": "array", + "description": "Indicate the type of rates to be returned. The account specific rates are returned by default if the account number is specified in the request.
              Following are values:
              • LIST - Returns FedEx published list rates in addition to account-specific rates (if applicable).
              • INCENTIVE - This is one-time discount for incentivising the customer. For more information, contact your FedEx representative.
              • ACCOUNT - Returns account specific rates (Default).
              • PREFERRED - Returns rates in the preferred currency specified in the element preferredCurrency.
              • RETAIL - Returns customer rate from one of retail FedEx service centers.
              Examples: [\"ACCOUNT\", \"PREFERRED\"]", + "example": [ + "LIST", + "PREFERRED" + ], + "items": { + "type": "string", + "enum": [ + "LIST", + "NONE", + "PREFERRED", + "ACCOUNT", + "INCENTIVE", + "RETAIL" + ] + } + }, + "preferredCurrency": { + "type": "string", + "description": "Indicate the currency the caller requests to have used in all returned monetary values. Should be Used in conjunction with the element RateRequestType.
              Example: USD
              click here to see available Currency codes
              Note: Incorrect currency codes should not be supplied. The system ignores the incorrect currency code.", + "example": "USD" + }, + "totalPackageCount": { + "type": "integer", + "description": "For an MPS, this is the total number of packages in the shipment.Applicable for parent shipment for one label at a time shipments.
              Example: 25", + "format": "int32", + "example": 25 + }, + "masterTrackingId": { + "$ref": "#/components/schemas/TrackingId" + }, + "requestedPackageLineItems": { + "type": "array", + "description": "These are one or more package-attribute descriptions, each of which describes an individual package, a group of identical packages, or (for the total-piece-total-weight case) common characteristics of all packages in the shipment.
              • At least one instance containing the weight for at least one package is required for EXPRESS and GROUND shipments.
              • Single piece requests will have one RequestedPackageLineItem.
              • Multiple piece requests will have multiple RequestedPackageLineItems.
              • Maximum occurrences is 30.
              ", + "items": { + "$ref": "#/components/schemas/RequestedPackageLineItem" + } + } + }, + "description": "The descriptive data of the requested shipment." + }, + "SoldToParty": { + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/PartyAddress" + }, + "contact": { + "$ref": "#/components/schemas/PartyContact" + }, + "tins": { + "type": "array", + "description": "Used for adding the tax id", + "items": { + "$ref": "#/components/schemas/TaxpayerIdentification" + } + }, + "accountNumber": { + "$ref": "#/components/schemas/AccountNumber" + } + }, + "description": "Will indicate the party responsible for purchasing the goods shipped from the shipper to the recipient. The sold to party is not necessarily the recipient or the importer of record. The sold to party is relevant when the purchaser, rather than the recipient determines when certain customs regulations apply." + }, + "PartyAddress": { + "required": [ + "city", + "countryCode", + "postalCode", + "stateOrProvinceCode", + "streetLines" + ], + "type": "object", + "properties": { + "streetLines": { + "type": "array", + "description": "Combination of number, street name, etc. At least one line is required for a valid physical address. Empty lines should not be included. Max Length is 35.
              Example: [1550 Union Blvd,Suite 302]", + "example": [ + "1550 Union Blvd", + "Suite 302" + ], + "items": { + "type": "string" + } + }, + "city": { + "maxLength": 35, + "type": "string", + "description": "The name of city, town of the recipient.Max length is 35.
              Example: Beverly Hills", + "example": "Beverly Hills" + }, + "stateOrProvinceCode": { + "type": "string", + "description": "The US State and Canada Province codes of the recipient. The Format and presence of this field may vary depending on the country.
              Example: CA", + "example": "CA" + }, + "postalCode": { + "type": "string", + "description": "The US State and Canada Province codes. The Format and presence of this field may vary depending on the country.
              Example: 90210", + "example": "90210" + }, + "countryCode": { + "type": "string", + "description": "The two-letter code used to identify a country. Max length is 2.
              Example: US", + "example": "US" + }, + "residential": { + "type": "boolean", + "description": " Indicates whether this address is residential (as opposed to commercial).
              Example: false", + "example": false + } + }, + "description": "This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US).", + "example": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + } + }, + "PartyContact": { + "required": [ + "phoneNumber" + ], + "type": "object", + "properties": { + "personName": { + "type": "string", + "description": "Identifies the contact person's name. Max Length is 70.
              Example: John Taylor", + "example": "John Taylor" + }, + "emailAddress": { + "type": "string", + "description": "Shipper's email address. Max length is 80.
              Example: sample@company.com", + "example": "sample@company.com" + }, + "phoneExtension": { + "type": "string", + "description": "The shipper's phone extension. Max length is 6.
              Example: 91", + "example": "91" + }, + "phoneNumber": { + "type": "string", + "description": "The shipper's phone number.
              Minimum length is 10 and supports maximum of 15 for certain countries using longer phone numbers.
              Note: For US and CA, a phone number must have exactly 10 digits, plus an optional leading country code of '1' or '+1'.
              Example: 918xxxxx890", + "example": "918xxxxx890" + }, + "companyName": { + "type": "string", + "description": "The shipper's company name. Max length is 35.
              Example: FedEx", + "example": "Fedex" + } + }, + "description": "Indicate the contact details for this shipment.", + "example": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "91", + "phoneNumber": "1234567890", + "companyName": "Fedex" + } + }, + "TaxpayerIdentification": { + "type": "object", + "properties": { + "number": { + "type": "string", + "description": "Specify tax ID number. Maximum length is 18.", + "example": "123567" + }, + "tinType": { + "type": "string", + "description": "Indicate the type of tax identification number.", + "example": "FEDERAL", + "enum": [ + "PERSONAL_NATIONAL", + "PERSONAL_STATE", + "FEDERAL", + "BUSINESS_NATIONAL", + "BUSINESS_STATE", + "BUSINESS_UNION" + ] + }, + "usage": { + "type": "string", + "description": "Specify the reason for using the tax identification number in shipment processing.", + "example": "usage" + }, + "effectiveDate": { + "type": "string", + "description": "Specify the tax ID effective date.", + "example": "2000-01-23T04:56:07.000+00:00" + }, + "expirationDate": { + "type": "string", + "description": "Specify the tax ID expiration date.", + "example": "2000-01-23T04:56:07.000+00:00" + } + }, + "example": { + "number": "123567", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + }, + "AccountNumber": { + "description": "This is the FedEx Account number.
              Example: XXX456XXX", + "allOf": [ + { + "$ref": "#/components/schemas/PartyAccountNumber" + } + ] + }, + "PartyAccountNumber": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Conditional.
              The account number value.
              Value is required if the paymentType is RECIPIENT, THIRD_PARTY or COLLECT.
              Max Length is 9.
              Example: 123456789 " + } + }, + "description": "The account number of the recipient.", + "example": { + "value": "123456789" + } + }, + "ShipperParty": { + "required": [ + "address", + "contact" + ], + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/PartyAddress" + }, + "contact": { + "$ref": "#/components/schemas/PartyContact" + }, + "companyCode": { + "type": "string", + "description": "The shipper's company code.", + "example": "f05a824749004290a08adb2b042dc2a5" + }, + "tins": { + "type": "array", + "description": "Used for adding the tax id.", + "items": { + "$ref": "#/components/schemas/TaxpayerIdentification" + } + }, + "deliveryInstructions": { + "type": "string", + "description": "Used with Ground Home Delivery and Freight. Max Length is 90." + } + }, + "description": "Indicate the Shipper contact details for this shipment.", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "000", + "phoneNumber": "9612345671", + "companyName": "Fedex" + }, + "companyCode": "f05a824749004290a08adb2b042dc2a5", + "tins": [ + { + "number": "123567", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ], + "deliveryInstructions": "delivery instructions" + } + }, + "RecipientsParty": { + "required": [ + "address", + "contact" + ], + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/PartyAddress" + }, + "contact": { + "$ref": "#/components/schemas/PartyContact" + }, + "tins": { + "type": "array", + "description": "Used for adding the tax id", + "items": { + "$ref": "#/components/schemas/TaxpayerIdentification" + } + }, + "deliveryInstructions": { + "type": "string", + "description": "Specifies the delivery instructions to be added with the shipment. Specifically used by Ground Home Delivery
              Example: Delivery Instructions", + "example": "Delivery Instructions" + } + }, + "description": "The descriptive information for the recipient of the shipment and the physical location for the package destination.", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "000", + "phoneNumber": "9612345671", + "companyName": "Fedex" + }, + "tins": [ + { + "number": "123567", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ], + "deliveryInstructions": "Delivery Instructions" + } + }, + "ContactAndAddress": { + "type": "object", + "properties": { + "contact": { + "description": "Indicate the contact details of the shipper.", + "allOf": [ + { + "$ref": "#/components/schemas/Contact_1" + } + ] + }, + "address": { + "description": "This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the U.S.).", + "allOf": [ + { + "$ref": "#/components/schemas/Address_1" + } + ] + } + }, + "description": "Specifies the contact and address details of a location.", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "38127", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "person name", + "emailAddress": "email address", + "phoneNumber": "phone number", + "phoneExtension": "phone extension", + "companyName": "company name", + "faxNumber": "fax number" + } + } + }, + "Contact_1": { + "type": "object", + "properties": { + "personName": { + "type": "string", + "description": "Identifies the contact person's name.
              Note: Recommended Length is 70. There's no specific validation for the person name.
              Example: John Taylor", + "example": "John Taylor" + }, + "emailAddress": { + "type": "string", + "description": "Specify contact email address. Maximum length is 80.
              Example: sample@company.com", + "example": "sample@company.com" + }, + "phoneNumber": { + "type": "string", + "description": "Contact person's phone number.
              Minimum length is 10 and supports maximum of 15 for certain countries using longer phone numbers.
              Note: For US and CA, a phone number must have exactly 10 digits, plus an optional leading country code of '1' or '+1'.
              Example: 918xxxxx890", + "example": "918xxxxx890" + }, + "phoneExtension": { + "type": "string", + "description": "Specify contact phone extension.
              Note: Recommended length is 6. There's no specific validation for the phone extension.
              Example: 1234", + "example": "91" + }, + "faxNumber": { + "type": "string", + "description": "Specify contact fax number.
              Note: Recommended length is 15. There's no specific validation for the fax number.
              Example: 1234567890", + "example": "956123" + }, + "companyName": { + "type": "string", + "description": "Specify contact company name.
              Recommended length is 35.
              Note: There's no specific validation for the company name.", + "example": "Fedex" + } + }, + "description": "Indicate the contact details of the shipper..", + "example": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "parsedPersonName": { + "firstName": "firstName", + "lastName": "lastName", + "middleName": "middleName", + "suffix": "suffix" + }, + "phoneNumber": "1234567890", + "phoneExtension": 1234, + "faxNumber": "1234567890", + "companyName": "Fedex" + } + }, + "Address_1": { + "type": "object", + "properties": { + "streetLines": { + "type": "array", + "description": "Combination of number, street name, etc. At least one line is required for a valid physical address. Empty lines should not be included. Max Length is 35.
              Example: [1550 Union Blvd,Suite 302]", + "example": [ + "Bldg. 10", + "10 FedEx Parkway" + ], + "items": { + "type": "string" + } + }, + "city": { + "type": "string", + "description": "At least 3 characters of the city name are required for Shipper and Recipient.The name of city, town, etc.
              Example: Beverly Hills", + "example": "Beverly Hills" + }, + "stateOrProvinceCode": { + "type": "string", + "description": "The US State and Canada Province codes. The Format and presence of this field may vary depending on the country.
              Example: TX", + "example": "CA" + }, + "postalCode": { + "type": "string", + "description": "Optional for non postal-aware countries. Max length is 10.
              Example: 38127", + "example": "38127" + }, + "countryCode": { + "type": "string", + "description": "The two-letter code used to identify a country. Max length is 2.
              Example: US
              Click here to see Country Codes", + "example": "US" + }, + "residential": { + "type": "boolean", + "description": "Indicates whether this address is residential (as opposed to commercial).
              Example: false", + "example": false + } + }, + "description": "Specifies the address details of the user." + }, + "Payment": { + "required": [ + "paymentType" + ], + "type": "object", + "properties": { + "paymentType": { + "type": "string", + "description": "Specifies the payment Type.
              Note: This is required for Express, Ground and SmartPost shipments.
              The payment type COLLECT is applicable only for Ground shipments.", + "enum": [ + "SENDER", + "RECIPIENT", + "THIRD_PARTY", + "COLLECT" + ] + }, + "payor": { + "$ref": "#/components/schemas/Payor" + } + }, + "description": "Specifies the payment details specifying the method and means of payment to FedEx for providing shipping services.", + "example": { + "paymentType": "SENDER", + "payor": { + "responsibleParty": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneNumber": "1234567890", + "phoneExtension": "phone extension", + "companyName": "Fedex", + "faxNumber": "fax number" + }, + "accountNumber": { + "value": "801472842" + } + } + } + } + }, + "Payor": { + "type": "object", + "properties": { + "responsibleParty": { + "$ref": "#/components/schemas/ResponsiblePartyParty" + } + }, + "description": "Information about the person who is paying for the shipment.
              Payor is mandatory when the paymentType is RECIPIENT, THIRD_PARTY or COLLECT.", + "example": { + "responsibleParty": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "parsedPersonName": { + "firstName": "John", + "lastName": "Redmond", + "middleName": "Taylor", + "suffix": "Jr" + }, + "phoneNumber": "1234567890", + "phoneExtension": "phone extension", + "companyName": "Fedex", + "faxNumber": "fax number", + "stateTaxId": "state tax identifier", + "fedralTaxId": "11-N-1745" + }, + "accountNumber": { + "value": "801472842" + } + } + } + }, + "ResponsiblePartyParty": { + "required": [ + "address", + "contact" + ], + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/PartyAddress" + }, + "contact": { + "$ref": "#/components/schemas/PartyContact" + }, + "accountNumber": { + "$ref": "#/components/schemas/PartyAccountNumber" + } + }, + "description": "The descriptive information for the person who is responsible for the shipment.", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "000", + "phoneNumber": "9612345671", + "companyName": "Fedex" + }, + "accountNumber": { + "value": "801472842" + } + } + }, + "ShipmentSpecialServicesRequested": { + "type": "object", + "properties": { + "specialServiceTypes": { + "type": "array", + "description": "Indicate the Special services requested for this shipment.
              Example:
              • HOLD_AT_LOCATION
              • RETURN_SHIPMENT
              • BROKER_SELECT_OPTION
              • CALL_BEFORE_DELIVERY
              • COD
              • CUSTOM_DELIVERY_WINDOW

              click here to see Shipment Special Service Types", + "example": [ + "THIRD_PARTY_CONSIGNEE", + "PROTECTION_FROM_FREEZING" + ], + "items": { + "type": "string" + } + }, + "etdDetail": { + "$ref": "#/components/schemas/ETDDetail" + }, + "returnShipmentDetail": { + "$ref": "#/components/schemas/ReturnShipmentDetail" + }, + "deliveryOnInvoiceAcceptanceDetail": { + "$ref": "#/components/schemas/DeliveryOnInvoiceAcceptanceDetail" + }, + "internationalTrafficInArmsRegulationsDetail": { + "$ref": "#/components/schemas/InternationalTrafficInArmsRegulationsDetail" + }, + "pendingShipmentDetail": { + "$ref": "#/components/schemas/PendingShipmentDetail" + }, + "holdAtLocationDetail": { + "$ref": "#/components/schemas/HoldAtLocationDetail" + }, + "shipmentCODDetail": { + "$ref": "#/components/schemas/ShipmentCODDetail" + }, + "shipmentDryIceDetail": { + "$ref": "#/components/schemas/ShipmentDryIceDetail_1" + }, + "internationalControlledExportDetail": { + "$ref": "#/components/schemas/InternationalControlledExportDetail" + }, + "homeDeliveryPremiumDetail": { + "$ref": "#/components/schemas/HomeDeliveryPremiumDetail" + } + }, + "description": "Specify the special services requested at the shipment level. If the shipper is requesting a special service which requires additional data (such as the COD amount), the shipment special service type must be present in the specialServiceTypes collection, and the supporting detail must be provided in the appropriate sub-object below. RETURN_SHIPMENT is required for creating return shipments." + }, + "ETDDetail": { + "type": "object", + "properties": { + "attributes": { + "type": "array", + "description": "Specifies the Post Document Upload
              Example: POST_SHIPMENT_UPLOAD_REQUESTED", + "items": { + "type": "string", + "enum": [ + "POST_SHIPMENT_UPLOAD_REQUESTED" + ] + } + }, + "attachedDocuments": { + "type": "array", + "description": "Customer reference to the uploaded document(s).", + "items": { + "$ref": "#/components/schemas/UploadDocumentReferenceDetail" + } + }, + "requestedDocumentTypes": { + "type": "array", + "description": "Indicates the types of shipping documents requested by the shipper.
              Example: CERTIFICATE_OF_ORIGIN, COMMERCIAL_INVOICE etc.", + "items": { + "type": "string", + "example": "[\"VICS_BILL_OF_LADING\",\"GENERAL_AGENCY_AGREEMENT\"]", + "enum": [ + "CERTIFICATE_OF_ORIGIN", + "COMMERCIAL_INVOICE", + "CUSTOM_PACKAGE_DOCUMENT", + "CUSTOM_SHIPMENT_DOCUMENT", + "CUSTOMER_SPECIFIED_LABELS", + "EXPORT_DECLARATION", + "DANGEROUS_GOODS_SHIPPERS_DECLARATION", + "FREIGHT_ADDRESS_LABEL", + "GENERAL_AGENCY_AGREEMENT", + "LABEL", + "USMCA_CERTIFICATION_OF_ORIGIN", + "USMCA_COMMERCIAL_INVOICE_CERTIFICATION_OF_ORIGIN", + "OP_900", + "PENDING_SHIPMENT_EMAIL_NOTIFICATION", + "PRO_FORMA_INVOICE", + "RETURN_INSTRUCTIONS", + "FEDEX_FREIGHT_STRAIGHT_BILL_OF_LADING", + "VICS_BILL_OF_LADING" + ] + } + } + }, + "description": "Use this object to specify all information on how the electronic Trade document references used with the shipment." + }, + "UploadDocumentReferenceDetail": { + "type": "object", + "properties": { + "documentId": { + "type": "string", + "description": "Returns the value specified in the ship shipment request for your uploaded documents in addition to other values for FedEx generated documents such as shipping labels.
              Example: 090927d680038c61", + "example": "090927d680038c61" + }, + "description": { + "type": "string", + "description": "Specify additional information about the uploaded document for better understanding.", + "example": "Certificate of Origin is uploaded for country of manufacturing verification." + }, + "documentReference": { + "type": "string", + "description": "Specify the reference for the uploaded document.This is for the customer to reference their uploaded docs when they retrieve them. Could be anything, order number, po number, whatever the customer used to tie the document to something they would use. Note: Ensure to supply document references in case of Pre-Shipment document upload", + "example": "Reference" + }, + "documentType": { + "type": "string", + "description": "Specify document type for the uploaded document. It should match with the type of uploaded document associated with documentId", + "example": "PRO_FORMA_INVOICE", + "enum": [ + "CERTIFICATE_OF_ORIGIN", + "COMMERCIAL_INVOICE", + "ETD_LABEL", + "USMCA_CERTIFICATION_OF_ORIGIN", + "USMCA_COMMERCIAL_INVOICE_CERTIFICATION_OF_ORIGIN", + "NET_RATE_SHEET", + "OTHER", + "PRO_FORMA_INVOICE" + ] + } + } + }, + "ReturnShipmentDetail": { + "required": [ + "returnType" + ], + "type": "object", + "properties": { + "returnEmailDetail": { + "$ref": "#/components/schemas/ReturnEmailDetail" + }, + "rma": { + "$ref": "#/components/schemas/ReturnMerchandiseAuthorization" + }, + "returnAssociationDetail": { + "$ref": "#/components/schemas/ReturnAssociationDetail" + }, + "returnType": { + "type": "string", + "description": "This specifies the return Type. Required to be set to PRINT_RETURN_LABEL for printed return label shipments.For email return label shipments returnType must be set to PENDING and pendingShipmentDetail must be set to EMAIL.
              Valid Values : PENDING, PRINT_RETURN_LABEL", + "example": "PRINT_RETURN_LABEL", + "enum": [ + "PENDING", + "PRINT_RETURN_LABEL" + ] + } + }, + "description": "Use this object for specifying return shipment details." + }, + "ReturnEmailDetail": { + "required": [ + "merchantPhoneNumber" + ], + "type": "object", + "properties": { + "merchantPhoneNumber": { + "type": "string", + "description": "Required for Email Return Labels.
              This is the merchant phone number.
              Example: 19012635656", + "example": "19012635656" + }, + "allowedSpecialService": { + "type": "array", + "description": "Identifies the allowed (merchant-authorized) special services which may be selected when the subsequent shipment is created.
              Only services represented in EmailLabelAllowedSpecialServiceType will be controlled by this list. ", + "items": { + "type": "string", + "example": "SATURDAY_DELIVERY", + "enum": [ + "SATURDAY_DELIVERY", + "SATURDAY_PICKUP" + ] + } + } + }, + "description": "Email ID details for the return shipment." + }, + "ReturnMerchandiseAuthorization": { + "type": "object", + "properties": { + "reason": { + "type": "string", + "description": "This is the reason for the return.
              Note: There is no validation for reason. Recommended length is 60 alpha-numeric characters
              Ex. Wrong color or size.", + "example": "Wrong Size or Color" + } + }, + "description": "Return Merchant Authorization (RMA) for the return shipment.
              If the RMA element is included in the request, the return reason may be entered.
              " + }, + "ReturnAssociationDetail": { + "type": "object", + "properties": { + "shipDatestamp": { + "type": "string", + "description": "This is the ship date for the outbound shipment associated with a return shipment. The format is YYYY-MM-DD.
              Example: 2019-10-01", + "example": "2019-10-01" + }, + "trackingNumber": { + "type": "string", + "description": "This is the tracking number associated with this package.
              Example: 49XXX0000XXX20032835", + "example": "123456789" + } + }, + "description": "Specifies the details of an outbound shipment in order to associate the return shipment to it." + }, + "DeliveryOnInvoiceAcceptanceDetail": { + "type": "object", + "properties": { + "recipient": { + "description": "The descriptive data for the recipient of the shipment and the physical location for the shipment destination.", + "allOf": [ + { + "$ref": "#/components/schemas/RecipientsParty" + }, + { + "required": [ + "address", + "contact" + ], + "properties": { + "address": { + "required": [ + "countryCode", + "streetLines" + ], + "properties": { + "streetLines": { + "type": "array", + "description": "Combination of number, street name, etc. At least one line is required for a valid physical address. Empty lines should not be included. Max Length is 35.", + "items": { + "type": "string" + } + }, + "countryCode": { + "type": "string", + "description": "The two-letter code used to identify a country. Max length is 2.
              Example: US
              Click here to see Country Codes", + "example": "US" + } + } + }, + "contact": { + "required": [ + "companyName", + "personName", + "phoneNumber" + ], + "properties": { + "companyName": { + "type": "string", + "description": "Identifies the company this contact is associated with. Max length is 35.", + "example": "Fedex" + }, + "personName": { + "type": "string", + "description": "Identifies the contact person's name. Max Length is 70.", + "example": "John Taylor" + }, + "phoneNumber": { + "type": "string", + "description": "Identifies the phone number associated with this contact. Max length is 15.", + "example": "1234567890" + } + } + } + } + } + ] + } + }, + "description": "Indicate the Delivery On Invoice Acceptance detail. Recipient is required for Delivery On Invoice Special service." + }, + "InternationalTrafficInArmsRegulationsDetail": { + "required": [ + "licenseOrExemptionNumber" + ], + "type": "object", + "properties": { + "licenseOrExemptionNumber": { + "type": "string", + "description": "The export or license number for the ITAR shipment.
              Example: 9871234", + "example": "9871234" + } + }, + "description": "These are International Traffic In Arms Regulations shipment service details." + }, + "PendingShipmentDetail": { + "required": [ + "emailLabelDetail", + "pendingShipmentType" + ], + "type": "object", + "properties": { + "pendingShipmentType": { + "type": "string", + "description": "Specifies the pending shipment type. Must include the value: EMAIL for email return shipments.
              Not applicable for other types of shipments", + "example": "EMAIL", + "enum": [ + "EMAIL" + ] + }, + "processingOptions": { + "$ref": "#/components/schemas/PendingShipmentProcessingOptionsRequested" + }, + "recommendedDocumentSpecification": { + "$ref": "#/components/schemas/RecommendedDocumentSpecification" + }, + "emailLabelDetail": { + "$ref": "#/components/schemas/EmailLabelDetail" + }, + "attachedDocuments": { + "type": "array", + "description": "Attached document details provided by the initator of the shipment, Document ID and Document Type ", + "items": { + "$ref": "#/components/schemas/UploadDocumentReferenceDetail" + } + }, + "expirationTimeStamp": { + "type": "string", + "description": "Specifies the Email Label expiration date. The maximum expiration date for an Email Return Label must be greater of equal to the day of the label request and not greater than 2 years in the future.
              Example: 2020-01-01", + "example": "2020-01-01" + }, + "shipmentDryIceDetail": { + "$ref": "#/components/schemas/ShipmentDryIceDetail_1" + } + }, + "description": "Required for email label return shipments.
              This field is not applicable for CreateTag.
              This object is used to specify the Pending Shipment Type for Email label." + }, + "PendingShipmentProcessingOptionsRequested": { + "type": "object", + "properties": { + "options": { + "type": "array", + "description": "Pending Shipment Processing Option Type", + "example": [ + "ALLOW_MODIFICATIONS" + ], + "items": { + "type": "string", + "enum": [ + "ALLOW_MODIFICATIONS" + ] + } + } + }, + "description": "Allows the Email Label shipment originator to specify if the Email label shipment completer can make modifications to editable shipment data." + }, + "RecommendedDocumentSpecification": { + "required": [ + "types" + ], + "type": "object", + "properties": { + "types": { + "type": "array", + "description": "Specifies the Recommended Document Types that are included with the shipment.", + "example": [ + "ANTIQUE_STATEMENT_EUROPEAN_UNION", + "ANTIQUE_STATEMENT_UNITED_STATES" + ], + "items": { + "type": "string", + "enum": [ + "ANTIQUE_STATEMENT_EUROPEAN_UNION", + "ANTIQUE_STATEMENT_UNITED_STATES", + "ASSEMBLER_DECLARATION", + "BEARING_WORKSHEET", + "CERTIFICATE_OF_SHIPMENTS_TO_SYRIA", + "COMMERCIAL_INVOICE_FOR_THE_CARIBBEAN_COMMON_MARKET", + "CONIFEROUS_SOLID_WOOD_PACKAGING_MATERIAL_TO_THE_PEOPLES_REPUBLIC_OF_CHINA", + "DECLARATION_FOR_FREE_ENTRY_OF_RETURNED_AMERICAN_PRODUCTS", + "DECLARATION_OF_BIOLOGICAL_STANDARDS", + "DECLARATION_OF_IMPORTED_ELECTRONIC_PRODUCTS_SUBJECT_TO_RADIATION_CONTROL_STANDARD", + "ELECTRONIC_INTEGRATED_CIRCUIT_WORKSHEET", + "FILM_AND_VIDEO_CERTIFICATE", + "INTERIM_FOOTWEAR_INVOICE", + "USMCA_CERTIFICATION_OF_ORIGIN_FRENCH", + "USMCA_CERTIFICATION_OF_ORIGIN_SPANISH", + "USMCA_CERTIFICATION_OF_ORIGIN_ENGLISH", + "USMCA_COMMERCIAL_INVOICE_CERTIFICATION_OF_ORIGIN_ENGLISH", + "USMCA_COMMERCIAL_INVOICE_CERTIFICATION_OF_ORIGIN_FRENCH", + "USMCA_COMMERCIAL_INVOICE_CERTIFICATION_OF_ORIGIN_SPANISH", + "PACKING_LIST", + "PRINTED_CIRCUIT_BOARD_WORKSHEET", + "REPAIRED_WATCH_BREAKOUT_WORKSHEET", + "STATEMENT_REGARDING_THE_IMPORT_OF_RADIO_FREQUENCY_DEVICES", + "TOXIC_SUBSTANCES_CONTROL_ACT", + "UNITED_STATES_CARIBBEAN_BASIN_TRADE_PARTNERSHIP_ACT_CERTIFICATE_OF_ORIGIN_TEXTILES", + "UNITED_STATES_CARIBBEAN_BASIN_TRADE_PARTNERSHIP_ACT_CERTIFICATE_OF_ORIGIN_NON_TEXTILES", + "UNITED_STATES_NEW_WATCH_WORKSHEET", + "UNITED_STATES_WATCH_REPAIR_DECLARATION" + ] + } + } + }, + "description": "These are documents that are recommended to be included with the shipment." + }, + "EmailLabelDetail": { + "type": "object", + "properties": { + "recipients": { + "type": "array", + "description": "Indicates the Email label recipient's email address, shipment role, & language locale. One recipient must be specified and only one recipient is supported.", + "items": { + "$ref": "#/components/schemas/EmailRecipient" + } + }, + "message": { + "type": "string", + "description": "Specifies an optional personalized message to be included in the email to the email label recipient", + "example": "your optional message " + } + }, + "description": "Required with PendingShipmentType = 'EMAIL'.
              Not applicable for CreateTag.
              Describes specific information about the pending email label. " + }, + "EmailRecipient": { + "required": [ + "emailAddress", + "role" + ], + "type": "object", + "properties": { + "emailAddress": { + "type": "string", + "description": "Email address of the email return label receipient to be notified of the return label. This element has a 200-character maximum.
              Example: neena@fedex.com", + "example": "neena@fedex.com" + }, + "optionsRequested": { + "$ref": "#/components/schemas/EmailOptionsRequested" + }, + "role": { + "type": "string", + "description": "Relationship that the emailRecipient has to the pending email return label shipments.
              Valid Values: SHIPMENT_COMPLETOR,SHIPMENT_INITIATOR", + "example": "SHIPMENT_COMPLETOR", + "enum": [ + "SHIPMENT_COMPLETOR", + "SHIPMENT_INITIATOR" + ] + }, + "locale": { + "$ref": "#/components/schemas/Locale" + } + }, + "description": "Information describing recipient of the online email return label." + }, + "EmailOptionsRequested": { + "type": "object", + "properties": { + "options": { + "type": "array", + "items": { + "type": "string", + "example": "[\"PRODUCE_PAPERLESS_SHIPPING_FORMAT\",\"SUPPRESS_ACCESS_EMAILS\"]", + "enum": [ + "PRODUCE_PAPERLESS_SHIPPING_FORMAT", + "SUPPRESS_ADDITIONAL_LANGUAGES", + "SUPPRESS_ACCESS_EMAILS" + ] + } + } + }, + "description": "Indicates how the email notifications for the pending shipment must be processed." + }, + "Locale": { + "type": "object", + "properties": { + "country": { + "type": "string", + "description": "Specifies the Country code.
              Example: US", + "example": "US" + }, + "language": { + "type": "string", + "description": "Specifies the Language code.
              Example: en", + "example": "en" + } + }, + "description": "Specifies the Locale" + }, + "ShipmentDryIceDetail_1": { + "type": "object", + "properties": { + "totalWeight": { + "$ref": "#/components/schemas/Weight_1" + }, + "packageCount": { + "type": "integer", + "description": "Indicates the total number of packages in the shipment that contain dry ice.
              Example: 12", + "format": "int32", + "example": 12 + } + }, + "description": "This is the descriptive data required for a FedEx shipment containing dangerous materials. This element is required when SpecialServiceType DRY_ICE is selected.

              Note:

              • Dry Ice is a Package level Special Service for Domestic and International shipments.
              • Dry Ice must be declared at both Shipment and Package level for International MPS shipments to print the compliance statement on Airway Bill labels.

              " + }, + "Weight_1": { + "type": "object", + "properties": { + "units": { + "type": "string", + "description": "This is package weight type.
              Example: LB", + "example": "LB", + "enum": [ + "KG", + "LB" + ] + }, + "value": { + "type": "number", + "description": "Indicates the Weight Value.
              Example: 10.0
              Click here to see Weight Values", + "format": "double", + "example": 10 + } + }, + "description": "These are the package weight details.", + "example": { + "units": "LB", + "value": 10 + } + }, + "HoldAtLocationDetail": { + "required": [ + "locationContactAndAddress", + "locationType" + ], + "type": "object", + "properties": { + "locationId": { + "type": "string", + "description": "Location identification for facilities identified by an alphanumeric location code.
              Example: YBZA", + "example": "YBZA" + }, + "locationContactAndAddress": { + "$ref": "#/components/schemas/ContactAndAddress" + }, + "locationType": { + "type": "string", + "description": "Type of facility at which package/shipment is to be held.
              Example: FEDEX_ONSITE", + "example": "FEDEX_ONSITE", + "enum": [ + "FEDEX_AUTHORIZED_SHIP_CENTER", + "FEDEX_OFFICE", + "FEDEX_SELF_SERVICE_LOCATION", + "FEDEX_STAFFED", + "RETAIL_ALLICANCE_LOCATION", + "FEDEX_GROUND_TERMINAL", + "FEDEX_ONSITE" + ] + } + }, + "description": "Use this object to specify required information for a shipment to be held at destination FedEx location.
              Note: This object HoldAtLocationDetail is Required, when HOLD_AT_LOCATION is chosen in the specialServiceTypes." + }, + "ShipmentCODDetail": { + "type": "object", + "properties": { + "addTransportationChargesDetail": { + "$ref": "#/components/schemas/CODTransportationChargesDetail" + }, + "codRecipient": { + "description": "The descriptive data for the COD recipient and their physical location.'", + "allOf": [ + { + "$ref": "#/components/schemas/Party_1" + } + ] + }, + "remitToName": { + "type": "string", + "description": "Specify the name of the person or company receiving the secured/unsecured funds payment
              Example: remitToName", + "example": "remitToName" + }, + "codCollectionType": { + "type": "string", + "description": " Identifies the type of funds FedEx should collect upon shipment delivery", + "enum": [ + "ANY", + "CASH", + "COMPANY_CHECK", + "GUARANTEED_FUNDS", + "PERSONAL_CHECK" + ] + }, + "financialInstitutionContactAndAddress": { + "$ref": "#/components/schemas/ContactAndAddress" + }, + "codCollectionAmount": { + "$ref": "#/components/schemas/Money" + }, + "returnReferenceIndicatorType": { + "type": "string", + "description": "Indicates which type of reference information to include on the COD return shipping label.", + "enum": [ + "INVOICE", + "PO", + "REFERENCE", + "TRACKING" + ] + }, + "shipmentCodAmount": { + "$ref": "#/components/schemas/Money" + } + }, + "description": "Conditional
              This is the shipment level COD detail." + }, + "CODTransportationChargesDetail": { + "type": "object", + "properties": { + "rateType": { + "type": "string", + "description": "Type used for this specific set of rate data", + "enum": [ + "ACCOUNT", + "CURRENT", + "CUSTOM", + "INCENTIVE", + "PREFERRED" + ] + }, + "rateLevelType": { + "type": "string", + "description": "Rate according to Level type", + "enum": [ + "BUNDLED_RATE", + "INDIVIDUAL_PACKAGE_RATE" + ] + }, + "chargeLevelType": { + "type": "string", + "description": "Charges according to Level type", + "enum": [ + "CURRENT_PACKAGE", + "SUM_OF_PACKAGES" + ] + }, + "chargeType": { + "type": "string", + "description": "Specifies the type of Charges", + "enum": [ + "COD_SURCHARGE", + "NET_CHARGE", + "NET_FREIGHT", + "TOTAL_CUSTOMER_CHARGE" + ] + } + }, + "description": "This element allows you to add transportation charges to the C.O.D. collection amount.
              Valid values are: ADD_ACCOUNT_COD_SURCHARGE, ADD_ACCOUNT_NET_CHARGE, ADD_ACCOUNT_NET_FREIGHT, ADD_ACCOUNT_TOTAL_CUSTOMER_CHARGE, ADD_LIST_COD_SURCHARGE, ADD_LIST_NET_CHARGE, ADD_LIST_NET_FREIGHT, ADD_LIST_TOTAL_CUSTOMER_CHARGE" + }, + "Party_1": { + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/PartyAddress" + }, + "contact": { + "$ref": "#/components/schemas/PartyContact" + }, + "accountNumber": { + "$ref": "#/components/schemas/PartyAccountNumber" + }, + "tins": { + "type": "array", + "description": "Used for adding the tax id", + "items": { + "$ref": "#/components/schemas/TaxpayerIdentification" + } + }, + "deliveryInstructions": { + "type": "string", + "description": "Specify the delivery instructions to be added with the shipment. Use with Ground Home Delivery.
              Example: Delivery Instructions", + "example": "Delivery Instruction 1" + } + }, + "description": "", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "000", + "phoneNumber": "9612345671", + "companyName": "Fedex" + }, + "accountNumber": { + "value": "801472842" + }, + "tins": [ + { + "number": "123567", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ] + } + }, + "Money": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "description": "This is commodity value in amount used for Customs declaration.
              Max limit: 7 digits before decimal.
              Example: 12.45", + "format": "double", + "example": 12.45 + }, + "currency": { + "type": "string", + "description": "This is the currency of the commodity value used for Customs declaration.
              Example: USD
              Click here to see Currency Codes", + "example": "USD" + } + }, + "description": "This is commodity value used for Customs declaration." + }, + "InternationalControlledExportDetail": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "licenseOrPermitExpirationDate": { + "type": "string", + "description": "Indicates the license Or Permit Expiration Date.
              Format YYYY-MM-DD
              Example: \"2019-12-03\"", + "example": "2019-12-03" + }, + "licenseOrPermitNumber": { + "type": "string", + "description": "Indicates the licenseOrPermitNumber.
              Example: 11", + "example": "11" + }, + "entryNumber": { + "type": "string", + "description": "Indicates the entry number.
              Example: 125", + "example": "125" + }, + "foreignTradeZoneCode": { + "type": "string", + "description": "Indicates the ForeignTradeZoneCode.
              Example: US", + "example": "US" + }, + "type": { + "type": "string", + "description": "Indicates the International Controlled Export Type", + "example": "WAREHOUSE_WITHDRAWAL", + "enum": [ + "DEA_036", + "DEA_236", + "DSP_05", + "DSP_61", + "DSP_73", + "DSP_85", + "DSP_LICENSE_AGREEMENT", + "WAREHOUSE_WITHDRAWAL" + ] + } + }, + "description": "Use this object to specify International Controlled Export shipment Details.
              Note: licenseOrPermitExpirationDate and licenseOrPermitNumber are not required when type is WAREHOUSE_WITHDRAWAL." + }, + "HomeDeliveryPremiumDetail": { + "type": "object", + "properties": { + "phoneNumber": { + "$ref": "#/components/schemas/PhoneNumber" + }, + "deliveryDate": { + "type": "string", + "description": "Conditional
              Identifies the date and time the package is tendered to FedEx. Both the date and time portions of the string are expected to be used. The date should not be a past date or a date more than 10 days in the future. The time is the local time of the shipment based on the shipper's time zone.
              Format YYYY-MM-DDTHH:MM:SS-xx:xx. example: 2019-06-26T17:00:00Z.", + "example": "2019-06-26T17:00:00Z" + }, + "homedeliveryPremiumType": { + "type": "string", + "description": "Home Delivery Premium Type. Allows the user to specify additional premimum service options for their home delivery shipment. Customer can specify Evening delivery or a Date certain, or can specify they would like to make an appointment for the delivery.", + "example": "APPOINTMENT", + "enum": [ + "APPOINTMENT", + "DATE_CERTAIN", + "EVENING" + ] + } + }, + "description": "Special service elements for FedEx Ground Home Delivery shipments. If selected, 'homedeliveryPremiumType' is required. " + }, + "PhoneNumber": { + "type": "object", + "properties": { + "areaCode": { + "type": "string", + "description": "Indicates the Area Code of a phone number." + }, + "localNumber": { + "type": "string", + "description": "Indicates the Local Number" + }, + "extension": { + "type": "string", + "description": "Identifies the phone extension associated with this contact." + }, + "countryCode": { + "type": "string", + "description": "The two-letter code used to identify a country. Max length is 2.
              Example: US
              Click here to see Country Codes" + }, + "personalIdentificationNumber": { + "type": "string", + "description": "Identifies a Personal Identification Number" + } + }, + "description": "A phone number for a party. Numeric only", + "example": { + "areaCode": "901", + "localNumber": "3575012", + "extension": "200", + "countryCode": "US", + "personalIdentificationNumber": "98712345" + } + }, + "EMailNotificationDetail": { + "type": "object", + "properties": { + "aggregationType": { + "type": "string", + "description": "Shipment Notification Aggregation Type.", + "example": "PER_PACKAGE", + "enum": [ + "PER_PACKAGE", + "PER_SHIPMENT" + ] + }, + "emailNotificationRecipients": { + "type": "array", + "description": "Provide Email Notification Recipient details.", + "items": { + "$ref": "#/components/schemas/EmailNotificationRecipient" + } + }, + "personalMessage": { + "type": "string", + "description": "This is your personal message for the email.
              Note: The maximum personal message character limit depends on the element notificationFormatType values:
              • If notificationFormatType is TEXT, then only 120 characters printed on the email
              • If notificationFormatType is HTML, then 500 characters printed on the email

              Example: This is concerning the order 123456 of 26 July 2021 - art no 34324-23 Teddy Bear, brown", + "example": "your personal message here" + } + }, + "description": "These are email disposition details. Provides the type and email addresses of e-mail recipients. If returnedDispositionDetail in labelSpecification is set as true then email will be send with label and documents copy." + }, + "EmailNotificationRecipient": { + "required": [ + "emailAddress", + "emailNotificationRecipientType" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "This is the email recipients' name
              Example: Joe Smith", + "example": "Joe Smith" + }, + "emailNotificationRecipientType": { + "type": "string", + "description": "This is the email notification recipient type.", + "example": "SHIPPER", + "enum": [ + "BROKER", + "OTHER", + "RECIPIENT", + "SHIPPER", + "THIRD_PARTY", + "OTHER1", + "OTHER2" + ] + }, + "emailAddress": { + "type": "string", + "description": "This is the recipients email address.
              Example: xyz@aol.com", + "example": "jsmith3@aol.com" + }, + "notificationFormatType": { + "type": "string", + "description": "this is the format for the email notification, either HTML or plain text is available.
              Example: TEXT", + "example": "TEXT", + "enum": [ + "HTML", + "TEXT" + ] + }, + "notificationType": { + "type": "string", + "description": "Indicates the type of notification that will be sent, either SMS text message or an Email
              Example: EMAIL", + "example": "EMAIL", + "enum": [ + "SMS_TEXT_MESSAGE", + "EMAIL" + ] + }, + "locale": { + "type": "string", + "description": "this is the language and language locale code for the email
              Example: en_US, fr_CA, es_MX", + "example": "en_US" + }, + "notificationEventType": { + "type": "array", + "description": "Notification Event Type", + "example": [ + "ON_PICKUP_DRIVER_ARRIVED", + "ON_SHIPMENT" + ], + "items": { + "type": "string", + "enum": [ + "ON_DELIVERY", + "ON_EXCEPTION", + "ON_SHIPMENT", + "ON_TENDER", + "ON_ESTIMATED_DELIVERY", + "ON_PICKUP", + "ON_LABEL", + "ON_BILL_OF_LADING", + "ON_PICKUP_DRIVER_ARRIVED", + "ON_PICKUP_DRIVER_ASSIGNED", + "ON_PICKUP_DRIVER_DEPARTED", + "ON_PICKUP_DRIVER_EN_ROUTE" + ] + } + } + }, + "description": "details for the recipient of the email notification" + }, + "ExpressFreightDetail": { + "type": "object", + "properties": { + "bookingConfirmationNumber": { + "type": "integer", + "description": "This is an advanced booking number that must be acquired through the appropriate channel in the shipment origin country. Without the booking number pickup and space allocation for the Express Freight shipment are not guaranteed.
              Minimum length: 5 digits
              Maximum length: 12 digits
              Example: XXXX56789812", + "example": 123456789812 + }, + "shippersLoadAndCount": { + "type": "integer", + "description": "Indicates the content of a container were loaded and counted by the shipper.
              Minimum length: 1 digits
              Maximum length: 5 digits
              Example: If a skid has 32 small boxes on it that are shrinkwrapped, the shippersLoadAndCount should be \u201c32\u201d", + "format": "int32", + "example": 123 + }, + "packingListEnclosed": { + "type": "boolean", + "description": "This indicates whether or not the Packing List is enclosed with the shipment. A packing list is a document that includes details about the contents of a package. Valid Values are True or False.
              Example: true", + "example": true + } + }, + "description": "Indicates the advance booking number, shipper load /count and packing list details. This details must be provided by the user during freight shipment." + }, + "VariableHandlingChargeDetail": { + "type": "object", + "properties": { + "rateType": { + "type": "string", + "description": "The rate type indicates what type of rate request is being returned; account, preferred, incentive, etc.", + "example": "PREFERRED_CURRENCY", + "enum": [ + "ACCOUNT", + "ACTUAL", + "CURRENT", + "CUSTOM", + "LIST", + "INCENTIVE", + "PREFERRED", + "PREFERRED_INCENTIVE", + "PREFERRED_CURRENCY" + ] + }, + "percentValue": { + "type": "number", + "description": "This is the variable handling percentage. If the percent value is mentioned as 10, it means 10%(multiplier of 0.1).", + "format": "double", + "example": 12.45 + }, + "rateLevelType": { + "type": "string", + "description": "Indicates whether or not the rating is being done at the package level, or if the packages are bundled together. At the package level, charges are applied based on the details of each individual package. If they are bundled, one package is chosen as the parent and charges are applied based on that one package.", + "example": "INDIVIDUAL_PACKAGE_RATE", + "enum": [ + "BUNDLED_RATE", + "INDIVIDUAL_PACKAGE_RATE" + ] + }, + "fixedValue": { + "description": "Conditional\n\nAllows the user to specify a fixed handling charge. The element allows entry of 7 characters before the decimal and 2 characters following the decimal. For example, if you want to enter a fixed handling amount of $5.00, enter 5.00 in the FixedValue 'amount' element.", + "allOf": [ + { + "$ref": "#/components/schemas/Money" + }, + { + "required": [ + "amount", + "currency" + ], + "properties": { + "amount": { + "type": "number", + "description": "fixed variable handling charge amount" + }, + "currency": { + "type": "string", + "description": "fixed variable handling charge currency type
              Click here to see Currency Codes" + } + }, + "example": { + "amount": 24.45, + "currency": "USD" + } + } + ] + }, + "rateElementBasis": { + "type": "string", + "description": "Specifies the charge upon which the variable handling percentage amount is calculated.", + "example": "NET_CHARGE_EXCLUDING_TAXES", + "enum": [ + "NET_CHARGE", + "NET_FREIGHT", + "BASE_CHARGE", + "NET_CHARGE_EXCLUDING_TAXES" + ] + } + }, + "description": "Specifies details about how to calculate variable handling charges at the shipment level. They can be based on a percentage of the shipping charges or a fixed amount. If indicated, 'rateLevelType' is required." + }, + "CustomsClearanceDetail": { + "required": [ + "commercialInvoice", + "commodities" + ], + "type": "object", + "properties": { + "regulatoryControls": { + "type": "array", + "description": "These are the regulatory controls applicable to the shipment.", + "example": "NOT_IN_FREE_CIRCULATION", + "items": { + "type": "string", + "enum": [ + "FOOD_OR_PERISHABLE", + "USMCA", + "NOT_APPLICABLE_FOR_LOW_VALUE_CUSTOMS_EXCEPTIONS", + "NOT_IN_FREE_CIRCULATION" + ] + } + }, + "brokers": { + "type": "array", + "description": "Conditional.
              Specify Broker information only if you are using Broker Select Option for your shipment.To be considered a valid, a country code must be specified in addition to one of the following address items: postal code, city, or location id.", + "items": { + "$ref": "#/components/schemas/BrokerDetail" + } + }, + "commercialInvoice": { + "$ref": "#/components/schemas/CommercialInvoice" + }, + "freightOnValue": { + "type": "string", + "description": "Specify the risk owner for the Freight shipment.This element is only mandatory or valid for Intra India shipments. ", + "example": "OWN_RISK", + "enum": [ + "CARRIER_RISK", + "OWN_RISK" + ] + }, + "dutiesPayment": { + "$ref": "#/components/schemas/Payment_1" + }, + "commodities": { + "type": "array", + "description": "Indicates the details about the dutiable packages. Maximum upto 999 commodities per shipment", + "items": { + "$ref": "#/components/schemas/Commodity" + } + }, + "recipientCustomsId": { + "$ref": "#/components/schemas/RecipientCustomsId" + }, + "customsOption": { + "$ref": "#/components/schemas/CustomsOptionDetail" + }, + "importerOfRecord": { + "description": "The descriptive data for the importer of Record for the shipment and their physical address, contact and account number information.", + "allOf": [ + { + "$ref": "#/components/schemas/Party_1" + } + ] + }, + "generatedDocumentLocale": { + "type": "string", + "description": "This is the locale for generated document.
              Example: en_US
              click here to see Locales
              Note: If the locale is left blank or an invalid locale is entered, an error message is returned in response.", + "example": "US" + }, + "exportDetail": { + "$ref": "#/components/schemas/ExportDetail_1" + }, + "totalCustomsValue": { + "description": "This is the total customs value.", + "allOf": [ + { + "$ref": "#/components/schemas/Money" + } + ] + }, + "partiesToTransactionAreRelated": { + "type": "boolean", + "description": "Parties To Transaction Are Related" + }, + "declarationStatementDetail": { + "$ref": "#/components/schemas/CustomsDeclarationStatementDetail" + }, + "isDocumentOnly": { + "type": "boolean", + "description": "Used to specify if a shipment is document shipment or not. Used only for International Express document shipments. Default value is false." + }, + "insuranceCharge": { + "description": "Amount paid to a third party for the purpose of insuring this shipment against damage or loss. Used to calculate estimated duties and taxes", + "allOf": [ + { + "$ref": "#/components/schemas/Money" + } + ] + } + }, + "description": "Required for International and intra-country Shipments. Information about this package that only applies to an international (export) shipment or return." + }, + "BrokerDetail": { + "type": "object", + "properties": { + "broker": { + "description": "'The descriptive data for the broker for the shipment and their physical address, contact and account number information.'", + "allOf": [ + { + "$ref": "#/components/schemas/Party_1" + }, + { + "required": [ + "address", + "contact" + ], + "properties": { + "address": { + "description": "Broker address details." + }, + "contact": { + "description": "Broker contact details." + } + } + } + ] + }, + "type": { + "type": "string", + "description": "Identifies the type of Broker.", + "example": "IMPORT", + "enum": [ + "IMPORT" + ] + } + }, + "description": "Broker details for the shipment", + "example": { + "broker": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneNumber": "1234567890", + "phoneExtension": 91, + "companyName": "Fedex", + "faxNumber": 1234567, + "stateTaxId": 1234567, + "fedralTaxId": "11-N-1745" + }, + "accountNumber": { + "value": 801472842 + }, + "tins": [ + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ] + }, + "type": "IMPORT" + } + }, + "CommercialInvoice": { + "type": "object", + "properties": { + "originatorName": { + "type": "string", + "description": "The originatorName that will populate the Commercial Invoice (or Pro Forma).", + "example": "originator Name" + }, + "comments": { + "type": "array", + "description": "The comments that will populate the Commercial Invoice (or Pro Forma). Only the comments specified in the first two indexes of the array will be printed on the invoice and other comments would be ignored as the limitation is set for only two indexes. It considers the comment which is in the first index as a Special Instructions, Hence the comment at first index will be printed under special instructions and the other will be printed at comments section in the Commercial Invoice Document.
              Example: comments", + "example": [ + "optional comments for the commercial invoice" + ], + "items": { + "type": "string" + } + }, + "customerReferences": { + "type": "array", + "description": "Additional customer reference data", + "items": { + "$ref": "#/components/schemas/CustomerReference" + } + }, + "taxesOrMiscellaneousCharge": { + "description": "Specifies Taxes Or Miscellaneous Charge", + "allOf": [ + { + "$ref": "#/components/schemas/Money" + } + ] + }, + "taxesOrMiscellaneousChargeType": { + "type": "string", + "description": "Specifies the Taxes Or Miscellaneous Charge Type", + "example": "COMMISSIONS", + "enum": [ + "COMMISSIONS", + "DISCOUNTS", + "HANDLING_FEES", + "OTHER", + "ROYALTIES_AND_LICENSE_FEES", + "TAXES" + ] + }, + "freightCharge": { + "$ref": "#/components/schemas/Money" + }, + "packingCosts": { + "$ref": "#/components/schemas/Money" + }, + "handlingCosts": { + "$ref": "#/components/schemas/Money" + }, + "declarationStatement": { + "type": "string", + "description": "The declaration statement that will populate the Commercial Invoice (or Pro Forma).
              Max length is 554
              Example: declarationStatement", + "example": "declarationStatement" + }, + "termsOfSale": { + "type": "string", + "description": "The termsOfSale that will populate the Commercial Invoice (or Pro Forma). Max length is 3
              Example: FCA", + "example": "FCA" + }, + "specialInstructions": { + "type": "string", + "description": "The special instructions that will populate the Commercial Invoice (or Pro Forma).
              Example: specialInstructions", + "example": "specialInstructions\"" + }, + "shipmentPurpose": { + "type": "string", + "description": "The reason for the shipment. Note: SOLD is not a valid purpose for a Proforma Invoice.", + "example": "REPAIR_AND_RETURN", + "enum": [ + "GIFT", + "NOT_SOLD", + "PERSONAL_EFFECTS", + "REPAIR_AND_RETURN", + "SAMPLE", + "SOLD" + ] + }, + "emailNotificationDetail": { + "$ref": "#/components/schemas/EmailDispositionDetail" + } + }, + "description": "Use this object to provide Commercial Invoice details. This element is required for electronic upload of CI data. It will serve to create/transmit an electronic Commercial Invoice through the FedEx system.
              Customers are responsible for printing their own Commercial Invoice.
              If you would like FedEx to generate a Commercial Invoice and transmit it to Customs for clearance purposes, you need to specify that in the 'ETDDetail/RequesteDocumentCopies' element.
              Support consists of a maximum of 99 commodity line items." + }, + "CustomerReference": { + "type": "object", + "properties": { + "customerReferenceType": { + "type": "string", + "description": "This is a customer reference type. Note: Use type Type, RMA_ASSOCIATION and value as the RMA Number to associate Ground Call Tag shipments to the outbound shipment.
              Example: DEPARTMENT_NUMBER", + "example": "DEPARTMENT_NUMBER", + "enum": [ + "BILL_OF_LADING", + "CUSTOMER_REFERENCE", + "DEPARTMENT_NUMBER", + "INVOICE_NUMBER", + "P_O_NUMBER", + "SHIPMENT_INTEGRITY", + "INTRACOUNTRY_REGULATORY_REFERENCE", + "STORE_NUMBER", + "RMA_ASSOCIATION", + "SHIPPER_ID1", + "SHIPPER_ID2" + ] + }, + "value": { + "type": "string", + "description": "This is a customer reference type value.
              Example: 3686", + "example": "3686" + } + } + }, + "EmailDispositionDetail": { + "type": "object", + "properties": { + "emailAddress": { + "type": "string", + "description": "The required email address of the contact person.
              Example: neena@fedex.com", + "example": "neena@fedex.com" + }, + "type": { + "type": "string", + "description": "Indicates the type", + "example": "EMAILED" + }, + "recipientType": { + "type": "string", + "description": "Indicates the recipient type", + "example": "SHIPPER" + } + }, + "description": "These are email disposition detail. Provides the type and email addresses for e-mail recipients. If returnedDispositionDetail in labelSpecification is set as true then email will be send with label and documents copy." + }, + "Payment_1": { + "type": "object", + "properties": { + "payor": { + "$ref": "#/components/schemas/Payor_1" + }, + "billingDetails": { + "$ref": "#/components/schemas/BillingDetails" + }, + "paymentType": { + "type": "string", + "description": "Indicates who and how the shipment will be paid for.\nRequired for Express and Ground.", + "enum": [ + "SENDER", + "RECIPIENT", + "THIRD_PARTY", + "BILL_ANONYMOUSLY", + "COLLECT", + "CASH", + "ACCOUNT", + "CONSIGNEE" + ] + } + }, + "description": "This is a payment type, basically indicates who is the payor for the shipment.Conditional required for International Shipments.", + "example": { + "payor": { + "responsibleParty": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "38127", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneNumber": "1234567890", + "phoneExtension": "phone extension", + "companyName": "Fedex", + "faxNumber": "fax number", + "stateTaxId": "state tax identifier", + "fedralTaxId": "federal tax identifier" + }, + "accountNumber": { + "value": 123456789 + }, + "tins": [ + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + }, + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ], + "deliveryInstructions": "deliveryInstructions" + } + }, + "billingDetails": { + "billingCode": "billingCode", + "billingType": "billingType", + "aliasId": "aliasId", + "accountNickname": "accountNickname", + "accountNumber": 123456789, + "accountNumberCountryCode": "US" + }, + "paymentType": "SENDER" + } + }, + "Payor_1": { + "type": "object", + "properties": { + "responsibleParty": { + "$ref": "#/components/schemas/Party_2" + } + }, + "description": "Information about the person who is paying for the shipment. Not applicable for credit card payment. ", + "example": { + "responsibleParty": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "38127", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "parsedPersonName": { + "firstName": "first name", + "lastName": "last name", + "middleName": "middle name", + "suffix": "suffix" + }, + "phoneNumber": "1234567890", + "phoneExtension": "phone extension", + "companyName": "Fedex", + "faxNumber": "fax number" + }, + "accountNumber": { + "value": 123456789 + }, + "tins": [ + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + }, + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ], + "deliveryInstructions": "deliveryInstructions" + } + } + }, + "Party_2": { + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/Address_1" + }, + "contact": { + "$ref": "#/components/schemas/Contact_1" + }, + "accountNumber": { + "$ref": "#/components/schemas/PartyAccountNumber" + }, + "tins": { + "type": "array", + "description": "Optional\nUsed for adding the tax id", + "items": { + "$ref": "#/components/schemas/TaxpayerIdentification" + } + }, + "deliveryInstructions": { + "type": "string", + "description": "Specify the delivery instructions to be added with the shipment. Use with Ground Home Delivery.
              Example: Delivery Instructions", + "example": "Instruction 1" + } + }, + "description": "attributes for a Party to a transaction including the physical address, contact information and account number information. ", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "38127", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "parsedPersonName": { + "firstName": "first name", + "lastName": "last name", + "middleName": "middle name", + "suffix": "suffix" + }, + "phoneNumber": "1234567890", + "phoneExtension": "phone extension", + "companyName": "Fedex", + "faxNumber": "fax number", + "stateTaxId": "state tax identifier", + "fedralTaxId": "federal tax identifer" + }, + "accountNumber": { + "value": 123456789 + }, + "tins": [ + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + }, + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ], + "deliveryInstructions": "deliveryInstructions" + } + }, + "BillingDetails": { + "type": "object", + "properties": { + "billingCode": { + "type": "string", + "description": "Specifies the Billing Code" + }, + "billingType": { + "type": "string", + "description": "Specifies the type of billing.", + "example": "ONLINE" + }, + "aliasId": { + "type": "string", + "description": "Unique identifier for this alias." + }, + "accountNickname": { + "type": "string", + "description": "Specifies the account nickname." + }, + "accountNumber": { + "type": "string", + "description": "Specifies the account number." + }, + "accountNumberCountryCode": { + "type": "string", + "description": "Specifies the countrycode .
              Example: CA" + } + }, + "description": "Specifies the details of the billing.", + "example": { + "billingCode": "128345", + "billingType": "billingType", + "aliasId": "alias identifier", + "accountNickname": "accountNickname", + "accountNumber": "801472842", + "accountNumberCountryCode": "CA" + } + }, + "Commodity": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "unitPrice": { + "$ref": "#/components/schemas/Money" + }, + "additionalMeasures": { + "type": "array", + "description": "Optional
              Contains only additional quantitative information other than weight and quantity to calculate duties and taxes.", + "items": { + "$ref": "#/components/schemas/AdditionalMeasures" + } + }, + "numberOfPieces": { + "type": "integer", + "description": "Required.
              Indicate the number of pieces associated with the commodity. Number of pieces cannot be a negative value or exceed 9,999.
              Example: 12", + "format": "int32", + "example": 12 + }, + "quantity": { + "type": "integer", + "description": "Required
              Total number of units (using quantityUnits as the unit of measure) of this commodity present in the shipment. Used to estimate duties and taxes.
              Example: 125", + "format": "int32", + "example": 125 + }, + "quantityUnits": { + "type": "string", + "description": "Required
              Unit of measure for the above quantity. Used to estimate duties and taxes
              Example: Ea", + "example": "Ea" + }, + "customsValue": { + "$ref": "#/components/schemas/Customs_Money" + }, + "countryOfManufacture": { + "type": "string", + "description": "Required
              Maximum allowed length is 4.
              Example: US", + "example": "US" + }, + "cIMarksAndNumbers": { + "type": "string", + "description": "An identifying mark or number used on the packagingof a shipment to help customers identify a particularshipment
              Example: 87123", + "example": "87123" + }, + "harmonizedCode": { + "type": "string", + "description": "This is to specify the Harmonized Tariff System (HTS) code to meet U.S. and foreign governments' customs requirements. These are mainly used to estimate the duties and taxes.
              Example: 0613
              To research the classification for your commodity, use the FedEx Global Trade Manager online at fedex.com/gtm. You will find country-specific information to determine whether your commodity is considered to be a document or non-document for your destination.", + "example": "0613" + }, + "description": { + "type": "string", + "description": "Required
              ScrewsMaximum allowed 450 characters.
              Example: description", + "example": "description" + }, + "name": { + "type": "string", + "description": "Required
              Commodity name
              Example: non-threaded rivets", + "example": "non-threaded rivets" + }, + "weight": { + "$ref": "#/components/schemas/Weight" + }, + "exportLicenseNumber": { + "type": "string", + "description": "Specifies the export license number for the shipment
              Example: 26456", + "example": "26456" + }, + "exportLicenseExpirationDate": { + "type": "string", + "description": "Specifies the export license expiration date for the shipment
              Format YYYY-MM-DD
              Example : 2009-04-12", + "format": "date-time" + }, + "partNumber": { + "type": "string", + "description": "a part number for the item
              Example: 167", + "example": "167" + }, + "purpose": { + "type": "string", + "description": "This field is used for calculation of duties and taxes.

              Valid values are : BUSINESS and CONSUMER", + "example": "BUSINESS", + "enum": [ + "BUSINESS", + "CONSUMER" + ] + }, + "usmcaDetail": { + "$ref": "#/components/schemas/UsmcaCommodityDetail" + } + } + }, + "AdditionalMeasures": { + "type": "object", + "properties": { + "quantity": { + "type": "number", + "description": "Specify quantity of commodity.", + "format": "double", + "example": 12.45 + }, + "units": { + "type": "string", + "description": "Unit of measure used to express the quantity of this commodity line item.", + "example": "KG" + } + } + }, + "Customs_Money": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "description": "This is commodity value in amount used for Customs declaration.
              Max limit: 7 digits before decimal.
              Example: 1,556.25", + "format": "double" + }, + "currency": { + "type": "string", + "description": "This is the currency of the commodity value used for Customs declaration.
              Example: USD
              Click here to see Currency Codes", + "example": "USD" + } + }, + "description": "This is commodity value used for Customs declaration." + }, + "Weight": { + "required": [ + "units", + "value" + ], + "type": "object", + "properties": { + "units": { + "type": "string", + "description": "Specifies the package weight unit type.", + "example": "KG", + "enum": [ + "KG", + "LB" + ] + }, + "value": { + "type": "number", + "description": "Indicates the Weight Value.
              Example: 68.25
              Click here to see Weight Values", + "format": "double", + "example": 68.25 + } + }, + "description": "These are the package weight details.", + "example": { + "units": "KG", + "value": 68 + } + }, + "UsmcaCommodityDetail": { + "type": "object", + "properties": { + "originCriterion": { + "type": "string", + "description": "Origin for each commodity in the shipment. A - The goods was obtained or produced entirely in USMCA country. B - The goods was produced entirely in a USMCA country and satisfies the specific origin that applies to its tariff classification.", + "enum": [ + "A", + "B", + "C", + "D", + "E" + ] + } + }, + "description": "Specifies the commodity details of usmca." + }, + "RecipientCustomsId": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Indicates the type of recipient customs.", + "example": "PASSPORT", + "enum": [ + "COMPANY", + "INDIVIDUAL", + "PASSPORT" + ] + }, + "value": { + "type": "string", + "description": "Indicates the value of the recipient customs.", + "example": "123" + } + }, + "description": "Conditional\n\nUse this element to provide valid identification details. Used for populating brazil tax id." + }, + "CustomsOptionDetail": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Specifies the Description of the customs option type.", + "example": "Description" + }, + "type": { + "type": "string", + "description": "Specify the reason for a global return, as recognized by Customs. Valid values:
              • COURTESY_RETURN_LABEL: Applicable for Outbound shipments.
              • EXHIBITION_TRADE_SHOW: For exhibition or trade-show, outbound and inbound.
              • FAULTY_ITEM: For faulty item being returned, inbound only.
              • FOLLOWING_REPAIR: For repaired or processed item being sent, outbound only.
              • FOR_REPAIR: For repair or processing, outbound and inbound.
              • ITEM_FOR_LOAN: For loan item, outbound and inbound.
              • OTHER: Other reason, outbound and inbound. This type requires a description.
              • REJECTED: For rejected merchandise being returned, inbound.
              • REPLACEMENT: For replacement being sent, outbound only.
              • TRIAL: For use in a trial, outbound and inbound.
              ", + "example": "COURTESY_RETURN_LABEL", + "enum": [ + "COURTESY_RETURN_LABEL", + "EXHIBITION_TRADE_SHOW", + "FAULTY_ITEM", + "FOLLOWING_REPAIR", + "FOR_REPAIR", + "ITEM_FOR_LOAN", + "OTHER", + "REJECTED", + "REPLACEMENT", + "TRIAL" + ] + } + }, + "description": "These are customs Option Detail, type must be indicated for each occurrence", + "example": { + "description": "Description", + "type": "COURTESY_RETURN_LABEL" + } + }, + "ExportDetail_1": { + "type": "object", + "properties": { + "destinationControlDetail": { + "$ref": "#/components/schemas/DestinationControlDetail" + }, + "b13AFilingOption": { + "type": "string", + "description": "Specify the filing option being exercised. Required for non-document shipments originating in Canada destinated for any country other than Canada, the United States, Puerto Rico, or the U.S. Virgin Islands", + "example": "NOT_REQUIRED", + "enum": [ + "NOT_REQUIRED", + "MANUALLY_ATTACHED", + "FILED_ELECTRONICALLY", + "SUMMARY_REPORTING", + "FEDEX_TO_STAMP" + ] + }, + "exportComplianceStatement": { + "type": "string", + "description": "For US export shipments requiring an EEI, enter the ITN number received from AES when you filed your shipment or the FTR (Foreign Trade Regulations) exemption number.The proper format for an ITN number is AES XYYYYMMDDNNNNNN where YYYYMMDD is date and NNNNNN are numbers generated by the AES.
              Example: AESX20220714987654
              Note: The ITN or FTR exemption number you submit in the ship request prints on the international shipping label.

              For CA export shipments,it can be Proof of report number(15-32 alphanumeric) ,Summary proof of report number(7-32 alphanumeric) or Exemption number(2 digit) based on the selected b13AFilingOption.
              Example: 98765432107654321(POR number), 7654321(Summary POR number) and 02(Exemption number).", + "example": "12345678901234567" + }, + "permitNumber": { + "type": "string", + "description": "This is a Permit Number. This field is applicable only to Canada export non-document shipments of any value to any destination. No special characters are allowed.
              Example: 12345", + "example": "12345" + } + }, + "description": "Conditional\n Export Detail Used for US or CA exports" + }, + "DestinationControlDetail": { + "required": [ + "statementTypes" + ], + "type": "object", + "properties": { + "endUser": { + "type": "string", + "description": "End User", + "example": "dest country user" + }, + "statementTypes": { + "type": "string", + "description": "Destination Control Statement Type", + "example": "DEPARTMENT_OF_COMMERCE", + "enum": [ + "DEPARTMENT_OF_COMMERCE", + "DEPARTMENT_OF_STATE", + "DEPARTMENT_OF_COMMERCE_AND_DEPARTMENT_OF_STATE" + ] + }, + "destinationCountries": { + "type": "array", + "description": "Destination Countries
              Example: [US, India]", + "example": [ + "USA", + "India" + ], + "items": { + "type": "string" + } + } + }, + "description": "VERY IMPORTANT: Specify appropriate destinationcontrol statement type(s),Valid values: DEPARTMENT_OF_COMMERCE, DEPARTMENT_OF_STATE
              Be sure to also specify destination country and enduser." + }, + "CustomsDeclarationStatementDetail": { + "required": [ + "usmcaLowValueStatementDetail" + ], + "type": "object", + "properties": { + "usmcaLowValueStatementDetail": { + "$ref": "#/components/schemas/UsmcaLowValueStatementDetail" + }, + "types": { + "type": "array", + "description": "It indicates the different statements, declarations, acts, and/or certifications that apply to this shipment.", + "items": { + "type": "string", + "example": "USMCA_LOW_VALUE" + } + } + }, + "description": "Specifies about the statements to be declared for Customs." + }, + "UsmcaLowValueStatementDetail": { + "required": [ + "customsRole" + ], + "type": "object", + "properties": { + "isCountryOfOriginLowValueDocumentRequested": { + "type": "boolean", + "description": "Specify the country Of Origin of Low Value Document for Customs declaration.", + "example": true + }, + "customsRole": { + "type": "string", + "description": "Specify the shipper role for Customs declaration.", + "example": "EXPORTER", + "enum": [ + "EXPORTER", + "IMPORTER", + "LEGAL_AGENT", + "PRODUCER" + ] + } + }, + "description": "Specify the low Value statement necessary for printing the USMCA for Customs documentation" + }, + "SmartPostInfoDetail": { + "required": [ + "hubId", + "indicia", + "specialServices" + ], + "type": "object", + "properties": { + "ancillaryEndorsement": { + "type": "string", + "description": "Required for Presorted Standard but not for returns or parcel select. They are not all usable for all ancillary endorsements.", + "example": "RETURN_SERVICE", + "enum": [ + "ADDRESS_CORRECTION", + "CARRIER_LEAVE_IF_NO_RESPONSE", + "CHANGE_SERVICE", + "FORWARDING_SERVICE", + "RETURN_SERVICE" + ] + }, + "hubId": { + "type": "string", + "description": "Required
              Specify the HubID using the four-digit numeric value.
              click here to see Hub Ids
              Example: 5015", + "example": "5015" + }, + "indicia": { + "type": "string", + "description": "Required\n\nSpecify the indicia type. Available options include\n\nPARCEL_SELECT (1 LB through 70 LBS)\n\nPRESORTED_BOUND_PRINTED_MATTER\n\nPRESORTED_STANDARD (less than 1 LB)\n\nPARCEL_RETURN\n\n", + "example": "PRESORTED_STANDARD", + "enum": [ + "MEDIA_MAIL", + "PARCEL_RETURN", + "PARCEL_SELECT", + "PRESORTED_BOUND_PRINTED_MATTER", + "PRESORTED_STANDARD" + ] + }, + "specialServices": { + "type": "string", + "description": "SmartPost Shipment Special Service Type", + "example": "USPS_DELIVERY_CONFIRMATION", + "enum": [ + "USPS_DELIVERY_CONFIRMATION" + ] + } + }, + "description": "Use this object to specify the smartpost shipment details. Required for SMARTPOST service. If SmartPostInfoDetail is indicated, the elements below it are also required." + }, + "LabelSpecification": { + "type": "object", + "properties": { + "printedLabelOrigin": { + "$ref": "#/components/schemas/ContactAndAddress" + }, + "labelFormatType": { + "type": "string", + "description": "Specifies the label Format Type", + "example": "COMMON2D", + "default": "COMMON2D", + "enum": [ + "COMMON2D", + "LABEL_DATA_ONLY" + ] + }, + "labelOrder": { + "type": "string", + "description": "This is the order of the Shipping label/documents to be generated.", + "example": "SHIPPING_LABEL_FIRST", + "enum": [ + "SHIPPING_LABEL_FIRST", + "SHIPPING_LABEL_LAST" + ] + }, + "customerSpecifiedDetail": { + "$ref": "#/components/schemas/CustomerSpecifiedLabelDetail" + }, + "labelStockType": { + "type": "string", + "description": "Indicates the Label Stock Type used.", + "example": "PAPER_7X475", + "default": "PAPER_85X11_TOP_HALF_LABEL", + "enum": [ + "PAPER_4X6", + "PAPER_4X675", + "PAPER_4X8", + "PAPER_4X9", + "PAPER_7X475", + "PAPER_85X11_BOTTOM_HALF_LABEL", + "PAPER_85X11_TOP_HALF_LABEL", + "PAPER_LETTER", + "STOCK_4X675_LEADING_DOC_TAB", + "STOCK_4X8", + "STOCK_4X9_LEADING_DOC_TAB", + "STOCK_4X6", + "STOCK_4X675_TRAILING_DOC_TAB", + "STOCK_4X9_TRAILING_DOC_TAB", + "STOCK_4X675", + "STOCK_4X9", + "STOCK_4X85_TRAILING_DOC_TAB", + "STOCK_4X105_TRAILING_DOC_TAB" + ] + }, + "labelRotation": { + "type": "string", + "description": "Applicable only to documents produced on thermal printers with roll stock.", + "example": "UPSIDE_DOWN", + "enum": [ + "LEFT", + "RIGHT", + "UPSIDE_DOWN", + "NONE" + ] + }, + "imageType": { + "type": "string", + "description": "Specify the image format used for a shipping document.", + "example": "PDF", + "default": "PDF", + "enum": [ + "ZPLII", + "EPL2", + "PDF", + "PNG" + ] + }, + "labelPrintingOrientation": { + "type": "string", + "description": "Applicable only to documents produced on thermal printers with roll stock.", + "example": "TOP_EDGE_OF_TEXT_FIRST", + "default": "TOP_EDGE_OF_TEXT_FIRST", + "enum": [ + "BOTTOM_EDGE_OF_TEXT_FIRST", + "TOP_EDGE_OF_TEXT_FIRST" + ] + }, + "returnedDispositionDetail": { + "$ref": "#/components/schemas/LabelSpecification_returnedDispositionDetail" + }, + "resolution": { + "type": "integer", + "description": "Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203.", + "example": 300 + } + }, + "description": "These are label specification details includes the image type, printer format, and label stock for label. Can also specify specific details such as doc-tab content, regulatory labels, and masking data on the label." + }, + "CustomerSpecifiedLabelDetail": { + "type": "object", + "properties": { + "maskedData": { + "type": "array", + "description": "Controls which data/sections will be suppressed.", + "example": [ + "PACKAGE_SEQUENCE_AND_COUNT", + "TOTAL_WEIGHT" + ], + "items": { + "type": "string", + "enum": [ + "CUSTOMS_VALUE", + "DIMENSIONS", + "DUTIES_AND_TAXES_PAYOR_ACCOUNT_NUMBER", + "FREIGHT_PAYOR_ACCOUNT_NUMBER", + "INSURED_VALUE", + "PACKAGE_SEQUENCE_AND_COUNT", + "SECONDARY_BARCODE", + "SHIPPER_ACCOUNT_NUMBER", + "SHIPPER_INFORMATION", + "SUPPLEMENTAL_LABEL_DOC_TAB", + "TERMS_AND_CONDITIONS", + "TOTAL_WEIGHT", + "TRANSPORTATION_CHARGES_PAYOR_ACCOUNT_NUMBER" + ] + } + }, + "regulatoryLabels": { + "type": "array", + "description": "Specifies details needed to generate any label artifacts required due to regulatory requirements", + "items": { + "$ref": "#/components/schemas/RegulatoryLabelContentDetail" + } + }, + "docTabContent": { + "$ref": "#/components/schemas/DocTabContent" + }, + "additionalLabels": { + "type": "array", + "description": "Specify how the additional details to be provided on the labels.", + "items": { + "$ref": "#/components/schemas/AdditionalLabelsDetail" + } + } + }, + "description": "Allows customer-specified control of label content" + }, + "RegulatoryLabelContentDetail": { + "type": "object", + "properties": { + "generationOptions": { + "type": "string", + "description": "Customer Specified Label Generation Option Type", + "example": "CONTENT_ON_SHIPPING_LABEL_ONLY", + "enum": [ + "CONTENT_ON_SHIPPING_LABEL_PREFERRED", + "CONTENT_ON_SUPPLEMENTAL_LABEL_ONLY", + "CONTENT_ON_SHIPPING_LABEL_ONLY" + ] + }, + "type": { + "type": "string", + "description": "Indicates the Regulatory Type", + "example": "ALCOHOL_SHIPMENT_LABEL", + "enum": [ + "ALCOHOL_SHIPMENT_LABEL" + ] + } + } + }, + "DocTabContent": { + "type": "object", + "properties": { + "docTabContentType": { + "type": "string", + "description": "Doc Tab Content Type", + "example": "BARCODED", + "enum": [ + "BARCODED", + "CUSTOM", + "MINIMUM", + "STANDARD", + "ZONE001" + ] + }, + "zone001": { + "$ref": "#/components/schemas/DocTabContentZone001" + }, + "barcoded": { + "$ref": "#/components/schemas/DocTabContentBarcoded" + } + }, + "description": "Specifies details of doc tab content" + }, + "DocTabContentZone001": { + "type": "object", + "properties": { + "docTabZoneSpecifications": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DocTabZoneSpecification" + } + } + }, + "description": "Customer specified content with some standard values." + }, + "DocTabZoneSpecification": { + "type": "object", + "properties": { + "zoneNumber": { + "type": "integer", + "description": "is a nonNegativeInteger
              Example: 1", + "format": "int32", + "example": 0 + }, + "header": { + "type": "string", + "description": "header of DocTabZoneSpecification
              Example: WHT", + "example": "WHT" + }, + "dataField": { + "type": "string", + "description": "dataField of DocTabZoneSpecification
              Example: REQUEST/PACKAGE/weight/Value", + "example": "REQUEST/PACKAGE/weight/Value" + }, + "literalValue": { + "type": "string", + "description": "literalValue of DocTabZoneSpecification
              ", + "example": "mytext" + }, + "justification": { + "type": "string", + "description": "Doc Tab Zone Justification Type", + "example": "RIGHT", + "enum": [ + "LEFT", + "RIGHT" + ] + } + }, + "description": "Indicates the specification of the barcoded content." + }, + "DocTabContentBarcoded": { + "type": "object", + "properties": { + "symbology": { + "type": "string", + "description": "Barcode Symbology Type", + "example": "UCC128", + "enum": [ + "CODABAR", + "CODE128", + "CODE128_WIDEBAR", + "CODE128B", + "CODE128C", + "CODE39", + "CODE93", + "I2OF5", + "MANUAL", + "PDF417", + "POSTNET", + "QR_CODE", + "UCC128" + ] + }, + "specification": { + "$ref": "#/components/schemas/DocTabZoneSpecification" + } + }, + "description": "Indicates the details of barcode content." + }, + "AdditionalLabelsDetail": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Specify the type of additional details to be added on the label.", + "example": "CONSIGNEE", + "enum": [ + "BROKER", + "CONSIGNEE", + "CUSTOMS", + "DESTINATION", + "DESTINATION_CONTROL_STATEMENT", + "FREIGHT_REFERENCE", + "MANIFEST", + "ORIGIN", + "RECIPIENT", + "SECOND_ADDRESS", + "SHIPPER" + ] + }, + "count": { + "type": "integer", + "description": "Specifies the count of label to return.", + "example": 1 + } + } + }, + "ShippingDocumentSpecification": { + "type": "object", + "properties": { + "generalAgencyAgreementDetail": { + "$ref": "#/components/schemas/GeneralAgencyAgreementDetail" + }, + "returnInstructionsDetail": { + "$ref": "#/components/schemas/ReturnInstructionsDetail" + }, + "op900Detail": { + "$ref": "#/components/schemas/Op900Detail" + }, + "shippingDocumentTypes": { + "type": "array", + "description": "Conditionally required in order to obtain shipping documents. \n\nIndicates the types of shipping documents requested by the shipper\n\n", + "items": { + "type": "string", + "example": "[\"RETURN_INSTRUCTIONS\",\"DANGEROUS_GOODS_SHIPPERS_DECLARATION\"]", + "enum": [ + "CERTIFICATE_OF_ORIGIN", + "COMMERCIAL_INVOICE", + "CUSTOM_PACKAGE_DOCUMENT", + "CUSTOM_SHIPMENT_DOCUMENT", + "CUSTOMER_SPECIFIED_LABELS", + "EXPORT_DECLARATION", + "DANGEROUS_GOODS_SHIPPERS_DECLARATION", + "FREIGHT_ADDRESS_LABEL", + "GENERAL_AGENCY_AGREEMENT", + "LABEL", + "USMCA_CERTIFICATION_OF_ORIGIN", + "USMCA_COMMERCIAL_INVOICE_CERTIFICATION_OF_ORIGIN", + "OP_900", + "PENDING_SHIPMENT_EMAIL_NOTIFICATION", + "PRO_FORMA_INVOICE", + "RETURN_INSTRUCTIONS", + "FEDEX_FREIGHT_STRAIGHT_BILL_OF_LADING", + "VICS_BILL_OF_LADING" + ] + } + }, + "certificateOfOrigin": { + "$ref": "#/components/schemas/CertificateOfOriginDetail" + }, + "commercialInvoiceDetail": { + "$ref": "#/components/schemas/CommercialInvoiceDetail" + }, + "usmcaCertificationOfOriginDetail": { + "$ref": "#/components/schemas/UsmcaCertificationOfOriginDetail" + }, + "usmcaCommercialInvoiceCertificationOfOriginDetail": { + "$ref": "#/components/schemas/UsmcaCommercialInvoiceCertificationOfOriginDetail" + }, + "dangerousGoodsShippersDeclarationDetail": { + "$ref": "#/components/schemas/DangerousGoodsShippersDeclarationDetail" + } + }, + "description": "This field contains all data required for additional (non-label) shipping documents to be produced with a specific shipment." + }, + "GeneralAgencyAgreementDetail": { + "type": "object", + "properties": { + "documentFormat": { + "$ref": "#/components/schemas/ShippingDocumentFormat" + } + }, + "description": "Use this object to specify details to generate general agency agreement detail." + }, + "ShippingDocumentFormat": { + "type": "object", + "properties": { + "provideInstructions": { + "type": "boolean", + "description": "For those shipping document types which have both a \"form\" and \"instructions\" component (e.g General Agency Agreement), this field indicates whether to provide the instructions.
              Example: true", + "example": true + }, + "optionsRequested": { + "$ref": "#/components/schemas/DocumentFormatOptionsRequested" + }, + "stockType": { + "type": "string", + "description": "Specifies the label stock type. Lists the correct type of paper for the Freight address label option.Specify valid value PAPER_LETTER", + "example": "PAPER_LETTER", + "enum": [ + "PAPER_LETTER" + ] + }, + "dispositions": { + "type": "array", + "description": "Specifies how to create, organize, and return the document\n\n", + "items": { + "$ref": "#/components/schemas/ShippingDocumentDispositionDetail" + } + }, + "locale": { + "$ref": "#/components/schemas/Locale" + }, + "docType": { + "type": "string", + "description": "Specify the image format used for a shipping document.", + "example": "PDF", + "enum": [ + "PDF" + ] + }, + "customDocumentIdentifier": { + "type": "string", + "description": "Used to identify custom documents", + "example": "custom document" + } + }, + "description": "Shipping Document Format, allow ImageType of PDF and StockType of OP_900_LL or ImageType of Text and StockType of OP_900_LL_B. Other elements are optional" + }, + "DocumentFormatOptionsRequested": { + "type": "object", + "properties": { + "options": { + "type": "array", + "description": "SUPPRESS_ADDITIONAL_LANGUAGES value will suppress English language if another language is specified in the language code field", + "example": [ + "SUPPRESS_ADDITIONAL_LANGUAGES", + "SHIPPING_LABEL_LAST" + ], + "items": { + "type": "string", + "enum": [ + "SHIPPING_LABEL_FIRST", + "SHIPPING_LABEL_LAST", + "SUPPRESS_ADDITIONAL_LANGUAGES" + ] + } + } + }, + "description": "Specifies the Document Format Options requested options" + }, + "ShippingDocumentDispositionDetail": { + "type": "object", + "properties": { + "eMailDetail": { + "$ref": "#/components/schemas/ShippingDocumentEmailDetail" + }, + "dispositionType": { + "type": "string", + "description": "Values in this field specify how to create and return the document.", + "example": "CONFIRMED", + "enum": [ + "CONFIRMED", + "DEFERRED_QUEUED", + "DEFERRED_RETURNED", + "DEFERRED_STORED", + "EMAILED", + "QUEUED", + "RETURNED", + "STORED" + ] + } + }, + "description": "Each occurrence of this class specifies a particular way in which a kind of shipping document is to be produced and provided." + }, + "ShippingDocumentEmailDetail": { + "required": [ + "eMailRecipients" + ], + "type": "object", + "properties": { + "eMailRecipients": { + "type": "array", + "description": "Shipping Document Email Recipients array", + "items": { + "$ref": "#/components/schemas/ShippingDocumentEmailRecipient" + } + }, + "locale": { + "$ref": "#/components/schemas/Locale" + }, + "grouping": { + "type": "string", + "description": "Indicates the Shipping Document Email Grouping Type", + "example": "NONE", + "enum": [ + "BY_RECIPIENT", + "NONE" + ] + } + }, + "description": "Specifies how to e-mail shipping documents." + }, + "ShippingDocumentEmailRecipient": { + "required": [ + "recipientType" + ], + "type": "object", + "properties": { + "emailAddress": { + "type": "string", + "description": "Provides the email Address
              Example: email@fedex.com", + "example": "email@fedex.com" + }, + "recipientType": { + "type": "string", + "description": "Indicates the Email Notification Recipient Type", + "example": "THRID_PARTY", + "enum": [ + "BROKER", + "OTHER", + "RECIPIENT", + "SHIPPER", + "THRID_PARTY", + "OTHER1", + "OTHER2" + ] + } + } + }, + "ReturnInstructionsDetail": { + "type": "object", + "properties": { + "customText": { + "type": "string", + "description": "Specify additional customer provided text to be inserted into the return document.
              Example: This is additional text printed on Return instr", + "example": "This is additional text printed on Return instr" + }, + "documentFormat": { + "$ref": "#/components/schemas/ReturnShippingDocumentFormat" + } + }, + "description": "Specifies the production of the return document (document characteristics and printing). This information will print on the Return Instructions returned in the transaction for the Printed Return Label." + }, + "ReturnShippingDocumentFormat": { + "type": "object", + "properties": { + "provideInstructions": { + "type": "boolean", + "description": "For those shipping document types which have both a \"form\" and \"instructions\" component (e.g General Agency Agreement), this field indicates whether to provide the instructions.
              Example: true", + "example": true + }, + "optionsRequested": { + "$ref": "#/components/schemas/DocumentFormatOptionsRequested" + }, + "stockType": { + "type": "string", + "description": "Specifies the label stock type. Lists the correct type of paper for the Freight address label option.Specify valid value PAPER_LETTER", + "example": "PAPER_LETTER", + "enum": [ + "PAPER_LETTER" + ] + }, + "dispositions": { + "type": "array", + "description": "Specifies how to create, organize, and return the document\n\n", + "items": { + "$ref": "#/components/schemas/ShippingDocumentDispositionDetail" + } + }, + "locale": { + "$ref": "#/components/schemas/Locale" + }, + "docType": { + "type": "string", + "description": "Specify the image format used for a shipping document.", + "example": "PNG", + "enum": [ + "PNG", + "PDF" + ] + } + }, + "description": " Shipping Document Format, allow ImageType of PDF and StockType of OP_900_LL or ImageType of Text and StockType of OP_900_LL_B. Other elements are optional" + }, + "Op900Detail": { + "type": "object", + "properties": { + "customerImageUsages": { + "type": "array", + "description": "Specifies the usage and identification of customer supplied imagesto be used on this document", + "items": { + "$ref": "#/components/schemas/CustomerImageUsage" + } + }, + "signatureName": { + "type": "string", + "description": ">Data field to be used when a name is to be printed in the document instead of (or in addition to) a signature image.
              Example: Signature Name", + "example": "Signature Name" + }, + "documentFormat": { + "$ref": "#/components/schemas/ShippingDocumentFormat" + } + }, + "description": "Use this object to specify details to generate the OP-900 document for hazardous material packages." + }, + "CustomerImageUsage": { + "required": [ + "id", + "providedImageType", + "type" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Specify the Image ID.", + "example": "IMAGE_5", + "enum": [ + "IMAGE_1", + "IMAGE_2", + "IMAGE_3", + "IMAGE_4", + "IMAGE_5" + ] + }, + "type": { + "type": "string", + "description": "Specify Customer Image Type.", + "example": "SIGNATURE", + "enum": [ + "LETTER_HEAD", + "SIGNATURE" + ] + }, + "providedImageType": { + "type": "string", + "description": "Specifies the Provided Image Type", + "example": "SIGNATURE", + "enum": [ + "LETTER_HEAD", + "SIGNATURE" + ] + } + }, + "description": "Specifies the usage and identification of customer supplied images to be used on this document." + }, + "CertificateOfOriginDetail": { + "type": "object", + "properties": { + "customerImageUsages": { + "type": "array", + "description": "Specifies the usage and identification of customer supplied images to be used on this document.", + "items": { + "$ref": "#/components/schemas/CustomerImageUsage" + } + }, + "documentFormat": { + "$ref": "#/components/schemas/ShippingDocumentFormat" + } + }, + "description": "The instructions indicating how to print the Certificate of Origin ( e.g. whether or not to include the instructions, image type, etc ...)" + }, + "CommercialInvoiceDetail": { + "type": "object", + "properties": { + "customerImageUsages": { + "type": "array", + "description": "Specifies the usage and identification of customer supplied images to be used on this document.", + "items": { + "$ref": "#/components/schemas/CustomerImageUsage_2" + } + }, + "documentFormat": { + "$ref": "#/components/schemas/ShippingDocumentFormat" + } + }, + "description": "The instructions indicating how to print the Commercial Invoice( e.g. image type) Specifies characteristics of a shipping document to be produced." + }, + "CustomerImageUsage_2": { + "required": [ + "id", + "providedImageType", + "type" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Specify the Image ID.", + "example": "IMAGE_5", + "enum": [ + "IMAGE_1", + "IMAGE_2", + "IMAGE_3", + "IMAGE_4", + "IMAGE_5" + ] + }, + "type": { + "type": "string", + "description": "Specify Customer Image Type.", + "example": "SIGNATURE", + "enum": [ + "LETTER_HEAD", + "SIGNATURE" + ] + }, + "providedImageType": { + "type": "string", + "description": "Specifies the Provided Image Type", + "example": "SIGNATURE", + "enum": [ + "LETTER_HEAD", + "SIGNATURE" + ] + } + }, + "description": "Specifies the usage and identification of customer supplied images to be used on this document." + }, + "UsmcaCertificationOfOriginDetail": { + "type": "object", + "properties": { + "customerImageUsages": { + "type": "array", + "description": "Specifies the usage and identification of customer supplied images to be used on this document.", + "items": { + "$ref": "#/components/schemas/CustomerImageUsage" + } + }, + "documentFormat": { + "$ref": "#/components/schemas/ShippingDocumentFormat" + }, + "blanketPeriod": { + "$ref": "#/components/schemas/BlanketPeriod" + }, + "certifierSpecification": { + "type": "string", + "description": "Specify the certifier specification type.", + "enum": [ + "EXPORTER", + "IMPORTER", + "PRODUCER" + ] + }, + "importerSpecification": { + "type": "string", + "description": "Specify the importer specification type.", + "enum": [ + "UNKNOWN", + "VARIOUS" + ] + }, + "producerSpecification": { + "type": "string", + "description": "Specify the producer specification type.", + "enum": [ + "AVAILABLE_UPON_REQUEST", + "SAME_AS_EXPORTER", + "VARIOUS" + ] + }, + "producer": { + "description": "Descriptive data identifying the party responsible.", + "allOf": [ + { + "$ref": "#/components/schemas/ProducerParty" + } + ] + }, + "certifierJobTitle": { + "type": "string", + "description": "Specify the job title of the certifier.", + "example": "Senior Manager" + } + }, + "description": "The instructions indicating how to print the USMCA Certification of Origin ( e.g. whether or not to include the instructions, image type, etc ...)" + }, + "BlanketPeriod": { + "type": "object", + "properties": { + "begins": { + "type": "string", + "description": "This is the begin date", + "example": "2020-06-14" + }, + "ends": { + "type": "string", + "description": "This is the end date", + "example": "2021-06-13" + } + }, + "description": "The date range covered by the certification." + }, + "ProducerParty": { + "required": [ + "address", + "contact" + ], + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/PartyAddress" + }, + "contact": { + "$ref": "#/components/schemas/PartyContact" + }, + "accountNumber": { + "$ref": "#/components/schemas/PartyAccountNumber" + }, + "tins": { + "type": "array", + "description": "Tax identification number of the shipper.", + "items": { + "$ref": "#/components/schemas/TaxpayerIdentification" + } + } + }, + "description": "Attributes for a Party to a transaction including the physical address, contact information and account number information. ", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "000", + "phoneNumber": "9612345671", + "companyName": "Fedex" + }, + "accountNumber": { + "value": "801472842" + }, + "tins": [ + { + "number": "123567", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ] + } + }, + "UsmcaCommercialInvoiceCertificationOfOriginDetail": { + "type": "object", + "properties": { + "customerImageUsages": { + "type": "array", + "description": "Specifies the usage and identification of customer supplied images to be used on this document.", + "items": { + "$ref": "#/components/schemas/CustomerImageUsage" + } + }, + "documentFormat": { + "$ref": "#/components/schemas/ShippingDocumentFormat" + }, + "certifierSpecification": { + "type": "string", + "description": "Specify the certifier specification type.", + "enum": [ + "EXPORTER", + "IMPORTER", + "PRODUCER" + ] + }, + "producerSpecification": { + "type": "string", + "description": "Specify the producer specification type.", + "enum": [ + "AVAILABLE_UPON_REQUEST", + "SAME_AS_EXPORTER", + "VARIOUS" + ] + }, + "producer": { + "description": "Descriptive data identifying the party responsible.", + "allOf": [ + { + "$ref": "#/components/schemas/ProducerParty" + } + ] + }, + "certifierJobTitle": { + "type": "string", + "description": "Specify the job title of the certifier.", + "example": "Senior Manager" + } + }, + "description": "The instructions indicating commercial invoice certification of origin." + }, + "DangerousGoodsShippersDeclarationDetail": { + "type": "object", + "properties": { + "documentFormat": { + "$ref": "#/components/schemas/ShippingDocumentFormat" + }, + "customerImageUsages": { + "type": "array", + "description": "Specifies the usage and identification of customer supplied imagesto be used on this document.", + "items": { + "$ref": "#/components/schemas/CustomerImageUsage" + } + } + } + }, + "TrackingId": { + "type": "object", + "properties": { + "formId": { + "type": "integer", + "description": "This is FedEx tracking Identifier associated with the package.
              Example: 0201", + "example": 201 + }, + "trackingIdType": { + "type": "string", + "description": "Specify the FedEx transportation type (EXPRESS, GROUND, FREIGHT).
              Example: EXPRESS", + "example": "EXPRESS" + }, + "uspsApplicationId": { + "type": "integer", + "description": "Specify the USPS tracking Identifier associated with FedEx SmartPost shipment.
              Example: 92", + "example": 92 + }, + "trackingNumber": { + "type": "integer", + "description": "This is the number associated with the package that is used to track it.For child shipment of an oneLabelAtATime shipments,this should be same as the masterTrackingNumber of the parent shipment." + } + }, + "description": "Indicates the tracking details of the package. Required for child shipments of an oneLabelAtATime shipments." + }, + "RequestedPackageLineItem": { + "required": [ + "weight" + ], + "type": "object", + "properties": { + "sequenceNumber": { + "type": "integer", + "description": "Optional. Used only with individual packages as a unique identifier of each requested package. Will be adjusted at the shipment level as pieces are added. ", + "example": 1 + }, + "subPackagingType": { + "type": "string", + "description": "This is a sub package type for the package. If the value is TUBE, a non-machinable surcharge will apply to SmartPost shipments
              Click here to see Sub Package Types", + "example": "BUCKET" + }, + "customerReferences": { + "type": "array", + "description": "This object lists the types of customer references associsted with the package along with the given values.", + "items": { + "$ref": "#/components/schemas/CustomerReference" + } + }, + "declaredValue": { + "$ref": "#/components/schemas/Money" + }, + "weight": { + "$ref": "#/components/schemas/Weight" + }, + "dimensions": { + "description": "Conditionally required. The dimensions of the package; length, width & height. All three dimensions must be indicated. Dimensions are required with all FedEx Freight Services like \"INTERNATIONAL_PRIORITY_FREIGHT\" and \"INTERNATIONAL_ECONOMY_FREIGHT\"", + "allOf": [ + { + "$ref": "#/components/schemas/Dimensions" + } + ] + }, + "groupPackageCount": { + "type": "integer", + "description": "This is a package count associated with Group packages This count cannot exceed Open Ship package count.
              Example: 25", + "format": "int32", + "example": 25 + }, + "itemDescriptionForClearance": { + "type": "string", + "description": "Package description used for clearance. The value is required for intra-UAE. and is optional for intra-EU.", + "example": "description" + }, + "contentRecord": { + "type": "array", + "description": "Specifies the contents of the package.", + "items": { + "$ref": "#/components/schemas/ContentRecord" + } + }, + "itemDescription": { + "type": "string", + "description": "Required for Email Label return shipments.
              This is the item description for the package.
              Example: item description for the package", + "example": "item description for the package" + }, + "variableHandlingChargeDetail": { + "$ref": "#/components/schemas/VariableHandlingChargeDetail" + }, + "packageSpecialServices": { + "$ref": "#/components/schemas/PackageSpecialServicesRequested" + } + } + }, + "Dimensions": { + "type": "object", + "properties": { + "length": { + "type": "integer", + "description": "Indicates the length of the package. No implied decimal places.
              Example: 7", + "format": "int32", + "example": 3 + }, + "width": { + "type": "integer", + "description": "Indicates the width of the package. No implied decimal places.
              Example: 8", + "format": "int32", + "example": 2 + }, + "height": { + "type": "integer", + "description": "Indicates the height of the package. No implied decimal places.
              Example: 10", + "format": "int32", + "example": 1 + }, + "units": { + "type": "string", + "description": "Unit of measure for the provided dimensions.
              Valid Values are IN - inches, CM - centimeters.
              Note: Any value other than CM including blank/null will default to IN.
              Example: CM", + "example": "CM", + "enum": [ + "CM", + "IN" + ] + } + }, + "description": "Conditional.
              The dimensions of the package; length, width & height. All three dimensions must be indicated.
              Note: Dimensions are required with YOUR_PACKAGING package type.", + "example": { + "length": 100, + "width": 50, + "height": 30, + "units": "CM" + } + }, + "ContentRecord": { + "type": "object", + "properties": { + "itemNumber": { + "type": "string", + "description": "This is a package item number.", + "example": "2876" + }, + "receivedQuantity": { + "type": "integer", + "description": "Specifies the package item quantity.", + "format": "int32", + "example": 256 + }, + "description": { + "type": "string", + "description": "Description of the package item.", + "example": "Description" + }, + "partNumber": { + "type": "string", + "description": "This is a package part number.", + "example": "456" + } + } + }, + "PackageSpecialServicesRequested": { + "type": "object", + "properties": { + "specialServiceTypes": { + "type": "array", + "description": "The list of all special services requested for the package.
              Click here to see Package level Special Service Types", + "example": [ + "ALCOHOL", + "NON_STANDARD_CONTAINER", + "DANGEROUS_GOODS", + "SIGNATURE_OPTION", + "PRIORITY_ALERT" + ], + "items": { + "type": "string" + } + }, + "priorityAlertDetail": { + "$ref": "#/components/schemas/PriorityAlertDetail" + }, + "signatureOptionType": { + "type": "string", + "description": "Signature Option Type
              ADULT - Adult signature required, at recipient's address.
              DIRECT - Signature required, at recipient's address.
              INDIRECT - Signature required, alternate address is accepted.
              NO_SIGNATURE_REQUIRED - Signature is not required.
              SERVICE_DEFAULT - Signature handled as per current Service Guide.", + "example": "ADULT", + "enum": [ + "SERVICE_DEFAULT", + "NO_SIGNATURE_REQUIRED", + "INDIRECT", + "DIRECT", + "ADULT" + ] + }, + "signatureOptionDetail": { + "$ref": "#/components/schemas/SignatureOptionDetail" + }, + "alcoholDetail": { + "$ref": "#/components/schemas/AlcoholDetail" + }, + "dangerousGoodsDetail": { + "$ref": "#/components/schemas/DangerousGoodsDetail" + }, + "packageCODDetail": { + "$ref": "#/components/schemas/PackageCODDetail" + }, + "pieceCountVerificationBoxCount": { + "type": "integer", + "description": "Piece Count Verification Box Count", + "format": "int32" + }, + "batteryDetails": { + "type": "array", + "description": "Provides details about the batteries or cells that are contained within this specific package.", + "items": { + "$ref": "#/components/schemas/BatteryDetail" + } + }, + "dryIceWeight": { + "$ref": "#/components/schemas/Weight" + }, + "standaloneBatteryDetails": { + "type": "array", + "description": "Provide details about the batteries or cells that are contained within this specific package.", + "items": { + "$ref": "#/components/schemas/StandaloneBatteryDetails" + } + } + }, + "description": "specifies the Package Special Services Requested" + }, + "PriorityAlertDetail": { + "type": "object", + "properties": { + "enhancementTypes": { + "type": "array", + "description": "The types of all enhancement for the Priority Alert
              Example: PRIORITY_ALERT_PLUS", + "example": [ + "PRIORITY_ALERT_PLUS" + ], + "items": { + "type": "string" + } + }, + "content": { + "type": "array", + "description": "Specifies Content for the Priority Alert Detail.", + "example": [ + "string" + ], + "items": { + "type": "string" + } + } + }, + "description": "specifies the Priority Alert Detail." + }, + "SignatureOptionDetail": { + "type": "object", + "properties": { + "signatureReleaseNumber": { + "type": "string", + "description": "Signature Release Number is required for signature option NO_SIGNATURE_REQUIRED
              Example: 23456", + "example": "23456" + } + }, + "description": "Required for SignatureOptions. Specifies the SignatureOptionDetail" + }, + "AlcoholDetail": { + "type": "object", + "properties": { + "alcoholRecipientType": { + "type": "string", + "description": "Alcohol Recipient Type.
              Example: LICENSEE", + "example": "LICENSEE", + "enum": [ + "LICENSEE", + "CONSUMER" + ] + }, + "shipperAgreementType": { + "type": "string", + "description": "Specifies what type of entity the shipper of the alcohol shipment is registered as, for example, fulfillment house, retailer or a winery
              Example: Retailer", + "example": "Retailer" + } + }, + "description": "Specifies details for a package containing alcohol. Required for alcohol special service. The alcoholRecipientType is required. " + }, + "DangerousGoodsDetail": { + "required": [ + "regulation", + "options", + "containers", + "emergencyContactNumber", + "offeror", + "signatory" + ], + "type": "object", + "properties": { + "regulation": { + "type": "string", + "description": "The hazardous package shipment regulation type", + "example": "DOT", + "enum": [ + "ADR", + "DOT", + "IATA", + "ORMD" + ] + }, + "accessibility": { + "type": "string", + "description": "Dangerous Goods Accessibility Type. Inaccessible means it does not have to be accessable on the aircraft. Accessible means it must be fully accessible on the aircraft, and is more strictly controlled.
              Note: Accessibility is only required for IATA controlled DG shipments.", + "example": "INACCESSIBLE", + "enum": [ + "ACCESSIBLE", + "INACCESSIBLE" + ] + }, + "options": { + "type": "array", + "description": "Indicate type of DG being reported.
              - SMALL_QUANTITY_EXCEPTION : It is applicable for only One Piece shipment.", + "example": [ + "LIMITED_QUANTITIES_COMMODITIES", + "ORM_D" + ], + "items": { + "type": "string", + "xml": { + "name": "options" + }, + "enum": [ + "HAZARDOUS_MATERIALS", + "BATTERY", + "ORM_D", + "REPORTABLE_QUANTITIES", + "SMALL_QUANTITY_EXCEPTION", + "LIMITED_QUANTITIES_COMMODITIES" + ] + } + }, + "cargoAircraftOnly": { + "type": "boolean", + "description": "cargoAircraftOnly is an optional field in the request which accepts Boolean values in order to create Cargo Aircraft only shipment. its default value is set as False", + "example": false + }, + "dangerousGoodsDescriptors": { + "type": "array", + "description": "Description of the dangerous good in the package", + "example": "EMERGENCY_CONTACT_PHONE_REQUIRED", + "items": { + "type": "string", + "enum": [ + "ALCOHOLIC_BEVERAGE", + "DRY_ICE", + "EMERGENCY_CONTACT_PHONE_REQUIRED", + "EXCEPTED_QUANTITIES", + "INFECTIOUS_SUBSTANCE", + "RADIOACTIVE" + ] + } + }, + "packingOption": { + "type": "string", + "description": "The packing option for the dangerous goods package", + "example": "OVERPACK", + "enum": [ + "OVERPACK" + ] + }, + "referenceId": { + "type": "string", + "description": "A unique reference id that matches the package to a package configuration. This is populated if the client provided a package configuration for several packages that have the exact same dangerous goods content.", + "example": "2" + }, + "containers": { + "type": "array", + "description": "This specifies the commodities in the container. A container may also be known as a dangerous goods package, but this is not necessarily the same as the 'package' or handling unit that a courier transports for shipping. If the handling unit is an OVERPACK, then this container is inside the handling unit.", + "items": { + "$ref": "#/components/schemas/DangerousGoodsContainer" + } + }, + "packaging": { + "$ref": "#/components/schemas/DangerousGoodsDetail_packaging" + }, + "signatory": { + "$ref": "#/components/schemas/DangerousGoodsDetail_signatory" + }, + "emergencyContactNumber": { + "type": "string", + "description": "Phone number for a responsible party that can be contacted in case of an emergency situation with the dangerous goods", + "example": "12281234567" + }, + "offeror": { + "type": "string", + "description": "Specifies the name of the offeror.", + "example": "John Doe" + }, + "infectiousSubstanceResponsibleContact": { + "$ref": "#/components/schemas/DangerousGoodsDetail_infectiousSubstanceResponsibleContact" + }, + "additionalHandling": { + "type": "string", + "description": "Specifies the additional handling instructions.", + "example": "Keep all hazardous materials stored properly." + }, + "radioactivityDetail": { + "$ref": "#/components/schemas/DangerousGoodsDetail_radioactivityDetail" + }, + "regulatoryLineItems": { + "type": "array", + "description": "Describes the regulatory data elements required to move the package.", + "items": { + "$ref": "#/components/schemas/DocumentLineItem" + } + } + }, + "description": "Provides the details on the dangerous goods" + }, + "DangerousGoodsContainer": { + "required": [ + "packingType" + ], + "type": "object", + "properties": { + "offeror": { + "type": "string", + "description": " Indicate the offerror name or contract number.", + "example": "Offeror" + }, + "hazardousCommodities": { + "type": "array", + "description": "These are hazardous commodities content.", + "items": { + "$ref": "#/components/schemas/HazardousCommodityContent" + } + }, + "numberOfContainers": { + "type": "integer", + "description": "Indicates the number of container with identical dangerous goods configuration.\n", + "format": "int32" + }, + "containerType": { + "type": "string", + "description": "Indicate the type of this dangerous goods container, as specified by the IATA packing instructions.
              Example: steel cylinder, fiberboard box, plastic jerrican and steel drum. etc.", + "example": "container" + }, + "emergencyContactNumber": { + "$ref": "#/components/schemas/PhoneNumber" + }, + "packaging": { + "$ref": "#/components/schemas/HazardousCommodityPackagingDetail" + }, + "packingType": { + "type": "string", + "description": "This is Hazardous Container Packing Type.", + "example": "ALL_PACKED_IN_ONE", + "enum": [ + "ALL_PACKED_IN_ONE" + ] + }, + "radioactiveContainerClass": { + "type": "string", + "description": "Indicate the packaging type of the container to pack the radioactive materials.", + "enum": [ + "EXCEPTED_PACKAGE", + "INDUSTRIAL_IP1", + "INDUSTRIAL_IP2", + "INDUSTRIAL_IP3", + "TYPE_A", + "TYPE_C", + "TYPE_B_M", + "TYPE_B_U" + ] + } + } + }, + "HazardousCommodityContent": { + "type": "object", + "properties": { + "quantity": { + "$ref": "#/components/schemas/HazardousCommodityQuantityDetail" + }, + "innerReceptacles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HazardousCommodityInnerReceptacleDetail" + } + }, + "options": { + "$ref": "#/components/schemas/HazardousCommodityOptionDetail" + }, + "description": { + "$ref": "#/components/schemas/HazardousCommodityDescription" + } + }, + "description": "Documents the kind and quantity of an individual hazardous commodity in a package." + }, + "HazardousCommodityQuantityDetail": { + "required": [ + "amount", + "quantityType" + ], + "type": "object", + "properties": { + "quantityType": { + "type": "string", + "description": "Specifies which measure of quantity is to be validated.", + "example": "GROSS", + "enum": [ + "GROSS", + "NET" + ] + }, + "amount": { + "type": "number", + "description": "Number of units of the type below.
              Example: 24.56", + "format": "double", + "example": 24.56 + }, + "units": { + "type": "string", + "description": "Indicates the units of the package quantity.
              Example: Kg", + "example": "Kg" + } + }, + "description": "Provides Hazardous Commodity Quantity Detail" + }, + "HazardousCommodityInnerReceptacleDetail": { + "type": "object", + "properties": { + "quantity": { + "$ref": "#/components/schemas/HazardousCommodityQuantityDetail" + } + } + }, + "HazardousCommodityOptionDetail": { + "type": "object", + "properties": { + "labelTextOption": { + "type": "string", + "description": "Provides the label text option", + "example": "STANDARD", + "enum": [ + "APPEND", + "OVERRIDE", + "STANDARD" + ] + }, + "customerSuppliedLabelText": { + "type": "string", + "description": "DG Data Upload Mode:- Optional
              DG Full Validation Mode: Optional
              Text used in labeling the commodity under control of the LabelTextOption field", + "example": "Customer Supplied Label Text" + } + }, + "description": "Provides details of Hazardous Commodity Option Detail" + }, + "HazardousCommodityDescription": { + "required": [ + "packingGroup", + "reportableQuantity" + ], + "type": "object", + "properties": { + "sequenceNumber": { + "type": "integer", + "description": "RequiredSpecify the sequence number", + "format": "int32", + "example": 34 + }, + "processingOptions": { + "type": "array", + "description": "Indicates any special processing options to be applied to the description of the dangerous goods commodity", + "items": { + "type": "string", + "example": "INCLUDE_SPECIAL_PROVISIONS", + "enum": [ + "INCLUDE_SPECIAL_PROVISIONS" + ] + } + }, + "subsidiaryClasses": { + "type": "array", + "description": "Required\n\nProvides list of subsidiary classes", + "example": [ + "subsidiaryClasses", + "subsidiaryClasses" + ], + "items": { + "type": "string" + } + }, + "labelText": { + "type": "string", + "description": "Specify the text for the label
              Example: labelText", + "example": "labelText" + }, + "technicalName": { + "type": "string", + "description": "The element specifies the technical name for the hazardous material\n\n", + "example": "technicalName" + }, + "packingDetails": { + "$ref": "#/components/schemas/HazardousCommodityPackingDetail" + }, + "authorization": { + "type": "string", + "description": "Authorization", + "example": "technicalName" + }, + "reportableQuantity": { + "type": "boolean", + "description": "Reportable Quantity", + "example": true, + "enum": [ + true, + false + ] + }, + "percentage": { + "type": "number", + "description": "Percentage", + "format": "double", + "example": 23.56 + }, + "id": { + "type": "string", + "description": "ID", + "example": "ID001" + }, + "packingGroup": { + "type": "string", + "description": "Identifies DOT packing group for a hazardous commodity", + "enum": [ + "DEFAULT", + "I", + "II", + "III" + ] + }, + "properShippingName": { + "type": "string", + "description": "The proper shipping name as defined by the regulation. The name can also include qualifying words", + "example": "Proper Shipping Name" + }, + "hazardClass": { + "type": "string", + "description": "Specifies the hazard class for the commodity\n", + "example": "hazardClass" + } + }, + "description": "RequiredDetails of HazardousCommodityDescription" + }, + "HazardousCommodityPackingDetail": { + "required": [ + "cargoAircraftOnly" + ], + "type": "object", + "properties": { + "packingInstructions": { + "type": "string", + "description": "Coded specification for how commodity is to be packed.
              Example: packingInstructions", + "example": "packing Instructions" + }, + "cargoAircraftOnly": { + "type": "boolean", + "description": "Shipment is packaged/documented for movement ONLY on cargo aircraft", + "example": false, + "enum": [ + true, + false + ] + } + }, + "description": "Specifies documentation and limits for validation of an individual packing group/category. DG Data Upload Mode: Required (IATA), Optional (Other),DG Full Validation Mode: Required (IATA), Optional (Other)," + }, + "HazardousCommodityPackagingDetail": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "description": "Obtain the specific count", + "format": "int32", + "example": 213 + }, + "units": { + "type": "string", + "description": "Obtain the specific unit", + "example": "Kg" + } + }, + "description": " Provides information about Hazardous Commodity Packaging Detail" + }, + "DocumentLineItem": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/KeyValueDetail" + } + }, + "KeyValueDetail": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Indicates the key" + }, + "value": { + "type": "string", + "description": "Indicates the value" + } + } + }, + "PackageCODDetail": { + "type": "object", + "properties": { + "codCollectionAmount": { + "$ref": "#/components/schemas/Money" + } + }, + "description": "Conditional\n\nCOD main information is set in shipment level." + }, + "BatteryDetail": { + "type": "object", + "properties": { + "batteryPackingType": { + "type": "string", + "description": "describes the packing arrangement of the battery or cell with respect to other\r\n items within the same package", + "enum": [ + "CONTAINED_IN_EQUIPMENT", + "PACKED_WITH_EQUIPMENT" + ] + }, + "batteryRegulatoryType": { + "type": "string", + "description": "A regulation specific classification for the battery or cell", + "enum": [ + "IATA_SECTION_II" + ] + }, + "batteryMaterialType": { + "type": "string", + "description": "describes the material composition of the battery or cell.", + "enum": [ + "LITHIUM_METAL", + "LITHIUM_ION" + ] + } + } + }, + "StandaloneBatteryDetails": { + "type": "object", + "properties": { + "batteryMaterialType": { + "type": "string", + "description": "Describes the material composition of the battery or cell.", + "example": "LITHIUM_METAL", + "enum": [ + "LITHIUM_METAL", + "LITHIUM_ION" + ] + } + } + }, + "ShipperAccountNumber": { + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "The account number value. Max Length is 9 .
              Example: 801472842" + } + }, + "description": "The account number associated with the shipment.", + "example": { + "value": "123456789" + } + }, + "OpenShipmentAction": { + "type": "string", + "description": "Indicate shipment action for the Shipment.
              • CONFIRM – used in case of shipment submission
              • TRANSFER – used in case of Email Label Shipment or Pending Shipment submission.", + "example": "CONFIRM", + "enum": [ + "CONFIRM", + "TRANSFER" + ] + }, + "LabelResponseOptions": { + "type": "string", + "description": "This is to specify whether the encoded bytecode or the Label URL to be returned in the response.

                Valid values:

                • LABEL – Indicates request is for encoded bytecode.
                • URL_ONLY – Indicates label URL request.
                Note: For asynchronous shipment (More than 40 packages) request only the value LABEL is suported.


                Note: With URL_ONLY option, the URL once created will be active for 12 hours.", + "example": "URL_ONLY", + "enum": [ + "URL_ONLY", + "LABEL" + ] + }, + "US_Domestic_SingleShot_Multi_Piece_Shipment": { + "example": { + "labelResponseOptions": "URL_ONLY", + "requestedShipment": { + "shipper": { + "contact": { + "personName": "SHIPPER NAME", + "phoneNumber": 1234567890, + "companyName": "Shipper Company Name" + }, + "address": { + "streetLines": [ + "SHIPPER STREET LINE 1" + ], + "city": "HARRISON", + "stateOrProvinceCode": "AR", + "postalCode": 72601, + "countryCode": "US" + } + }, + "recipients": [ + { + "contact": { + "personName": "RECIPIENT NAME", + "phoneNumber": 1234567890, + "companyName": "Recipient Company Name" + }, + "address": { + "streetLines": [ + "RECIPIENT STREET LINE 1", + "RECIPIENT STREET LINE 2" + ], + "city": "Collierville", + "stateOrProvinceCode": "TN", + "postalCode": 38017, + "countryCode": "US" + } + } + ], + "shipDatestamp": "2020-07-03", + "serviceType": "STANDARD_OVERNIGHT", + "packagingType": "FEDEX_PAK", + "pickupType": "USE_SCHEDULED_PICKUP", + "blockInsightVisibility": false, + "shippingChargesPayment": { + "paymentType": "SENDER" + }, + "labelSpecification": { + "imageType": "PDF", + "labelStockType": "PAPER_85X11_TOP_HALF_LABEL" + }, + "requestedPackageLineItems": [ + { + "groupPackageCount": 1, + "weight": { + "value": 10, + "units": "LB" + } + }, + { + "groupPackageCount": 2, + "weight": { + "value": 5, + "units": "LB" + } + } + ] + }, + "accountNumber": { + "value": "XXXXX1073" + } + } + }, + "DGHazShipmentExpress-UN1779": { + "example": { + "labelResponseOptions": "URL_ONLY", + "requestedShipment": { + "pickupType": "USE_SCHEDULED_PICKUP", + "serviceType": "PRIORITY_OVERNIGHT", + "packagingType": "YOUR_PACKAGING", + "shipper": { + "contact": { + "personName": "John Taylor", + "phoneNumber": "3333567890", + "companyName": "FedEx" + }, + "address": { + "streetLines": [ + "1751 THOMPSON ST" + ], + "city": "AURORA", + "stateOrProvinceCode": "OH", + "postalCode": "44202", + "countryCode": "US" + } + }, + "recipients": [ + { + "contact": { + "personName": "John Taylor", + "phoneNumber": "3333345671", + "companyName": "FedEx" + }, + "address": { + "streetLines": [ + "20 FedEx Pkwy" + ], + "city": "HUTCHINSON", + "stateOrProvinceCode": "KS", + "postalCode": "67504", + "countryCode": "US", + "residential": false + } + } + ], + "shippingChargesPayment": { + "paymentType": "SENDER" + }, + "labelSpecification": { + "labelStockType": "PAPER_85X11_TOP_HALF_LABEL", + "imageType": "PDF" + }, + "shippingDocumentSpecification": { + "shippingDocumentTypes": [ + "DANGEROUS_GOODS_SHIPPERS_DECLARATION" + ], + "dangerousGoodsShippersDeclarationDetail": { + "documentFormat": { + "docType": "PDF", + "provideInstructions": true + } + } + }, + "requestedPackageLineItems": [ + { + "weight": { + "units": "LB", + "value": "5.0" + }, + "packageSpecialServices": { + "specialServiceTypes": [ + "DANGEROUS_GOODS" + ], + "dangerousGoodsDetail": { + "options": [ + "HAZARDOUS_MATERIALS" + ], + "cargoAircraftOnly": true, + "containers": [ + { + "hazardousCommodities": [ + { + "quantity": { + "amount": "4.0", + "units": "L" + }, + "description": { + "packingGroup": "II", + "subsidiaryClasses": [ + 3 + ], + "technicalName": "ACID", + "packingDetails": { + "cargoAircraftOnly": true, + "packingInstructions": "855" + }, + "id": "1779", + "properShippingName": "FORMIC ACID", + "hazardClass": "8" + } + } + ], + "numberOfContainers": 1, + "containerType": "PLASTIC JERRICAN" + } + ], + "packaging": { + "count": 4, + "units": "L" + }, + "signatory": { + "contactName": "Test Name", + "title": "Tester", + "place": "Test Place" + }, + "emergencyContactNumber": "9015551234" + } + } + } + ], + "shipDatestamp": "2024-10-09" + }, + "accountNumber": { + "value": "XXXXX1073" + } + } + }, + "DGHazShipmentExpress-UN2915": { + "example": { + "labelResponseOptions": "URL_ONLY", + "requestedShipment": { + "serviceType": "PRIORITY_OVERNIGHT", + "shipper": { + "contact": { + "personName": "John Taylor", + "phoneNumber": "3322332233", + "companyName": "Fedex" + }, + "address": { + "streetLines": [ + "1751 THOMPSON ST" + ], + "city": "AURORA", + "stateOrProvinceCode": "OH", + "postalCode": "44202", + "countryCode": "US" + } + }, + "recipients": [ + { + "contact": { + "personName": "John Taylor", + "phoneNumber": "2323232323", + "companyName": "Fedex" + }, + "address": { + "streetLines": [ + "20 FedEx Pkwy" + ], + "city": "HUTCHINSON", + "stateOrProvinceCode": "KS", + "postalCode": "67504", + "countryCode": "US", + "residential": false + } + } + ], + "labelSpecification": { + "imageType": "PDF", + "labelStockType": "PAPER_LETTER" + }, + "shippingChargesPayment": { + "paymentType": "SENDER" + }, + "requestedPackageLineItems": [ + { + "weight": { + "value": "3.13", + "units": "LB" + }, + "packageSpecialServices": { + "specialServiceTypes": [ + "DANGEROUS_GOODS" + ], + "dangerousGoodsDetail": { + "regulation": "IATA", + "options": [ + "HAZARDOUS_MATERIALS" + ], + "dangerousGoodsDecriptors": [ + "RADIOACTIVE" + ], + "containers": [ + { + "containerType": "steel cylinder", + "radioactiveContainerClass": "TYPE_A", + "numberOfContainers": 1, + "hazardousCommodities": [ + { + "description": { + "id": "2915", + "sequenceNumber": 0, + "packingDetails": { + "cargoAircraftOnly": true, + "packingInstructions": "" + }, + "properShippingName": "RADIOACTIVE MATERIAL, TYPE A PACKAGE", + "hazardClass": "7" + }, + "options": { + "labelTextOption": "STANDARD" + }, + "radionuclideDetail": { + "radionuclide": "Cr-51", + "activity": { + "value": 0.09269136, + "unitOfMeasure": "GBQ" + }, + "exceptedPackagingIsReportableQuantity": 1, + "physicalForm": "LIQUID" + } + } + ] + } + ], + "signatory": { + "contactName": "signatoryname", + "title": "Tester", + "place": "Test Place" + }, + "emergencyContactNumber": "9809809801", + "offeror": "offerror", + "infectiousSubstanceResponsibleContact": { + "companyName": "companyName", + "phoneNumber": "phoneNumber" + }, + "radioactivityDetail": { + "transportIndex": 0.1, + "dimensions": { + "length": 20, + "width": 20, + "height": 20, + "units": "CM" + }, + "surfaceReading": "50.0" + } + } + } + } + ], + "pickupType": "USE_SCHEDULED_PICKUP", + "packagingType": "YOUR_PACKAGING", + "shippingDocumentSpecification": { + "shippingDocumentTypes": [ + "DANGEROUS_GOODS_SHIPPERS_DECLARATION" + ], + "dangerousGoodsShippersDeclarationDetail": { + "documentFormat": { + "docType": "PDF", + "provideInstructions": true + } + } + } + }, + "shipDatestamp": "2024-10-09", + "accountNumber": { + "value": "XXXXX1073" + } + } + }, + "DGHazShipmentGroundMPS-UN1888-UN3082": { + "example": { + "requestedShipment": { + "shipDatestamp": "2024-10-11", + "shipper": { + "address": { + "streetLines": [ + "15 W 18TH ST FL 7" + ], + "city": "NEW YORK", + "stateOrProvinceCode": "NY", + "postalCode": "100114624", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "phoneNumber": "3333567890", + "companyName": "FedEx" + } + }, + "recipients": [ + { + "address": { + "streetLines": [ + "7372 PARKRIDGE BLVD", + "APT 287" + ], + "city": "IRVING", + "stateOrProvinceCode": "TX", + "postalCode": "75063", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "phoneNumber": "3333567890", + "companyName": "FedEx" + } + } + ], + "pickupType": "USE_SCHEDULED_PICKUP", + "serviceType": "PRIORITY_OVERNIGHT", + "packagingType": "YOUR_PACKAGING", + "shippingChargesPayment": { + "paymentType": "SENDER" + }, + "labelSpecification": { + "labelStockType": "PAPER_4X6", + "imageType": "PNG" + }, + "requestedPackageLineItems": [ + { + "weight": { + "units": "LB", + "value": 10 + }, + "packageSpecialServices": { + "specialServiceTypes": [ + "DANGEROUS_GOODS" + ], + "dangerousGoodsDetail": { + "accessibility": "ACCESSIBLE", + "cargoAircraftOnly": true, + "options": [ + "HAZARDOUS_MATERIALS" + ], + "containers": [ + { + "containerType": "plastic jug", + "numberOfContainers": "1", + "hazardousCommodities": [ + { + "description": { + "id": "1888", + "sequenceNumber": 1, + "packingGroup": "III", + "packingDetails": { + "cargoAircraftOnly": true, + "packingInstructions": "680" + }, + "properShippingName": "Chloroform", + "hazardClass": "6", + "labelText": "Label" + }, + "quantity": { + "amount": 4, + "units": "L" + } + } + ] + } + ], + "packaging": { + "count": 1, + "units": "EA" + }, + "signatory": { + "contactName": "Rick Dangerous", + "title": "Mr.", + "place": "Seattle" + }, + "emergencyContactNumber": "2123456789", + "offeror": "Rick Dangerous" + } + } + }, + { + "weight": { + "units": "LB", + "value": 10 + }, + "packageSpecialServices": { + "specialServiceTypes": [ + "DANGEROUS_GOODS" + ], + "dangerousGoodsDetail": { + "accessibility": "ACCESSIBLE", + "cargoAircraftOnly": true, + "options": [ + "HAZARDOUS_MATERIALS" + ], + "containers": [ + { + "containerType": "plastic jug", + "numberOfContainers": "1", + "hazardousCommodities": [ + { + "description": { + "id": "3082", + "sequenceNumber": 1, + "packingGroup": "III", + "packingDetails": { + "cargoAircraftOnly": true, + "packingInstructions": "964" + }, + "properShippingName": "Environmentally hazardous substance, liquid, n.o.s.", + "technicalName": "(Polyethyleneimine)", + "hazardClass": "9", + "labelText": "Label" + }, + "quantity": { + "amount": 4, + "units": "L" + } + } + ] + } + ], + "packaging": { + "count": 1, + "units": "EA" + }, + "signatory": { + "contactName": "Rick Dangerous", + "title": "Mr.", + "place": "Seattle" + }, + "emergencyContactNumber": "2123456789", + "offeror": "Rick Dangerous" + } + } + } + ], + "shippingDocumentSpecification": { + "shippingDocumentTypes": [ + "DANGEROUS_GOODS_SHIPPERS_DECLARATION" + ], + "dangerousGoodsShippersDeclarationDetail": { + "documentFormat": { + "docType": "PDF", + "provideInstructions": true, + "optionsRequested": { + "options": [ + "SHIPPING_LABEL_FIRST" + ] + }, + "topOfPageOffset": { + "value": 1, + "units": "CM" + } + } + } + } + }, + "labelResponseOptions": "URL_ONLY", + "accountNumber": { + "value": "XXXXX1073" + } + } + }, + "US_Domestic_Print_Return_Label_Shipment": { + "example": { + "labelResponseOptions": "URL_ONLY", + "requestedShipment": { + "shipper": { + "contact": { + "personName": "SHIPPER NAME", + "phoneNumber": 1234567890, + "companyName": "Shipper Company Name" + }, + "address": { + "streetLines": [ + "SHIPPER STREET LINE 1" + ], + "city": "HARRISON", + "stateOrProvinceCode": "AR", + "postalCode": 72601, + "countryCode": "US" + } + }, + "recipients": [ + { + "contact": { + "personName": "RECIPIENT NAME", + "phoneNumber": 1234567890, + "companyName": "Recipient Company Name" + }, + "address": { + "streetLines": [ + "RECIPIENT STREET LINE 1", + "RECIPIENT STREET LINE 2" + ], + "city": "Collierville", + "stateOrProvinceCode": "TN", + "postalCode": 38017, + "countryCode": "US" + } + } + ], + "shipDatestamp": "2020-07-03", + "serviceType": "PRIORITY_OVERNIGHT", + "packagingType": "FEDEX_ENVELOPE", + "pickupType": "USE_SCHEDULED_PICKUP", + "blockInsightVisibility": false, + "shippingChargesPayment": { + "paymentType": "SENDER" + }, + "shipmentSpecialServices": { + "specialServiceTypes": [ + "RETURN_SHIPMENT" + ], + "returnShipmentDetail": { + "returnType": "PRINT_RETURN_LABEL" + } + }, + "labelSpecification": { + "imageType": "PDF", + "labelStockType": "PAPER_85X11_TOP_HALF_LABEL" + }, + "requestedPackageLineItems": [ + { + "weight": { + "value": 1, + "units": "LB" + } + } + ] + }, + "accountNumber": { + "value": "XXXXX1073" + } + } + }, + "US_Domestic_Email_Return_Label_Shipment": { + "example": { + "labelResponseOptions": "URL_ONLY", + "requestedShipment": { + "shipper": { + "contact": { + "personName": "SHIPPER NAME", + "phoneNumber": 1234567890, + "companyName": "Shipper Company Name" + }, + "address": { + "streetLines": [ + "SHIPPER STREET LINE 1" + ], + "city": "HARRISON", + "stateOrProvinceCode": "AR", + "postalCode": 72601, + "countryCode": "US" + } + }, + "recipients": [ + { + "contact": { + "personName": "RECIPIENT NAME", + "phoneNumber": 1234567890, + "companyName": "Recipient Company Name" + }, + "address": { + "streetLines": [ + "RECIPIENT STREET LINE 1", + "RECIPIENT STREET LINE 2" + ], + "city": "Collierville", + "stateOrProvinceCode": "TN", + "postalCode": 38017, + "countryCode": "US" + } + } + ], + "shipDatestamp": "2020-07-03", + "serviceType": "PRIORITY_OVERNIGHT", + "packagingType": "FEDEX_ENVELOPE", + "pickupType": "USE_SCHEDULED_PICKUP", + "blockInsightVisibility": false, + "shippingChargesPayment": { + "paymentType": "SENDER" + }, + "shipmentSpecialServices": { + "specialServiceTypes": [ + "RETURN_SHIPMENT" + ], + "returnShipmentDetail": { + "returnType": "PENDING", + "returnEmailDetail": { + "merchantPhoneNumber": 1234567890 + } + }, + "pendingShipmentDetail": { + "pendingShipmentType": "EMAIL", + "emailLabelDetail": { + "recipients": [ + { + "emailAddress": "testuser@email.com", + "role": "SHIPMENT_COMPLETOR", + "locale": "en_US" + } + ] + }, + "expirationTimeStamp": "2021-05-30" + } + }, + "requestedPackageLineItems": [ + { + "itemDescription": "Return item description", + "weight": { + "value": 1, + "units": "LB" + } + } + ] + }, + "accountNumber": { + "value": "XXXXX1073" + } + } + }, + "International_Shipment": { + "example": { + "labelResponseOptions": "URL_ONLY", + "requestedShipment": { + "shipper": { + "contact": { + "personName": "SHIPPER NAME", + "phoneNumber": 1234567890, + "companyName": "Shipper Company Name" + }, + "address": { + "streetLines": [ + "SHIPPER STREET LINE 1" + ], + "city": "Memphis", + "stateOrProvinceCode": "TN", + "postalCode": 38116, + "countryCode": "US" + } + }, + "recipients": [ + { + "contact": { + "personName": "RECIPIENT NAME", + "phoneNumber": 1234567890, + "companyName": "Recipient Company Name" + }, + "address": { + "streetLines": [ + "RECIPIENT STREET LINE 1", + "RECIPIENT STREET LINE 2", + "RECIPIENT STREET LINE 3" + ], + "city": "RICHMOND", + "stateOrProvinceCode": "BC", + "postalCode": "V7C4V7", + "countryCode": "CA" + } + } + ], + "shipDatestamp": "2020-07-03", + "serviceType": "INTERNATIONAL_PRIORITY", + "packagingType": "YOUR_PACKAGING", + "pickupType": "USE_SCHEDULED_PICKUP", + "blockInsightVisibility": false, + "shippingChargesPayment": { + "paymentType": "SENDER" + }, + "labelSpecification": { + "imageType": "PDF", + "labelStockType": "PAPER_85X11_TOP_HALF_LABEL" + }, + "customsClearanceDetail": { + "dutiesPayment": { + "paymentType": "SENDER" + }, + "isDocumentOnly": true, + "commodities": [ + { + "description": "Commodity description", + "countryOfManufacture": "US", + "quantity": 1, + "quantityUnits": "PCS", + "unitPrice": { + "amount": 100, + "currency": "USD" + }, + "customsValue": { + "amount": 100, + "currency": "USD" + }, + "weight": { + "units": "LB", + "value": 20 + } + } + ] + }, + "shippingDocumentSpecification": { + "shippingDocumentTypes": [ + "COMMERCIAL_INVOICE" + ], + "commercialInvoiceDetail": { + "documentFormat": { + "stockType": "PAPER_LETTER", + "docType": "PDF" + } + } + }, + "requestedPackageLineItems": [ + { + "weight": { + "units": "LB", + "value": 70 + } + } + ] + }, + "accountNumber": { + "value": "XXXXX1073" + } + } + }, + "International_SingleShot_Multi_Piece_Shipment": { + "example": { + "labelResponseOptions": "URL_ONLY", + "requestedShipment": { + "shipper": { + "contact": { + "personName": "SHIPPER NAME", + "phoneNumber": 1234567890, + "companyName": "Shipper Company Name" + }, + "address": { + "streetLines": [ + "SHIPPER STREET LINE 1" + ], + "city": "Memphis", + "stateOrProvinceCode": "TN", + "postalCode": 38116, + "countryCode": "US" + } + }, + "recipients": [ + { + "contact": { + "personName": "RECIPIENT NAME", + "phoneNumber": 1234567890, + "companyName": "Recipient Company Name" + }, + "address": { + "streetLines": [ + "RECIPIENT STREET LINE 1", + "RECIPIENT STREET LINE 2", + "RECIPIENT STREET LINE 3" + ], + "city": "RICHMOND", + "stateOrProvinceCode": "BC", + "postalCode": "V7C4V7", + "countryCode": "CA" + } + } + ], + "shipDatestamp": "2020-07-03", + "serviceType": "INTERNATIONAL_PRIORITY", + "packagingType": "YOUR_PACKAGING", + "pickupType": "USE_SCHEDULED_PICKUP", + "blockInsightVisibility": false, + "shippingChargesPayment": { + "paymentType": "SENDER" + }, + "labelSpecification": { + "imageType": "PDF", + "labelStockType": "PAPER_85X11_TOP_HALF_LABEL" + }, + "customsClearanceDetail": { + "dutiesPayment": { + "paymentType": "SENDER" + }, + "isDocumentOnly": false, + "commodities": [ + { + "description": "Commodity description", + "countryOfManufacture": "US", + "quantity": 3, + "quantityUnits": "PCS", + "unitPrice": { + "amount": 100, + "currency": "USD" + }, + "customsValue": { + "amount": 300, + "currency": "USD" + }, + "weight": { + "units": "LB", + "value": 20 + } + } + ] + }, + "shippingDocumentSpecification": { + "shippingDocumentTypes": [ + "COMMERCIAL_INVOICE" + ], + "commercialInvoiceDetail": { + "documentFormat": { + "docType": "PDF", + "stockType": "PAPER_LETTER" + } + } + }, + "requestedPackageLineItems": [ + { + "groupPackageCount": 1, + "weight": { + "value": 10, + "units": "LB" + }, + "declaredValue": { + "amount": 100, + "currency": "USD" + } + }, + { + "groupPackageCount": 2, + "weight": { + "value": 5, + "units": "LB" + }, + "declaredValue": { + "amount": 100, + "currency": "USD" + } + } + ] + }, + "accountNumber": { + "value": "XXXXX1073" + } + } + }, + "Domestic_Express_Customer_Reference": { + "example": { + "labelResponseOptions": "URL_ONLY", + "requestedShipment": { + "shipper": { + "contact": { + "personName": "TEST_Sender_Name", + "phoneNumber": "9012704839", + "companyName": "TEST_APISENDER-WSXI6000" + }, + "address": { + "city": "MEMPHIS", + "stateOrProvinceCode": "TN", + "postalCode": "38101", + "countryCode": "US", + "residential": false, + "streetLines": [ + "TEST_Sender_Address_Line1", + "TEST_Sender_Address_Line2" + ] + } + }, + "recipients": [ + { + "contact": { + "personName": "TEST_Recipient_Name", + "phoneNumber": "9018549266", + "companyName": "TEST_APIRECIPIENT-WSXI6000" + }, + "address": { + "city": "PITTSBURGH", + "stateOrProvinceCode": "PA", + "postalCode": "15220", + "countryCode": "US", + "residential": true, + "streetLines": [ + "45 NOBLESTOWN RD" + ] + } + } + ], + "shipDatestamp": "2023-05-18", + "pickupType": "DROPOFF_AT_FEDEX_LOCATION", + "serviceType": "PRIORITY_OVERNIGHT", + "packagingType": "YOUR_PACKAGING", + "blockInsightVisibility": false, + "shippingChargesPayment": { + "paymentType": "SENDER" + }, + "labelSpecification": { + "imageType": "PDF", + "labelStockType": "PAPER_7X475" + }, + "requestedPackageLineItems": [ + { + "weight": { + "units": "LB", + "value": "50" + }, + "customerReferences": [ + { + "customerReferenceType": "INVOICE_NUMBER", + "value": "1234567890123456789012345678901234567890" + }, + { + "customerReferenceType": "CUSTOMER_REFERENCE", + "value": "1234567890123456789012345678901234567890" + }, + { + "customerReferenceType": "P_O_NUMBER", + "value": "1234567890123456789012345678901234567890" + }, + { + "customerReferenceType": "DEPARTMENT_NUMBER", + "value": "1234567890123456789012345678901234567890" + } + ] + } + ] + }, + "accountNumber": { + "value": "XXXXX1073" + } + } + }, + "International_Express_Email_notifications": { + "example": { + "labelResponseOptions": "URL_ONLY", + "requestedShipment": { + "shipper": { + "contact": { + "personName": "SENDER NAME", + "phoneNumber": "9018328595" + }, + "address": { + "city": "Paris", + "postalCode": "75008", + "countryCode": "FR", + "residential": false, + "streetLines": [ + "SENDER ADDRESS 1", + "SENDER ADDRESS 2" + ] + } + }, + "recipients": [ + { + "contact": { + "personName": "RECIPIENT NAME", + "phoneNumber": "9018328595" + }, + "address": { + "city": "MEMPHIS", + "stateOrProvinceCode": "TN", + "postalCode": "38116", + "countryCode": "US", + "residential": false, + "streetLines": [ + "RECIPIENT ADDRESS 1", + "RECIPIENT ADDRESS 2" + ] + } + } + ], + "shipDatestamp": "2023-05-24", + "pickupType": "DROPOFF_AT_FEDEX_LOCATION", + "serviceType": "INTERNATIONAL_PRIORITY", + "packagingType": "YOUR_PACKAGING", + "shippingChargesPayment": { + "paymentType": "SENDER" + }, + "shipmentSpecialServices": { + "specialServiceTypes": [ + "INTERNATIONAL_TRAFFIC_IN_ARMS_REGULATIONS" + ], + "internationalTrafficInArmsRegulationsDetail": { + "licenseOrExemptionNumber": "123456789" + } + }, + "customsClearanceDetail": { + "totalCustomsValue": { + "amount": 100, + "currency": "USD" + }, + "documentContent": "COMMODITY", + "dutiesPayment": { + "paymentType": "SENDER" + }, + "commodities": [ + { + "description": "Books", + "countryOfManufacture": "US", + "numberOfPieces": "1", + "weight": { + "value": "20", + "units": "LB" + }, + "quantity": "1", + "quantityUnits": "PCS", + "unitPrice": { + "amount": "100", + "currency": "USD" + }, + "customsValue": { + "amount": "100", + "currency": "USD" + } + } + ] + }, + "labelSpecification": { + "imageType": "PDF", + "labelStockType": "PAPER_LETTER" + }, + "shippingDocumentSpecification": { + "shippingDocumentTypes": [ + "COMMERCIAL_INVOICE" + ], + "commercialInvoiceDetail": { + "documentFormat": { + "docType": "PDF", + "stockType": "PAPER_LETTER" + } + } + }, + "emailNotificationDetail": { + "aggregationType": "PER_PACKAGE", + "personalMessage": "your personal message here", + "emailNotificationRecipients": [ + { + "name": "Joe Smith", + "emailNotificationRecipientType": "SHIPPER", + "emailAddress": "test001@fedex.com", + "notificationFormatType": "TEXT", + "notificationType": "EMAIL", + "locale": "en_US", + "notificationEventType": [ + "ON_SHIPMENT", + "ON_PICKUP_DRIVER_ARRIVED", + "ON_ESTIMATED_DELIVERY" + ] + } + ] + }, + "requestedPackageLineItems": [ + { + "groupPackageCount": "1", + "weight": { + "units": "LB", + "value": "25" + }, + "declaredValue": { + "amount": "100", + "currency": "USD" + } + } + ] + }, + "accountNumber": { + "value": "XXXXX1073" + } + } + }, + "MinimumSamplePayload-Intra-EU": { + "example": { + "labelResponseOptions": "URL_ONLY", + "accountNumber": { + "value": "XXXXX2888" + }, + "requestedShipment": { + "shipDatestamp": "2023-11-03", + "pickupType": "CONTACT_FEDEX_TO_SCHEDULE", + "serviceType": "FEDEX_INTERNATIONAL_PRIORITY", + "packagingType": "YOUR_PACKAGING", + "blockInsightVisibility": false, + "labelSpecification": { + "imageType": "PDF", + "labelStockType": "PAPER_85X11_BOTTOM_HALF_LABEL" + }, + "shipmentSpecialServices": { + "specialServiceTypes": [ + "ELECTRONIC_TRADE_DOCUMENTS" + ] + }, + "shipper": { + "contact": { + "personName": "Sender Contact Name", + "companyName": "Sender Company Name", + "emailAddress": "sender@shipper.it", + "phoneNumber": "0221881" + }, + "address": { + "streetLines": [ + "SENDER ADDRESS LINE 1", + "SENDER ADDRESS LINE 2", + "SENDER ADDRESS LINE 3" + ], + "city": "Sender City Name", + "postalCode": "20128", + "countryCode": "IT", + "residential": false + }, + "tins": [ + { + "number": "IT12345678901", + "tinType": "BUSINESS_UNION" + } + ] + }, + "recipients": [ + { + "contact": { + "personName": "Recipient Contact Name", + "companyName": "Recipient Company Name", + "emailAddress": "recipient@recipient.com", + "phoneNumber": "1222222222" + }, + "address": { + "streetLines": [ + "RECIPIENT ADDRESS LINE 1", + "RECIPIENT ADDRESS LINE 2", + "RECIPIENT ADDRESS LINE 3" + ], + "city": "RECIPIENT CITY", + "stateOrProvinceCode": "", + "postalCode": "1820", + "countryCode": "BE", + "residential": false + }, + "tins": [ + { + "number": "BE123456789", + "tinType": "BUSINESS_UNION" + } + ] + } + ], + "shippingChargesPayment": { + "paymentType": "SENDER" + }, + "customsClearanceDetail": { + "dutiesPayment": { + "paymentType": "SENDER", + "payor": { + "responsibleParty": { + "accountNumber": { + "value": "XXXXX2888" + } + } + } + }, + "documentContent": "COMMODITY", + "commodities": [ + { + "description": "COMMODITY DESCRIPTION 1", + "countryOfManufacture": "IT", + "harmonizedCode": "1234567890", + "weight": { + "units": "KG", + "value": "2.5" + }, + "quantity": "2", + "quantityUnits": "PCS", + "unitPrice": { + "amount": "10", + "currency": "EUR" + }, + "customsValue": { + "amount": "20", + "currency": "EUR" + } + } + ] + }, + "totalPackageCount": "1", + "totalWeight": 5.8, + "requestedPackageLineItems": [ + { + "groupPackageCount": "1", + "weight": { + "units": "KG", + "value": "5.8" + }, + "dimensions": { + "length": 20, + "width": 20, + "height": 20, + "units": "CM" + } + } + ] + } + } + }, + "MinimumSamplePayload-DGHazShipmentGround": { + "example": { + "labelResponseOptions": "URL_ONLY", + "requestedShipment": { + "serviceType": "FEDEX_GROUND", + "shipper": { + "address": { + "residential": false, + "city": "COLLIERVILLE", + "countryCode": "US", + "postalCode": "38017", + "streetLines": [ + "RECIPIENT ADDRESS 1", + "RECIPIENT ADDRESS 2" + ], + "stateOrProvinceCode": "TN" + }, + "contact": { + "personName": "SENDER NAME", + "phoneNumber": "9018328595", + "companyName": "SENDER COMPANY" + } + }, + "labelSpecification": { + "paperType": "PAPER_LETTER", + "printerType": "PDF", + "imageType": "PDF", + "labelStockType": "PAPER_LETTER", + "returnedDispositionDetail": true, + "autoPrint": false + }, + "recipients": [ + { + "address": { + "residential": false, + "city": "COLLIERVILLE", + "countryCode": "US", + "postalCode": "38017", + "streetLines": [ + "RECIPIENT ADDRESS 1", + "RECIPIENT ADDRESS 2" + ], + "stateOrProvinceCode": "TN" + }, + "contact": { + "personName": "RECIPIENT NAME", + "phoneNumber": "1234567890", + "companyName": "RECIPIENT COMPANY" + } + } + ], + "shippingChargesPayment": { + "paymentType": "SENDER" + }, + "blockInsightVisibility": false, + "requestedPackageLineItems": [ + { + "weight": { + "units": "LB", + "value": "50" + }, + "packageSpecialServices": { + "specialServiceTypes": [ + "DANGEROUS_GOODS" + ], + "dangerousGoodsDetail": { + "regulation": "DOT", + "options": [ + "HAZARDOUS_MATERIALS" + ], + "containers": [ + { + "hazardousCommodities": [ + { + "description": { + "id": "UN2222" + } + } + ] + } + ], + "packaging": { + "count": 10, + "units": "HAZMATPACKAGE" + }, + "emergencyContactNumber": "9809809801", + "offeror": "offeror" + } + } + } + ], + "pickupType": "USE_SCHEDULED_PICKUP", + "packagingType": "YOUR_PACKAGING", + "shippingDocumentSpecification": { + "shippingDocumentTypes": [ + "OP_900" + ], + "op900Detail": { + "documentFormat": { + "docType": "PDF", + "stockType": "OP_900_LL" + }, + "signatureName": "TestSignature" + } + } + }, + "accountNumber": { + "value": "XXXXX1073" + } + } + }, + "MinimumSamplePayload-DGHazShipmentExpress": { + "example": { + "labelResponseOptions": "URL_ONLY", + "requestedShipment": { + "serviceType": "PRIORITY_OVERNIGHT", + "shipper": { + "address": { + "residential": false, + "city": "COLLIERVILLE", + "countryCode": "US", + "postalCode": "38017", + "streetLines": [ + "RECIPIENT ADDRESS 1", + "RECIPIENT ADDRESS 2" + ], + "stateOrProvinceCode": "TN" + }, + "contact": { + "personName": "SENDER NAME", + "phoneNumber": "9018328595", + "companyName": "SENDER COMPANY" + } + }, + "labelSpecification": { + "imageType": "PDF", + "labelStockType": "PAPER_LETTER" + }, + "recipients": [ + { + "address": { + "residential": false, + "city": "Sioux Falls", + "countryCode": "US", + "postalCode": "57110", + "streetLines": [ + "RECIPIENT ADDRESS 1", + "RECIPIENT ADDRESS 2" + ], + "stateOrProvinceCode": "SD" + }, + "contact": { + "personName": "RECIPIENT NAME", + "phoneNumber": "1234567890", + "companyName": "RECIPIENT COMPANY" + } + } + ], + "shippingChargesPayment": { + "payor": { + "responsibleParty": { + "accountNumber": { + "value": "XXXXX1073" + } + } + }, + "paymentType": "SENDER" + }, + "requestedPackageLineItems": [ + { + "weight": { + "units": "LB", + "value": 30 + }, + "dimensions": { + "length": 12, + "width": 12, + "units": "IN", + "height": 12 + }, + "packageSpecialServices": { + "specialServiceTypes": [ + "DANGEROUS_GOODS" + ], + "dangerousGoodsDetail": { + "regulation": "IATA", + "options": [ + "HAZARDOUS_MATERIALS" + ], + "dangerousGoodsDecriptors": null, + "packingOption": "OVERPACK", + "containers": [ + { + "containerType": "steel cylinder", + "numberOfContainers": 1, + "hazardousCommodities": [ + { + "description": { + "id": 3268, + "packingGroup": "DEFAULT", + "packingDetails": { + "packingInstructions": 961 + }, + "properShippingName": "SAFETY DEVICES", + "technicalName": "Carbon", + "percentage": 0, + "hazardClass": 3, + "labelText": "Combustible Liquid", + "processingOptions": [ + "INCLUDE_SPECIAL_PROVISIONS" + ] + }, + "quantity": { + "amount": 5, + "units": "KG" + }, + "options": { + "labelTextOption": "OVERRIDE", + "customerSuppliedLabelText": "Combustible Liquid" + } + } + ] + } + ], + "packaging": { + "count": 1, + "units": "HAZMATPACKAGE" + }, + "signatory": { + "contactName": "signatoryname", + "title": "USA", + "place": "USA" + }, + "emergencyContactNumber": 9809809801, + "offeror": "offerror", + "regulatoryLineItems": [ + { + "values": [ + { + "key": "key", + "value": "value" + } + ] + } + ] + } + } + } + ], + "pickupType": "USE_SCHEDULED_PICKUP", + "packagingType": "YOUR_PACKAGING", + "shippingDocumentSpecification": { + "shippingDocumentTypes": [ + "DANGEROUS_GOODS_SHIPPERS_DECLARATION" + ], + "dangerousGoodsShippersDeclarationDetail": { + "documentFormat": { + "dispositions": [ + { + "eMailDetail": { + "eMailRecipients": [ + { + "recipientType": "BROKER" + } + ], + "grouping": "BY_RECIPIENT" + }, + "dispositionType": "RETURNED", + "grouping": "CONSOLIDATED_BY_DOCUMENT_TYPE", + "storageDetail": { + "type": "ASYNC_SERVICE", + "fileNaming": "FAST" + } + } + ], + "docType": "PDF", + "stockType": "OP_900_LL", + "provideInstructions": true, + "optionsRequested": { + "options": [ + "SHIPPING_LABEL_FIRST" + ] + }, + "topOfPageOffset": { + "value": 1, + "units": "CM" + }, + "customDocumentIdentifier": null + } + } + } + }, + "accountNumber": { + "value": "XXXXX1073" + } + } + }, + "SHPCResponseVO_CancelShipment": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
                Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "customerTransactionId": { + "type": "string", + "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
                Example: AnyCo_order123456789", + "example": "AnyCo_order123456789" + }, + "output": { + "$ref": "#/components/schemas/BaseProcessOutputVO_CancelShipment" + } + }, + "description": "This is a wrapper class for outputVO" + }, + "BaseProcessOutputVO_CancelShipment": { + "type": "object", + "properties": { + "cancelledShipment": { + "type": "boolean", + "description": "Indicates whether the shipment has been cancelled or not. If the value is True, then it indicates that the shipment has been cancelled.
                Example: true", + "example": true + }, + "cancelledHistory": { + "type": "boolean", + "description": "Indicates whether the shipment has been deleted from history or not. If the value is True, then it indicates that the shipment has been deleted.
                Example: true", + "example": true + }, + "successMessage": { + "type": "string", + "description": "The success message generated during cancellation request for Shipment.
                Example: Success", + "example": "Success" + }, + "alerts": { + "type": "array", + "description": "This is a cancellation request alert. This alert includes information such as alert code, alert type, and alert message.", + "items": { + "$ref": "#/components/schemas/Alert" + } + } + }, + "description": "The response elements received when a shipment is cancelled." + }, + "ErrorResponseVO_1": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
                Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "customerTransactionId": { + "type": "string", + "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
                Example: AnyCo_order123456789", + "example": "AnyCo_order123456789" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CXSError_1" + } + } + } + }, + "CXSError_1": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.
                Example: SHIPMENT.USER.UNAUTHORIZED" + }, + "parameterList": { + "type": "array", + "description": "Specifies the message parameter list.", + "items": { + "$ref": "#/components/schemas/Parameter" + } + }, + "message": { + "type": "string", + "description": "Indicates the description of API error alert message.
                Example: Requested user is not authorized to perform the operation." + } + }, + "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" + }, + "ErrorResponseVO401": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
                Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CXSError401" + } + } + } + }, + "CXSError401": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "It is the unique identifier for the transaction.", + "format": "uuid", + "example": "0e671149-016f-1000-941f-ef4dbabadd2e" + }, + "customerTransactionId": { + "type": "string", + "description": "It is the same customerTransactionId sent as part of the request's header,by the clients calling this endpoint.", + "format": "uuid", + "example": "0e671149-016f-1000-941f-ef4dbabadd2e" + }, + "errors": { + "$ref": "#/components/schemas/CXSError401_errors" + } + }, + "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" + }, + "ErrorResponseVO403": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
                Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CXSError403" + } + } + } + }, + "CXSError403": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "It is the unique identifier for the transaction.", + "format": "uuid", + "example": "0e671149-016f-1000-941f-ef4dbabadd2e" + }, + "customerTransactionId": { + "type": "string", + "description": "It is the same customerTransactionId sent as part of the request's header,by the clients calling this endpoint.", + "format": "uuid", + "example": "0e671149-016f-1000-941f-ef4dbabadd2e" + }, + "errors": { + "$ref": "#/components/schemas/CXSError403_errors" + } + }, + "description": "Indicates error when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" + }, + "ErrorResponseVO404": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
                Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CXSError404" + } + } + } + }, + "CXSError404": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "It is the unique identifier for the transaction.", + "format": "uuid", + "example": "0e671149-016f-1000-941f-ef4dbabadd2e" + }, + "customerTransactionId": { + "type": "string", + "description": "It is the same customerTransactionId sent as part of the request's header,by the clients calling this endpoint.", + "format": "uuid", + "example": "0e671149-016f-1000-941f-ef4dbabadd2e" + }, + "errors": { + "$ref": "#/components/schemas/CXSError404_errors" + } + }, + "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" + }, + "ErrorResponseVO500": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
                Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "customerTransactionId": { + "type": "string", + "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
                Example: AnyCo_order123456789", + "example": "AnyCo_order123456789" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CXSError500" + } + } + } + }, + "CXSError500": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "It is the unique identifier for the transaction.", + "format": "uuid", + "example": "0e671149-016f-1000-941f-ef4dbabadd2e" + }, + "customerTransactionId": { + "type": "string", + "description": "It is the same customerTransactionId sent as part of the request's header,by the clients calling this endpoint.", + "format": "uuid", + "example": "0e671149-016f-1000-941f-ef4dbabadd2e" + }, + "errors": { + "$ref": "#/components/schemas/CXSError500_errors" + } + }, + "description": "Indicates exception when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" + }, + "ErrorResponseVO503": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
                Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CXSError503" + } + } + } + }, + "CXSError503": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.", + "example": "SERVICE.UNAVAILABLE.ERROR" + }, + "parameterList": { + "type": "array", + "description": "Specifies list of parameters.", + "items": { + "$ref": "#/components/schemas/Parameter" + } + }, + "message": { + "description": "Indicates the description of API error alert message.", + "example": "The service is currently unavailable and we are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time." + } + }, + "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" + }, + "Full_Schema_Cancel_Shipment": { + "required": [ + "accountNumber", + "trackingNumber" + ], + "type": "object", + "properties": { + "accountNumber": { + "description": "The account number (account value) associated with the shipment.", + "allOf": [ + { + "$ref": "#/components/schemas/ShipperAccountNumber" + } + ] + }, + "emailShipment": { + "type": "boolean", + "description": "A boolean flag passed by Clients to indicate that whether a shipment is a EMAIL shipment(Pending Shipment) or not. Once a shipment is confirmed, it can no longer be cancelled by having this flag as True.", + "example": false + }, + "senderCountryCode": { + "type": "string", + "description": "The two-letter sender Country code(Ex: US, CA, GB..etc).
                Example: US
                Click here to see Country Codes", + "example": "US" + }, + "deletionControl": { + "type": "string", + "description": "Specifies which packages in a shipment to be canceled.
                Valid Values are
                DELETE_ALL_PACKAGES which will cancel all tracking numbers associated to the shipment.", + "example": "DELETE_ALL_PACKAGES", + "enum": [ + "DELETE_ALL_PACKAGES" + ] + }, + "trackingNumber": { + "type": "string", + "description": "This is an unique number assigned by FedEx to the packages for tracking.
                Example: \"794953555571\"", + "example": "794953555571" + } + }, + "description": "The request elements required to cancel a shipment. " + }, + "Cancel_Shipment": { + "example": { + "accountNumber": { + "value": "XXX561073" + }, + "trackingNumber": "794842623031" + } + }, + "SHPCResponseVO_Validate": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
                Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "customerTransactionId": { + "type": "string", + "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
                Example: AnyCo_order123456789", + "example": "AnyCo_order123456789" + }, + "output": { + "$ref": "#/components/schemas/BaseProcessOutputVO_Validate" + } + }, + "description": "Wrapper class for VerifyShipmentOutputVO. It holds transactionId and output." + }, + "BaseProcessOutputVO_Validate": { + "type": "object", + "properties": { + "alerts": { + "type": "array", + "description": "The alerts received when a Shipment Package Validate is processed. This includes the alert code, alert type, and alert message.", + "items": { + "$ref": "#/components/schemas/Alert_3P" + } + } + }, + "description": "The response elements received when a shipment is created." + }, + "FullSchema-VerifyShipment": { + "required": [ + "requestedShipment" + ], + "type": "object", + "properties": { + "requestedShipment": { + "$ref": "#/components/schemas/RequestedShipmentVerify" + }, + "accountNumber": { + "$ref": "#/components/schemas/ShipperAccountNumber" + } + }, + "description": "The request elements required to create a shipment." + }, + "RequestedShipmentVerify": { + "required": [ + "labelSpecification", + "packagingType", + "pickupType", + "recipients", + "requestedPackageLineItems", + "serviceType", + "shipper", + "shippingChargesPayment" + ], + "type": "object", + "properties": { + "shipDatestamp": { + "type": "string", + "description": "Indicate the shipment date.
                Format: YYYY-MM-DD
                Note: Default value is current date in case the date is not provided in the request.
                Example: 2021-04-06", + "example": "2019-10-14" + }, + "pickupType": { + "type": "string", + "description": "Select if the shipment is to be dropped off at Fedex location or to be picked up by FedEx or if it is a scheduled pickup for this shipment.
                Click here for more information on Pickup Types.", + "example": "USE_SCHEDULED_PICKUP", + "enum": [ + "CONTACT_FEDEX TO_SCHEDULE", + "DROPOFF_AT_FEDEX_LOCATION", + "USE_SCHEDULED_PICKUP" + ] + }, + "serviceType": { + "type": "string", + "description": "Indicate the FedEx service Type used for this shipment.
                Example: STANDARD_OVERNIGHT
                click here to see available FedEx Service Types", + "example": "PRIORITY_OVERNIGHT" + }, + "packagingType": { + "type": "string", + "description": "Indicate the type of packaging used for the package.
                Note: For Express Freight shipments, the packaging will default to value YOUR_PACKAGING irrespective type provided in the request.
                Example: FEDEX_ENVELOPE
                click here to see Package Types", + "example": "YOUR_PACKAGING" + }, + "totalWeight": { + "type": "integer", + "description": "The total weight for the shipment should be in Kg or in Lbs.", + "format": "int32", + "example": 20 + }, + "shipper": { + "description": "Indicate shippers details.
                Note: Shipper address and Origin address should be the same address.", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "91", + "phoneNumber": "1234567890", + "companyName": "Fedex" + }, + "tins": [ + { + "number": "123567", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ] + }, + "allOf": [ + { + "$ref": "#/components/schemas/ShipperParty_1" + } + ] + }, + "recipients": { + "type": "array", + "description": "Indicate the shipment recipient details or the physical location details for the package destination.", + "items": { + "$ref": "#/components/schemas/RecipientsParty_1" + }, + "example": null + }, + "origin": { + "description": "Indicate the shipment origin address information, if it is different from the shippers address.", + "allOf": [ + { + "$ref": "#/components/schemas/ContactAndAddress_1" + } + ] + }, + "shippingChargesPayment": { + "$ref": "#/components/schemas/Payment_2" + }, + "shipmentSpecialServices": { + "$ref": "#/components/schemas/RequestedShipmentVerify_shipmentSpecialServices" + }, + "emailNotificationDetail": { + "$ref": "#/components/schemas/EMailNotificationDetail_1" + }, + "variableHandlingChargeDetail": { + "$ref": "#/components/schemas/VariableHandlingChargeDetail_1" + }, + "customsClearanceDetail": { + "$ref": "#/components/schemas/CustomsClearanceDetail_1" + }, + "smartPostInfoDetail": { + "$ref": "#/components/schemas/SmartPostInfoDetail" + }, + "blockInsightVisibility": { + "type": "boolean", + "description": "Indicate if the shipment be available to be visible/tracked using FedEx InSight\u00ae tool. If value indicated as true, only the shipper/payer will have visibility of this shipment in the said tool.", + "example": true + }, + "labelSpecification": { + "$ref": "#/components/schemas/LabelSpecification_1" + }, + "shippingDocumentSpecification": { + "$ref": "#/components/schemas/ShippingDocumentSpecification_1" + }, + "rateRequestType": { + "type": "array", + "description": "Indicate the type of rates to be returned.
                Following are values:
                • LIST - Returns published list rates will be returned in addition to account-specific rate (if applicable).
                • PREFERRED - It returns rates in currency as specified in the PreferredCurrency element.
                • ACCOUNT - Returns account specific rates. Note: The account specific rates are returned by default if the shipper account number is specified in the shipment.
                • INCENTIVE - This is one-time discount for incentivizing the customer.
                Examples: [\"ACCOUNT\", \"PREFERRED\"] ", + "example": [ + "LIST", + "PREFERRED" + ], + "items": { + "type": "string", + "enum": [ + "LIST", + "NONE", + "PREFERRED", + "ACCOUNT", + "INCENTIVE", + "RETAIL" + ] + } + }, + "preferredCurrency": { + "type": "string", + "description": "Indicate the currency the caller requests to have used in all returned monetary values. Should be Used in conjunction with the element RateRequestType.
                Example: USD
                click here to see available Currency codes
                Note: Incorrect currency codes should not be supplied. The system ignores the incorrect currency code.", + "example": "USD" + }, + "requestedPackageLineItems": { + "type": "array", + "description": "Use this object to provide the package details.
                Note:
                • At least one instance containing the weight is required for EXPRESS and GROUND package.
                • Only Single piece requests are supported henceonly one line item should be provided.
                • Multiple piece shipment validation is not supported.
                ", + "items": { + "$ref": "#/components/schemas/RequestedPackageLineItem_1" + } + } + }, + "description": "This is the detailed shipment request data to be validated before being submitted to FedEx." + }, + "ShipperParty_1": { + "required": [ + "address", + "contact" + ], + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/PartyAddress" + }, + "contact": { + "$ref": "#/components/schemas/PartyContact" + }, + "companyCode": { + "type": "string", + "description": "The shipper's company code.", + "example": "f05a824749004290a08adb2b042dc2a5" + }, + "tins": { + "type": "array", + "description": "Used for adding the tax id.", + "items": { + "$ref": "#/components/schemas/TaxpayerIdentification" + } + }, + "deliveryInstructions": { + "type": "string", + "description": "Used with Ground Home Delivery and Freight. Max Length is 90." + } + }, + "description": "Indicate the Shipper contact details for this shipment.", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "000", + "phoneNumber": "9612345671", + "companyName": "Fedex" + }, + "companyCode": "f05a824749004290a08adb2b042dc2a5", + "tins": [ + { + "number": "123567", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ], + "deliveryInstructions": "delivery instructions" + } + }, + "RecipientsParty_1": { + "required": [ + "address", + "contact" + ], + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/PartyAddress" + }, + "contact": { + "$ref": "#/components/schemas/PartyContact" + }, + "tins": { + "type": "array", + "description": "Used for adding the tax id", + "items": { + "$ref": "#/components/schemas/TaxpayerIdentification" + } + }, + "deliveryInstructions": { + "type": "string", + "description": "Specifies the delivery instructions to be added with the shipment. Specifically used by Ground Home Delivery
                Example: Delivery Instructions", + "example": "Delivery Instructions" + } + }, + "description": "The descriptive information for the recipient of the shipment and the physical location for the package destination.", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "000", + "phoneNumber": "9612345671", + "companyName": "Fedex" + }, + "tins": [ + { + "number": "123567", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ], + "deliveryInstructions": "Delivery Instructions" + } + }, + "ContactAndAddress_1": { + "type": "object", + "properties": { + "contact": { + "description": "Indicate the contact details of the shipper.", + "allOf": [ + { + "$ref": "#/components/schemas/Contact_1" + } + ] + }, + "address": { + "description": "This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the U.S.).", + "allOf": [ + { + "$ref": "#/components/schemas/Address_1" + } + ] + } + }, + "description": "Specifies the contact and address details of a location.", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "38127", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "person name", + "emailAddress": "email address", + "phoneNumber": "phone number", + "phoneExtension": "phone extension", + "companyName": "company name", + "faxNumber": "fax number" + } + } + }, + "Payment_2": { + "required": [ + "paymentType" + ], + "type": "object", + "properties": { + "paymentType": { + "type": "string", + "description": "Specifies the payment Type.
                Note: This is required for Express, Ground and SmartPost shipments.
                The payment type COLLECT is applicable only for Ground shipments.", + "enum": [ + "SENDER", + "RECIPIENT", + "THIRD_PARTY", + "COLLECT" + ] + }, + "payor": { + "$ref": "#/components/schemas/Payor_2" + } + }, + "description": "Specifies the payment details specifying the method and means of payment to FedEx for providing shipping services.", + "example": { + "paymentType": "SENDER", + "payor": { + "responsibleParty": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneNumber": "1234567890", + "phoneExtension": "phone extension", + "companyName": "Fedex", + "faxNumber": "fax number" + }, + "accountNumber": { + "value": "801472842" + } + } + } + } + }, + "Payor_2": { + "type": "object", + "properties": { + "responsibleParty": { + "$ref": "#/components/schemas/ResponsiblePartyParty_1" + } + }, + "description": "Information about the person who is paying for the shipment.
                Payor is mandatory when the paymentType is RECIPIENT, THIRD_PARTY or COLLECT.", + "example": { + "responsibleParty": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "parsedPersonName": { + "firstName": "John", + "lastName": "Redmond", + "middleName": "Taylor", + "suffix": "Jr" + }, + "phoneNumber": "1234567890", + "phoneExtension": "phone extension", + "companyName": "Fedex", + "faxNumber": "fax number", + "stateTaxId": "state tax identifier", + "fedralTaxId": "11-N-1745" + }, + "accountNumber": { + "value": "801472842" + } + } + } + }, + "ResponsiblePartyParty_1": { + "required": [ + "address", + "contact" + ], + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/PartyAddress" + }, + "contact": { + "$ref": "#/components/schemas/PartyContact" + }, + "accountNumber": { + "$ref": "#/components/schemas/PartyAccountNumber" + } + }, + "description": "The descriptive information for the person who is responsible for the shipment.", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "000", + "phoneNumber": "9612345671", + "companyName": "Fedex" + }, + "accountNumber": { + "value": "801472842" + } + } + }, + "ETDDetail_1": { + "type": "object", + "properties": { + "attributes": { + "type": "array", + "description": "Specifies the Post Document Upload
                Example: POST_SHIPMENT_UPLOAD_REQUESTED", + "items": { + "type": "string", + "enum": [ + "POST_SHIPMENT_UPLOAD_REQUESTED" + ] + } + }, + "attachedDocuments": { + "type": "array", + "description": "Customer reference to the uploaded document(s).", + "items": { + "$ref": "#/components/schemas/UploadDocumentReferenceDetail" + } + }, + "requestedDocumentTypes": { + "type": "array", + "description": "Indicates the types of shipping documents requested by the shipper.
                Example: CERTIFICATE_OF_ORIGIN, COMMERCIAL_INVOICE etc.", + "items": { + "type": "string", + "example": "[\"VICS_BILL_OF_LADING\",\"GENERAL_AGENCY_AGREEMENT\"]", + "enum": [ + "CERTIFICATE_OF_ORIGIN", + "COMMERCIAL_INVOICE", + "CUSTOM_PACKAGE_DOCUMENT", + "CUSTOM_SHIPMENT_DOCUMENT", + "CUSTOMER_SPECIFIED_LABELS", + "EXPORT_DECLARATION", + "DANGEROUS_GOODS_SHIPPERS_DECLARATION", + "FREIGHT_ADDRESS_LABEL", + "GENERAL_AGENCY_AGREEMENT", + "LABEL", + "USMCA_CERTIFICATION_OF_ORIGIN", + "USMCA_COMMERCIAL_INVOICE_CERTIFICATION_OF_ORIGIN", + "OP_900", + "PENDING_SHIPMENT_EMAIL_NOTIFICATION", + "PRO_FORMA_INVOICE", + "RETURN_INSTRUCTIONS", + "FEDEX_FREIGHT_STRAIGHT_BILL_OF_LADING", + "VICS_BILL_OF_LADING" + ] + } + } + }, + "description": "Use this object to specify all information on how the electronic Trade document references used with the shipment." + }, + "ReturnShipmentDetail_1": { + "required": [ + "returnType" + ], + "type": "object", + "properties": { + "returnEmailDetail": { + "$ref": "#/components/schemas/ReturnEmailDetail" + }, + "rma": { + "$ref": "#/components/schemas/ReturnMerchandiseAuthorization" + }, + "returnAssociationDetail": { + "$ref": "#/components/schemas/ReturnAssociationDetail" + }, + "returnType": { + "type": "string", + "description": "This specifies the return Type. Required to be set to PRINT_RETURN_LABEL for printed return label shipments.For email return label shipments returnType must be set to PENDING and pendingShipmentDetail must be set to EMAIL.
                Valid Values : PENDING, PRINT_RETURN_LABEL", + "example": "PRINT_RETURN_LABEL", + "enum": [ + "PENDING", + "PRINT_RETURN_LABEL" + ] + } + }, + "description": "Use this object for specifying return shipment details." + }, + "DeliveryOnInvoiceAcceptanceDetail_1": { + "type": "object", + "properties": { + "recipient": { + "description": "The descriptive data for the recipient of the shipment and the physical location for the shipment destination.", + "allOf": [ + { + "$ref": "#/components/schemas/RecipientsParty_1" + }, + { + "required": [ + "address", + "contact" + ], + "properties": { + "address": { + "required": [ + "countryCode", + "streetLines" + ], + "properties": { + "streetLines": { + "type": "array", + "description": "Combination of number, street name, etc. At least one line is required for a valid physical address. Empty lines should not be included. Max Length is 35.", + "items": { + "type": "string" + } + }, + "countryCode": { + "type": "string", + "description": "The two-letter code used to identify a country. Max length is 2.
                Example: US
                Click here to see Country Codes", + "example": "US" + } + } + }, + "contact": { + "required": [ + "companyName", + "personName", + "phoneNumber" + ], + "properties": { + "companyName": { + "type": "string", + "description": "Identifies the company this contact is associated with. Max length is 35.", + "example": "Fedex" + }, + "personName": { + "type": "string", + "description": "Identifies the contact person's name. Max Length is 70.", + "example": "John Taylor" + }, + "phoneNumber": { + "type": "string", + "description": "Identifies the phone number associated with this contact. Max length is 15.", + "example": "1234567890" + } + } + } + } + } + ] + } + }, + "description": "Indicate the Delivery On Invoice Acceptance detail. Recipient is required for Delivery On Invoice Special service." + }, + "PendingShipmentDetail_1": { + "required": [ + "emailLabelDetail", + "pendingShipmentType" + ], + "type": "object", + "properties": { + "pendingShipmentType": { + "type": "string", + "description": "Specifies the pending shipment type. Must include the value: EMAIL for email return shipments.
                Not applicable for other types of shipments", + "example": "EMAIL", + "enum": [ + "EMAIL" + ] + }, + "processingOptions": { + "$ref": "#/components/schemas/PendingShipmentProcessingOptionsRequested" + }, + "recommendedDocumentSpecification": { + "$ref": "#/components/schemas/RecommendedDocumentSpecification" + }, + "emailLabelDetail": { + "$ref": "#/components/schemas/EmailLabelDetail_1" + }, + "attachedDocuments": { + "type": "array", + "description": "Attached document details provided by the initator of the shipment, Document ID and Document Type ", + "items": { + "$ref": "#/components/schemas/UploadDocumentReferenceDetail" + } + }, + "expirationTimeStamp": { + "type": "string", + "description": "Specifies the Email Label expiration date. The maximum expiration date for an Email Return Label must be greater of equal to the day of the label request and not greater than 2 years in the future.
                Example: 2020-01-01", + "example": "2020-01-01" + }, + "shipmentDryIceDetail": { + "$ref": "#/components/schemas/ShipmentDryIceDetail_1_1" + } + }, + "description": "Required for email label return shipments.
                This field is not applicable for CreateTag.
                This object is used to specify the Pending Shipment Type for Email label." + }, + "EmailLabelDetail_1": { + "type": "object", + "properties": { + "recipients": { + "type": "array", + "description": "Indicates the Email label recipient's email address, shipment role, & language locale. One recipient must be specified and only one recipient is supported.", + "items": { + "$ref": "#/components/schemas/EmailRecipient_1" + } + }, + "message": { + "type": "string", + "description": "Specifies an optional personalized message to be included in the email to the email label recipient", + "example": "your optional message " + } + }, + "description": "Required with PendingShipmentType = 'EMAIL'.
                Not applicable for CreateTag.
                Describes specific information about the pending email label. " + }, + "EmailRecipient_1": { + "required": [ + "emailAddress", + "role" + ], + "type": "object", + "properties": { + "emailAddress": { + "type": "string", + "description": "Email address of the email return label receipient to be notified of the return label. This element has a 200-character maximum.
                Example: neena@fedex.com", + "example": "neena@fedex.com" + }, + "optionsRequested": { + "$ref": "#/components/schemas/EmailOptionsRequested" + }, + "role": { + "type": "string", + "description": "Relationship that the emailRecipient has to the pending email return label shipments.
                Valid Values: SHIPMENT_COMPLETOR,SHIPMENT_INITIATOR", + "example": "SHIPMENT_COMPLETOR", + "enum": [ + "SHIPMENT_COMPLETOR", + "SHIPMENT_INITIATOR" + ] + }, + "locale": { + "$ref": "#/components/schemas/Locale" + } + }, + "description": "Information describing recipient of the online email return label." + }, + "ShipmentDryIceDetail_1_1": { + "type": "object", + "properties": { + "totalWeight": { + "$ref": "#/components/schemas/Weight_1" + }, + "packageCount": { + "type": "integer", + "description": "Indicates the total number of packages in the shipment that contain dry ice.
                Example: 12", + "format": "int32", + "example": 12 + } + }, + "description": "This is the descriptive data required for a FedEx shipment containing dangerous materials. This element is required when SpecialServiceType DRY_ICE is selected.

                Note:

                • Dry Ice is a Package level Special Service for Domestic and International shipments.
                • Dry Ice must be declared at both Shipment and Package level for International MPS shipments to print the compliance statement on Airway Bill labels.

                " + }, + "HoldAtLocationDetail_1": { + "required": [ + "locationContactAndAddress", + "locationType" + ], + "type": "object", + "properties": { + "locationId": { + "type": "string", + "description": "Location identification for facilities identified by an alphanumeric location code.
                Example: YBZA", + "example": "YBZA" + }, + "locationContactAndAddress": { + "$ref": "#/components/schemas/ContactAndAddress_1" + }, + "locationType": { + "type": "string", + "description": "Type of facility at which package/shipment is to be held.
                Example: FEDEX_ONSITE", + "example": "FEDEX_ONSITE", + "enum": [ + "FEDEX_AUTHORIZED_SHIP_CENTER", + "FEDEX_OFFICE", + "FEDEX_SELF_SERVICE_LOCATION", + "FEDEX_STAFFED", + "RETAIL_ALLICANCE_LOCATION", + "FEDEX_GROUND_TERMINAL", + "FEDEX_ONSITE" + ] + } + }, + "description": "Use this object to specify required information for a shipment to be held at destination FedEx location.
                Note: This object HoldAtLocationDetail is Required, when HOLD_AT_LOCATION is chosen in the specialServiceTypes." + }, + "ShipmentCODDetail_1": { + "type": "object", + "properties": { + "addTransportationChargesDetail": { + "$ref": "#/components/schemas/CODTransportationChargesDetail" + }, + "codRecipient": { + "description": "The descriptive data for the COD recipient and their physical location.'", + "allOf": [ + { + "$ref": "#/components/schemas/Party_1_1" + } + ] + }, + "remitToName": { + "type": "string", + "description": "Specify the name of the person or company receiving the secured/unsecured funds payment
                Example: remitToName", + "example": "remitToName" + }, + "codCollectionType": { + "type": "string", + "description": " Identifies the type of funds FedEx should collect upon shipment delivery", + "enum": [ + "ANY", + "CASH", + "COMPANY_CHECK", + "GUARANTEED_FUNDS", + "PERSONAL_CHECK" + ] + }, + "financialInstitutionContactAndAddress": { + "$ref": "#/components/schemas/ContactAndAddress_1" + }, + "codCollectionAmount": { + "$ref": "#/components/schemas/Money" + }, + "returnReferenceIndicatorType": { + "type": "string", + "description": "Indicates which type of reference information to include on the COD return shipping label.", + "enum": [ + "INVOICE", + "PO", + "REFERENCE", + "TRACKING" + ] + }, + "shipmentCodAmount": { + "$ref": "#/components/schemas/Money" + } + }, + "description": "Conditional
                This is the shipment level COD detail." + }, + "Party_1_1": { + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/PartyAddress" + }, + "contact": { + "$ref": "#/components/schemas/PartyContact" + }, + "accountNumber": { + "$ref": "#/components/schemas/PartyAccountNumber" + }, + "tins": { + "type": "array", + "description": "Used for adding the tax id", + "items": { + "$ref": "#/components/schemas/TaxpayerIdentification" + } + }, + "deliveryInstructions": { + "type": "string", + "description": "Specify the delivery instructions to be added with the shipment. Use with Ground Home Delivery.
                Example: Delivery Instructions", + "example": "Delivery Instruction 1" + } + }, + "description": "", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "000", + "phoneNumber": "9612345671", + "companyName": "Fedex" + }, + "accountNumber": { + "value": "801472842" + }, + "tins": [ + { + "number": "123567", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ] + } + }, + "HomeDeliveryPremiumDetail_1": { + "type": "object", + "properties": { + "phoneNumber": { + "$ref": "#/components/schemas/PhoneNumber" + }, + "deliveryDate": { + "type": "string", + "description": "Conditional
                Identifies the date and time the package is tendered to FedEx. Both the date and time portions of the string are expected to be used. The date should not be a past date or a date more than 10 days in the future. The time is the local time of the shipment based on the shipper's time zone.
                Format YYYY-MM-DDTHH:MM:SS-xx:xx. example: 2019-06-26T17:00:00Z.", + "example": "2019-06-26T17:00:00Z" + }, + "homedeliveryPremiumType": { + "type": "string", + "description": "Home Delivery Premium Type. Allows the user to specify additional premimum service options for their home delivery shipment. Customer can specify Evening delivery or a Date certain, or can specify they would like to make an appointment for the delivery.", + "example": "APPOINTMENT", + "enum": [ + "APPOINTMENT", + "DATE_CERTAIN", + "EVENING" + ] + } + }, + "description": "Special service elements for FedEx Ground Home Delivery shipments. If selected, 'homedeliveryPremiumType' is required. " + }, + "EMailNotificationDetail_1": { + "type": "object", + "properties": { + "aggregationType": { + "type": "string", + "description": "Shipment Notification Aggregation Type.", + "example": "PER_PACKAGE", + "enum": [ + "PER_PACKAGE", + "PER_SHIPMENT" + ] + }, + "emailNotificationRecipients": { + "type": "array", + "description": "Provide Email Notification Recipient details.", + "items": { + "$ref": "#/components/schemas/EmailNotificationRecipient" + } + }, + "personalMessage": { + "type": "string", + "description": "This is your personal message for the email.
                Note: The maximum personal message character limit depends on the element notificationFormatType values:
                • If notificationFormatType is TEXT, then only 120 characters printed on the email
                • If notificationFormatType is HTML, then 500 characters printed on the email

                Example: This is concerning the order 123456 of 26 July 2021 - art no 34324-23 Teddy Bear, brown", + "example": "your personal message here" + } + }, + "description": "These are email disposition details. Provides the type and email addresses of e-mail recipients. If returnedDispositionDetail in labelSpecification is set as true then email will be send with label and documents copy." + }, + "VariableHandlingChargeDetail_1": { + "type": "object", + "properties": { + "rateType": { + "type": "string", + "description": "The rate type indicates what type of rate request is being returned; account, preferred, incentive, etc.", + "example": "PREFERRED_CURRENCY", + "enum": [ + "ACCOUNT", + "ACTUAL", + "CURRENT", + "CUSTOM", + "LIST", + "INCENTIVE", + "PREFERRED", + "PREFERRED_INCENTIVE", + "PREFERRED_CURRENCY" + ] + }, + "percentValue": { + "type": "number", + "description": "This is the variable handling percentage. If the percent value is mentioned as 10, it means 10%(multiplier of 0.1).", + "format": "double", + "example": 12.45 + }, + "rateLevelType": { + "type": "string", + "description": "Indicates whether or not the rating is being done at the package level, or if the packages are bundled together. At the package level, charges are applied based on the details of each individual package. If they are bundled, one package is chosen as the parent and charges are applied based on that one package.", + "example": "INDIVIDUAL_PACKAGE_RATE", + "enum": [ + "BUNDLED_RATE", + "INDIVIDUAL_PACKAGE_RATE" + ] + }, + "fixedValue": { + "description": "Conditional\n\nAllows the user to specify a fixed handling charge. The element allows entry of 7 characters before the decimal and 2 characters following the decimal. For example, if you want to enter a fixed handling amount of $5.00, enter 5.00 in the FixedValue 'amount' element.", + "allOf": [ + { + "$ref": "#/components/schemas/Money" + }, + { + "required": [ + "amount", + "currency" + ], + "properties": { + "amount": { + "type": "number", + "description": "fixed variable handling charge amount" + }, + "currency": { + "type": "string", + "description": "fixed variable handling charge currency type
                Click here to see Currency Codes" + } + }, + "example": { + "amount": 24.45, + "currency": "USD" + } + } + ] + }, + "rateElementBasis": { + "type": "string", + "description": "Specifies the charge upon which the variable handling percentage amount is calculated.", + "example": "NET_CHARGE_EXCLUDING_TAXES", + "enum": [ + "NET_CHARGE", + "NET_FREIGHT", + "BASE_CHARGE", + "NET_CHARGE_EXCLUDING_TAXES" + ] + } + }, + "description": "Specifies details about how to calculate variable handling charges at the shipment level. They can be based on a percentage of the shipping charges or a fixed amount. If indicated, 'rateLevelType' is required." + }, + "CustomsClearanceDetail_1": { + "required": [ + "commercialInvoice", + "commodities" + ], + "type": "object", + "properties": { + "regulatoryControls": { + "type": "array", + "description": "These are the regulatory controls applicable to the shipment.", + "example": "NOT_IN_FREE_CIRCULATION", + "items": { + "type": "string", + "enum": [ + "FOOD_OR_PERISHABLE", + "USMCA", + "NOT_APPLICABLE_FOR_LOW_VALUE_CUSTOMS_EXCEPTIONS", + "NOT_IN_FREE_CIRCULATION" + ] + } + }, + "brokers": { + "type": "array", + "description": "Conditional.
                Specify Broker information only if you are using Broker Select Option for your shipment.To be considered a valid, a country code must be specified in addition to one of the following address items: postal code, city, or location id.", + "items": { + "$ref": "#/components/schemas/BrokerDetail_1" + } + }, + "commercialInvoice": { + "$ref": "#/components/schemas/CommercialInvoice_1" + }, + "freightOnValue": { + "type": "string", + "description": "Specify the risk owner for the Freight shipment.This element is only mandatory or valid for Intra India shipments. ", + "example": "OWN_RISK", + "enum": [ + "CARRIER_RISK", + "OWN_RISK" + ] + }, + "dutiesPayment": { + "$ref": "#/components/schemas/Payment_1_1" + }, + "commodities": { + "type": "array", + "description": "Indicates the details about the dutiable packages. Maximum upto 999 commodities per shipment", + "items": { + "$ref": "#/components/schemas/Commodity_1" + } + }, + "recipientCustomsId": { + "$ref": "#/components/schemas/RecipientCustomsId" + }, + "customsOption": { + "$ref": "#/components/schemas/CustomsOptionDetail" + }, + "importerOfRecord": { + "description": "The descriptive data for the importer of Record for the shipment and their physical address, contact and account number information.", + "allOf": [ + { + "$ref": "#/components/schemas/Party_1_1" + } + ] + }, + "generatedDocumentLocale": { + "type": "string", + "description": "This is the locale for generated document.
                Example: en_US
                click here to see Locales
                Note: If the locale is left blank or an invalid locale is entered, an error message is returned in response.", + "example": "US" + }, + "exportDetail": { + "$ref": "#/components/schemas/ExportDetail_1_1" + }, + "totalCustomsValue": { + "description": "This is the total customs value.", + "allOf": [ + { + "$ref": "#/components/schemas/Money" + } + ] + }, + "partiesToTransactionAreRelated": { + "type": "boolean", + "description": "Parties To Transaction Are Related" + }, + "declarationStatementDetail": { + "$ref": "#/components/schemas/CustomsDeclarationStatementDetail_1" + }, + "isDocumentOnly": { + "type": "boolean", + "description": "Used to specify if a shipment is document shipment or not. Used only for International Express document shipments. Default value is false." + }, + "insuranceCharge": { + "description": "Amount paid to a third party for the purpose of insuring this shipment against damage or loss. Used to calculate estimated duties and taxes", + "allOf": [ + { + "$ref": "#/components/schemas/Money" + } + ] + } + }, + "description": "Required for International and intra-country Shipments. Information about this package that only applies to an international (export) shipment or return." + }, + "BrokerDetail_1": { + "type": "object", + "properties": { + "broker": { + "description": "'The descriptive data for the broker for the shipment and their physical address, contact and account number information.'", + "allOf": [ + { + "$ref": "#/components/schemas/Party_1_1" + }, + { + "required": [ + "address", + "contact" + ], + "properties": { + "address": { + "description": "Broker address details." + }, + "contact": { + "description": "Broker contact details." + } + } + } + ] + }, + "type": { + "type": "string", + "description": "Identifies the type of Broker.", + "example": "IMPORT", + "enum": [ + "IMPORT" + ] + } + }, + "description": "Broker details for the shipment", + "example": { + "broker": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneNumber": "1234567890", + "phoneExtension": 91, + "companyName": "Fedex", + "faxNumber": 1234567, + "stateTaxId": 1234567, + "fedralTaxId": "11-N-1745" + }, + "accountNumber": { + "value": 801472842 + }, + "tins": [ + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ] + }, + "type": "IMPORT" + } + }, + "CommercialInvoice_1": { + "type": "object", + "properties": { + "originatorName": { + "type": "string", + "description": "The originatorName that will populate the Commercial Invoice (or Pro Forma).", + "example": "originator Name" + }, + "comments": { + "type": "array", + "description": "The comments that will populate the Commercial Invoice (or Pro Forma). Only the comments specified in the first two indexes of the array will be printed on the invoice and other comments would be ignored as the limitation is set for only two indexes. It considers the comment which is in the first index as a Special Instructions, Hence the comment at first index will be printed under special instructions and the other will be printed at comments section in the Commercial Invoice Document.
                Example: comments", + "example": [ + "optional comments for the commercial invoice" + ], + "items": { + "type": "string" + } + }, + "customerReferences": { + "type": "array", + "description": "Additional customer reference data", + "items": { + "$ref": "#/components/schemas/CustomerReference" + } + }, + "taxesOrMiscellaneousCharge": { + "description": "Specifies Taxes Or Miscellaneous Charge", + "allOf": [ + { + "$ref": "#/components/schemas/Money" + } + ] + }, + "taxesOrMiscellaneousChargeType": { + "type": "string", + "description": "Specifies the Taxes Or Miscellaneous Charge Type", + "example": "COMMISSIONS", + "enum": [ + "COMMISSIONS", + "DISCOUNTS", + "HANDLING_FEES", + "OTHER", + "ROYALTIES_AND_LICENSE_FEES", + "TAXES" + ] + }, + "freightCharge": { + "$ref": "#/components/schemas/Money" + }, + "packingCosts": { + "$ref": "#/components/schemas/Money" + }, + "handlingCosts": { + "$ref": "#/components/schemas/Money" + }, + "declarationStatement": { + "type": "string", + "description": "The declaration statement that will populate the Commercial Invoice (or Pro Forma).
                Max length is 554
                Example: declarationStatement", + "example": "declarationStatement" + }, + "termsOfSale": { + "type": "string", + "description": "The termsOfSale that will populate the Commercial Invoice (or Pro Forma). Max length is 3
                Example: FCA", + "example": "FCA" + }, + "specialInstructions": { + "type": "string", + "description": "The special instructions that will populate the Commercial Invoice (or Pro Forma).
                Example: specialInstructions", + "example": "specialInstructions\"" + }, + "shipmentPurpose": { + "type": "string", + "description": "The reason for the shipment. Note: SOLD is not a valid purpose for a Proforma Invoice.", + "example": "REPAIR_AND_RETURN", + "enum": [ + "GIFT", + "NOT_SOLD", + "PERSONAL_EFFECTS", + "REPAIR_AND_RETURN", + "SAMPLE", + "SOLD" + ] + }, + "emailNotificationDetail": { + "$ref": "#/components/schemas/EmailDispositionDetail" + } + }, + "description": "Use this object to provide Commercial Invoice details. This element is required for electronic upload of CI data. It will serve to create/transmit an electronic Commercial Invoice through the FedEx system.
                Customers are responsible for printing their own Commercial Invoice.
                If you would like FedEx to generate a Commercial Invoice and transmit it to Customs for clearance purposes, you need to specify that in the 'ETDDetail/RequesteDocumentCopies' element.
                Support consists of a maximum of 99 commodity line items." + }, + "Payment_1_1": { + "type": "object", + "properties": { + "payor": { + "$ref": "#/components/schemas/Payor_1_1" + }, + "billingDetails": { + "$ref": "#/components/schemas/BillingDetails" + }, + "paymentType": { + "type": "string", + "description": "Indicates who and how the shipment will be paid for.\nRequired for Express and Ground.", + "enum": [ + "SENDER", + "RECIPIENT", + "THIRD_PARTY", + "BILL_ANONYMOUSLY", + "COLLECT", + "CASH", + "ACCOUNT", + "CONSIGNEE" + ] + } + }, + "description": "This is a payment type, basically indicates who is the payor for the shipment.Conditional required for International Shipments.", + "example": { + "payor": { + "responsibleParty": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "38127", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneNumber": "1234567890", + "phoneExtension": "phone extension", + "companyName": "Fedex", + "faxNumber": "fax number", + "stateTaxId": "state tax identifier", + "fedralTaxId": "federal tax identifier" + }, + "accountNumber": { + "value": 123456789 + }, + "tins": [ + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + }, + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ], + "deliveryInstructions": "deliveryInstructions" + } + }, + "billingDetails": { + "billingCode": "billingCode", + "billingType": "billingType", + "aliasId": "aliasId", + "accountNickname": "accountNickname", + "accountNumber": 123456789, + "accountNumberCountryCode": "US" + }, + "paymentType": "SENDER" + } + }, + "Payor_1_1": { + "type": "object", + "properties": { + "responsibleParty": { + "$ref": "#/components/schemas/Party_2_1" + } + }, + "description": "Information about the person who is paying for the shipment. Not applicable for credit card payment. ", + "example": { + "responsibleParty": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "38127", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "parsedPersonName": { + "firstName": "first name", + "lastName": "last name", + "middleName": "middle name", + "suffix": "suffix" + }, + "phoneNumber": "1234567890", + "phoneExtension": "phone extension", + "companyName": "Fedex", + "faxNumber": "fax number" + }, + "accountNumber": { + "value": 123456789 + }, + "tins": [ + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + }, + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ], + "deliveryInstructions": "deliveryInstructions" + } + } + }, + "Party_2_1": { + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/Address_1" + }, + "contact": { + "$ref": "#/components/schemas/Contact_1" + }, + "accountNumber": { + "$ref": "#/components/schemas/PartyAccountNumber" + }, + "tins": { + "type": "array", + "description": "Optional\nUsed for adding the tax id", + "items": { + "$ref": "#/components/schemas/TaxpayerIdentification" + } + }, + "deliveryInstructions": { + "type": "string", + "description": "Specify the delivery instructions to be added with the shipment. Use with Ground Home Delivery.
                Example: Delivery Instructions", + "example": "Instruction 1" + } + }, + "description": "attributes for a Party to a transaction including the physical address, contact information and account number information. ", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "38127", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "parsedPersonName": { + "firstName": "first name", + "lastName": "last name", + "middleName": "middle name", + "suffix": "suffix" + }, + "phoneNumber": "1234567890", + "phoneExtension": "phone extension", + "companyName": "Fedex", + "faxNumber": "fax number", + "stateTaxId": "state tax identifier", + "fedralTaxId": "federal tax identifer" + }, + "accountNumber": { + "value": 123456789 + }, + "tins": [ + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + }, + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ], + "deliveryInstructions": "deliveryInstructions" + } + }, + "Commodity_1": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "unitPrice": { + "$ref": "#/components/schemas/Money" + }, + "additionalMeasures": { + "type": "array", + "description": "Optional
                Contains only additional quantitative information other than weight and quantity to calculate duties and taxes.", + "items": { + "$ref": "#/components/schemas/AdditionalMeasures" + } + }, + "numberOfPieces": { + "type": "integer", + "description": "Required.
                Indicate the number of pieces associated with the commodity. Number of pieces cannot be a negative value or exceed 9,999.
                Example: 12", + "format": "int32", + "example": 12 + }, + "quantity": { + "type": "integer", + "description": "Required
                Total number of units (using quantityUnits as the unit of measure) of this commodity present in the shipment. Used to estimate duties and taxes.
                Example: 125", + "format": "int32", + "example": 125 + }, + "quantityUnits": { + "type": "string", + "description": "Required
                Unit of measure for the above quantity. Used to estimate duties and taxes
                Example: Ea", + "example": "Ea" + }, + "customsValue": { + "$ref": "#/components/schemas/Customs_Money" + }, + "countryOfManufacture": { + "type": "string", + "description": "Required
                Maximum allowed length is 4.
                Example: US", + "example": "US" + }, + "cIMarksAndNumbers": { + "type": "string", + "description": "An identifying mark or number used on the packagingof a shipment to help customers identify a particularshipment
                Example: 87123", + "example": "87123" + }, + "harmonizedCode": { + "type": "string", + "description": "This is to specify the Harmonized Tariff System (HTS) code to meet U.S. and foreign governments' customs requirements. These are mainly used to estimate the duties and taxes.
                Example: 0613
                To research the classification for your commodity, use the FedEx Global Trade Manager online at fedex.com/gtm. You will find country-specific information to determine whether your commodity is considered to be a document or non-document for your destination.", + "example": "0613" + }, + "description": { + "type": "string", + "description": "Required
                ScrewsMaximum allowed 450 characters.
                Example: description", + "example": "description" + }, + "name": { + "type": "string", + "description": "Required
                Commodity name
                Example: non-threaded rivets", + "example": "non-threaded rivets" + }, + "weight": { + "$ref": "#/components/schemas/Weight" + }, + "exportLicenseNumber": { + "type": "string", + "description": "Specifies the export license number for the shipment
                Example: 26456", + "example": "26456" + }, + "exportLicenseExpirationDate": { + "type": "string", + "description": "Specifies the export license expiration date for the shipment
                Format YYYY-MM-DD
                Example : 2009-04-12", + "format": "date-time" + }, + "partNumber": { + "type": "string", + "description": "a part number for the item
                Example: 167", + "example": "167" + }, + "purpose": { + "type": "string", + "description": "This field is used for calculation of duties and taxes.

                Valid values are : BUSINESS and CONSUMER", + "example": "BUSINESS", + "enum": [ + "BUSINESS", + "CONSUMER" + ] + }, + "usmcaDetail": { + "$ref": "#/components/schemas/UsmcaCommodityDetail" + } + } + }, + "ExportDetail_1_1": { + "type": "object", + "properties": { + "destinationControlDetail": { + "$ref": "#/components/schemas/DestinationControlDetail" + }, + "b13AFilingOption": { + "type": "string", + "description": "Specify the filing option being exercised. Required for non-document shipments originating in Canada destinated for any country other than Canada, the United States, Puerto Rico, or the U.S. Virgin Islands", + "example": "NOT_REQUIRED", + "enum": [ + "NOT_REQUIRED", + "MANUALLY_ATTACHED", + "FILED_ELECTRONICALLY", + "SUMMARY_REPORTING", + "FEDEX_TO_STAMP" + ] + }, + "exportComplianceStatement": { + "type": "string", + "description": "For US export shipments requiring an EEI, enter the ITN number received from AES when you filed your shipment or the FTR (Foreign Trade Regulations) exemption number.The proper format for an ITN number is AES XYYYYMMDDNNNNNN where YYYYMMDD is date and NNNNNN are numbers generated by the AES.
                Example: AESX20220714987654
                Note: The ITN or FTR exemption number you submit in the ship request prints on the international shipping label.

                For CA export shipments,it can be Proof of report number(15-32 alphanumeric) ,Summary proof of report number(7-32 alphanumeric) or Exemption number(2 digit) based on the selected b13AFilingOption.
                Example: 98765432107654321(POR number), 7654321(Summary POR number) and 02(Exemption number).", + "example": "12345678901234567" + }, + "permitNumber": { + "type": "string", + "description": "This is a Permit Number. This field is applicable only to Canada export non-document shipments of any value to any destination. No special characters are allowed.
                Example: 12345", + "example": "12345" + } + }, + "description": "Conditional\n Export Detail Used for US or CA exports" + }, + "CustomsDeclarationStatementDetail_1": { + "required": [ + "usmcaLowValueStatementDetail" + ], + "type": "object", + "properties": { + "usmcaLowValueStatementDetail": { + "$ref": "#/components/schemas/UsmcaLowValueStatementDetail" + }, + "types": { + "type": "array", + "description": "It indicates the different statements, declarations, acts, and/or certifications that apply to this shipment.", + "items": { + "type": "string", + "example": "USMCA_LOW_VALUE" + } + } + }, + "description": "Specifies about the statements to be declared for Customs." + }, + "LabelSpecification_1": { + "type": "object", + "properties": { + "printedLabelOrigin": { + "$ref": "#/components/schemas/ContactAndAddress_1" + }, + "labelFormatType": { + "type": "string", + "description": "Specifies the label Format Type", + "example": "COMMON2D", + "default": "COMMON2D", + "enum": [ + "COMMON2D", + "LABEL_DATA_ONLY" + ] + }, + "labelOrder": { + "type": "string", + "description": "This is the order of the Shipping label/documents to be generated.", + "example": "SHIPPING_LABEL_FIRST", + "enum": [ + "SHIPPING_LABEL_FIRST", + "SHIPPING_LABEL_LAST" + ] + }, + "customerSpecifiedDetail": { + "$ref": "#/components/schemas/CustomerSpecifiedLabelDetail_1" + }, + "labelStockType": { + "type": "string", + "description": "Indicates the Label Stock Type used.", + "example": "PAPER_7X475", + "default": "PAPER_85X11_TOP_HALF_LABEL", + "enum": [ + "PAPER_4X6", + "PAPER_4X675", + "PAPER_4X8", + "PAPER_4X9", + "PAPER_7X475", + "PAPER_85X11_BOTTOM_HALF_LABEL", + "PAPER_85X11_TOP_HALF_LABEL", + "PAPER_LETTER", + "STOCK_4X675_LEADING_DOC_TAB", + "STOCK_4X8", + "STOCK_4X9_LEADING_DOC_TAB", + "STOCK_4X6", + "STOCK_4X675_TRAILING_DOC_TAB", + "STOCK_4X9_TRAILING_DOC_TAB", + "STOCK_4X675", + "STOCK_4X9", + "STOCK_4X85_TRAILING_DOC_TAB", + "STOCK_4X105_TRAILING_DOC_TAB" + ] + }, + "labelRotation": { + "type": "string", + "description": "Applicable only to documents produced on thermal printers with roll stock.", + "example": "UPSIDE_DOWN", + "enum": [ + "LEFT", + "RIGHT", + "UPSIDE_DOWN", + "NONE" + ] + }, + "imageType": { + "type": "string", + "description": "Specify the image format used for a shipping document.", + "example": "PDF", + "default": "PDF", + "enum": [ + "ZPLII", + "EPL2", + "PDF", + "PNG" + ] + }, + "labelPrintingOrientation": { + "type": "string", + "description": "Applicable only to documents produced on thermal printers with roll stock.", + "example": "TOP_EDGE_OF_TEXT_FIRST", + "default": "TOP_EDGE_OF_TEXT_FIRST", + "enum": [ + "BOTTOM_EDGE_OF_TEXT_FIRST", + "TOP_EDGE_OF_TEXT_FIRST" + ] + }, + "returnedDispositionDetail": { + "$ref": "#/components/schemas/LabelSpecification_returnedDispositionDetail" + }, + "resolution": { + "type": "integer", + "description": "Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203.", + "example": 300 + } + }, + "description": "These are label specification details includes the image type, printer format, and label stock for label. Can also specify specific details such as doc-tab content, regulatory labels, and masking data on the label." + }, + "CustomerSpecifiedLabelDetail_1": { + "type": "object", + "properties": { + "maskedData": { + "type": "array", + "description": "Controls which data/sections will be suppressed.", + "example": [ + "PACKAGE_SEQUENCE_AND_COUNT", + "TOTAL_WEIGHT" + ], + "items": { + "type": "string", + "enum": [ + "CUSTOMS_VALUE", + "DIMENSIONS", + "DUTIES_AND_TAXES_PAYOR_ACCOUNT_NUMBER", + "FREIGHT_PAYOR_ACCOUNT_NUMBER", + "INSURED_VALUE", + "PACKAGE_SEQUENCE_AND_COUNT", + "SECONDARY_BARCODE", + "SHIPPER_ACCOUNT_NUMBER", + "SHIPPER_INFORMATION", + "SUPPLEMENTAL_LABEL_DOC_TAB", + "TERMS_AND_CONDITIONS", + "TOTAL_WEIGHT", + "TRANSPORTATION_CHARGES_PAYOR_ACCOUNT_NUMBER" + ] + } + }, + "regulatoryLabels": { + "type": "array", + "description": "Specifies details needed to generate any label artifacts required due to regulatory requirements", + "items": { + "$ref": "#/components/schemas/RegulatoryLabelContentDetail" + } + }, + "docTabContent": { + "$ref": "#/components/schemas/DocTabContent_1" + }, + "additionalLabels": { + "type": "array", + "description": "Specify how the additional details to be provided on the labels.", + "items": { + "$ref": "#/components/schemas/AdditionalLabelsDetail" + } + } + }, + "description": "Allows customer-specified control of label content" + }, + "DocTabContent_1": { + "type": "object", + "properties": { + "docTabContentType": { + "type": "string", + "description": "Doc Tab Content Type", + "example": "BARCODED", + "enum": [ + "BARCODED", + "CUSTOM", + "MINIMUM", + "STANDARD", + "ZONE001" + ] + }, + "zone001": { + "$ref": "#/components/schemas/DocTabContentZone001_1" + }, + "barcoded": { + "$ref": "#/components/schemas/DocTabContentBarcoded_1" + } + }, + "description": "Specifies details of doc tab content" + }, + "DocTabContentZone001_1": { + "type": "object", + "properties": { + "docTabZoneSpecifications": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DocTabZoneSpecification" + } + } + }, + "description": "Customer specified content with some standard values." + }, + "DocTabContentBarcoded_1": { + "type": "object", + "properties": { + "symbology": { + "type": "string", + "description": "Barcode Symbology Type", + "example": "UCC128", + "enum": [ + "CODABAR", + "CODE128", + "CODE128_WIDEBAR", + "CODE128B", + "CODE128C", + "CODE39", + "CODE93", + "I2OF5", + "MANUAL", + "PDF417", + "POSTNET", + "QR_CODE", + "UCC128" + ] + }, + "specification": { + "$ref": "#/components/schemas/DocTabZoneSpecification" + } + }, + "description": "Indicates the details of barcode content." + }, + "ShippingDocumentSpecification_1": { + "type": "object", + "properties": { + "generalAgencyAgreementDetail": { + "$ref": "#/components/schemas/GeneralAgencyAgreementDetail_1" + }, + "returnInstructionsDetail": { + "$ref": "#/components/schemas/ReturnInstructionsDetail_1" + }, + "op900Detail": { + "$ref": "#/components/schemas/Op900Detail_1" + }, + "shippingDocumentTypes": { + "type": "array", + "description": "Conditionally required in order to obtain shipping documents. \n\nIndicates the types of shipping documents requested by the shipper\n\n", + "items": { + "type": "string", + "example": "[\"RETURN_INSTRUCTIONS\",\"DANGEROUS_GOODS_SHIPPERS_DECLARATION\"]", + "enum": [ + "CERTIFICATE_OF_ORIGIN", + "COMMERCIAL_INVOICE", + "CUSTOM_PACKAGE_DOCUMENT", + "CUSTOM_SHIPMENT_DOCUMENT", + "CUSTOMER_SPECIFIED_LABELS", + "EXPORT_DECLARATION", + "DANGEROUS_GOODS_SHIPPERS_DECLARATION", + "FREIGHT_ADDRESS_LABEL", + "GENERAL_AGENCY_AGREEMENT", + "LABEL", + "USMCA_CERTIFICATION_OF_ORIGIN", + "USMCA_COMMERCIAL_INVOICE_CERTIFICATION_OF_ORIGIN", + "OP_900", + "PENDING_SHIPMENT_EMAIL_NOTIFICATION", + "PRO_FORMA_INVOICE", + "RETURN_INSTRUCTIONS", + "FEDEX_FREIGHT_STRAIGHT_BILL_OF_LADING", + "VICS_BILL_OF_LADING" + ] + } + }, + "certificateOfOrigin": { + "$ref": "#/components/schemas/CertificateOfOriginDetail_1" + }, + "commercialInvoiceDetail": { + "$ref": "#/components/schemas/CommercialInvoiceDetail_1" + }, + "usmcaCertificationOfOriginDetail": { + "$ref": "#/components/schemas/UsmcaCertificationOfOriginDetail_1" + }, + "usmcaCommercialInvoiceCertificationOfOriginDetail": { + "$ref": "#/components/schemas/UsmcaCommercialInvoiceCertificationOfOriginDetail_1" + }, + "dangerousGoodsShippersDeclarationDetail": { + "$ref": "#/components/schemas/DangerousGoodsShippersDeclarationDetail_1" + } + }, + "description": "This field contains all data required for additional (non-label) shipping documents to be produced with a specific shipment." + }, + "GeneralAgencyAgreementDetail_1": { + "type": "object", + "properties": { + "documentFormat": { + "$ref": "#/components/schemas/ShippingDocumentFormat_1" + } + }, + "description": "Use this object to specify details to generate general agency agreement detail." + }, + "ShippingDocumentFormat_1": { + "type": "object", + "properties": { + "provideInstructions": { + "type": "boolean", + "description": "For those shipping document types which have both a \"form\" and \"instructions\" component (e.g General Agency Agreement), this field indicates whether to provide the instructions.
                Example: true", + "example": true + }, + "optionsRequested": { + "$ref": "#/components/schemas/DocumentFormatOptionsRequested" + }, + "stockType": { + "type": "string", + "description": "Specifies the label stock type. Lists the correct type of paper for the Freight address label option.Specify valid value PAPER_LETTER", + "example": "PAPER_LETTER", + "enum": [ + "PAPER_LETTER" + ] + }, + "dispositions": { + "type": "array", + "description": "Specifies how to create, organize, and return the document\n\n", + "items": { + "$ref": "#/components/schemas/ShippingDocumentDispositionDetail_1" + } + }, + "locale": { + "$ref": "#/components/schemas/Locale" + }, + "docType": { + "type": "string", + "description": "Specify the image format used for a shipping document.", + "example": "PDF", + "enum": [ + "PDF" + ] + }, + "customDocumentIdentifier": { + "type": "string", + "description": "Used to identify custom documents", + "example": "custom document" + } + }, + "description": "Shipping Document Format, allow ImageType of PDF and StockType of OP_900_LL or ImageType of Text and StockType of OP_900_LL_B. Other elements are optional" + }, + "ShippingDocumentDispositionDetail_1": { + "type": "object", + "properties": { + "eMailDetail": { + "$ref": "#/components/schemas/ShippingDocumentEmailDetail_1" + }, + "dispositionType": { + "type": "string", + "description": "Values in this field specify how to create and return the document.", + "example": "CONFIRMED", + "enum": [ + "CONFIRMED", + "DEFERRED_QUEUED", + "DEFERRED_RETURNED", + "DEFERRED_STORED", + "EMAILED", + "QUEUED", + "RETURNED", + "STORED" + ] + } + }, + "description": "Each occurrence of this class specifies a particular way in which a kind of shipping document is to be produced and provided." + }, + "ShippingDocumentEmailDetail_1": { + "required": [ + "eMailRecipients" + ], + "type": "object", + "properties": { + "eMailRecipients": { + "type": "array", + "description": "Shipping Document Email Recipients array", + "items": { + "$ref": "#/components/schemas/ShippingDocumentEmailRecipient" + } + }, + "locale": { + "$ref": "#/components/schemas/Locale" + }, + "grouping": { + "type": "string", + "description": "Indicates the Shipping Document Email Grouping Type", + "example": "NONE", + "enum": [ + "BY_RECIPIENT", + "NONE" + ] + } + }, + "description": "Specifies how to e-mail shipping documents." + }, + "ReturnInstructionsDetail_1": { + "type": "object", + "properties": { + "customText": { + "type": "string", + "description": "Specify additional customer provided text to be inserted into the return document.
                Example: This is additional text printed on Return instr", + "example": "This is additional text printed on Return instr" + }, + "documentFormat": { + "$ref": "#/components/schemas/ReturnShippingDocumentFormat_1" + } + }, + "description": "Specifies the production of the return document (document characteristics and printing). This information will print on the Return Instructions returned in the transaction for the Printed Return Label." + }, + "ReturnShippingDocumentFormat_1": { + "type": "object", + "properties": { + "provideInstructions": { + "type": "boolean", + "description": "For those shipping document types which have both a \"form\" and \"instructions\" component (e.g General Agency Agreement), this field indicates whether to provide the instructions.
                Example: true", + "example": true + }, + "optionsRequested": { + "$ref": "#/components/schemas/DocumentFormatOptionsRequested" + }, + "stockType": { + "type": "string", + "description": "Specifies the label stock type. Lists the correct type of paper for the Freight address label option.Specify valid value PAPER_LETTER", + "example": "PAPER_LETTER", + "enum": [ + "PAPER_LETTER" + ] + }, + "dispositions": { + "type": "array", + "description": "Specifies how to create, organize, and return the document\n\n", + "items": { + "$ref": "#/components/schemas/ShippingDocumentDispositionDetail_1" + } + }, + "locale": { + "$ref": "#/components/schemas/Locale" + }, + "docType": { + "type": "string", + "description": "Specify the image format used for a shipping document.", + "example": "PNG", + "enum": [ + "PNG", + "PDF" + ] + } + }, + "description": " Shipping Document Format, allow ImageType of PDF and StockType of OP_900_LL or ImageType of Text and StockType of OP_900_LL_B. Other elements are optional" + }, + "Op900Detail_1": { + "type": "object", + "properties": { + "customerImageUsages": { + "type": "array", + "description": "Specifies the usage and identification of customer supplied imagesto be used on this document", + "items": { + "$ref": "#/components/schemas/CustomerImageUsage" + } + }, + "signatureName": { + "type": "string", + "description": ">Data field to be used when a name is to be printed in the document instead of (or in addition to) a signature image.
                Example: Signature Name", + "example": "Signature Name" + }, + "documentFormat": { + "$ref": "#/components/schemas/ShippingDocumentFormat_1" + } + }, + "description": "Use this object to specify details to generate the OP-900 document for hazardous material packages." + }, + "CertificateOfOriginDetail_1": { + "type": "object", + "properties": { + "customerImageUsages": { + "type": "array", + "description": "Specifies the usage and identification of customer supplied images to be used on this document.", + "items": { + "$ref": "#/components/schemas/CustomerImageUsage" + } + }, + "documentFormat": { + "$ref": "#/components/schemas/ShippingDocumentFormat_1" + } + }, + "description": "The instructions indicating how to print the Certificate of Origin ( e.g. whether or not to include the instructions, image type, etc ...)" + }, + "CommercialInvoiceDetail_1": { + "type": "object", + "properties": { + "customerImageUsages": { + "type": "array", + "description": "Specifies the usage and identification of customer supplied images to be used on this document.", + "items": { + "$ref": "#/components/schemas/CustomerImageUsage_2" + } + }, + "documentFormat": { + "$ref": "#/components/schemas/ShippingDocumentFormat_1" + } + }, + "description": "The instructions indicating how to print the Commercial Invoice( e.g. image type) Specifies characteristics of a shipping document to be produced." + }, + "UsmcaCertificationOfOriginDetail_1": { + "type": "object", + "properties": { + "customerImageUsages": { + "type": "array", + "description": "Specifies the usage and identification of customer supplied images to be used on this document.", + "items": { + "$ref": "#/components/schemas/CustomerImageUsage" + } + }, + "documentFormat": { + "$ref": "#/components/schemas/ShippingDocumentFormat_1" + }, + "blanketPeriod": { + "$ref": "#/components/schemas/BlanketPeriod" + }, + "certifierSpecification": { + "type": "string", + "description": "Specify the certifier specification type.", + "enum": [ + "EXPORTER", + "IMPORTER", + "PRODUCER" + ] + }, + "importerSpecification": { + "type": "string", + "description": "Specify the importer specification type.", + "enum": [ + "UNKNOWN", + "VARIOUS" + ] + }, + "producerSpecification": { + "type": "string", + "description": "Specify the producer specification type.", + "enum": [ + "AVAILABLE_UPON_REQUEST", + "SAME_AS_EXPORTER", + "VARIOUS" + ] + }, + "producer": { + "description": "Descriptive data identifying the party responsible.", + "allOf": [ + { + "$ref": "#/components/schemas/ProducerParty_1" + } + ] + }, + "certifierJobTitle": { + "type": "string", + "description": "Specify the job title of the certifier.", + "example": "Senior Manager" + } + }, + "description": "The instructions indicating how to print the USMCA Certification of Origin ( e.g. whether or not to include the instructions, image type, etc ...)" + }, + "ProducerParty_1": { + "required": [ + "address", + "contact" + ], + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/PartyAddress" + }, + "contact": { + "$ref": "#/components/schemas/PartyContact" + }, + "accountNumber": { + "$ref": "#/components/schemas/PartyAccountNumber" + }, + "tins": { + "type": "array", + "description": "Tax identification number of the shipper.", + "items": { + "$ref": "#/components/schemas/TaxpayerIdentification" + } + } + }, + "description": "Attributes for a Party to a transaction including the physical address, contact information and account number information. ", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "000", + "phoneNumber": "9612345671", + "companyName": "Fedex" + }, + "accountNumber": { + "value": "801472842" + }, + "tins": [ + { + "number": "123567", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ] + } + }, + "UsmcaCommercialInvoiceCertificationOfOriginDetail_1": { + "type": "object", + "properties": { + "customerImageUsages": { + "type": "array", + "description": "Specifies the usage and identification of customer supplied images to be used on this document.", + "items": { + "$ref": "#/components/schemas/CustomerImageUsage" + } + }, + "documentFormat": { + "$ref": "#/components/schemas/ShippingDocumentFormat_1" + }, + "certifierSpecification": { + "type": "string", + "description": "Specify the certifier specification type.", + "enum": [ + "EXPORTER", + "IMPORTER", + "PRODUCER" + ] + }, + "producerSpecification": { + "type": "string", + "description": "Specify the producer specification type.", + "enum": [ + "AVAILABLE_UPON_REQUEST", + "SAME_AS_EXPORTER", + "VARIOUS" + ] + }, + "producer": { + "description": "Descriptive data identifying the party responsible.", + "allOf": [ + { + "$ref": "#/components/schemas/ProducerParty_1" + } + ] + }, + "certifierJobTitle": { + "type": "string", + "description": "Specify the job title of the certifier.", + "example": "Senior Manager" + } + }, + "description": "The instructions indicating commercial invoice certification of origin." + }, + "DangerousGoodsShippersDeclarationDetail_1": { + "type": "object", + "properties": { + "documentFormat": { + "$ref": "#/components/schemas/ShippingDocumentFormat_1" + }, + "customerImageUsages": { + "type": "array", + "description": "Specifies the usage and identification of customer supplied imagesto be used on this document.", + "items": { + "$ref": "#/components/schemas/CustomerImageUsage" + } + } + } + }, + "RequestedPackageLineItem_1": { + "required": [ + "weight" + ], + "type": "object", + "properties": { + "sequenceNumber": { + "type": "integer", + "description": "Optional. Used only with individual packages as a unique identifier of each requested package. Will be adjusted at the shipment level as pieces are added. ", + "example": 1 + }, + "subPackagingType": { + "type": "string", + "description": "This is a sub package type for the package. If the value is TUBE, a non-machinable surcharge will apply to SmartPost shipments
                Click here to see Sub Package Types", + "example": "BUCKET" + }, + "customerReferences": { + "type": "array", + "description": "This object lists the types of customer references associsted with the package along with the given values.", + "items": { + "$ref": "#/components/schemas/CustomerReference" + } + }, + "declaredValue": { + "$ref": "#/components/schemas/Money" + }, + "weight": { + "$ref": "#/components/schemas/Weight" + }, + "dimensions": { + "description": "Conditionally required. The dimensions of the package; length, width & height. All three dimensions must be indicated. Dimensions are required with all FedEx Freight Services like \"INTERNATIONAL_PRIORITY_FREIGHT\" and \"INTERNATIONAL_ECONOMY_FREIGHT\"", + "allOf": [ + { + "$ref": "#/components/schemas/Dimensions" + } + ] + }, + "groupPackageCount": { + "type": "integer", + "description": "This is a package count associated with Group packages This count cannot exceed Open Ship package count.
                Example: 25", + "format": "int32", + "example": 25 + }, + "itemDescriptionForClearance": { + "type": "string", + "description": "Package description used for clearance. The value is required for intra-UAE. and is optional for intra-EU.", + "example": "description" + }, + "contentRecord": { + "type": "array", + "description": "Specifies the contents of the package.", + "items": { + "$ref": "#/components/schemas/ContentRecord" + } + }, + "itemDescription": { + "type": "string", + "description": "Required for Email Label return shipments.
                This is the item description for the package.
                Example: item description for the package", + "example": "item description for the package" + }, + "variableHandlingChargeDetail": { + "$ref": "#/components/schemas/VariableHandlingChargeDetail_1" + }, + "packageSpecialServices": { + "$ref": "#/components/schemas/PackageSpecialServicesRequested_1" + } + } + }, + "PackageSpecialServicesRequested_1": { + "type": "object", + "properties": { + "specialServiceTypes": { + "type": "array", + "description": "The list of all special services requested for the package.
                Click here to see Package level Special Service Types", + "example": [ + "ALCOHOL", + "NON_STANDARD_CONTAINER", + "DANGEROUS_GOODS", + "SIGNATURE_OPTION", + "PRIORITY_ALERT" + ], + "items": { + "type": "string" + } + }, + "priorityAlertDetail": { + "$ref": "#/components/schemas/PriorityAlertDetail" + }, + "signatureOptionType": { + "type": "string", + "description": "Signature Option Type
                ADULT - Adult signature required, at recipient's address.
                DIRECT - Signature required, at recipient's address.
                INDIRECT - Signature required, alternate address is accepted.
                NO_SIGNATURE_REQUIRED - Signature is not required.
                SERVICE_DEFAULT - Signature handled as per current Service Guide.", + "example": "ADULT", + "enum": [ + "SERVICE_DEFAULT", + "NO_SIGNATURE_REQUIRED", + "INDIRECT", + "DIRECT", + "ADULT" + ] + }, + "signatureOptionDetail": { + "$ref": "#/components/schemas/SignatureOptionDetail" + }, + "alcoholDetail": { + "$ref": "#/components/schemas/AlcoholDetail" + }, + "dangerousGoodsDetail": { + "$ref": "#/components/schemas/DangerousGoodsDetail_1" + }, + "packageCODDetail": { + "$ref": "#/components/schemas/PackageCODDetail_1" + }, + "pieceCountVerificationBoxCount": { + "type": "integer", + "description": "Piece Count Verification Box Count", + "format": "int32" + }, + "batteryDetails": { + "type": "array", + "description": "Provides details about the batteries or cells that are contained within this specific package.", + "items": { + "$ref": "#/components/schemas/BatteryDetail" + } + }, + "dryIceWeight": { + "$ref": "#/components/schemas/Weight" + }, + "standaloneBatteryDetails": { + "type": "array", + "description": "Provide details about the batteries or cells that are contained within this specific package.", + "items": { + "$ref": "#/components/schemas/StandaloneBatteryDetails" + } + } + }, + "description": "specifies the Package Special Services Requested" + }, + "DangerousGoodsDetail_1": { + "type": "object", + "properties": { + "regulation": { + "type": "string", + "description": "The hazardous package shipment regulation type", + "example": "DOT", + "enum": [ + "ADR", + "DOT", + "IATA", + "ORMD" + ] + }, + "accessibility": { + "type": "string", + "description": "Dangerous Goods Accessibility Type. Inaccessible means it does not have to be accessable on the aircraft. Accessible means it must be fully accessible on the aircraft, and is more strictly controlled.", + "example": "INACCESSIBLE", + "enum": [ + "ACCESSIBLE", + "INACCESSIBLE" + ] + }, + "options": { + "type": "array", + "description": "Indicate type of DG being reported.
                - SMALL_QUANTITY_EXCEPTION : It is applicable for only One Piece shipment.", + "example": [ + "LIMITED_QUANTITIES_COMMODITIES", + "ORM_D" + ], + "items": { + "type": "string", + "xml": { + "name": "options" + }, + "enum": [ + "HAZARDOUS_MATERIALS", + "BATTERY", + "ORM_D", + "REPORTABLE_QUANTITIES", + "SMALL_QUANTITY_EXCEPTION", + "LIMITED_QUANTITIES_COMMODITIES" + ] + } + }, + "cargoAircraftOnly": { + "type": "boolean", + "description": "cargoAircraftOnly is an optional field in the request which accepts Boolean values in order to create Cargo Aircraft only shipment. its default value is set as False", + "example": false + }, + "dangerousGoodsDescriptors": { + "type": "array", + "description": "Description of the dangerous good in the package", + "example": "EMERGENCY_CONTACT_PHONE_REQUIRED", + "items": { + "type": "string", + "enum": [ + "ALCOHOLIC_BEVERAGE", + "DRY_ICE", + "EMERGENCY_CONTACT_PHONE_REQUIRED", + "EXCEPTED_QUANTITIES", + "INFECTIOUS_SUBSTANCE", + "RADIOACTIVE" + ] + } + }, + "packingOption": { + "type": "string", + "description": "The packing option for the dangerous goods package", + "example": "OVERPACK", + "enum": [ + "OVERPACK" + ] + }, + "referenceId": { + "type": "string", + "description": "A unique reference id that matches the package to a package configuration. This is populated if the client provided a package configuration for several packages that have the exact same dangerous goods content.", + "example": "2" + }, + "containers": { + "type": "array", + "description": "This specifies the commodities in the container. A container may also be known as a dangerous goods package, but this is not necessarily the same as the 'package' or handling unit that a courier transports for shipping. If the handling unit is an OVERPACK, then this container is inside the handling unit.", + "items": { + "$ref": "#/components/schemas/DangerousGoodsContainer_1" + } + }, + "packaging": { + "$ref": "#/components/schemas/DangerousGoodsDetail_packaging" + }, + "signatory": { + "$ref": "#/components/schemas/DangerousGoodsDetail_signatory" + }, + "emergencyContactNumber": { + "type": "string", + "description": "Phone number for a responsible party that can be contacted in case of an emergency situation with the dangerous goods", + "example": "12281234567" + }, + "offeror": { + "type": "string", + "description": "Specifies the name of the offeror.", + "example": "John Doe" + }, + "infectiousSubstanceResponsibleContact": { + "$ref": "#/components/schemas/DangerousGoodsDetail_infectiousSubstanceResponsibleContact" + }, + "additionalHandling": { + "type": "string", + "description": "Specifies the additional handling instructions.", + "example": "Keep all hazardous materials stored properly." + }, + "radioactivityDetail": { + "$ref": "#/components/schemas/DangerousGoodsDetail_radioactivityDetail" + }, + "regulatoryLineItems": { + "type": "array", + "description": "Describes the regulatory data elements required to move the package.", + "items": { + "$ref": "#/components/schemas/DocumentLineItem_1" + } + } + }, + "description": "Provides the details on the dangerous goods" + }, + "DangerousGoodsContainer_1": { + "required": [ + "packingType" + ], + "type": "object", + "properties": { + "offeror": { + "type": "string", + "description": " Indicate the offerror name or contract number.", + "example": "Offeror" + }, + "hazardousCommodities": { + "type": "array", + "description": "These are hazardous commodities content.", + "items": { + "$ref": "#/components/schemas/HazardousCommodityContent_1" + } + }, + "numberOfContainers": { + "type": "integer", + "description": "Indicates the number of container with identical dangerous goods configuration.\n", + "format": "int32" + }, + "containerType": { + "type": "string", + "description": "Indicate the type of this dangerous goods container, as specified by the IATA packing instructions.
                Example: steel cylinder, fiberboard box, plastic jerrican and steel drum. etc.", + "example": "container" + }, + "emergencyContactNumber": { + "$ref": "#/components/schemas/PhoneNumber" + }, + "packaging": { + "$ref": "#/components/schemas/HazardousCommodityPackagingDetail" + }, + "packingType": { + "type": "string", + "description": "This is Hazardous Container Packing Type.", + "example": "ALL_PACKED_IN_ONE", + "enum": [ + "ALL_PACKED_IN_ONE" + ] + }, + "radioactiveContainerClass": { + "type": "string", + "description": "Indicate the packaging type of the container to pack the radioactive materials.", + "enum": [ + "EXCEPTED_PACKAGE", + "INDUSTRIAL_IP1", + "INDUSTRIAL_IP2", + "INDUSTRIAL_IP3", + "TYPE_A", + "TYPE_C", + "TYPE_B_M", + "TYPE_B_U" + ] + } + } + }, + "HazardousCommodityContent_1": { + "type": "object", + "properties": { + "quantity": { + "$ref": "#/components/schemas/HazardousCommodityQuantityDetail" + }, + "innerReceptacles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HazardousCommodityInnerReceptacleDetail_1" + } + }, + "options": { + "$ref": "#/components/schemas/HazardousCommodityOptionDetail" + }, + "description": { + "$ref": "#/components/schemas/HazardousCommodityDescription_1" + } + }, + "description": "Documents the kind and quantity of an individual hazardous commodity in a package." + }, + "HazardousCommodityInnerReceptacleDetail_1": { + "type": "object", + "properties": { + "quantity": { + "$ref": "#/components/schemas/HazardousCommodityQuantityDetail" + } + } + }, + "HazardousCommodityDescription_1": { + "required": [ + "packingGroup", + "reportableQuantity" + ], + "type": "object", + "properties": { + "sequenceNumber": { + "type": "integer", + "description": "RequiredSpecify the sequence number", + "format": "int32", + "example": 34 + }, + "processingOptions": { + "type": "array", + "description": "Indicates any special processing options to be applied to the description of the dangerous goods commodity", + "items": { + "type": "string", + "example": "INCLUDE_SPECIAL_PROVISIONS", + "enum": [ + "INCLUDE_SPECIAL_PROVISIONS" + ] + } + }, + "subsidiaryClasses": { + "type": "array", + "description": "Required\n\nProvides list of subsidiary classes", + "example": [ + "subsidiaryClasses", + "subsidiaryClasses" + ], + "items": { + "type": "string" + } + }, + "labelText": { + "type": "string", + "description": "Specify the text for the label
                Example: labelText", + "example": "labelText" + }, + "technicalName": { + "type": "string", + "description": "The element specifies the technical name for the hazardous material\n\n", + "example": "technicalName" + }, + "packingDetails": { + "$ref": "#/components/schemas/HazardousCommodityPackingDetail" + }, + "authorization": { + "type": "string", + "description": "Authorization", + "example": "technicalName" + }, + "reportableQuantity": { + "type": "boolean", + "description": "Reportable Quantity", + "example": true, + "enum": [ + true, + false + ] + }, + "percentage": { + "type": "number", + "description": "Percentage", + "format": "double", + "example": 23.56 + }, + "id": { + "type": "string", + "description": "ID", + "example": "ID001" + }, + "packingGroup": { + "type": "string", + "description": "Identifies DOT packing group for a hazardous commodity", + "enum": [ + "DEFAULT", + "I", + "II", + "III" + ] + }, + "properShippingName": { + "type": "string", + "description": "The proper shipping name as defined by the regulation. The name can also include qualifying words", + "example": "Proper Shipping Name" + }, + "hazardClass": { + "type": "string", + "description": "Specifies the hazard class for the commodity\n", + "example": "hazardClass" + } + }, + "description": "RequiredDetails of HazardousCommodityDescription" + }, + "DocumentLineItem_1": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/KeyValueDetail" + } + }, + "PackageCODDetail_1": { + "type": "object", + "properties": { + "codCollectionAmount": { + "$ref": "#/components/schemas/Money" + } + }, + "description": "Conditional\n\nCOD main information is set in shipment level." + }, + "Minimum-Sample-Ground": { + "example": { + "requestedShipment": { + "shipper": { + "contact": { + "personName": "TEST_Sender_Name", + "phoneNumber": "9012704839", + "companyName": "TEST_APISENDER-WSXI6000" + }, + "address": { + "city": "COLLIERVILLE", + "stateOrProvinceCode": "TN", + "postalCode": "38017", + "countryCode": "US", + "residential": false, + "streetLines": [ + "TEST_Sender_Address_Line1", + "TEST_Sender_Address_Line2" + ] + } + }, + "recipients": [ + { + "contact": { + "personName": "TEST_Recipient_Name", + "phoneNumber": "9018549266", + "companyName": "TEST_APIRECIPIENT-WSXI6000" + }, + "address": { + "city": "COLLIERVILLE", + "stateOrProvinceCode": "TN", + "postalCode": "38017", + "countryCode": "US", + "residential": false, + "streetLines": [ + "45 NOBLESTOWN RD" + ] + } + } + ], + "shipDatestamp": "2022-09-21", + "pickupType": "USE_SCHEDULED_PICKUP", + "serviceType": "FEDEX_GROUND", + "packagingType": "YOUR_PACKAGING", + "blockInsightVisibility": false, + "shippingChargesPayment": { + "paymentType": "SENDER", + "payor": { + "responsibleParty": { + "accountNumber": { + "value": 1234567, + "key": "h6aabs0cn22sjkdha88i" + } + } + } + }, + "labelSpecification": { + "imageType": "PDF", + "printerType": "PDF", + "labelStockType": "PAPER_LETTER", + "paperType": "PAPER_LETTER" + }, + "requestedPackageLineItems": [ + { + "weight": { + "units": "LB", + "value": "50" + }, + "packageSpecialServices": { + "specialServiceTypes": [ + "DANGEROUS_GOODS" + ], + "dangerousGoodsDetail": { + "regulation": "DOT", + "cargoAircraftOnly": false, + "dangerousGoodsDecriptors": [ + null + ], + "options": [ + "HAZARDOUS_MATERIALS" + ], + "packingOption": "OVERPACK", + "containers": [ + { + "numberOfContainers": 1, + "hazardousCommodities": [ + { + "description": { + "id": "1845", + "sequenceNumber": 0, + "packingGroup": "DEFAULT", + "packingDetails": { + "cargoAircraftOnly": false, + "packingInstructions": "954" + }, + "reportableQuantity": false, + "properShippingName": "Dry ice", + "TechnicalName": "Carbon", + "percentage": 0, + "hazardClass": 4.2, + "labelText": "SPONTANEOUSLY COMBUSTIBLE", + "processingOptions": [ + "INCLUDE_SPECIAL_PROVISIONS" + ], + "quantity": { + "amount": "50", + "units": "KG" + }, + "options": { + "labelTextOption": "OVERRIDE", + "customerSuppliedLabelText": "FLAMMABLE LIQUID" + } + } + } + ], + "packaging": { + "count": 1, + "units": "HAZMATPACKAGE" + }, + "signatory": { + "contactName": "signatoryname", + "title": "DZHazmat", + "place": "UnitedStates" + }, + "emergencyContactNumber": "9809809801" + } + ] + } + } + } + ], + "shippingDocumentSpecification": { + "shippingDocumentTypes": [ + "OP_900" + ], + "op900Detail": { + "documentFormat": { + "docType": "PDF", + "stockType": "OP_900_LL" + }, + "customerImageUsages": [ + { + "providedImageType": "LETTER_HEAD", + "type": "LETTER_HEAD", + "id": "IMAGE_1" + } + ], + "signatureName": "Name" + } + } + }, + "accountNumber": { + "value": "XXXX12209" + } + } + }, + "Minimum-Sample-Express": { + "example": { + "requestedShipment": { + "shipper": { + "address": { + "city": "MEMPHIS", + "stateOrProvinceCode": "TN", + "postalCode": "38116", + "countryCode": "US", + "residential": false, + "streetLines": [ + "SENDERADDRESS1", + "SENDERADDRESS2" + ] + }, + "contact": { + "personName": "SHIPPER NAME", + "phoneNumber": 9018328595, + "companyName": "Shipper Company Name" + } + }, + "recipients": [ + { + "contact": { + "personName": "RECIPIENTNAME", + "phoneNumber": "9018328595" + }, + "address": { + "streetLines": [ + "RECIPIENTADDRESSLINE1", + "RECIPIENTADDRESSLINE2", + "RECIPIENTADDRESSLINE3" + ], + "city": "COLLIERVILLE", + "stateOrProvinceCode": "TN", + "postalCode": "38017", + "countryCode": "US", + "residential": true + } + } + ], + "shipDatestamp": "2021-09-15", + "pickupType": "DROPOFF_AT_FEDEX_LOCATION", + "serviceType": "PRIORITY_OVERNIGHT", + "packagingType": "YOUR_PACKAGING", + "blockInsightVisibility": false, + "shippingChargesPayment": { + "paymentType": "SENDER", + "payor": { + "responsibleParty": { + "accountNumber": { + "value": 1234567, + "key": "h6aabs0cn22sjkdha88i" + } + } + } + }, + "labelSpecification": { + "imageType": "PDF", + "printerType": "PDF", + "labelStockType": "PAPER_LETTER", + "paperType": "PAPER_LETTER" + }, + "requestedPackageLineItems": [ + { + "weight": { + "units": "LB", + "value": "50" + }, + "packageSpecialServices": { + "specialServiceTypes": [ + "DANGEROUS_GOODS" + ], + "dangerousGoodsDetail": { + "regulation": "IATA", + "cargoAircraftOnly": false, + "dangerousGoodsDecriptors": [ + null + ], + "options": [ + "HAZARDOUS_MATERIALS" + ], + "packingOption": "OVERPACK", + "containers": [ + { + "numberOfContainers": 1, + "hazardousCommodities": [ + { + "description": { + "id": "1845", + "sequenceNumber": 0, + "packingGroup": "DEFAULT", + "packingDetails": { + "cargoAircraftOnly": false, + "packingInstructions": "954" + }, + "reportableQuantity": false, + "properShippingName": "Dry ice", + "TechnicalName": "Carbon", + "percentage": 0, + "hazardClass": 4.2, + "labelText": "SPONTANEOUSLY COMBUSTIBLE", + "processingOptions": [ + "INCLUDE_SPECIAL_PROVISIONS" + ], + "quantity": { + "amount": "50", + "units": "KG" + }, + "options": { + "labelTextOption": "OVERRIDE", + "customerSuppliedLabelText": "FLAMMABLE LIQUID" + } + } + } + ], + "packaging": { + "count": 1, + "units": "HAZMATPACKAGE" + }, + "signatory": { + "contactName": "signatoryname", + "title": "DZHazmat", + "place": "UnitedStates" + }, + "emergencyContactNumber": "9809809801" + } + ] + } + } + } + ], + "shippingDocumentSpecification": { + "shippingDocumentTypes": [ + "OP_900" + ], + "op900Detail": { + "documentFormat": { + "docType": "PDF", + "stockType": "OP_900_LL" + }, + "customerImageUsages": [ + { + "providedImageType": "LETTER_HEAD", + "type": "LETTER_HEAD", + "id": "IMAGE_1" + } + ], + "signatureName": "Name" + } + } + }, + "accountNumber": { + "value": "XXXX56209" + } + } + }, + "ShipShipmentOutputVO": { + "type": "object", + "properties": { + "customerTransactionId": { + "type": "string", + "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
                Example:AnyCo_order123456789", + "example": "AnyCo_order123456789" + }, + "transactionShipments": { + "type": "array", + "description": "The shipping transaction details, such as master tracking number, service type, and ship timestamp.", + "items": { + "$ref": "#/components/schemas/TransactionShipmentOutputVO" + } + }, + "jobId": { + "type": "string" + }, + "masterMergeLabelandDocuments": { + "$ref": "#/components/schemas/MasterLabelResponse" + }, + "transactionDetail": { + "$ref": "#/components/schemas/TransactionDetail" + }, + "alerts": { + "type": "array", + "description": "The alerts received when a shipShipment is processed. This includes the alert code, alert type, and alert message.", + "items": { + "$ref": "#/components/schemas/Alert" + } + } + }, + "description": "The response elements received when a shipment is created." + }, + "TransactionShipmentOutputVO": { + "type": "object", + "properties": { + "serviceType": { + "type": "string", + "description": "Indicates the type of service that is used to ship the package.
                Example: FEDEX_2_DAY_FREIGHT
                Click here to see Service Types", + "example": "FEDEX_2_DAY_FREIGHT" + }, + "shipDatestamp": { + "type": "string", + "description": "This is the shipment date. Default value is current date in case the date is not provided in the request.
                Format [YYYY-MM-DD].
                Example: 2019-10-14", + "example": "2010-03-04" + }, + "serviceCategory": { + "type": "string", + "description": "Indicates Service Category.
                Example: EXPRESS", + "example": "EXPRESS" + }, + "shipmentDocuments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LabelResponseVO" + } + }, + "pieceResponses": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PieceResponse" + } + }, + "serviceName": { + "type": "string", + "description": "Describes the service name for the shipment
                Example: FedEx 2 Day Freight", + "example": "FedEx 2 Day Freight" + }, + "alerts": { + "type": "array", + "example": [ + { + "code": "SHIPMENT.VALIDATION.SUCCESS", + "message": "Shipment validated successfully. No errors found.", + "alertType": "NOTE" + } + ], + "items": { + "$ref": "#/components/schemas/Alert" + } + }, + "completedShipmentDetail": { + "$ref": "#/components/schemas/CompletedShipmentDetail" + }, + "shipmentAdvisoryDetails": { + "$ref": "#/components/schemas/ShipmentAdvisoryDetails" + }, + "anonymousLimitWarnings": { + "type": "array", + "items": { + "type": "string" + } + }, + "masterTrackingNumber": { + "type": "string", + "description": "This is a master tracking number for the shipment (must be unique for stand-alone open shipments, or unique within consolidation if consolidation key is provided).
                Example: 794953535000", + "example": "794953535000" + } + }, + "description": "Specifies shipping transaction output details" + }, + "LabelResponseVO": { + "type": "object", + "properties": { + "contentKey": { + "type": "string", + "description": "The content key for the document/label.
                Example: content key", + "example": "content key" + }, + "copiesToPrint": { + "type": "integer", + "description": "The number of copies to print for the specific document type
                Example: 10", + "format": "int32", + "example": 10 + }, + "contentType": { + "type": "string", + "description": "Indicates the type of document/label.", + "example": "COMMERCIAL_INVOICE", + "enum": [ + "LABEL", + "BILL_OF_LADING", + "GAA_FORM", + "HAZMAT_LABEL", + "END_OF_DAY_HAZMAT_REPORT", + "MANIFEST_REPORT", + "MULTIWEIGHT_REPORT", + "MERGED_LABEL_DOCUMENTS", + "AUXILIARY", + "RETURN_INSTRUCTIONS", + "ACCEPTANCE_LABEL", + "COMMERCIAL_INVOICE", + "PROFORMA_INVOICE", + "USMCA_CERTIFICATION_OF_ORIGIN", + "USMCA_COMMERCIAL_INVOICE_CERTIFICATION_OF_ORIGIN", + "CERTIFICATE_OF_ORIGIN", + "MERGED_LABELS_ONLY" + ] + }, + "trackingNumber": { + "type": "string", + "description": "This is a tracking number associted with this package.
                Example: 49XXX0000XXX20032835", + "example": "794953535000" + }, + "docType": { + "type": "string", + "description": "The description of the document type.
                Example: PDF", + "example": "PDF" + }, + "alerts": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Alert" + } + }, + "encodedLabel": { + "type": "string", + "description": "Indicates document is encoded.
                Example: encoded label", + "example": "encoded label" + }, + "url": { + "type": "string", + "description": "The URL of the shipping document/label
                Example: https://wwwdev.idev.fedex.com/document/v2/document/retrieve/SH,794816968200_Merge/isLabel=true&autoPrint=false", + "example": "https://wwwdev.idev.fedex.com/document/v2/document/retrieve/SH,794810209259_SHIPPING_P/isLabel=true&autoPrint=false" + }, + "barcodeLabelData": { + "type": "string", + "description": "This is a unique identifier for generating QR code.", + "example": "yt1.ualqG55wZfwiodoU68crtBTjYpfVBOFh" + } + }, + "description": "Provides shipping document/label specific information." + }, + "Alert": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Specifies the api alert code.
                Example: SHIP.RECIPIENT.POSTALCITY.MISMATCH", + "example": "SHIP.RECIPIENT.POSTALCITY.MISMATCH" + }, + "alertType": { + "type": "string", + "description": "Specifies the api alert type.", + "example": "NOTE", + "enum": [ + "NOTE", + "WARNING" + ] + }, + "message": { + "type": "string", + "description": "Specifies the api alert message.
                Example: Recipient Postal-City Mismatch.", + "example": "Recipient Postal-City Mismatch." + } + }, + "description": "Specifies the api alerts." + }, + "PieceResponse": { + "type": "object", + "properties": { + "netChargeAmount": { + "type": "number", + "description": "Indicates Net charge amount.
                Example: 21.45", + "format": "double", + "example": 21.45 + }, + "transactionDetails": { + "type": "array", + "description": "Includes descriptive data that governs data payload language/translations. The TransactionDetail from the request is echoed back to the caller in the corresponding reply.", + "items": { + "$ref": "#/components/schemas/TransactionDetailVO" + } + }, + "packageDocuments": { + "type": "array", + "description": "Placeholder for package documents.", + "items": { + "$ref": "#/components/schemas/LabelResponseVO" + } + }, + "acceptanceTrackingNumber": { + "type": "string", + "description": "Indicates the acceptance tracking number.
                Example: 794953535000", + "example": "794953535000" + }, + "serviceCategory": { + "type": "string", + "description": "Indicates the service category.", + "example": "EXPRESS", + "enum": [ + "EXPRESS", + "GROUND", + "EXPRESS_FREIGHT", + "FREIGHT", + "SMARTPOST", + "EXPRESS_PARCEL", + "NULL" + ] + }, + "listCustomerTotalCharge": { + "type": "string", + "description": "Indicates total charges applicable to the customer.
                Example: listCustomerTotalCharge", + "example": "listCustomerTotalCharge" + }, + "deliveryTimestamp": { + "type": "string", + "description": "Indicates delivery date with timestamp.
                Example: 2012-09-23", + "example": "2012-09-23" + }, + "trackingIdType": { + "type": "string", + "description": "Indicates the type of the tracking identifier.
                Example: FEDEX", + "example": "FEDEX" + }, + "additionalChargesDiscount": { + "type": "number", + "description": "These are additional charges or discounts.
                Example: 621.45", + "format": "double", + "example": 621.45 + }, + "netListRateAmount": { + "type": "number", + "description": "Returns the List rate amount.
                Example: 1.45", + "format": "double", + "example": 1.45 + }, + "baseRateAmount": { + "type": "number", + "description": "Returns the base rate amount.
                Example: 321.45", + "format": "double", + "example": 321.45 + }, + "packageSequenceNumber": { + "type": "integer", + "description": "Indicates package sequence number.
                Example: 215", + "format": "int32", + "example": 215 + }, + "netDiscountAmount": { + "type": "number", + "description": "Returns the net discount amount.
                Example: 121.45", + "format": "double", + "example": 121.45 + }, + "codcollectionAmount": { + "type": "number", + "description": "Returns the Collect on Delivery charges.
                Example: 231.45", + "format": "double", + "example": 231.45 + }, + "masterTrackingNumber": { + "type": "string", + "description": "This is a master tracking number for the shipment (must be unique for stand-alone open shipments, or unique within consolidation if consolidation key is provided).
                Example: 794953535000", + "example": "794953535000" + }, + "acceptanceType": { + "type": "string", + "description": "Indicates acceptance type.
                Example: acceptanceType", + "example": "acceptanceType" + }, + "trackingNumber": { + "type": "string", + "description": "This is a tracking number associted with this package.
                Example: 49XXX0000XXX20032835", + "example": "794953535000" + }, + "successful": { + "type": "boolean", + "description": "Specifies if the response is successful.
                Example: true", + "example": true + }, + "customerReferences": { + "type": "array", + "description": "Additional customer reference data", + "items": { + "$ref": "#/components/schemas/CustomerReference" + } + } + }, + "description": "Piece Response information." + }, + "TransactionDetailVO": { + "type": "object", + "properties": { + "transactionDetails": { + "type": "string", + "description": "Includes descriptive data that governs data payload language/translations. The TransactionDetail from the request is echoed back to the caller in the corresponding reply.Example: transactionDetails", + "example": "transactionDetails" + }, + "transactionId": { + "type": "string", + "description": "This element allows you to assign a unique identifier to your transaction. This element is returned in the reply and helps you match requests to replies.Maximum of 40 characters allowed.
                Example: 12345", + "example": "12345" + } + } + }, + "CompletedShipmentDetail": { + "type": "object", + "properties": { + "completedPackageDetails": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CompletedPackageDetail" + } + }, + "operationalDetail": { + "$ref": "#/components/schemas/ShipmentOperationalDetail" + }, + "carrierCode": { + "type": "string", + "description": "Specifies which carrier should be included.
                Example: FDXE", + "example": "FDXE" + }, + "completedHoldAtLocationDetail": { + "$ref": "#/components/schemas/CompletedHoldAtLocationDetail" + }, + "completedEtdDetail": { + "$ref": "#/components/schemas/CompletedEtdDetail" + }, + "packagingDescription": { + "type": "string", + "description": "Specifies packaging description
                Example: description", + "example": "description" + }, + "masterTrackingId": { + "$ref": "#/components/schemas/TrackingId" + }, + "serviceDescription": { + "$ref": "#/components/schemas/ServiceDescription" + }, + "usDomestic": { + "type": "boolean", + "description": "Indicates whether or not this is an intra-U.S. shipment.
                Example: true", + "example": true + }, + "hazardousShipmentDetail": { + "$ref": "#/components/schemas/CompletedHazardousShipmentDetail" + }, + "shipmentRating": { + "$ref": "#/components/schemas/ShipmentRating" + }, + "documentRequirements": { + "$ref": "#/components/schemas/DocumentRequirementsDetail" + }, + "exportComplianceStatement": { + "type": "string", + "description": "For US export shipments requiring an EEI, enter the ITN number received from AES when you filed your shipment or the FTR (Foreign Trade Regulations) exemption number.The proper format for an ITN number is AES XYYYYMMDDNNNNNN where YYYYMMDD is date and NNNNNN are numbers generated by the AES.
                Example: AESX20220714987654
                Note: The ITN or FTR exemption number you submit in the ship request prints on the international shipping label.

                For CA export shipments,it can be Proof of report number(15-32 alphanumeric) , Summary proof of report number(7-32 alphanumeric) or Exemption number(2 digit) based on the selected b13AFilingOption.
                Example: 98765432107654321(POR number), 7654321(Summary POR number) and 02(Exemption number).", + "example": "12345678901234567" + }, + "accessDetail": { + "$ref": "#/components/schemas/PendingShipmentAccessDetail" + } + }, + "description": "Returns the result of processing the desired package as a single-package shipment." + }, + "CompletedPackageDetail": { + "type": "object", + "properties": { + "sequenceNumber": { + "type": "integer", + "description": "A positive integer specifying the sequence number for the package in shipment.
                Example: 256", + "format": "int32", + "example": 256 + }, + "operationalDetail": { + "$ref": "#/components/schemas/PackageOperationalDetail" + }, + "signatureOption": { + "type": "string", + "description": "This specifies the actual signature option applied, to allow for cases in which the value requested conflicted with other service features in the shipment.
                Example: DIRECT", + "example": "DIRECT" + }, + "trackingIds": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TrackingId" + } + }, + "groupNumber": { + "type": "integer", + "description": "Used with request containing PACKAGE_GROUPS, to identify which group of identical packages was used to produce a reply item.
                Example: 567", + "format": "int32", + "example": 567 + }, + "oversizeClass": { + "type": "string", + "description": "Indicates the oversize Classification.
                Example: OVERSIZE_1", + "example": "OVERSIZE_1, OVERSIZE_2, OVERSIZE_3" + }, + "packageRating": { + "$ref": "#/components/schemas/PackageRating" + }, + "dryIceWeight": { + "description": "Descriptive data required for a FedEx shipment containing dry ice. Includes Weight and Units. This element is required when SpecialServiceType DRY_ICE is present in the SpecialServiceTypes collection at the package level.", + "allOf": [ + { + "$ref": "#/components/schemas/Weight_2" + } + ] + }, + "hazardousPackageDetail": { + "$ref": "#/components/schemas/CompletedHazardousPackageDetail" + } + }, + "description": "Package level details about this package." + }, + "PackageOperationalDetail": { + "type": "object", + "properties": { + "astraHandlingText": { + "type": "string", + "description": "Human-readable text for pre-January 2011 clients.
                Example: astraHandlingText", + "example": "astraHandlingText" + }, + "barcodes": { + "$ref": "#/components/schemas/PackageBarcodes" + }, + "operationalInstructions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OperationalInstructions" + } + } + }, + "description": "Package-level data required for labeling and/or movement." + }, + "PackageBarcodes": { + "type": "object", + "properties": { + "binaryBarcodes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BinaryBarcode" + } + }, + "stringBarcodes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StringBarcode" + } + } + }, + "description": "Each instance of this data type represents the set of barcodes (of all types) which are associated with a specific package." + }, + "BinaryBarcode": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The kind of barcode data in this instance.
                Example: COMMON-2D", + "example": "COMMON-2D" + }, + "value": { + "type": "array", + "description": "The data content of this instance.
                Example: [\"value\"]", + "example": [ + "value", + "value" + ], + "items": { + "type": "string", + "format": "byte" + } + } + }, + "description": "Each instance of this data type represents a barcode whose content must be represented as binary data (i.e. not ASCII text)." + }, + "StringBarcode": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The kind of barcode data in this instance. example valid values are:
                ADDRESS - Represents the recipient address
                GROUND - FedEx Ground parcel barcode
                Example: ADDRESS", + "example": "ADDRESS" + }, + "value": { + "type": "string", + "description": "The data content of this instance.
                Example: 1010062512241535917900794953544894", + "example": "1010062512241535917900794953544894" + } + }, + "description": "Each instance of this data type represents a barcode whose content must be represented as ASCII text (i.e. not binary data)." + }, + "OperationalInstructions": { + "type": "object", + "properties": { + "number": { + "type": "integer", + "description": "Specifies Number for Operational Instructions.
                Example: 17", + "format": "int32", + "example": 17 + }, + "content": { + "type": "string", + "description": "Specifies the content.
                Example: content", + "example": "content" + } + }, + "description": "Human-readable content for use on a label." + }, + "PackageRating": { + "type": "object", + "properties": { + "effectiveNetDiscount": { + "type": "number", + "description": "This is the difference between the list and account net charge.
                Example: 0.0", + "format": "double", + "example": 0 + }, + "actualRateType": { + "type": "string", + "description": "This rate type identifies which entry in the following array is considered as presenting the actual rates for the package.
                Example: PAYOR_ACCOUNT_PACKAGE", + "example": "PAYOR_ACCOUNT_PACKAGE" + }, + "packageRateDetails": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PackageRateDetail" + } + } + }, + "description": "This class groups together all package-level rate data for a single package (across all rate types) as part of the response to a shipping request, which groups shipment-level data together and groups package-level data by package." + }, + "PackageRateDetail": { + "type": "object", + "properties": { + "ratedWeightMethod": { + "type": "string", + "description": "Indicates which weight was used in calculating this rate, such as actual weight or dimensional weight.
                Example: DIM", + "example": "DIM" + }, + "totalFreightDiscounts": { + "type": "number", + "description": "The sum of all discounts on this package.
                Example: 44.55", + "format": "double", + "example": 44.55 + }, + "totalTaxes": { + "type": "number", + "description": "The sum of all taxes on this package.
                Example: 3.45", + "format": "double", + "example": 3.45 + }, + "minimumChargeType": { + "type": "string", + "description": "Indicates the type for minumum charges. INTERNAL FEDEX USE ONLY.
                Example: minimumChargeType", + "example": "CUSTOMER", + "enum": [ + "CUSTOMER", + "CUSTOMER_FREIGHT_WEIGHT", + "EARNED_DISCOUNT", + "MIXED", + "RATE_SCALE" + ] + }, + "baseCharge": { + "type": "number", + "description": "The transportation charge only (prior to any discounts applied) for this package.
                Example: 45.67", + "format": "double", + "example": 45.67 + }, + "totalRebates": { + "type": "number", + "description": "Specifies Total Rebates on this package.
                Example: 4.56", + "format": "double", + "example": 4.56 + }, + "rateType": { + "type": "string", + "description": "Type used for this specific set of rate data.
                Example: PAYOR_RETAIL_PACKAGE", + "example": "PAYOR_RETAIL_PACKAGE" + }, + "billingWeight": { + "$ref": "#/components/schemas/Weight_2" + }, + "netFreight": { + "type": "number", + "description": "This is base charge minus total freight discounts for a package.
                Example: 4.89", + "format": "double", + "example": 4.89 + }, + "surcharges": { + "type": "array", + "description": "Placeholder for all surcharges on this package.", + "items": { + "$ref": "#/components/schemas/Surcharge" + } + }, + "totalSurcharges": { + "type": "number", + "description": "The sum of all surcharges on this package.
                Example: 22.56", + "format": "double", + "example": 22.56 + }, + "netFedExCharge": { + "type": "number", + "description": "This is sum of net freight and total surcharges (not including totalTaxes) for this package..
                Example: 12.56", + "format": "double", + "example": 12.56 + }, + "netCharge": { + "type": "number", + "description": "This is the sum of net freight, total surcharges and total taxes for a package.
                Example: 121.56", + "format": "double", + "example": 121.56 + }, + "currency": { + "type": "string", + "description": "Example: USD
                Click here to see Currency Codes", + "example": "USD" + } + }, + "description": "Details of the rates associated with the package, as calculated per a specific rate type." + }, + "Weight_2": { + "required": [ + "units", + "value" + ], + "type": "object", + "properties": { + "units": { + "type": "string", + "description": "Specifies the package weight unit type.", + "example": "KG", + "enum": [ + "KG", + "LB" + ] + }, + "value": { + "type": "number", + "description": "Weight Value.
                Example: 68.25
                Click here to see Weight values", + "format": "double", + "example": 68.25 + } + }, + "description": "These are the package weight details.", + "example": { + "units": "KG", + "value": 68 + } + }, + "Surcharge": { + "type": "object", + "properties": { + "amount": { + "description": "Specifies the Surcharge Amount.", + "allOf": [ + { + "$ref": "#/components/schemas/Money" + } + ] + }, + "surchargeType": { + "type": "string", + "description": "Specifies the Surcharge Type.
                Example: APPOINTMENT_DELIVERY", + "example": "APPOINTMENT_DELIVERY" + }, + "level": { + "type": "string", + "description": "Specifies if the surcharge applies to the whole shipment, or to an individual package.
                Example: PACKAGE", + "example": "PACKAGE, or SHIPMENT" + }, + "description": { + "type": "string", + "description": "Specifies the description for the surcharge.
                Example: description", + "example": "description" + } + }, + "description": "Specifies details for a specific surcharge." + }, + "CompletedHazardousPackageDetail": { + "type": "object", + "properties": { + "regulation": { + "type": "string", + "description": "Specifies regulation type.
                Example: IATA", + "example": "IATA" + }, + "accessibility": { + "type": "string", + "description": "Specifies the accessibility.
                Example: ACCESSIBLE", + "example": "ACCESSIBLE" + }, + "labelType": { + "type": "string", + "description": "Specifies the label type.
                Example: II_YELLOW", + "example": "II_YELLOW" + }, + "containers": { + "type": "array", + "description": "Indicates one or more approved containers used to pack dangerous goods commodities. This does not describe any individual inner receptacles that may be within this container.", + "items": { + "$ref": "#/components/schemas/ValidatedHazardousContainer" + } + }, + "cargoAircraftOnly": { + "type": "boolean", + "description": "When TRUE-indicates that the package can be transported only on a cargo aircraft.
                Example: true", + "example": true + }, + "referenceId": { + "type": "string", + "description": "A unique reference id that matches the package to a package configuration. This is populated if the client provided a package configuration for several packages that have the exact same dangerous goods content.
                Example: 123456", + "example": "123456" + }, + "radioactiveTransportIndex": { + "type": "number", + "description": "Specifies the maximum radiation level from the package (measured in microSieverts per hour at a distance of one meter from the external surface of the package, divided by 10).
                Example: 2.45", + "format": "double", + "example": 2.45 + } + }, + "description": "Complete package-level hazardous commodity information for a single package." + }, + "ValidatedHazardousContainer": { + "type": "object", + "properties": { + "qvalue": { + "type": "number", + "description": "Indicates that the quantity of the dangerous goods packaged is permissible for shipping. This is used to ensure that the dangerous goods commodities do not exceed the net quantity per package restrictions.
                Example: 2.0", + "format": "double", + "example": 2 + }, + "hazardousCommodities": { + "type": "array", + "description": "Indicates the details of the hazardousCommodities in the completed package.", + "items": { + "$ref": "#/components/schemas/ValidatedHazardousCommodityContent" + } + } + }, + "description": "Specifies the concept of a container used to package dangerous goods commodities." + }, + "ValidatedHazardousCommodityContent": { + "type": "object", + "properties": { + "quantity": { + "description": "Provides Hazardous Commodity quantity details.", + "allOf": [ + { + "$ref": "#/components/schemas/HazardousCommodityQuantityDetail" + } + ] + }, + "options": { + "$ref": "#/components/schemas/HazardousCommodityContent001" + }, + "description": { + "$ref": "#/components/schemas/ValidatedHazardousCommodityDescription" + }, + "netExplosiveDetail": { + "$ref": "#/components/schemas/NetExplosiveDetail" + }, + "massPoints": { + "type": "number", + "description": "The mass points are a calculation used by ADR regulations for measuring the risk of a particular hazardous commodity.
                Example: 2.0", + "format": "double", + "example": 2 + } + }, + "description": "Documents the kind and quantity of an individual hazardous commodity in a package." + }, + "HazardousCommodityContent001": { + "type": "object", + "properties": { + "quantity": { + "$ref": "#/components/schemas/HazardousCommodityQuantityDetail" + }, + "innerReceptacles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HazardousCommodityInnerReceptacleDetail01" + } + }, + "options": { + "$ref": "#/components/schemas/HazardousCommodityOptionDetail01" + }, + "description": { + "$ref": "#/components/schemas/HazardousCommodityDescription01" + } + }, + "description": "Customer-provided specifications for handling individual commodities." + }, + "HazardousCommodityInnerReceptacleDetail01": { + "type": "object", + "properties": { + "quantity": { + "$ref": "#/components/schemas/HazardousCommodityQuantityDetail002" + } + } + }, + "HazardousCommodityQuantityDetail002": { + "required": [ + "amount", + "quantityType" + ], + "type": "object", + "properties": { + "quantityType": { + "type": "string", + "description": "Specifies which measure of quantity is to be validated.", + "example": "NET", + "enum": [ + "GROSS", + "NET" + ] + }, + "amount": { + "type": "number", + "description": "Number of units of the type below.
                Example: 34.56", + "format": "double", + "example": 34.56 + }, + "units": { + "type": "string", + "description": "specifies the units
                Example: Kg", + "example": "Kg" + } + }, + "description": "Provides Hazardous Commodity Quantity Detail" + }, + "HazardousCommodityOptionDetail01": { + "type": "object", + "properties": { + "labelTextOption": { + "type": "string", + "description": "Provides the label text option", + "enum": [ + "APPEND", + "OVERRIDE", + "STANDARD" + ] + }, + "customerSuppliedLabelText": { + "type": "string", + "description": "'DG Data Upload Mode:- Optional.,DG Full Validation Mode:- Optional,Text used in labeling the commodity under control of the LabelTextOption field
                Example:Customer Supplied Label Text' \n\n", + "example": "Customer Supplied Label Text" + } + }, + "description": "Provides details of Hazardous Commodity Option Detail" + }, + "HazardousCommodityDescription01": { + "required": [ + "packingGroup", + "reportableQuantity" + ], + "type": "object", + "properties": { + "sequenceNumber": { + "type": "integer", + "description": "RequiredSpecify the sequence number
                Example: 9812", + "format": "int32", + "example": 9812 + }, + "processingOptions": { + "type": "array", + "description": "Indicates any special processing options to be applied to the description of the dangerous goods commodity", + "items": { + "type": "string", + "example": "INCLUDE_SPECIAL_PROVISIONS", + "enum": [ + "INCLUDE_SPECIAL_PROVISIONS" + ] + } + }, + "subsidiaryClasses": { + "type": "array", + "description": "Required\n\nProvides list of subsidiary classes
                Example: [\"Subsidiary Classes\"]", + "example": [ + "Subsidiary Classes" + ], + "items": { + "type": "string" + } + }, + "labelText": { + "type": "string", + "description": "Specifies the text for the label
                Example: labelText'\n", + "example": "labelText" + }, + "technicalName": { + "type": "string", + "description": "'The element specifies the technical name for the hazardous material
                Example: technicalName'\n\n", + "example": "technicalName" + }, + "packingDetails": { + "$ref": "#/components/schemas/HazardousCommodityPackingDetail01" + }, + "authorization": { + "type": "string", + "description": "Authorization
                Example: authorization", + "example": "authorization" + }, + "reportableQuantity": { + "type": "boolean", + "description": "Reportable Quantity", + "example": true, + "enum": [ + true, + false + ] + }, + "percentage": { + "type": "number", + "description": "Percentage
                Example: 12.45", + "format": "double", + "example": 12.45 + }, + "id": { + "type": "string", + "description": "ID
                Example: 123", + "example": "123" + }, + "packingGroup": { + "type": "string", + "description": "Identifies DOT packing group for a hazardous commodity", + "example": "I", + "enum": [ + "DEFAULT", + "I", + "II", + "III" + ] + }, + "properShippingName": { + "type": "string", + "description": "The proper shipping name as defined by the regulation. The name can also include qualifying words
                Example: properShippingName", + "example": "properShippingName" + }, + "hazardClass": { + "type": "string", + "description": "'Specifies the hazard class for the commodity
                Example: hazard Class'\n", + "example": "hazard Class" + } + }, + "description": "RequiredDetails of HazardousCommodityDescription" + }, + "HazardousCommodityPackingDetail01": { + "required": [ + "cargoAircraftOnly" + ], + "type": "object", + "properties": { + "packingInstructions": { + "type": "string", + "description": "Coded specification for how commodity is to be packed.
                Example: packing Instructions", + "example": "packing Instructions" + }, + "cargoAircraftOnly": { + "type": "boolean", + "description": "Shipment is packaged/documented for movement ONLY on cargo aircraft", + "example": true, + "enum": [ + true, + false + ] + } + }, + "description": "Specifies documentation and limits for validation of an individual packing group/category. DG Data Upload Mode: Required (IATA), Optional (Other), DG Full Validation Mode: Required (IATA), Optional (Other)," + }, + "ValidatedHazardousCommodityDescription": { + "type": "object", + "properties": { + "sequenceNumber": { + "type": "integer", + "description": "In conjunction with the regulatory identifier, this field uniquely identifies a specific hazardous materials commodity.
                Example: 876", + "format": "int32", + "example": 876 + }, + "packingInstructions": { + "type": "string", + "description": "Specifies Packing Instructions.
                Example: packingInstructions", + "example": "packingInstructions" + }, + "subsidiaryClasses": { + "type": "array", + "description": "Specifies subsidiary Classes.
                Example:[\"Subsidiary Classes\"]", + "example": [ + "Subsidiary Classes" + ], + "items": { + "type": "string" + } + }, + "labelText": { + "type": "string", + "description": "Specifies Hazard Label Text.
                Example: labelText", + "example": "labelText" + }, + "tunnelRestrictionCode": { + "type": "string", + "description": "There are five categories of tunnel categorization with A representing the least restrictive and E as the most restrictive. Category A, as the least restrictive, will not be sign-posted. Category E, the most restrictive, only allows the passage of UN2919, UN3291, UN3331, UN3359 and UN3373.
                Example: UN2919", + "example": "UN2919" + }, + "specialProvisions": { + "type": "string", + "description": "Specifies Special Provisions if any.
                Example: specialProvisions", + "example": "specialProvisions" + }, + "properShippingNameAndDescription": { + "type": "string", + "description": "Fully-expanded descriptive text for a hazardous commodity.
                Example: properShippingNameAndDescription", + "example": "properShippingNameAndDescription" + }, + "technicalName": { + "type": "string", + "description": "Specifies Technical Name.
                Example: technicalName", + "example": "technicalName" + }, + "symbols": { + "type": "string", + "description": "Specifies Symbols.
                Example: symbols", + "example": "symbols" + }, + "authorization": { + "type": "string", + "description": "Information related to quantity limitations and operator or state variations as may be applicable to the dangerous goods commodity.
                Example: authorization", + "example": "authorization" + }, + "attributes": { + "type": "array", + "description": "Specifies attributes.
                Example: [\"attributes\"]", + "example": [ + "attributes" + ], + "items": { + "type": "string" + } + }, + "id": { + "type": "string", + "description": "Specifies the Identification.
                Example: 1234", + "example": "1234" + }, + "packingGroup": { + "type": "string", + "description": "Specifies packing Group.
                Example: Packing Group", + "example": "packingGroup" + }, + "properShippingName": { + "type": "string", + "description": "Specifies Proper Shipping Name.
                Example: Proper Shipping Name", + "example": "properShippingName" + }, + "hazardClass": { + "type": "string", + "description": "Specifies hazard Class.
                Example: Hazard Class", + "example": "hazardClass" + } + }, + "description": "Identifies and describes an individual hazardous commodity. For 201001 load, this is based on data from the FedEx Ground Hazardous Materials Shipping Guide." + }, + "NetExplosiveDetail": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "description": "Specifies Amount.
                Example: 10.0", + "format": "double", + "example": 10 + }, + "units": { + "type": "string", + "description": "Specifies Net Explosive units.
                Example: units", + "example": "units" + }, + "type": { + "type": "string", + "description": "Specifies Net Explosive Classification type.
                Example: NET_EXPLOSIVE_WEIGHT", + "example": "NET_EXPLOSIVE_WEIGHT" + } + }, + "description": "specifies the total mass of the contained explosive substances, without the mass of any casings, bullets, shells, etc." + }, + "ShipmentOperationalDetail": { + "type": "object", + "properties": { + "originServiceArea": { + "type": "string", + "description": "Indicates the origin service Area.
                Example: A1", + "example": "A1" + }, + "serviceCode": { + "type": "string", + "description": "Indicates the service Code.
                Example: 010", + "example": "010" + }, + "airportId": { + "type": "string", + "description": "Indicates the airport identifier.
                Example: DFW", + "example": "DFW" + }, + "postalCode": { + "type": "string", + "description": "Specifies the postal code.
                Example: 38010", + "example": "38010" + }, + "scac": { + "type": "string", + "description": "Indicates standard carrier alpha code.
                Example: scac", + "example": "scac" + }, + "deliveryDay": { + "type": "string", + "description": "Expected/estimated day of week of the delivery.
                Example: TUE", + "example": "TUE" + }, + "originLocationId": { + "type": "string", + "description": "This is the origin Location identifier.
                Example: 678", + "example": "678" + }, + "countryCode": { + "type": "string", + "description": "Specifies the Country Code.
                Example: US
                Click here to see Country Codes", + "example": "US" + }, + "astraDescription": { + "type": "string", + "description": "Specifies astra astra description.
                Example: SMART POST", + "example": "SMART POST" + }, + "originLocationNumber": { + "type": "integer", + "description": "Specifies origin location number.
                Example: 243", + "format": "int32", + "example": 243 + }, + "deliveryDate": { + "type": "string", + "description": "Specifies delivery date for the shipment. Format [YYYY-MM-DD]
                Example: 2001-04-05", + "example": "2001-04-05" + }, + "deliveryEligibilities": { + "type": "array", + "description": "FedEx Ground delivery features for which this shipment may be eligible.
                Example: [\"deliveryEligibilities\"]", + "example": [ + "deliveryEligibilities" + ], + "items": { + "type": "string" + } + }, + "ineligibleForMoneyBackGuarantee": { + "type": "boolean", + "description": "Indicates that this shipment is not eligible for money back guarantee.
                Example: true", + "example": true + }, + "maximumTransitTime": { + "type": "string", + "description": "Maximum expected transit time.
                Example: SEVEN_DAYS", + "example": "SEVEN_DAYS" + }, + "destinationLocationStateOrProvinceCode": { + "type": "string", + "description": "This is the state of the shipment destination location, and is not necessarily the same as the postal state.
                Example: GA", + "example": "GA" + }, + "astraPlannedServiceLevel": { + "type": "string", + "description": "Text describing planned delivery.
                Example: TUE - 15 OCT 10:30A", + "example": "TUE - 15 OCT 10:30A" + }, + "destinationLocationId": { + "type": "string", + "description": "Specifies the FedEx Destination Location Identifier.
                Example: DALA", + "example": "DALA" + }, + "transitTime": { + "type": "string", + "description": "Standard transit time per origin, destination, and service.
                Example: TWO_DAYS", + "example": "TWO_DAYS" + }, + "stateOrProvinceCode": { + "type": "string", + "description": "Identifying abbreviation for US state, Canada province, etc. Format and presence of this field will vary, depending on country.
                Example: GA", + "example": "GA" + }, + "destinationLocationNumber": { + "type": "integer", + "description": "Specifies Destination Location Number.
                Example: 876", + "format": "int32", + "example": 876 + }, + "packagingCode": { + "type": "string", + "description": "Specifes Packaging Code.
                Example: 03", + "example": "03" + }, + "commitDate": { + "type": "string", + "description": "Committed date of delivery.
                Example: 2019-10-15", + "example": "2019-10-15" + }, + "publishedDeliveryTime": { + "type": "string", + "description": "Delivery time, as published in Service Guide.
                Example: 10:30A", + "example": "10:30A" + }, + "ursaSuffixCode": { + "type": "string", + "description": "Specifies ursa Suffix Code.
                Example: Ga", + "example": "Ga" + }, + "ursaPrefixCode": { + "type": "string", + "description": "Specifies ursa Prefix Code.
                Example: XH", + "example": "XH" + }, + "destinationServiceArea": { + "type": "string", + "description": "Specifies Destination ServiceArea.
                Example: A1", + "example": "A1" + }, + "commitDay": { + "type": "string", + "description": "Committed day of week of delivery.
                Example: TUE", + "example": "TUE" + }, + "customTransitTime": { + "type": "string", + "description": "Transit time based on customer eligibility.
                Example: ONE_DAY", + "example": "ONE_DAY" + } + }, + "description": "Shipment level operational information." + }, + "CompletedHoldAtLocationDetail": { + "type": "object", + "properties": { + "holdingLocationType": { + "type": "string", + "description": "Identifies the type of the FedEx holding location
                Example: FEDEX_STAFFED", + "example": "FEDEX_STAFFED" + }, + "holdingLocation": { + "description": "Specifies the physical address of the FedEx holding location.", + "allOf": [ + { + "$ref": "#/components/schemas/JustContactAndAddress" + } + ] + } + }, + "description": "Returns the default holding location information when HOLD_AT_LOCATION special service is requested and the client does not specify the hold location address." + }, + "JustContactAndAddress": { + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/Address" + }, + "contact": { + "$ref": "#/components/schemas/Contact" + } + } + }, + "Address": { + "required": [ + "countryCode", + "streetLines" + ], + "type": "object", + "properties": { + "streetLines": { + "type": "array", + "description": "This is a combination of number, street name, etc.
                Note: At least one line is required and streetlines more than 3 will be ignored. Empty lines should not be included.
                Example: [10 FedEx Parkway, Suite 302]", + "items": { + "type": "string" + } + }, + "city": { + "type": "string", + "description": "This is a placeholder for City Name.
                Note: This is conditional and not required in all the shipping requests. It is recommended for Express shipments for the most accurate ODA and OPA surcharges and not used for Ground/SmartPost.
                Example: Beverly Hills" + }, + "stateOrProvinceCode": { + "type": "string", + "description": "This is a placeholder for State or Province code.
                Note: This is conditional and not required in all the shipping requests. It is recommended for Express shipments for the most accurate ODA and OPA surcharges and not used for Ground/SmartPost.
                Example: CA" + }, + "postalCode": { + "type": "string", + "description": "This is placeholder for postal code.
                Note: The postal code is required for postal-aware countries.
                Example: 38127" + }, + "countryCode": { + "type": "string", + "description": "This is the Two-letter country code.
                Example: US
                Click here to see Country Codes" + }, + "residential": { + "type": "boolean", + "description": "Indicate whether this address is Residential as opposed to Commercial.
                Valid Values: True or False.", + "enum": [ + true, + false + ] + } + }, + "description": "Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of \"address parts\" which should be handled as a unit (such as a city-state-ZIP combination within the US).", + "example": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "38127", + "countryCode": "US", + "residential": false + } + }, + "Contact": { + "type": "object", + "properties": { + "personName": { + "type": "string", + "description": "Specify Person Name.
                Example: John Taylor" + }, + "tollFreePhoneNumber": { + "type": "string", + "description": "Specify Toll Free PhoneNumber.
                Example: 6127812" + }, + "emailAddress": { + "type": "string", + "description": "Specify EmailAddress.
                Example: sample@company.com" + }, + "phoneNumber": { + "type": "string", + "description": "The shippers phone number.
                Minimum length is 10 and supports maximum of 15 for certain countries using longer phone numbers.
                Note: For US and CA, a phone number must have exactly 10 digits, plus an optional leading country code of \"1\" or \"+1\".
                Example: 918xxxxx890" + }, + "phoneExtension": { + "type": "string", + "description": "Specify Phone Extension.
                Example: 91" + }, + "companyName": { + "type": "string", + "description": "Specify Company Name.
                Example: Fedex" + }, + "pagerNumber": { + "type": "string", + "description": "Specify Pager Number.
                Example: 6127812" + }, + "faxNumber": { + "type": "string", + "description": "Specify Fax Number.
                Example: 1234567890" + }, + "title": { + "type": "string", + "description": "Specify the Title of the Contact.
                Example: title" + } + }, + "description": "Specify the Contact information.", + "example": { + "33": "1234567890", + "personName": "John Taylor", + "tollFreePhoneNumber": "6127812", + "emailAddress": "sample@company.com", + "phoneExtension": "91", + "faxNumber": "1234567890", + "pagerNumber": "6127812", + "companyName": "Fedex", + "title": "title" + } + }, + "CompletedEtdDetail": { + "type": "object", + "properties": { + "folderId": { + "type": "string", + "description": "Returns the folder id where the documents is uploaded
                Example: \"0b0493e580dc1a1b\"", + "example": "0b0493e580dc1a1b" + }, + "type": { + "type": "string", + "description": "Returns the type of the document that is being uploaded
                Example: \"COMMERCIAL_INVOICE\"", + "example": "COMMERCIAL_INVOICE" + }, + "uploadDocumentReferenceDetails": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UploadDocumentReferenceDetail" + } + } + }, + "description": "Returns the completed ETD details when ELECTRONIc_TRADE_DOCUMENTS Special service type is requested" + }, + "ServiceDescription": { + "type": "object", + "properties": { + "serviceType": { + "type": "string", + "description": "Indicates the type of service that is used to ship the package.
                Example: FEDEX_1_DAY_FREIGHT
                a onclick='loadDocReference(\"servicetypes\")'>Click here to see Service Types", + "example": "FEDEX_1_DAY_FREIGHT" + }, + "code": { + "type": "string", + "description": "Specifies code of the Service.
                example: 80", + "example": "80" + }, + "names": { + "type": "array", + "description": "Branded, translated, and/or localized names for this service.", + "items": { + "$ref": "#/components/schemas/ProductName" + } + }, + "operatingOrgCodes": { + "type": "array", + "description": "FOR FEDEX INTERNAL USE ONLY. The operating org code in a service.
                Example: [FXE, FXE]", + "example": [ + "FXE" + ], + "items": { + "type": "string" + } + }, + "astraDescription": { + "type": "string", + "description": "Specifies astra Description
                Example: 2 DAY FRT", + "example": "2 DAY FRT" + }, + "description": { + "type": "string", + "example": "description" + }, + "serviceId": { + "type": "string", + "description": "FOR FEDEX INTERNAL USE ONLY, Designates the service ID.
                Example: EP1000000027", + "example": "EP1000000027" + }, + "serviceCategory": { + "type": "string", + "description": "FOR FEDEX INTERNAL USE ONLY. This is tied to the Product EFS interface definition which will currently contain the values of parcel or freight.
                Example: freight", + "example": "freight" + } + }, + "description": "Provides Service Description." + }, + "ProductName": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of name (long, medium, short, etc.) to which this value refers.
                Example: long", + "example": "long" + }, + "encoding": { + "type": "string", + "description": "The character encoding used to represent this product name.
                Example: UTF-8", + "example": "UTF-8" + }, + "value": { + "type": "string", + "description": "Specifies the value of the Product.
                Example: F-2", + "example": "F-2" + } + }, + "description": "Product Name information." + }, + "CompletedHazardousShipmentDetail": { + "type": "object", + "properties": { + "hazardousSummaryDetail": { + "$ref": "#/components/schemas/CompletedHazardousSummaryDetail" + }, + "adrLicense": { + "$ref": "#/components/schemas/AdrLicenseDetail" + }, + "dryIceDetail": { + "$ref": "#/components/schemas/ShipmentDryIceDetail" + } + }, + "description": "Completed shipment level hazardous commodity information." + }, + "CompletedHazardousSummaryDetail": { + "type": "object", + "properties": { + "smallQuantityExceptionPackageCount": { + "type": "integer", + "description": "Specifies the total number of packages containing hazardous commodities in small exceptions.
                Example: 10", + "format": "int32", + "example": 10 + } + }, + "description": "Specifies Completed Hazardous Summary Detail." + }, + "AdrLicenseDetail": { + "type": "object", + "properties": { + "licenseOrPermitDetail": { + "$ref": "#/components/schemas/LicenseOrPermitDetail" + } + }, + "description": "Specifies the details around the ADR license required for shipping." + }, + "LicenseOrPermitDetail": { + "type": "object", + "properties": { + "number": { + "type": "string", + "description": "Specifies License Or PermitDetail number.
                Format [YYYY-MM-DD]
                Example: 2019-08-09", + "example": "2019-08-09" + }, + "expirationDate": { + "type": "string", + "description": "Specifies Expiration Date.
                Format [YYYY-MM-DD]
                Example: 2019-04-09", + "example": "2019-04-09" + } + }, + "description": "This contains the ADR License information, which identifies the license number, the effective date and the expiration date under which the customer is allowed to ship." + }, + "ShipmentDryIceDetail": { + "required": [ + "packageCount", + "totalWeight" + ], + "type": "object", + "properties": { + "totalWeight": { + "description": "Specifies the Dry Ice Total Weight for the shipment", + "allOf": [ + { + "$ref": "#/components/schemas/Weight_2" + } + ] + }, + "packageCount": { + "type": "integer", + "description": "specifies the package Count for the shipment
                Example: 10", + "format": "int32", + "example": 10 + }, + "processingOptions": { + "$ref": "#/components/schemas/ShipmentDryIceProcessingOptionsRequested" + } + }, + "description": "Shipment-level totals of dry ice data across all packages." + }, + "ShipmentDryIceProcessingOptionsRequested": { + "type": "object", + "properties": { + "options": { + "type": "array", + "description": "
                Example: [\"options\"]", + "example": [ + "options" + ], + "items": { + "type": "string" + } + } + }, + "description": "" + }, + "ShipmentRating": { + "type": "object", + "properties": { + "actualRateType": { + "type": "string", + "description": "This rate type identifies which entry in the following array is considered as presenting the \"actual\" rates for the shipment.
                Example: PAYOR_LIST_SHIPMENT", + "example": "PAYOR_LIST_SHIPMENT" + }, + "shipmentRateDetails": { + "type": "array", + "description": "Each element of this field provides shipment-level rate totals for a specific rate type.", + "items": { + "$ref": "#/components/schemas/ShipmentRateDetail" + } + } + }, + "description": "All shipment-level rating data for this shipment, which may include data for multiple rate types." + }, + "ShipmentRateDetail": { + "type": "object", + "properties": { + "rateZone": { + "type": "string", + "description": "Indicates the rate zone used (based on origin and destination).
                Example: US001O", + "example": "US001O" + }, + "ratedWeightMethod": { + "type": "string", + "description": "Indicates which weight was used.
                Example: ACTUAL", + "example": "ACTUAL" + }, + "totalDutiesTaxesAndFees": { + "type": "number", + "description": "The total of the total duties & taxes and the total ancillary fees & taxes.
                Example: 24.56", + "format": "double", + "example": 24.56 + }, + "pricingCode": { + "type": "string", + "description": "Specifies pricing Code.
                Example: LTL_FREIGHT", + "example": "LTL_FREIGHT" + }, + "totalFreightDiscounts": { + "type": "number", + "description": "The total discounts used in the rate calculation.
                Example: 1.56", + "format": "double", + "example": 1.56 + }, + "totalTaxes": { + "type": "number", + "description": "Total of the transportation-based taxes.
                Example: 3.45", + "format": "double", + "example": 3.45 + }, + "totalDutiesAndTaxes": { + "type": "number", + "description": "Total of all values under this shipment's duties and taxes; only provided if estimated duties and taxes were calculated for this shipment.
                Example: 6.78", + "format": "double", + "example": 6.78 + }, + "totalAncillaryFeesAndTaxes": { + "type": "number", + "description": "Identifies the total amount of the shipment-level fees and taxes that are not based on transportation charges or commodity-level estimated duties and taxes.
                example: 5.67", + "format": "double", + "example": 5.67 + }, + "taxes": { + "type": "array", + "description": "All transportation-based taxes applicable to this shipment.", + "items": { + "allOf": [ + { + "$ref": "#/components/schemas/Tax" + } + ] + } + }, + "totalRebates": { + "type": "number", + "description": "The total sum of all rebates applied to this shipment.
                Example: 1.98", + "format": "double", + "example": 1.98 + }, + "fuelSurchargePercent": { + "type": "number", + "description": "Specifies a fuel surcharge percentage.
                Example: 4.56", + "format": "double", + "example": 4.56 + }, + "currencyExchangeRate": { + "$ref": "#/components/schemas/CurrencyExchangeRate" + }, + "totalNetFreight": { + "type": "number", + "description": "The freight charge minus discounts.
                Example: 9.56", + "format": "double", + "example": 9.56 + }, + "totalNetFedExCharge": { + "type": "number", + "description": "This is the sum of shipment's total Net freight, total surchages (not including totalTaxes).
                Example: 88.56", + "format": "double", + "example": 88.56 + }, + "shipmentLegRateDetails": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ShipmentLegRateDetail" + } + }, + "dimDivisor": { + "type": "integer", + "description": "The value used to calculate the weight based on the dimensions.
                Example: 0", + "format": "int32", + "example": 0 + }, + "rateType": { + "type": "string", + "description": "The Type used for this specific set of rate data.
                Example: RATED_ACCOUNT_SHIPMENT", + "example": "RATED_ACCOUNT_SHIPMENT" + }, + "surcharges": { + "type": "array", + "description": "All surcharges that apply to this shipment.", + "items": { + "$ref": "#/components/schemas/Surcharge" + } + }, + "totalSurcharges": { + "type": "number", + "description": "The total amount of all surcharges applied to this shipment.
                Example: 9.88", + "format": "double", + "example": 9.88 + }, + "totalBillingWeight": { + "description": "The weight used to calculate these rates.", + "allOf": [ + { + "$ref": "#/components/schemas/Weight_2" + } + ] + }, + "freightDiscounts": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RateDiscount" + } + }, + "rateScale": { + "type": "string", + "description": "Indicates the rate scale used.
                Example: 00000", + "example": "00000" + }, + "totalNetCharge": { + "type": "number", + "description": "The net charge after applying all discounts and surcharges.
                Example: 3.78", + "format": "double", + "example": 3.78 + }, + "totalBaseCharge": { + "type": "number", + "description": "The total freight charge that was calculated before surcharges, discounts and taxes.
                Example: 234.56", + "format": "double", + "example": 234.56 + }, + "totalNetChargeWithDutiesAndTaxes": { + "type": "number", + "description": "This is the sum of shipment's total net charges and total duties and taxes; only provided if estimated duties and taxes were calculated for this shipment AND duties, taxes and transportation charges are all paid by the same sender account.
                Example: 222.56", + "format": "double", + "example": 222.56 + }, + "currency": { + "type": "string", + "description": "Click here to see Currency Codes", + "example": "USD" + } + }, + "description": "This is a placeholder for shipment total/summary rates details, as calculated per a specific rate type. The totals may differ from the sum of corresponding package data for Multiweight or Express MPS." + }, + "Tax": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "description": "
                Example: 10.0", + "format": "double", + "example": 10 + }, + "level": { + "type": "string", + "description": "Indicates the Level of Tax.
                Example: level", + "example": "level" + }, + "description": { + "type": "string", + "description": "Placeholder for the tax description.
                Example: descrption", + "example": "description" + }, + "type": { + "type": "string", + "description": "Placeholder for the Type of the Tax.
                Example:type", + "example": "type" + } + }, + "description": "Specifies the Tax for the Shipment." + }, + "CurrencyExchangeRate": { + "type": "object", + "properties": { + "rate": { + "type": "number", + "description": "Multiplier used to convert fromCurrency units to intoCurrency units.
                Example: 25.6", + "format": "double", + "example": 25.6 + }, + "fromCurrency": { + "type": "string", + "description": "The currency code for the original (converted FROM) currency.
                Example: Rupee
                Click here to see Currency Codes", + "example": "Rupee" + }, + "intoCurrency": { + "type": "string", + "description": "The currency code for the final(converted INTO) currency.
                Example: USD
                Click here to see Currency Codes", + "example": "USD" + } + } + }, + "ShipmentLegRateDetail": { + "type": "object", + "properties": { + "rateZone": { + "type": "string", + "description": "Indicates the rate zone used (based on origin and destination).
                Example: rateZone", + "example": "rateZone" + }, + "pricingCode": { + "type": "string", + "description": "Specifies the Pricing Code.
                Example: pricingCode", + "example": "pricingCode" + }, + "taxes": { + "type": "array", + "description": "Specifies the taxes.", + "items": { + "$ref": "#/components/schemas/Tax" + } + }, + "totalDimWeight": { + "description": "Sum of dimensional weights for all packages.", + "allOf": [ + { + "$ref": "#/components/schemas/Weight_2" + } + ] + }, + "totalRebates": { + "type": "number", + "description": "Specifies the total rebate.
                Example: 2.0", + "format": "double", + "example": 2 + }, + "fuelSurchargePercent": { + "type": "number", + "description": "Specifies a fuel surcharge percentage.
                Example: 6.0", + "format": "double", + "example": 6 + }, + "currencyExchangeRate": { + "description": "Specifies currency exchange rate.", + "allOf": [ + { + "$ref": "#/components/schemas/CurrencyExchangeRate" + } + ] + }, + "dimDivisor": { + "type": "integer", + "description": "The value used to calculate the weight based on the dimensions.
                Example: 6", + "format": "int32", + "example": 6 + }, + "rateType": { + "type": "string", + "description": "Type used for this specific set of rate data.
                Example: PAYOR_RETAIL_PACKAGE", + "example": "PAYOR_RETAIL_PACKAGE" + }, + "legDestinationLocationId": { + "type": "string", + "description": "Specifies the location id the destination of shipment leg.
                Example: legDestinationLocationId", + "example": "legDestinationLocationId" + }, + "dimDivisorType": { + "type": "string", + "description": "Identifies the type of dim divisor that was applied.
                Example: dimDivisorType", + "example": "dimDivisorType" + }, + "totalBaseCharge": { + "type": "number", + "description": "The total freight charge that was calculated before surcharges, discounts and taxes.
                Example: 6.0", + "format": "double", + "example": 6 + }, + "ratedWeightMethod": { + "type": "string", + "description": "Indicates which weight was used.
                Example: ratedWeightMethod", + "example": "ratedWeightMethod" + }, + "totalFreightDiscounts": { + "type": "number", + "description": "The sum of all discounts.
                Example: 9.0", + "format": "double", + "example": 9 + }, + "totalTaxes": { + "type": "number", + "description": "Total of the transportation-based taxes.
                Example: 12.6", + "format": "double", + "example": 12.6 + }, + "minimumChargeType": { + "type": "string", + "description": "Specifies minimum Charge Type.
                Example: minimumChargeType", + "example": "minimumChargeType" + }, + "totalDutiesAndTaxes": { + "type": "number", + "description": "Total of shipments duties and taxes; only provided if estimated duties and taxes were calculated for this shipment.
                Example: 17.78", + "format": "double", + "example": 17.78 + }, + "totalNetFreight": { + "type": "number", + "description": "The freight charge minus discounts.
                Example: 6.0", + "format": "double", + "example": 6 + }, + "totalNetFedExCharge": { + "type": "number", + "description": "Total of shipments total net freight and total surcharges (not including total taxes).
                Example: 3.2", + "format": "double", + "example": 3.2 + }, + "surcharges": { + "type": "array", + "description": "All surcharges that apply to this shipment.", + "items": { + "$ref": "#/components/schemas/Surcharge" + } + }, + "totalSurcharges": { + "type": "number", + "description": "The total of all surcharges.
                Example: 5.0", + "format": "double", + "example": 5 + }, + "totalBillingWeight": { + "description": "The weight used to calculate these rates.", + "allOf": [ + { + "$ref": "#/components/schemas/Weight_2" + } + ] + }, + "freightDiscounts": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RateDiscount" + } + }, + "rateScale": { + "type": "string", + "description": "Indicates the rate scale used.
                Example: 6702", + "example": "6702" + }, + "totalNetCharge": { + "type": "number", + "description": "The net charge after applying all discounts and surcharges.
                Example: 25.3", + "format": "double", + "example": 25.3 + }, + "totalNetChargeWithDutiesAndTaxes": { + "type": "number", + "description": "Sum of total net charge, total duties and taxes; only provided if estimated duties and taxes were calculated for this shipment and duties, taxes and transportation charges are all paid by the same sender account.
                Example: 25.67", + "format": "double", + "example": 25.67 + }, + "currency": { + "type": "string", + "description": "Click here to see Currency Codes", + "example": "USD" + } + }, + "description": "This is a placeholder for single leg of a shipment rates details, as calculated per a specific rate type." + }, + "RateDiscount": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "description": "
                Example 8.9", + "format": "double", + "example": 8.9 + }, + "rateDiscountType": { + "type": "string", + "description": "The type of rate discount.
                Valid Values are BONUS, COUPON,EARNED,OTHER,VOLUME.
                Example COUPON", + "example": "COUPON" + }, + "percent": { + "type": "number", + "description": "Specifies the percentage of Rate discount.
                Example 28.9", + "format": "double", + "example": 28.9 + }, + "description": { + "type": "string", + "description": "Specifies the description of the discounted rate.
                Example: description", + "example": "description" + } + }, + "description": "Specifies discount Rate for Shipment." + }, + "DocumentRequirementsDetail": { + "type": "object", + "properties": { + "requiredDocuments": { + "type": "array", + "description": "Provides the required documents info.
                Example: [COMMERCIAL_OR_PRO_FORMA_INVOICE,AIR_WAYBILL]", + "example": [ + "COMMERCIAL_OR_PRO_FORMA_INVOICE", + "AIR_WAYBILL" + ], + "items": { + "type": "string" + } + }, + "prohibitedDocuments": { + "type": "array", + "description": "Provides the prohibited Documents info.
                Example: [ USMCA_CERTIFICATION_OF_ORIGIN]", + "example": [ + "USMCA_CERTIFICATION_OF_ORIGIN" + ], + "items": { + "type": "string" + } + }, + "generationDetails": { + "type": "array", + "description": "Provides the generation details.", + "items": { + "$ref": "#/components/schemas/DocumentGenerationDetail" + } + } + }, + "description": "Provides the DocumentRequirementsDetail." + }, + "DocumentGenerationDetail": { + "type": "object", + "properties": { + "letterhead": { + "type": "string", + "description": "is a RequirementType
                Example: OPTIONAL" + }, + "electronicSignature": { + "type": "string", + "description": "is a RequirementType
                Example: OPTIONAL" + }, + "minimumCopiesRequired": { + "type": "integer", + "description": "is a nonNegativeInteger
                Example: 3", + "format": "int32" + }, + "type": { + "type": "string", + "description": "is an EnterpriseDocumentType
                Example: COMMERCIAL_INVOICE" + } + }, + "description": "Provides the DocumentGenerationDetail info.", + "example": { + "type": "COMMERCIAL_INVOICE", + "minimumCopiesRequired": 3, + "letterhead": "OPTIONAL", + "electronicSignature": "OPTIONAL" + } + }, + "PendingShipmentAccessDetail": { + "type": "object", + "properties": { + "accessorDetails": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PendingShipmentAccessorDetail" + } + } + }, + "description": "This information describes how and when a online email return label shipment may be accessed for completion." + }, + "PendingShipmentAccessorDetail": { + "type": "object", + "properties": { + "password": { + "type": "string", + "description": "Specifies the accessor password
                Example: password", + "example": "password" + }, + "role": { + "type": "string", + "description": "Specifies the accessor role.
                Example: role", + "example": "role" + }, + "emailLabelUrl": { + "type": "string", + "description": "Specifies the URL for the email label.
                Example: emailLabelUrl", + "example": "emailLabelUrl" + }, + "userId": { + "type": "string", + "description": "Specifies the accessor User ID
                Example: userId", + "example": "userId" + } + }, + "description": "Specifies details for how to access the pending email return label." + }, + "ShipmentAdvisoryDetails": { + "type": "object", + "properties": { + "regulatoryAdvisory": { + "$ref": "#/components/schemas/RegulatoryAdvisoryDetail" + } + }, + "description": "Shipment Advisory Detail (Added for Cascade)" + }, + "RegulatoryAdvisoryDetail": { + "type": "object", + "properties": { + "commodityClarifications": { + "type": "array", + "description": "This specifies the Commodity clarifications.", + "items": { + "$ref": "#/components/schemas/CommodityClarificationDetail" + } + }, + "prohibitions": { + "type": "array", + "description": "This indicates the Regulatory probitions.", + "items": { + "$ref": "#/components/schemas/RegulatoryProhibition" + } + } + }, + "description": "This specifies the Regulatory advisory details." + }, + "CommodityClarificationDetail": { + "type": "object", + "properties": { + "commodityIndex": { + "type": "integer", + "description": "This specifies the commodity index
                Example: 25", + "format": "int32", + "example": 25 + }, + "suggestions": { + "type": "array", + "description": "This specifies the suggestions", + "items": { + "$ref": "#/components/schemas/SuggestedCommodityDetail" + } + } + } + }, + "SuggestedCommodityDetail": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Specifies suggested commodity detail description.
                Example: description", + "example": "description" + }, + "harmonizedCode": { + "type": "string", + "description": "harmonized code
                Example: harmonized Code", + "example": "123456" + } + } + }, + "RegulatoryProhibition": { + "type": "object", + "properties": { + "derivedHarmonizedCode": { + "type": "string", + "description": "derived harmonized code value
                Example: 01", + "example": "01" + }, + "advisory": { + "$ref": "#/components/schemas/Message" + }, + "commodityIndex": { + "type": "integer", + "description": "commodity index value
                Example: 12", + "format": "int32", + "example": 12 + }, + "source": { + "type": "string", + "description": "source
                Example: source", + "example": "source" + }, + "categories": { + "type": "array", + "description": "categories
                Example: [categories]", + "example": [ + "categories" + ], + "items": { + "type": "string" + } + }, + "type": { + "type": "string", + "description": "type
                Example: type", + "example": "type" + }, + "waiver": { + "$ref": "#/components/schemas/RegulatoryWaiver" + }, + "status": { + "type": "string", + "description": "status
                Example: status", + "example": "status" + } + } + }, + "Message": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Specifies the message code for the tag created.
                Example: code", + "example": "code" + }, + "text": { + "type": "string", + "description": "Specifies the text message for the tag created.
                Example: Text", + "example": "Text" + }, + "parameters": { + "type": "array", + "description": "Specifies the message parameters list.", + "items": { + "$ref": "#/components/schemas/MessageParameter" + } + }, + "localizedText": { + "type": "string", + "description": "Specifies the message ID and value.
                Example: localizedText", + "example": "localizedText" + } + }, + "description": "advisory" + }, + "MessageParameter": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Message parameter code.
                Example: message ID", + "example": "message ID" + }, + "value": { + "type": "string", + "description": "Message parameter value of the code.
                Example: value", + "example": "Message value" + } + } + }, + "RegulatoryWaiver": { + "type": "object", + "properties": { + "advisories": { + "type": "array", + "description": "advisories list", + "items": { + "$ref": "#/components/schemas/Message" + } + }, + "description": { + "type": "string", + "description": "description
                Example: description", + "example": "description" + }, + "id": { + "type": "string", + "description": "id
                Example: id", + "example": "id" + } + }, + "description": "Response structure for RegulatoryWaiver object" + }, + "MasterLabelResponse": { + "type": "object", + "properties": { + "returnTrackingNumber": { + "type": "string", + "description": "This is the return shipment tracking number
                Example: 794953540156", + "example": "794953540156" + } + }, + "description": "If Ship request has both an outbound shipment and \"returnRequestedShipment\" included, this indicates the combined outbound and return labels and documents and provided in a single PDF, So customer can print it in one shot." + }, + "TransactionDetail": { + "type": "object", + "description": "Transaction Detail" + }, + "CancelShipmentOutputVO": { + "type": "object", + "properties": { + "cancelledShipment": { + "type": "boolean", + "description": "Indicates whether the shipment has been cancelled or not. If the value is True, then it indicates that the shipment has been cancelled.
                Example: true", + "example": true + }, + "cancelledHistory": { + "type": "boolean", + "description": "Indicates whether the shipment has been deleted from history or not. If the value is True, then it indicates that the shipment has been deleted.
                Example: true", + "example": true + }, + "successMessage": { + "type": "string", + "description": "The success message generated during cancellation request for Shipment.
                Example: Success", + "example": "Success" + }, + "alerts": { + "type": "array", + "description": "This is a cancellation request alert. This alert includes information such as alert code, alert type, and alert message.", + "items": { + "$ref": "#/components/schemas/Alert" + } + } + }, + "description": "The response elements received when a shipment is cancelled." + }, + "VerifyShipmentOutputVO": { + "type": "object", + "properties": { + "alerts": { + "type": "array", + "description": "The alerts received when a Shipment Package Validate is processed. This includes the alert code, alert type, and alert message.", + "items": { + "$ref": "#/components/schemas/Alert_3P" + } + } + }, + "description": "The response elements received when a shipment is created." + }, + "Alert_3P": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Specifies the api alert code.
                Example: SHIPMENT.VALIDATION.SUCCESS", + "example": "SHIPMENT.VALIDATION.SUCCESS" + }, + "alertType": { + "type": "string", + "description": "Specifies the api alert type.", + "example": "NOTE", + "enum": [ + "NOTE", + "WARNING" + ] + }, + "message": { + "type": "string", + "description": "Specifies the api alert message.
                Example: Shipment validated successfully. No errors found.", + "example": "Shipment validated successfully. No errors found." + } + }, + "description": "Specifies the api alerts." + }, + "v1_dghazshipments_body": { + "oneOf": [ + { + "$ref": "#/components/schemas/FullSchema-shipShipment" + }, + { + "$ref": "#/components/schemas/US_Domestic_SingleShot_Multi_Piece_Shipment" + }, + { + "$ref": "#/components/schemas/DGHazShipmentExpress-UN1779" + }, + { + "$ref": "#/components/schemas/DGHazShipmentExpress-UN2915" + }, + { + "$ref": "#/components/schemas/DGHazShipmentGroundMPS-UN1888-UN3082" + }, + { + "$ref": "#/components/schemas/US_Domestic_Print_Return_Label_Shipment" + }, + { + "$ref": "#/components/schemas/US_Domestic_Email_Return_Label_Shipment" + }, + { + "$ref": "#/components/schemas/International_Shipment" + }, + { + "$ref": "#/components/schemas/International_SingleShot_Multi_Piece_Shipment" + }, + { + "$ref": "#/components/schemas/Domestic_Express_Customer_Reference" + }, + { + "$ref": "#/components/schemas/International_Express_Email_notifications" + }, + { + "$ref": "#/components/schemas/MinimumSamplePayload-Intra-EU" + }, + { + "$ref": "#/components/schemas/MinimumSamplePayload-DGHazShipmentGround" + }, + { + "$ref": "#/components/schemas/MinimumSamplePayload-DGHazShipmentExpress" + } + ] + }, + "dghazshipments_cancel_body": { + "oneOf": [ + { + "$ref": "#/components/schemas/Full_Schema_Cancel_Shipment" + }, + { + "$ref": "#/components/schemas/Cancel_Shipment" + } + ] + }, + "dghazshipments_validate_body": { + "oneOf": [ + { + "$ref": "#/components/schemas/FullSchema-VerifyShipment" + }, + { + "$ref": "#/components/schemas/Minimum-Sample-Ground" + }, + { + "$ref": "#/components/schemas/Minimum-Sample-Express" + } + ] + }, + "LabelSpecification_returnedDispositionDetail": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Specifies disposition type.", + "example": "RETURNED" + } + }, + "description": "Specify whether or not the return deposition is needed." + }, + "DangerousGoodsDetail_packaging": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "description": "the count of the packaging", + "example": 3 + }, + "units": { + "type": "string", + "description": "The weight unit of measure for the packaging. KG or LB", + "example": "LB" + } + }, + "description": "Indicates the Packaging details of dangerous goods." + }, + "DangerousGoodsDetail_signatory": { + "type": "object", + "properties": { + "contactName": { + "type": "string", + "description": "The name of the person signing for this shipment.", + "example": "John Doe" + }, + "title": { + "type": "string", + "description": "The title of the person signing for this shipment.", + "example": "Mr." + }, + "place": { + "type": "string", + "description": "Place of the person signing for this shipment.", + "example": "John Doe Warehouse" + } + }, + "description": "Specify the name, title and place of the signatory responsible for the dangerous goods shipment." + }, + "DangerousGoodsDetail_infectiousSubstanceResponsibleContact": { + "type": "object", + "properties": { + "contactId": { + "type": "string", + "description": "Indicates the contact id." + }, + "personName": { + "type": "string", + "description": "Name of the contact person", + "example": "John Doe" + }, + "title": { + "type": "string", + "description": "Title of the contact person", + "example": "Mr." + }, + "companyName": { + "type": "string", + "description": "Company name of the contact person", + "example": "University of Michigan" + }, + "phoneNumber": { + "type": "string", + "description": "The phone number of the contact person", + "example": "12283216549" + }, + "phoneExtension": { + "type": "string", + "description": "The phone number extension", + "example": "2" + }, + "tollFreePhoneNumber": { + "type": "string", + "description": "A toll free number that can be used to reach the responsible party", + "example": "18009874561" + }, + "pagerNumber": { + "type": "string", + "description": "The pager number of the contact person", + "example": "17736529999" + }, + "faxNumber": { + "type": "string", + "description": "The fax number of the contact person", + "example": "19075551234" + }, + "eMailAddress": { + "type": "string", + "description": "The email address of the contact person", + "example": "JohnDoe@company.com" + } + }, + "description": "Contact details for a responsible party if the dangerous good is an infectious substance." + }, + "DangerousGoodsDetail_radioactivityDetail_dimensions": { + "type": "object", + "properties": { + "length": { + "type": "integer", + "description": "The length of the packaging for the radoactive material.", + "example": 24 + }, + "width": { + "type": "integer", + "description": "The width of the packaging for the radoactive material.", + "example": 36 + }, + "height": { + "type": "integer", + "description": "The height of the packaging for the radoactive material.", + "example": 12 + }, + "units": { + "type": "string", + "description": "The unit that will be used for measuring the radioactive package.", + "example": "IN", + "enum": [ + "CM", + "IN" + ] + } + } + }, + "DangerousGoodsDetail_radioactivityDetail": { + "type": "object", + "properties": { + "transportIndex": { + "type": "number", + "description": "Specifies the maximum radiation level from the dangerous goods.", + "example": 2.6 + }, + "surfaceReading": { + "type": "number", + "description": "The radiation of the pacakage at the package surface.", + "example": 0.4 + }, + "criticalitySafetyIndex": { + "type": "number", + "description": "The criticality safety index(CSI) is a number assigned to a package containing fissile material and is used to provide control over the accumulation of packages.", + "example": 7 + }, + "dimensions": { + "$ref": "#/components/schemas/DangerousGoodsDetail_radioactivityDetail_dimensions" + } + }, + "description": "Specify the radioactivity detail for the current package, if the package contains radioactive materials." + }, + "CXSError401_errors": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.
                Example: NOT.AUTHORIZED.ERROR, LOGIN.REAUTHENTICATE.ERROR", + "example": "LOGIN.REAUTHENTICATE.ERROR" + }, + "message": { + "type": "string", + "description": "Indicates the description of API error alert message.
                Example: Access token expired. Please modify your request and try again.", + "example": "Re-Login authentication error" + }, + "parameterList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Parameter" + } + } + } + }, + "CXSError403_errors": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.", + "example": "FORBIDDEN.ERROR" + }, + "message": { + "type": "string", + "description": "Indicates the description of API error alert message.", + "example": "We could not authorize your credentials. Please check your permissions and try again" + }, + "parameterList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Parameter" + } + } + } + }, + "CXSError404_errors": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.", + "example": "NOT.FOUND.ERROR" + }, + "parameterList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Parameter" + } + }, + "message": { + "type": "string", + "description": "Indicates the description of API error alert message.", + "example": "The resource you requested is no longer available. Please modify your request and try again." + } + } + }, + "CXSError500_errors": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.", + "example": "INTERNAL.SERVER.ERROR" + }, + "message": { + "type": "string", + "description": "Indicates the description of API error alert message.", + "example": "We encountered an unexpected error and are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time." + }, + "parameterList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Parameter" + } + } + } + }, + "RequestedShipmentVerify_shipmentSpecialServices": { + "type": "object", + "properties": { + "specialServiceTypes": { + "type": "array", + "description": "Indicate the Special services requested for this shipment.
                Example:
                • HOLD_AT_LOCATION
                • RETURN_SHIPMENT
                • BROKER_SELECT_OPTION
                • CALL_BEFORE_DELIVERY
                • COD
                • CUSTOM_DELIVERY_WINDOW

                click here to see Shipment Special Service Types", + "example": [ + "THIRD_PARTY_CONSIGNEE", + "PROTECTION_FROM_FREEZING" + ], + "items": { + "type": "string" + } + }, + "etdDetail": { + "$ref": "#/components/schemas/ETDDetail_1" + }, + "returnShipmentDetail": { + "$ref": "#/components/schemas/ReturnShipmentDetail_1" + }, + "deliveryOnInvoiceAcceptanceDetail": { + "$ref": "#/components/schemas/DeliveryOnInvoiceAcceptanceDetail_1" + }, + "internationalTrafficInArmsRegulationsDetail": { + "$ref": "#/components/schemas/InternationalTrafficInArmsRegulationsDetail" + }, + "pendingShipmentDetail": { + "$ref": "#/components/schemas/PendingShipmentDetail_1" + }, + "holdAtLocationDetail": { + "$ref": "#/components/schemas/HoldAtLocationDetail_1" + }, + "shipmentCODDetail": { + "$ref": "#/components/schemas/ShipmentCODDetail_1" + }, + "shipmentDryIceDetail": { + "$ref": "#/components/schemas/ShipmentDryIceDetail_1_1" + }, + "internationalControlledExportDetail": { + "$ref": "#/components/schemas/InternationalControlledExportDetail" + }, + "homeDeliveryPremiumDetail": { + "$ref": "#/components/schemas/HomeDeliveryPremiumDetail_1" + } + }, + "description": "These special services are available at the shipment level for some or all service types.
                If the shipper is requesting a special service which requires additional data (such as the COD amount), the shipment special service type must be present in the specialServiceTypes collection, and the supporting detail must be provided in the appropriate sub-object below.
                RETURN_SHIPMENT is required for creating return shipments." + } + } + } +} \ No newline at end of file diff --git a/resources/models/ship-dg-hazmat/v1.json b/resources/models/ship-dg-hazmat/v1.json new file mode 100644 index 00000000..557a7d2e --- /dev/null +++ b/resources/models/ship-dg-hazmat/v1.json @@ -0,0 +1,7846 @@ +{ + "paths": { + "/ship/v1/dghazshipments": { + "post": { + "summary": "Create DG Hazmat Shipment", + "description": "This endpoint helps you to create shipment requests thereby validating all the shipping input information and either generates the labels (if the responses is synchronous) or a job ID if transaction is processed using asynchronous method.
                Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.", + "operationId": "DGHazShipment", + "parameters": [ + { + "name": "X-customer-transaction-id", + "in": "header", + "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.", + "schema": { + "type": "string" + }, + "example": "624deea6-b709-470c-8c39-4b551281492" + }, + { + "name": "X-locale", + "in": "header", + "description": "This indicates the combination of language code and country code.
                Click here to see Locales", + "schema": { + "type": "string" + }, + "example": "en_US" + }, + { + "name": "authorization", + "in": "header", + "description": "This indicates the authorization token for the input request.", + "required": true, + "schema": { + "type": "string", + "example": "Bearer XXX" + } + }, + { + "in": "header", + "name": "content-type", + "description": "This is used to indicate the media type of the resource. The media type is a string sent along with the file indicating format of the file.", + "required": true, + "schema": { + "type": "string", + "example": "application/json" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FullSchema-shipShipment" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SHPCResponseVO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": { + "code": "SHIPMENT.ACCOUNTNUMBER.UNAUTHORIZED", + "message": "This account is unauthorized. Please contact FedEx Customer Service." + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "NOT.AUTHORIZED.ERROR", + "message": "Access token expired. Please modify your request and try again." + } + ] + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "FORBIDDEN.ERROR", + "message": "We could not authorize your credentials. Please check your permissions and try again." + } + ] + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "NOT.FOUND.ERROR", + "message": "The resource you requested is no longer available. Please modify your request and try again." + } + ] + } + } + } + }, + "500": { + "description": "Failure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "INTERNAL.SERVER.ERROR", + "message": "We encountered an unexpected error and are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time." + } + ] + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "SERVICE.UNAVAILABLE.ERROR", + "message": "The service is currently unavailable and we are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time." + } + ] + } + } + } + } + }, + "x-code-samples": [ + { + "lang": "C#", + "source": "var client = new RestClient(\"https://apis-sandbox.fedex.com/ship/v1/dghazshipments\");\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"Authorization\", \"Bearer \");\nrequest.AddHeader(\"X-locale\", \"en_US\");\nrequest.AddHeader(\"Content-Type\", \"application/json\");\n// 'input' refers to JSON Payload\nrequest.AddParameter(\"application/x-www-form-urlencoded\", input, ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);\n\n\n\n\n" + }, + { + "lang": "JAVA", + "source": "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\n// 'input' refers to JSON Payload\nRequestBody body = RequestBody.create(mediaType, input);\nRequest request = new Request.Builder()\n .url(\"https://apis-sandbox.fedex.com/ship/v1/dghazshipments\")\n .post(body)\n .addHeader(\"Content-Type\", \"application/json\")\n .addHeader(\"X-locale\", \"en_US\")\n .addHeader(\"Authorization\", \"Bearer \")\n .build();\n \nResponse response = client.newCall(request).execute();" + }, + { + "lang": "JAVASCRIPT", + "source": "// 'input' refers to JSON Payload\nvar data = JSON.stringify(input);\n \n var xhr = new XMLHttpRequest();\n xhr.withCredentials = true;\n \n xhr.addEventListener(\"readystatechange\", function () {\n if (this.readyState === 4) {\n console.log(this.responseText);\n }\n });\n \n xhr.open(\"POST\", \"https://apis-sandbox.fedex.com/ship/v1/dghazshipments\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.setRequestHeader(\"X-locale\", \"en_US\");\n xhr.setRequestHeader(\"Authorization\", \"Bearer \");\n \n xhr.send(data);" + }, + { + "lang": "PHP", + "source": "setUrl('https://apis-sandbox.fedex.com/ship/v1/dghazshipments');\n$request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n 'Authorization' => 'Bearer ',\n 'X-locale' => 'en_US',\n 'Content-Type' => 'application/json'\n));\n\n$request->setBody(input); // 'input' refers to JSON Payload\n\ntry {\n $response = $request->send();\n\n echo $response->getBody();\n} catch (HttpException $ex) {\n echo $ex;\n}" + }, + { + "lang": "PYTHON", + "source": "import requests\n\nurl = \"https://apis-sandbox.fedex.com/ship/v1/dghazshipments\"\n\npayload = input # 'input' refers to JSON Payload\nheaders = {\n 'Content-Type': \"application/json\",\n 'X-locale': \"en_US\",\n 'Authorization': \"Bearer \"\n }\n\nresponse = requests.post(url, data=payload, headers=headers)\n\nprint(response.text)" + }, + { + "lang": "RUST", + "source": "extern crate reqwest;\n\nuse std::io::Read;\n\nfn construct_headers() -> HeaderMap {\n let mut headers = HeaderMap::new();\n headers.insert(\"Content-Type\", \"application/json\");\n headers.insert(\"X-locale\", \"en_US\");\n headers.insert(\"Authorization\", \"Bearer \");\n headers\n}\n\nfn run() -> Result<()> {\n let client = reqwest::Client::new();\n let mut res = client.post(\"https://apis-sandbox.fedex.com/ship/v1/dghazshipments\")\n .body(input) // 'input' refers to JSON Payload\n .headers(construct_headers())\n .send()?;\n let mut body = String::new();\n res.read_to_string(&mut body)?;\n\n println!(\"Status: {}\", res.status());\n println!(\"Headers:\\n{:#?}\", res.headers());\n println!(\"Body:\\n{}\", body);\n\n Ok(())\n}" + }, + { + "lang": "SWIFT", + "source": "import Foundation\n\nlet headers = [\n \"Content-Type\": \"application/json\",\n \"X-locale\": \"en_US\",\n \"Authorization\": \"Bearer \"\n]\nlet parameters = [\n input // 'input' refers to JSON Payload\n] as [String : Any]\n\nlet postData = JSONSerialization.data(withJSONObject: parameters, options: [])\n\nlet request = NSMutableURLRequest(url: NSURL(string: \"https://apis-sandbox.fedex.com/ship/v1/dghazshipments\")! as URL,\n cachePolicy: .useProtocolCachePolicy,\n timeoutInterval: 10.0)\nrequest.httpMethod = \"POST\"\nrequest.allHTTPHeaderFields = headers\nrequest.httpBody = postData as Data\n\nlet session = URLSession.shared\nlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in\n if (error != nil) {\n print(error)\n } else {\n let httpResponse = response as? HTTPURLResponse\n print(httpResponse)\n }\n})\n\ndataTask.resume()" + } + ], + "tags": [ + "ShipDGHazmatV1" + ] + } + }, + "/ship/v1/dghazshipments/cancel": { + "put": { + "summary": "Cancel DG Hazmat Shipment", + "description": "Use this endpoint to cancel FedEx Express and Ground shipments that have not already been tendered to FedEx. This request will cancel all packages within the shipment.
                Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.", + "operationId": "CancelShipment", + "parameters": [ + { + "name": "X-customer-transaction-id", + "in": "header", + "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.", + "schema": { + "type": "string" + }, + "example": "624deea6-b709-470c-8c39-4b551281492" + }, + { + "name": "X-locale", + "in": "header", + "description": "This indicates the combination of language code and country code.Click here to see Locales", + "schema": { + "type": "string" + }, + "example": "en_US" + }, + { + "name": "authorization", + "in": "header", + "description": "This indicates the authorization token for the input request.", + "required": true, + "schema": { + "type": "string", + "example": "Bearer XXX" + } + }, + { + "in": "header", + "name": "content-type", + "description": "This is used to indicate the media type of the resource. The media type is a string sent along with the file indicating format of the file.", + "required": true, + "schema": { + "type": "string", + "example": "application/json" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Full_Schema_Cancel_Shipment" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SHPCResponseVO_CancelShipment" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO_2" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "customerTransactionId": "AnyCo_order123456789", + "errors": [ + { + "code": "SHIPMENT.USER.UNAUTHORIZED", + "message": "Requested user is not authorized to perform the operation." + } + ] + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO_3" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "NOT.AUTHORIZED.ERROR", + "message": "Access token expired. Please modify your request and try again." + } + ] + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO_4" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "FORBIDDEN.ERROR", + "message": "We could not authorize your credentials. Please check your permissions and try again." + } + ] + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO_5" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "NOT.FOUND.ERROR", + "message": "The resource you requested is no longer available. Please modify your request and try again." + } + ] + } + } + } + }, + "500": { + "description": "Failure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO_6" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "customerTransactionId": "AnyCo_order123456789", + "errors": [ + { + "code": "INTERNAL.SERVER.ERROR", + "message": "We encountered an unexpected error and are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time." + } + ] + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "customerTransactionId": "AnyCo_order123456789", + "errors": [ + { + "code": "SERVICE.UNAVAILABLE.ERROR", + "message": "The service is currently unavailable and we are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time." + } + ] + } + } + } + } + }, + "x-code-samples": [ + { + "lang": "C#", + "source": "var client = new RestClient(\"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/cancel\");\nvar request = new RestRequest(Method.PUT);\nrequest.AddHeader(\"Authorization\", \"Bearer \");\nrequest.AddHeader(\"X-locale\", \"en_US\");\nrequest.AddHeader(\"Content-Type\", \"application/json\");\n// 'input' refers to JSON Payload\nrequest.AddParameter(\"application/x-www-form-urlencoded\", input, ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);" + }, + { + "lang": "JAVA", + "source": "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\n// 'input' refers to JSON Payload\nRequestBody body = RequestBody.create(mediaType, input);\nRequest request = new Request.Builder()\n .url(\"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/cancel\")\n .put(body)\n .addHeader(\"Content-Type\", \"application/json\")\n .addHeader(\"X-locale\", \"en_US\")\n .addHeader(\"Authorization\", \"Bearer \")\n .build();\n\nResponse response = client.newCall(request).execute();" + }, + { + "lang": "JAVASCRIPT", + "source": "// 'input' refers to JSON Payload\nvar data = JSON.stringify(input);\n \n var xhr = new XMLHttpRequest();\n xhr.withCredentials = true;\n \n xhr.addEventListener(\"readystatechange\", function () {\n if (this.readyState === 4) {\n console.log(this.responseText);\n }\n });\n \n xhr.open(\"PUT\", \"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/cancel\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.setRequestHeader(\"X-locale\", \"en_US\");\n xhr.setRequestHeader(\"Authorization\", \"Bearer \");\n \n xhr.send(data);" + }, + { + "lang": "PHP", + "source": "setUrl('https://apis-sandbox.fedex.com/ship/v1/dghazshipments/cancel');\n$request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n 'Authorization' => 'Bearer ',\n 'X-locale' => 'en_US',\n 'Content-Type' => 'application/json'\n));\n\n$request->setBody(input); // 'input' refers to JSON Payload\n\ntry {\n $response = $request->send();\n\n echo $response->getBody();\n} catch (HttpException $ex) {\n echo $ex;\n}" + }, + { + "lang": "PYTHON", + "source": "import requests\n\nurl = \"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/cancel\"\n\npayload = input # 'input' refers to JSON Payload\nheaders = {\n 'Content-Type': \"application/json\",\n 'X-locale': \"en_US\",\n 'Authorization': \"Bearer \"\n }\n\nresponse = requests.put(url, data=payload, headers=headers)\n\nprint(response.text)" + }, + { + "lang": "RUST", + "source": "extern crate reqwest;\n\nuse std::io::Read;\n\nfn construct_headers() -> HeaderMap {\n let mut headers = HeaderMap::new();\n headers.insert(\"Content-Type\", \"application/json\");\n headers.insert(\"X-locale\", \"en_US\");\n headers.insert(\"Authorization\", \"Bearer \");\n headers\n}\n\nfn run() -> Result<()> {\n let client = reqwest::Client::new();\n let mut res = client.put(\"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/cancel\")\n .body(input) // 'input' refers to JSON Payload\n .headers(construct_headers())\n .send()?;\n let mut body = String::new();\n res.read_to_string(&mut body)?;\n\n println!(\"Status: {}\", res.status());\n println!(\"Headers:\\n{:#?}\", res.headers());\n println!(\"Body:\\n{}\", body);\n\n Ok(())\n}" + }, + { + "lang": "SWIFT", + "source": "import Foundation\n\nlet headers = [\n \"Content-Type\": \"application/json\",\n \"X-locale\": \"en_US\",\n \"Authorization\": \"Bearer \"\n]\nlet parameters = [\n input // 'input' refers to JSON Payload\n] as [String : Any]\n\nlet postData = JSONSerialization.data(withJSONObject: parameters, options: [])\n\nlet request = NSMutableURLRequest(url: NSURL(string: \"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/cancel\")! as URL,\n cachePolicy: .useProtocolCachePolicy,\n timeoutInterval: 10.0)\nrequest.httpMethod = \"PUT\"\nrequest.allHTTPHeaderFields = headers\nrequest.httpBody = postData as Data\n\nlet session = URLSession.shared\nlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in\n if (error != nil) {\n print(error)\n } else {\n let httpResponse = response as? HTTPURLResponse\n print(httpResponse)\n }\n})\n\ndataTask.resume()" + } + ], + "tags": [ + "ShipDGHazmatV1" + ] + } + }, + "/ship/v1/dghazshipments/validate": { + "post": { + "summary": "Validate DG Hazmat Shipment", + "description": "Use this endpoint to verify the accuracy of a shipment request prior to actually submitting shipment request. This allow businesses that receive shipping orders from end-user/customers to verify the shipment information prior to submitting a create shipment request to FedEx and printing a label. If for any reason the information needs to be edited or changed, it can be done while the end-user is still available to confirm the changes.

                Note:
                • This is shipment level validation hence supports validation for single piece shipment only.
                • Shipment validation is supported for all Express and Ground - Domestic as well as international shipments with all applicable special services.
                • Shipment validation is supported for SmartPost and not for Freight LTL shipments.

                Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.", + "operationId": "ShipmentPackageValidate", + "parameters": [ + { + "name": "X-customer-transaction-id", + "in": "header", + "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.", + "schema": { + "type": "string" + }, + "example": "624deea6-b709-470c-8c39-4b551281492" + }, + { + "name": "X-locale", + "in": "header", + "description": "This indicates the combination of language code and country code.Click here to see Locales", + "schema": { + "type": "string" + }, + "example": "en_US" + }, + { + "name": "authorization", + "in": "header", + "description": "This indicates the authorization token for the input request.", + "required": true, + "schema": { + "type": "string", + "example": "Bearer XXX" + } + }, + { + "in": "header", + "name": "content-type", + "description": "This is used to indicate the media type of the resource. The media type is a string sent along with the file indicating format of the file.", + "required": true, + "schema": { + "type": "string", + "example": "application/json" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FullSchema-VerifyShipment" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SHPCResponseVO_Validate" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO" + }, + "example": { + "transactionId": "4f816527-0be2-4720-bd4e-4a10bf41ce3c", + "errors": [ + { + "code": "COUNTRY.POSTALANDSTATEORPROVINCECODE.MISMATCH", + "message": "Postal code and state or province code mismatch. Please update and try again." + } + ] + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "NOT.AUTHORIZED.ERROR", + "message": "Access token expired. Please modify your request and try again." + } + ] + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "FORBIDDEN.ERROR", + "message": "We could not authorize your credentials. Please check your permissions and try again." + } + ] + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "NOT.FOUND.ERROR", + "message": "The resource you requested is no longer available. Please modify your request and try again." + } + ] + } + } + } + }, + "500": { + "description": "Failure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "errors": [ + { + "code": "INTERNAL.SERVER.ERROR", + "message": "We encountered an unexpected error and are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time." + } + ] + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO" + }, + "example": { + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "customerTransactionId": "AnyCo_order123456789", + "errors": [ + { + "code": "SERVICE.UNAVAILABLE.ERROR", + "message": "The service is currently unavailable and we are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time." + } + ] + } + } + } + } + }, + "x-code-samples": [ + { + "lang": "C#", + "source": "var client = new RestClient(\"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/validate\");\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"Authorization\", \"Bearer \");\nrequest.AddHeader(\"X-locale\", \"en_US\");\nrequest.AddHeader(\"Content-Type\", \"application/json\");\n// 'input' refers to JSON Payload\nrequest.AddParameter(\"application/x-www-form-urlencoded\", input, ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);\n\n\n\n\n" + }, + { + "lang": "JAVA", + "source": "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\n// 'input' refers to JSON Payload\nRequestBody body = RequestBody.create(mediaType, input);\nRequest request = new Request.Builder()\n .url(\"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/validate\")\n .post(body)\n .addHeader(\"Content-Type\", \"application/json\")\n .addHeader(\"X-locale\", \"en_US\")\n .addHeader(\"Authorization\", \"Bearer \")\n .build();\n \nResponse response = client.newCall(request).execute();" + }, + { + "lang": "JAVASCRIPT", + "source": "// 'input' refers to JSON Payload\nvar data = JSON.stringify(input);\n \n var xhr = new XMLHttpRequest();\n xhr.withCredentials = true;\n \n xhr.addEventListener(\"readystatechange\", function () {\n if (this.readyState === 4) {\n console.log(this.responseText);\n }\n });\n \n xhr.open(\"POST\", \"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/validate\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.setRequestHeader(\"X-locale\", \"en_US\");\n xhr.setRequestHeader(\"Authorization\", \"Bearer \");\n \n xhr.send(data);" + }, + { + "lang": "PHP", + "source": "setUrl('https://apis-sandbox.fedex.com/ship/v1/dghazshipments/validate');\n$request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n 'Authorization' => 'Bearer ',\n 'X-locale' => 'en_US',\n 'Content-Type' => 'application/json'\n));\n\n$request->setBody(input); // 'input' refers to JSON Payload\n\ntry {\n $response = $request->send();\n\n echo $response->getBody();\n} catch (HttpException $ex) {\n echo $ex;\n}" + }, + { + "lang": "PYTHON", + "source": "import requests\n\nurl = \"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/validate\"\n\npayload = input # 'input' refers to JSON Payload\nheaders = {\n 'Content-Type': \"application/json\",\n 'X-locale': \"en_US\",\n 'Authorization': \"Bearer \"\n }\n\nresponse = requests.post(url, data=payload, headers=headers)\n\nprint(response.text)" + }, + { + "lang": "RUST", + "source": "extern crate reqwest;\n\nuse std::io::Read;\n\nfn construct_headers() -> HeaderMap {\n let mut headers = HeaderMap::new();\n headers.insert(\"Content-Type\", \"application/json\");\n headers.insert(\"X-locale\", \"en_US\");\n headers.insert(\"Authorization\", \"Bearer \");\n headers\n}\n\nfn run() -> Result<()> {\n let client = reqwest::Client::new();\n let mut res = client.post(\"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/validate\")\n .body(input) // 'input' refers to JSON Payload\n .headers(construct_headers())\n .send()?;\n let mut body = String::new();\n res.read_to_string(&mut body)?;\n\n println!(\"Status: {}\", res.status());\n println!(\"Headers:\\n{:#?}\", res.headers());\n println!(\"Body:\\n{}\", body);\n\n Ok(())\n}" + }, + { + "lang": "SWIFT", + "source": "import Foundation\n\nlet headers = [\n \"Content-Type\": \"application/json\",\n \"X-locale\": \"en_US\",\n \"Authorization\": \"Bearer \"\n]\nlet parameters = [\n input // 'input' refers to JSON Payload\n] as [String : Any]\n\nlet postData = JSONSerialization.data(withJSONObject: parameters, options: [])\n\nlet request = NSMutableURLRequest(url: NSURL(string: \"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/validate\")! as URL,\n cachePolicy: .useProtocolCachePolicy,\n timeoutInterval: 10.0)\nrequest.httpMethod = \"POST\"\nrequest.allHTTPHeaderFields = headers\nrequest.httpBody = postData as Data\n\nlet session = URLSession.shared\nlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in\n if (error != nil) {\n print(error)\n } else {\n let httpResponse = response as? HTTPURLResponse\n print(httpResponse)\n }\n})\n\ndataTask.resume()" + } + ], + "tags": [ + "ShipDGHazmatV1" + ] + } + } + }, + "components": { + "schemas": { + "SHPCResponseVO": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
                Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "customerTransactionId": { + "type": "string", + "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
                Example: AnyCo_order123456789", + "example": "AnyCo_order123456789" + }, + "output": { + "$ref": "#/components/schemas/BaseProcessOutputVO" + } + }, + "description": "Wrapper class for ShipShipmentOutputVO. It holds transactionId and output." + }, + "BaseProcessOutputVO": { + "type": "object", + "properties": { + "customerTransactionId": { + "type": "string", + "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
                Example:AnyCo_order123456789", + "example": "AnyCo_order123456789" + }, + "transactionShipments": { + "type": "array", + "description": "The shipping transaction details, such as master tracking number, service type, and ship timestamp.", + "items": { + "$ref": "#/components/schemas/TransactionShipmentOutputVO" + } + }, + "jobId": { + "type": "string" + }, + "masterMergeLabelandDocuments": { + "$ref": "#/components/schemas/MasterLabelResponse" + }, + "transactionDetail": { + "$ref": "#/components/schemas/TransactionDetail" + }, + "alerts": { + "type": "array", + "description": "The alerts received when a shipShipment is processed. This includes the alert code, alert type, and alert message.", + "items": { + "$ref": "#/components/schemas/Alert" + } + } + }, + "description": "The response elements received when a shipment is created." + }, + "Parameter": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Identifies the error option to be applied." + }, + "key": { + "type": "string", + "description": "Indicates the value associated with the key." + } + }, + "description": "List of parameters which indicates the properties of the alert message." + }, + "FullSchema-shipShipment": { + "required": [ + "accountNumber", + "labelResponseOptions", + "requestedShipment" + ], + "type": "object", + "properties": { + "requestedShipment": { + "$ref": "#/components/schemas/RequestedShipment" + }, + "accountNumber": { + "$ref": "#/components/schemas/ShipperAccountNumber" + }, + "shipAction": { + "$ref": "#/components/schemas/OpenShipmentAction" + }, + "labelResponseOptions": { + "$ref": "#/components/schemas/LabelResponseOptions" + }, + "mergeLabelDocOption": { + "type": "string", + "description": "It specifies the content of the merged pdf URL in the response. The merged pdf URL is generated only if the labelResponseOption is indicated as URL_ONLY.
                • If the value is 'LABELS_AND_DOCS', then merged (all shipping labels and shipping documents) pdf URL will be returned.
                • If the value is 'LABELS_ONLY', merged (all shipping labels only) pdf URL will be returned.
                • If the value is 'NONE', then no merged pdf URL will be returned.

                This is optional field and will default to LABELS_AND_DOCS.
                Note: If the value is 'LABELS_ONLY', then the returned merged pdf label will not be in the Base64 encoded format.", + "example": "LABELS_AND_DOCS", + "enum": [ + "NONE", + "LABELS_AND_DOCS", + "LABELS_ONLY" + ] + } + }, + "description": "The request elements required to create a shipment." + }, + "RequestedShipment": { + "required": [ + "labelSpecification", + "packagingType", + "pickupType", + "recipients", + "requestedPackageLineItems", + "serviceType", + "shipper", + "shippingChargesPayment" + ], + "type": "object", + "properties": { + "shipDatestamp": { + "type": "string", + "description": "This is the shipment date. Default value is current date in case the date is not provided or a past date is provided.
                Format [YYYY-MM-DD].
                Example: 2019-10-14", + "example": "2019-10-14" + }, + "pickupType": { + "type": "string", + "description": "Indicate the pickup type method by which the shipment to be tendered to FedEx.
                Click here for more information on Pickup Types.", + "example": "USE_SCHEDULED_PICKUP", + "enum": [ + "CONTACT_FEDEX TO_SCHEDULE", + "DROPOFF_AT_FEDEX_LOCATION", + "USE_SCHEDULED_PICKUP" + ] + }, + "serviceType": { + "type": "string", + "description": "Indicate the FedEx service type used for this shipment.
                Example: STANDARD_OVERNIGHT
                click here to see Service Types", + "example": "PRIORITY_OVERNIGHT" + }, + "recipientLocationNumber": { + "type": "string", + "description": "A unique identifier for a recipient location.", + "example": "1234567" + }, + "soldTo": { + "description": "Will indicate the party responsible for purchasing the goods shipped from the shipper to the recipient. The sold to party is not necessarily the recipient or the importer of record. The sold to party is relevant when the purchaser, rather than the recipient determines when certain customs regulations apply.", + "$ref": "#/components/schemas/SoldToParty" + }, + "packagingType": { + "type": "string", + "description": "Specify the packaging used.
                Note: For Express Freight shipments, the packaging will default to YOUR_PACKAGING irrespective of the user provided package type in the request.
                Example: FEDEX_PAK
                click here to see Package Types", + "example": "YOUR_PACKAGING" + }, + "totalWeight": { + "type": "number", + "description": "Indicate the shipment total weight in pounds.
                Example: 10.6
                Note:
                • This only applies to International shipments and should be used on the first package of a multiple piece shipment.
                • This value contains 1 explicit decimal position.
                • For one Label at a time shipments, the unit of totalWeight is considered same as the unit of weight provided in requestedPackageLineItem field.
                ", + "format": "double", + "example": 20.1 + }, + "shipper": { + "description": "Indicate the Shipper contact details for this shipment.", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "91", + "phoneNumber": "1234567890", + "companyName": "Fedex" + }, + "tins": [ + { + "number": "123567", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ] + }, + "$ref": "#/components/schemas/ShipperParty" + }, + "recipients": { + "type": "array", + "description": "Indicate the descriptive data for the recipient location to which the shipment is to be received.", + "items": { + "$ref": "#/components/schemas/RecipientsParty" + } + }, + "origin": { + "description": "Indicate shipment origin address information, if it is different from the shipper address.", + "$ref": "#/components/schemas/ContactAndAddress" + }, + "shippingChargesPayment": { + "$ref": "#/components/schemas/Payment" + }, + "shipmentSpecialServices": { + "$ref": "#/components/schemas/ShipmentSpecialServicesRequested" + }, + "totalDeclaredValue": { + "description": "It is the sum of all declared values of all packages in a shipment. The amount of totalDeclaredValue must be equal to the sum of all the individual declaredValues in the shipment. The declaredValue and totalDeclaredValue must match in all currencies in one shipment. This value represents FedEx maximum liability associated with a shipment. This is including, but not limited to any loss, damage, delay, misdelivery, any failure to provide information, or misdelivery of information related to the Shipment.
                Note: The totalDeclaredValue should not exceed customsValue.", + "$ref": "#/components/schemas/Money" + }, + "emailNotificationDetail": { + "$ref": "#/components/schemas/EMailNotificationDetail" + }, + "expressFreightDetail": { + "$ref": "#/components/schemas/ExpressFreightDetail" + }, + "variableHandlingChargeDetail": { + "$ref": "#/components/schemas/VariableHandlingChargeDetail" + }, + "customsClearanceDetail": { + "$ref": "#/components/schemas/CustomsClearanceDetail" + }, + "smartPostInfoDetail": { + "$ref": "#/components/schemas/SmartPostInfoDetail" + }, + "blockInsightVisibility": { + "type": "boolean", + "description": "Indicate if the shipment be available to be visible/tracked using FedEx InSight\u00ae tool. If value indicated as true, only the shipper/payer will have visibility of this shipment in the FedEx InSight\u00ae tool.", + "example": true + }, + "labelSpecification": { + "$ref": "#/components/schemas/LabelSpecification" + }, + "shippingDocumentSpecification": { + "$ref": "#/components/schemas/ShippingDocumentSpecification" + }, + "rateRequestType": { + "type": "array", + "description": "Indicate the type of rates to be returned. The account specific rates are returned by default if the account number is specified in the request.
                Following are values:
                • LIST - Returns FedEx published list rates in addition to account-specific rates (if applicable).
                • INCENTIVE - This is one-time discount for incentivising the customer. For more information, contact your FedEx representative.
                • ACCOUNT - Returns account specific rates (Default).
                • PREFERRED - Returns rates in the preferred currency specified in the element preferredCurrency.
                • RETAIL - Returns customer rate from one of retail FedEx service centers.
                Examples: [\"ACCOUNT\", \"PREFERRED\"]", + "example": [ + "LIST", + "PREFERRED" + ], + "items": { + "type": "string", + "enum": [ + "LIST", + "NONE", + "PREFERRED", + "ACCOUNT", + "INCENTIVE", + "RETAIL" + ] + } + }, + "preferredCurrency": { + "type": "string", + "description": "Indicate the currency the caller requests to have used in all returned monetary values. Should be Used in conjunction with the element RateRequestType.
                Example: USD
                click here to see available Currency codes
                Note: Incorrect currency codes should not be supplied. The system ignores the incorrect currency code.", + "example": "USD" + }, + "totalPackageCount": { + "type": "integer", + "description": "For an MPS, this is the total number of packages in the shipment.Applicable for parent shipment for one label at a time shipments.
                Example: 25", + "format": "int32", + "example": 25 + }, + "masterTrackingId": { + "$ref": "#/components/schemas/TrackingId" + }, + "requestedPackageLineItems": { + "type": "array", + "description": "These are one or more package-attribute descriptions, each of which describes an individual package, a group of identical packages, or (for the total-piece-total-weight case) common characteristics of all packages in the shipment.
                • At least one instance containing the weight for at least one package is required for EXPRESS and GROUND shipments.
                • Single piece requests will have one RequestedPackageLineItem.
                • Multiple piece requests will have multiple RequestedPackageLineItems.
                • Maximum occurrences is 30.
                ", + "items": { + "$ref": "#/components/schemas/RequestedPackageLineItem" + } + } + }, + "description": "The descriptive data of the requested shipment." + }, + "SoldToParty": { + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/PartyAddress" + }, + "contact": { + "$ref": "#/components/schemas/PartyContact" + }, + "tins": { + "type": "array", + "description": "Used for adding the tax id", + "items": { + "$ref": "#/components/schemas/TaxpayerIdentification" + } + }, + "accountNumber": { + "$ref": "#/components/schemas/PartyAccountNumber" + } + }, + "description": "Will indicate the party responsible for purchasing the goods shipped from the shipper to the recipient. The sold to party is not necessarily the recipient or the importer of record. The sold to party is relevant when the purchaser, rather than the recipient determines when certain customs regulations apply." + }, + "PartyAddress": { + "required": [ + "city", + "countryCode", + "postalCode", + "stateOrProvinceCode", + "streetLines" + ], + "type": "object", + "properties": { + "streetLines": { + "type": "array", + "description": "Combination of number, street name, etc. At least one line is required for a valid physical address. Empty lines should not be included. Max Length is 35.
                Example: [1550 Union Blvd,Suite 302]", + "example": [ + "1550 Union Blvd", + "Suite 302" + ], + "items": { + "type": "string" + } + }, + "city": { + "maxLength": 35, + "type": "string", + "description": "The name of city, town of the recipient.Max length is 35.
                Example: Beverly Hills", + "example": "Beverly Hills" + }, + "stateOrProvinceCode": { + "type": "string", + "description": "The US State and Canada Province codes of the recipient. The Format and presence of this field may vary depending on the country.
                Example: CA", + "example": "CA" + }, + "postalCode": { + "type": "string", + "description": "The US State and Canada Province codes. The Format and presence of this field may vary depending on the country.
                Example: 90210", + "example": "90210" + }, + "countryCode": { + "type": "string", + "description": "The two-letter code used to identify a country. Max length is 2.
                Example: US", + "example": "US" + }, + "residential": { + "type": "boolean", + "description": " Indicates whether this address is residential (as opposed to commercial).
                Example: false", + "example": false + } + }, + "description": "This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US).", + "example": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + } + }, + "PartyContact": { + "required": [ + "phoneNumber" + ], + "type": "object", + "properties": { + "personName": { + "type": "string", + "description": "Identifies the contact person's name. Max Length is 70.
                Example: John Taylor", + "example": "John Taylor" + }, + "emailAddress": { + "type": "string", + "description": "Shipper's email address. Max length is 80.
                Example: sample@company.com", + "example": "sample@company.com" + }, + "phoneExtension": { + "type": "string", + "description": "The shipper's phone extension. Max length is 6.
                Example: 91", + "example": "91" + }, + "phoneNumber": { + "type": "string", + "description": "The shipper's phone number.
                Minimum length is 10 and supports maximum of 15 for certain countries using longer phone numbers.
                Note: For US and CA, a phone number must have exactly 10 digits, plus an optional leading country code of '1' or '+1'.
                Example: 918xxxxx890", + "example": "918xxxxx890" + }, + "companyName": { + "type": "string", + "description": "The shipper's company name. Max length is 35.
                Example: FedEx", + "example": "Fedex" + } + }, + "description": "Indicate the contact details for this shipment.", + "example": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "91", + "phoneNumber": "1234567890", + "companyName": "Fedex" + } + }, + "TaxpayerIdentification": { + "type": "object", + "properties": { + "number": { + "type": "string", + "description": "Specify tax ID number. Maximum length is 18.", + "example": "123567" + }, + "tinType": { + "type": "string", + "description": "Indicate the type of tax identification number.", + "example": "FEDERAL", + "enum": [ + "PERSONAL_NATIONAL", + "PERSONAL_STATE", + "FEDERAL", + "BUSINESS_NATIONAL", + "BUSINESS_STATE", + "BUSINESS_UNION" + ] + }, + "usage": { + "type": "string", + "description": "Specify the reason for using the tax identification number in shipment processing.", + "example": "usage" + }, + "effectiveDate": { + "type": "string", + "description": "Specify the tax ID effective date.", + "example": "2000-01-23T04:56:07.000+00:00" + }, + "expirationDate": { + "type": "string", + "description": "Specify the tax ID expiration date.", + "example": "2000-01-23T04:56:07.000+00:00" + } + }, + "example": { + "number": "123567", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + }, + "PartyAccountNumber": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Conditional.
                The account number value.
                Value is required if the paymentType is RECIPIENT, THIRD_PARTY or COLLECT.
                Max Length is 9.
                Example: 123456789 " + } + }, + "description": "The account number of the recipient.", + "example": { + "value": "123456789" + } + }, + "ShipmentSpecialServicesRequested": { + "type": "object", + "properties": { + "specialServiceTypes": { + "type": "array", + "description": "Indicate the Special services requested for this shipment.
                Example:
                • HOLD_AT_LOCATION
                • RETURN_SHIPMENT
                • BROKER_SELECT_OPTION
                • CALL_BEFORE_DELIVERY
                • COD
                • CUSTOM_DELIVERY_WINDOW

                click here to see Shipment Special Service Types", + "example": [ + "THIRD_PARTY_CONSIGNEE", + "PROTECTION_FROM_FREEZING" + ], + "items": { + "type": "string" + } + }, + "etdDetail": { + "$ref": "#/components/schemas/ETDDetail" + }, + "returnShipmentDetail": { + "$ref": "#/components/schemas/ReturnShipmentDetail" + }, + "deliveryOnInvoiceAcceptanceDetail": { + "$ref": "#/components/schemas/DeliveryOnInvoiceAcceptanceDetail" + }, + "internationalTrafficInArmsRegulationsDetail": { + "$ref": "#/components/schemas/InternationalTrafficInArmsRegulationsDetail" + }, + "pendingShipmentDetail": { + "$ref": "#/components/schemas/PendingShipmentDetail" + }, + "holdAtLocationDetail": { + "$ref": "#/components/schemas/HoldAtLocationDetail" + }, + "shipmentCODDetail": { + "$ref": "#/components/schemas/ShipmentCODDetail" + }, + "shipmentDryIceDetail": { + "$ref": "#/components/schemas/ShipmentDryIceDetail" + }, + "internationalControlledExportDetail": { + "$ref": "#/components/schemas/InternationalControlledExportDetail" + }, + "homeDeliveryPremiumDetail": { + "$ref": "#/components/schemas/HomeDeliveryPremiumDetail" + } + }, + "description": "Specify the special services requested at the shipment level. If the shipper is requesting a special service which requires additional data (such as the COD amount), the shipment special service type must be present in the specialServiceTypes collection, and the supporting detail must be provided in the appropriate sub-object below. RETURN_SHIPMENT is required for creating return shipments." + }, + "UploadDocumentReferenceDetail": { + "type": "object", + "properties": { + "documentId": { + "type": "string", + "description": "Returns the value specified in the ship shipment request for your uploaded documents in addition to other values for FedEx generated documents such as shipping labels.
                Example: 090927d680038c61", + "example": "090927d680038c61" + }, + "description": { + "type": "string", + "description": "Specify additional information about the uploaded document for better understanding.", + "example": "Certificate of Origin is uploaded for country of manufacturing verification." + }, + "documentReference": { + "type": "string", + "description": "Specify the reference for the uploaded document.This is for the customer to reference their uploaded docs when they retrieve them. Could be anything, order number, po number, whatever the customer used to tie the document to something they would use. Note: Ensure to supply document references in case of Pre-Shipment document upload", + "example": "Reference" + }, + "documentType": { + "type": "string", + "description": "Specify document type for the uploaded document. It should match with the type of uploaded document associated with documentId", + "example": "PRO_FORMA_INVOICE", + "enum": [ + "CERTIFICATE_OF_ORIGIN", + "COMMERCIAL_INVOICE", + "ETD_LABEL", + "USMCA_CERTIFICATION_OF_ORIGIN", + "USMCA_COMMERCIAL_INVOICE_CERTIFICATION_OF_ORIGIN", + "NET_RATE_SHEET", + "OTHER", + "PRO_FORMA_INVOICE" + ] + } + } + }, + "ReturnEmailDetail": { + "required": [ + "merchantPhoneNumber" + ], + "type": "object", + "properties": { + "merchantPhoneNumber": { + "type": "string", + "description": "Required for Email Return Labels.
                This is the merchant phone number.
                Example: 19012635656", + "example": "19012635656" + }, + "allowedSpecialService": { + "type": "array", + "description": "Identifies the allowed (merchant-authorized) special services which may be selected when the subsequent shipment is created.
                Only services represented in EmailLabelAllowedSpecialServiceType will be controlled by this list. ", + "items": { + "type": "string", + "example": "SATURDAY_DELIVERY", + "enum": [ + "SATURDAY_DELIVERY", + "SATURDAY_PICKUP" + ] + } + } + }, + "description": "Email ID details for the return shipment." + }, + "ReturnMerchandiseAuthorization": { + "type": "object", + "properties": { + "reason": { + "type": "string", + "description": "This is the reason for the return.
                Note: There is no validation for reason. Recommended length is 60 alpha-numeric characters
                Ex. Wrong color or size.", + "example": "Wrong Size or Color" + } + }, + "description": "Return Merchant Authorization (RMA) for the return shipment.
                If the RMA element is included in the request, the return reason may be entered.
                " + }, + "ReturnAssociationDetail": { + "type": "object", + "properties": { + "shipDatestamp": { + "type": "string", + "description": "This is the ship date for the outbound shipment associated with a return shipment. The format is YYYY-MM-DD.
                Example: 2019-10-01", + "example": "2019-10-01" + }, + "trackingNumber": { + "type": "string", + "description": "This is the tracking number associated with this package.
                Example: 49XXX0000XXX20032835", + "example": "123456789" + } + }, + "description": "Specifies the details of an outbound shipment in order to associate the return shipment to it." + }, + "InternationalTrafficInArmsRegulationsDetail": { + "required": [ + "licenseOrExemptionNumber" + ], + "type": "object", + "properties": { + "licenseOrExemptionNumber": { + "type": "string", + "description": "The export or license number for the ITAR shipment.
                Example: 9871234", + "example": "9871234" + } + }, + "description": "These are International Traffic In Arms Regulations shipment service details." + }, + "PendingShipmentProcessingOptionsRequested": { + "type": "object", + "properties": { + "options": { + "type": "array", + "description": "Pending Shipment Processing Option Type", + "example": [ + "ALLOW_MODIFICATIONS" + ], + "items": { + "type": "string", + "enum": [ + "ALLOW_MODIFICATIONS" + ] + } + } + }, + "description": "Allows the Email Label shipment originator to specify if the Email label shipment completer can make modifications to editable shipment data." + }, + "RecommendedDocumentSpecification": { + "required": [ + "types" + ], + "type": "object", + "properties": { + "types": { + "type": "array", + "description": "Specifies the Recommended Document Types that are included with the shipment.", + "example": [ + "ANTIQUE_STATEMENT_EUROPEAN_UNION", + "ANTIQUE_STATEMENT_UNITED_STATES" + ], + "items": { + "type": "string", + "enum": [ + "ANTIQUE_STATEMENT_EUROPEAN_UNION", + "ANTIQUE_STATEMENT_UNITED_STATES", + "ASSEMBLER_DECLARATION", + "BEARING_WORKSHEET", + "CERTIFICATE_OF_SHIPMENTS_TO_SYRIA", + "COMMERCIAL_INVOICE_FOR_THE_CARIBBEAN_COMMON_MARKET", + "CONIFEROUS_SOLID_WOOD_PACKAGING_MATERIAL_TO_THE_PEOPLES_REPUBLIC_OF_CHINA", + "DECLARATION_FOR_FREE_ENTRY_OF_RETURNED_AMERICAN_PRODUCTS", + "DECLARATION_OF_BIOLOGICAL_STANDARDS", + "DECLARATION_OF_IMPORTED_ELECTRONIC_PRODUCTS_SUBJECT_TO_RADIATION_CONTROL_STANDARD", + "ELECTRONIC_INTEGRATED_CIRCUIT_WORKSHEET", + "FILM_AND_VIDEO_CERTIFICATE", + "INTERIM_FOOTWEAR_INVOICE", + "USMCA_CERTIFICATION_OF_ORIGIN_FRENCH", + "USMCA_CERTIFICATION_OF_ORIGIN_SPANISH", + "USMCA_CERTIFICATION_OF_ORIGIN_ENGLISH", + "USMCA_COMMERCIAL_INVOICE_CERTIFICATION_OF_ORIGIN_ENGLISH", + "USMCA_COMMERCIAL_INVOICE_CERTIFICATION_OF_ORIGIN_FRENCH", + "USMCA_COMMERCIAL_INVOICE_CERTIFICATION_OF_ORIGIN_SPANISH", + "PACKING_LIST", + "PRINTED_CIRCUIT_BOARD_WORKSHEET", + "REPAIRED_WATCH_BREAKOUT_WORKSHEET", + "STATEMENT_REGARDING_THE_IMPORT_OF_RADIO_FREQUENCY_DEVICES", + "TOXIC_SUBSTANCES_CONTROL_ACT", + "UNITED_STATES_CARIBBEAN_BASIN_TRADE_PARTNERSHIP_ACT_CERTIFICATE_OF_ORIGIN_TEXTILES", + "UNITED_STATES_CARIBBEAN_BASIN_TRADE_PARTNERSHIP_ACT_CERTIFICATE_OF_ORIGIN_NON_TEXTILES", + "UNITED_STATES_NEW_WATCH_WORKSHEET", + "UNITED_STATES_WATCH_REPAIR_DECLARATION" + ] + } + } + }, + "description": "These are documents that are recommended to be included with the shipment." + }, + "EmailOptionsRequested": { + "type": "object", + "properties": { + "options": { + "type": "array", + "items": { + "type": "string", + "example": "[\"PRODUCE_PAPERLESS_SHIPPING_FORMAT\",\"SUPPRESS_ACCESS_EMAILS\"]", + "enum": [ + "PRODUCE_PAPERLESS_SHIPPING_FORMAT", + "SUPPRESS_ADDITIONAL_LANGUAGES", + "SUPPRESS_ACCESS_EMAILS" + ] + } + } + }, + "description": "Indicates how the email notifications for the pending shipment must be processed." + }, + "Locale": { + "type": "object", + "properties": { + "country": { + "type": "string", + "description": "Specifies the Country code.
                Example: US", + "example": "US" + }, + "language": { + "type": "string", + "description": "Specifies the Language code.
                Example: en", + "example": "en" + } + }, + "description": "Specifies the Locale" + }, + "CODTransportationChargesDetail": { + "type": "object", + "properties": { + "rateType": { + "type": "string", + "description": "Type used for this specific set of rate data", + "enum": [ + "ACCOUNT", + "CURRENT", + "CUSTOM", + "INCENTIVE", + "PREFERRED" + ] + }, + "rateLevelType": { + "type": "string", + "description": "Rate according to Level type", + "enum": [ + "BUNDLED_RATE", + "INDIVIDUAL_PACKAGE_RATE" + ] + }, + "chargeLevelType": { + "type": "string", + "description": "Charges according to Level type", + "enum": [ + "CURRENT_PACKAGE", + "SUM_OF_PACKAGES" + ] + }, + "chargeType": { + "type": "string", + "description": "Specifies the type of Charges", + "enum": [ + "COD_SURCHARGE", + "NET_CHARGE", + "NET_FREIGHT", + "TOTAL_CUSTOMER_CHARGE" + ] + } + }, + "description": "This element allows you to add transportation charges to the C.O.D. collection amount.
                Valid values are: ADD_ACCOUNT_COD_SURCHARGE, ADD_ACCOUNT_NET_CHARGE, ADD_ACCOUNT_NET_FREIGHT, ADD_ACCOUNT_TOTAL_CUSTOMER_CHARGE, ADD_LIST_COD_SURCHARGE, ADD_LIST_NET_CHARGE, ADD_LIST_NET_FREIGHT, ADD_LIST_TOTAL_CUSTOMER_CHARGE" + }, + "Money": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "description": "This is commodity value in amount used for Customs declaration.
                Max limit: 7 digits before decimal.
                Example: 12.45", + "format": "double", + "example": 12.45 + }, + "currency": { + "type": "string", + "description": "This is the currency of the commodity value used for Customs declaration.
                Example: USD
                Click here to see Currency Codes", + "example": "USD" + } + }, + "description": "This is commodity value used for Customs declaration." + }, + "InternationalControlledExportDetail": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "licenseOrPermitExpirationDate": { + "type": "string", + "description": "Indicates the license Or Permit Expiration Date.
                Format YYYY-MM-DD
                Example: \"2019-12-03\"", + "example": "2019-12-03" + }, + "licenseOrPermitNumber": { + "type": "string", + "description": "Indicates the licenseOrPermitNumber.
                Example: 11", + "example": "11" + }, + "entryNumber": { + "type": "string", + "description": "Indicates the entry number.
                Example: 125", + "example": "125" + }, + "foreignTradeZoneCode": { + "type": "string", + "description": "Indicates the ForeignTradeZoneCode.
                Example: US", + "example": "US" + }, + "type": { + "type": "string", + "description": "Indicates the International Controlled Export Type", + "example": "WAREHOUSE_WITHDRAWAL", + "enum": [ + "DEA_036", + "DEA_236", + "DSP_05", + "DSP_61", + "DSP_73", + "DSP_85", + "DSP_LICENSE_AGREEMENT", + "WAREHOUSE_WITHDRAWAL" + ] + } + }, + "description": "Use this object to specify International Controlled Export shipment Details.
                Note: licenseOrPermitExpirationDate and licenseOrPermitNumber are not required when type is WAREHOUSE_WITHDRAWAL." + }, + "PhoneNumber": { + "type": "object", + "properties": { + "areaCode": { + "type": "string", + "description": "Indicates the Area Code of a phone number." + }, + "localNumber": { + "type": "string", + "description": "Indicates the Local Number" + }, + "extension": { + "type": "string", + "description": "Identifies the phone extension associated with this contact." + }, + "countryCode": { + "type": "string", + "description": "The two-letter code used to identify a country. Max length is 2.
                Example: US
                Click here to see Country Codes" + }, + "personalIdentificationNumber": { + "type": "string", + "description": "Identifies a Personal Identification Number" + } + }, + "description": "A phone number for a party. Numeric only", + "example": { + "areaCode": "901", + "localNumber": "3575012", + "extension": "200", + "countryCode": "US", + "personalIdentificationNumber": "98712345" + } + }, + "EmailNotificationRecipient": { + "required": [ + "emailAddress", + "emailNotificationRecipientType" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "This is the email recipients' name
                Example: Joe Smith", + "example": "Joe Smith" + }, + "emailNotificationRecipientType": { + "type": "string", + "description": "This is the email notification recipient type.", + "example": "SHIPPER", + "enum": [ + "BROKER", + "OTHER", + "RECIPIENT", + "SHIPPER", + "THIRD_PARTY", + "OTHER1", + "OTHER2" + ] + }, + "emailAddress": { + "type": "string", + "description": "This is the recipients email address.
                Example: xyz@aol.com", + "example": "jsmith3@aol.com" + }, + "notificationFormatType": { + "type": "string", + "description": "this is the format for the email notification, either HTML or plain text is available.
                Example: TEXT", + "example": "TEXT", + "enum": [ + "HTML", + "TEXT" + ] + }, + "notificationType": { + "type": "string", + "description": "Indicates the type of notification that will be sent, either SMS text message or an Email
                Example: EMAIL", + "example": "EMAIL", + "enum": [ + "SMS_TEXT_MESSAGE", + "EMAIL" + ] + }, + "locale": { + "type": "string", + "description": "this is the language and language locale code for the email
                Example: en_US, fr_CA, es_MX", + "example": "en_US" + }, + "notificationEventType": { + "type": "array", + "description": "Notification Event Type", + "example": [ + "ON_PICKUP_DRIVER_ARRIVED", + "ON_SHIPMENT" + ], + "items": { + "type": "string", + "enum": [ + "ON_DELIVERY", + "ON_EXCEPTION", + "ON_SHIPMENT", + "ON_TENDER", + "ON_ESTIMATED_DELIVERY", + "ON_PICKUP", + "ON_LABEL", + "ON_BILL_OF_LADING", + "ON_PICKUP_DRIVER_ARRIVED", + "ON_PICKUP_DRIVER_ASSIGNED", + "ON_PICKUP_DRIVER_DEPARTED", + "ON_PICKUP_DRIVER_EN_ROUTE" + ] + } + } + }, + "description": "details for the recipient of the email notification" + }, + "ExpressFreightDetail": { + "type": "object", + "properties": { + "bookingConfirmationNumber": { + "type": "integer", + "description": "This is an advanced booking number that must be acquired through the appropriate channel in the shipment origin country. Without the booking number pickup and space allocation for the Express Freight shipment are not guaranteed.
                Minimum length: 5 digits
                Maximum length: 12 digits
                Example: XXXX56789812", + "example": 123456789812 + }, + "shippersLoadAndCount": { + "type": "integer", + "description": "Indicates the content of a container were loaded and counted by the shipper.
                Minimum length: 1 digits
                Maximum length: 5 digits
                Example: If a skid has 32 small boxes on it that are shrinkwrapped, the shippersLoadAndCount should be \u201c32\u201d", + "format": "int32", + "example": 123 + }, + "packingListEnclosed": { + "type": "boolean", + "description": "This indicates whether or not the Packing List is enclosed with the shipment. A packing list is a document that includes details about the contents of a package. Valid Values are True or False.
                Example: true", + "example": true + } + }, + "description": "Indicates the advance booking number, shipper load /count and packing list details. This details must be provided by the user during freight shipment." + }, + "CustomerReference": { + "type": "object", + "properties": { + "customerReferenceType": { + "type": "string", + "description": "This is a customer reference type. Note: Use type Type, RMA_ASSOCIATION and value as the RMA Number to associate Ground Call Tag shipments to the outbound shipment.
                Example: DEPARTMENT_NUMBER", + "example": "DEPARTMENT_NUMBER", + "enum": [ + "BILL_OF_LADING", + "CUSTOMER_REFERENCE", + "DEPARTMENT_NUMBER", + "INVOICE_NUMBER", + "P_O_NUMBER", + "SHIPMENT_INTEGRITY", + "INTRACOUNTRY_REGULATORY_REFERENCE", + "STORE_NUMBER", + "RMA_ASSOCIATION", + "SHIPPER_ID1", + "SHIPPER_ID2" + ] + }, + "value": { + "type": "string", + "description": "This is a customer reference type value.
                Example: 3686", + "example": "3686" + } + } + }, + "EmailDispositionDetail": { + "type": "object", + "properties": { + "emailAddress": { + "type": "string", + "description": "The required email address of the contact person.
                Example: neena@fedex.com", + "example": "neena@fedex.com" + }, + "type": { + "type": "string", + "description": "Indicates the type", + "example": "EMAILED" + }, + "recipientType": { + "type": "string", + "description": "Indicates the recipient type", + "example": "SHIPPER" + } + }, + "description": "These are email disposition detail. Provides the type and email addresses for e-mail recipients. If returnedDispositionDetail in labelSpecification is set as true then email will be send with label and documents copy." + }, + "BillingDetails": { + "type": "object", + "properties": { + "billingCode": { + "type": "string", + "description": "Specifies the Billing Code" + }, + "billingType": { + "type": "string", + "description": "Specifies the type of billing.", + "example": "ONLINE" + }, + "aliasId": { + "type": "string", + "description": "Unique identifier for this alias." + }, + "accountNickname": { + "type": "string", + "description": "Specifies the account nickname." + }, + "accountNumber": { + "type": "string", + "description": "Specifies the account number." + }, + "accountNumberCountryCode": { + "type": "string", + "description": "Specifies the countrycode .
                Example: CA" + } + }, + "description": "Specifies the details of the billing.", + "example": { + "billingCode": "128345", + "billingType": "billingType", + "aliasId": "alias identifier", + "accountNickname": "accountNickname", + "accountNumber": "801472842", + "accountNumberCountryCode": "CA" + } + }, + "AdditionalMeasures": { + "type": "object", + "properties": { + "quantity": { + "type": "number", + "description": "Specify quantity of commodity.", + "format": "double", + "example": 12.45 + }, + "units": { + "type": "string", + "description": "Unit of measure used to express the quantity of this commodity line item.", + "example": "KG" + } + } + }, + "Customs_Money": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "description": "This is commodity value in amount used for Customs declaration.
                Max limit: 7 digits before decimal.
                Example: 1,556.25", + "format": "double" + }, + "currency": { + "type": "string", + "description": "This is the currency of the commodity value used for Customs declaration.
                Example: USD
                Click here to see Currency Codes", + "example": "USD" + } + }, + "description": "This is commodity value used for Customs declaration." + }, + "UsmcaCommodityDetail": { + "type": "object", + "properties": { + "originCriterion": { + "type": "string", + "description": "Origin for each commodity in the shipment. A - The goods was obtained or produced entirely in USMCA country. B - The goods was produced entirely in a USMCA country and satisfies the specific origin that applies to its tariff classification.", + "enum": [ + "A", + "B", + "C", + "D", + "E" + ] + } + }, + "description": "Specifies the commodity details of usmca." + }, + "RecipientCustomsId": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Indicates the type of recipient customs.", + "example": "PASSPORT", + "enum": [ + "COMPANY", + "INDIVIDUAL", + "PASSPORT" + ] + }, + "value": { + "type": "string", + "description": "Indicates the value of the recipient customs.", + "example": "123" + } + }, + "description": "Conditional\n\nUse this element to provide valid identification details. Used for populating brazil tax id." + }, + "CustomsOptionDetail": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Specifies the Description of the customs option type.", + "example": "Description" + }, + "type": { + "type": "string", + "description": "Specify the reason for a global return, as recognized by Customs. Valid values:
                • COURTESY_RETURN_LABEL: Applicable for Outbound shipments.
                • EXHIBITION_TRADE_SHOW: For exhibition or trade-show, outbound and inbound.
                • FAULTY_ITEM: For faulty item being returned, inbound only.
                • FOLLOWING_REPAIR: For repaired or processed item being sent, outbound only.
                • FOR_REPAIR: For repair or processing, outbound and inbound.
                • ITEM_FOR_LOAN: For loan item, outbound and inbound.
                • OTHER: Other reason, outbound and inbound. This type requires a description.
                • REJECTED: For rejected merchandise being returned, inbound.
                • REPLACEMENT: For replacement being sent, outbound only.
                • TRIAL: For use in a trial, outbound and inbound.
                ", + "example": "COURTESY_RETURN_LABEL", + "enum": [ + "COURTESY_RETURN_LABEL", + "EXHIBITION_TRADE_SHOW", + "FAULTY_ITEM", + "FOLLOWING_REPAIR", + "FOR_REPAIR", + "ITEM_FOR_LOAN", + "OTHER", + "REJECTED", + "REPLACEMENT", + "TRIAL" + ] + } + }, + "description": "These are customs Option Detail, type must be indicated for each occurrence", + "example": { + "description": "Description", + "type": "COURTESY_RETURN_LABEL" + } + }, + "DestinationControlDetail": { + "required": [ + "statementTypes" + ], + "type": "object", + "properties": { + "endUser": { + "type": "string", + "description": "End User", + "example": "dest country user" + }, + "statementTypes": { + "type": "string", + "description": "Destination Control Statement Type", + "example": "DEPARTMENT_OF_COMMERCE", + "enum": [ + "DEPARTMENT_OF_COMMERCE", + "DEPARTMENT_OF_STATE", + "DEPARTMENT_OF_COMMERCE_AND_DEPARTMENT_OF_STATE" + ] + }, + "destinationCountries": { + "type": "array", + "description": "Destination Countries
                Example: [US, India]", + "example": [ + "USA", + "India" + ], + "items": { + "type": "string" + } + } + }, + "description": "VERY IMPORTANT: Specify appropriate destinationcontrol statement type(s),Valid values: DEPARTMENT_OF_COMMERCE, DEPARTMENT_OF_STATE
                Be sure to also specify destination country and enduser." + }, + "UsmcaLowValueStatementDetail": { + "required": [ + "customsRole" + ], + "type": "object", + "properties": { + "isCountryOfOriginLowValueDocumentRequested": { + "type": "boolean", + "description": "Specify the country Of Origin of Low Value Document for Customs declaration.", + "example": true + }, + "customsRole": { + "type": "string", + "description": "Specify the shipper role for Customs declaration.", + "example": "EXPORTER", + "enum": [ + "EXPORTER", + "IMPORTER", + "LEGAL_AGENT", + "PRODUCER" + ] + } + }, + "description": "Specify the low Value statement necessary for printing the USMCA for Customs documentation" + }, + "SmartPostInfoDetail": { + "required": [ + "hubId", + "indicia", + "specialServices" + ], + "type": "object", + "properties": { + "ancillaryEndorsement": { + "type": "string", + "description": "Required for Presorted Standard but not for returns or parcel select. They are not all usable for all ancillary endorsements.", + "example": "RETURN_SERVICE", + "enum": [ + "ADDRESS_CORRECTION", + "CARRIER_LEAVE_IF_NO_RESPONSE", + "CHANGE_SERVICE", + "FORWARDING_SERVICE", + "RETURN_SERVICE" + ] + }, + "hubId": { + "type": "string", + "description": "Required
                Specify the HubID using the four-digit numeric value.
                click here to see Hub Ids
                Example: 5015", + "example": "5015" + }, + "indicia": { + "type": "string", + "description": "Required\n\nSpecify the indicia type. Available options include\n\nPARCEL_SELECT (1 LB through 70 LBS)\n\nPRESORTED_BOUND_PRINTED_MATTER\n\nPRESORTED_STANDARD (less than 1 LB)\n\nPARCEL_RETURN\n\n", + "example": "PRESORTED_STANDARD", + "enum": [ + "MEDIA_MAIL", + "PARCEL_RETURN", + "PARCEL_SELECT", + "PRESORTED_BOUND_PRINTED_MATTER", + "PRESORTED_STANDARD" + ] + }, + "specialServices": { + "type": "string", + "description": "SmartPost Shipment Special Service Type", + "example": "USPS_DELIVERY_CONFIRMATION", + "enum": [ + "USPS_DELIVERY_CONFIRMATION" + ] + } + }, + "description": "Use this object to specify the smartpost shipment details. Required for SMARTPOST service. If SmartPostInfoDetail is indicated, the elements below it are also required." + }, + "RegulatoryLabelContentDetail": { + "type": "object", + "properties": { + "generationOptions": { + "type": "string", + "description": "Customer Specified Label Generation Option Type", + "example": "CONTENT_ON_SHIPPING_LABEL_ONLY", + "enum": [ + "CONTENT_ON_SHIPPING_LABEL_PREFERRED", + "CONTENT_ON_SUPPLEMENTAL_LABEL_ONLY", + "CONTENT_ON_SHIPPING_LABEL_ONLY" + ] + }, + "type": { + "type": "string", + "description": "Indicates the Regulatory Type", + "example": "ALCOHOL_SHIPMENT_LABEL", + "enum": [ + "ALCOHOL_SHIPMENT_LABEL" + ] + } + } + }, + "DocTabZoneSpecification": { + "type": "object", + "properties": { + "zoneNumber": { + "type": "integer", + "description": "is a nonNegativeInteger
                Example: 1", + "format": "int32", + "example": 0 + }, + "header": { + "type": "string", + "description": "header of DocTabZoneSpecification
                Example: WHT", + "example": "WHT" + }, + "dataField": { + "type": "string", + "description": "dataField of DocTabZoneSpecification
                Example: REQUEST/PACKAGE/weight/Value", + "example": "REQUEST/PACKAGE/weight/Value" + }, + "literalValue": { + "type": "string", + "description": "literalValue of DocTabZoneSpecification
                ", + "example": "mytext" + }, + "justification": { + "type": "string", + "description": "Doc Tab Zone Justification Type", + "example": "RIGHT", + "enum": [ + "LEFT", + "RIGHT" + ] + } + }, + "description": "Indicates the specification of the barcoded content." + }, + "AdditionalLabelsDetail": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Specify the type of additional details to be added on the label.", + "example": "CONSIGNEE", + "enum": [ + "BROKER", + "CONSIGNEE", + "CUSTOMS", + "DESTINATION", + "DESTINATION_CONTROL_STATEMENT", + "FREIGHT_REFERENCE", + "MANIFEST", + "ORIGIN", + "RECIPIENT", + "SECOND_ADDRESS", + "SHIPPER" + ] + }, + "count": { + "type": "integer", + "description": "Specifies the count of label to return.", + "example": 1 + } + } + }, + "DocumentFormatOptionsRequested": { + "type": "object", + "properties": { + "options": { + "type": "array", + "description": "SUPPRESS_ADDITIONAL_LANGUAGES value will suppress English language if another language is specified in the language code field", + "example": [ + "SUPPRESS_ADDITIONAL_LANGUAGES", + "SHIPPING_LABEL_LAST" + ], + "items": { + "type": "string", + "enum": [ + "SHIPPING_LABEL_FIRST", + "SHIPPING_LABEL_LAST", + "SUPPRESS_ADDITIONAL_LANGUAGES" + ] + } + } + }, + "description": "Specifies the Document Format Options requested options" + }, + "ShippingDocumentEmailRecipient": { + "required": [ + "recipientType" + ], + "type": "object", + "properties": { + "emailAddress": { + "type": "string", + "description": "Provides the email Address
                Example: email@fedex.com", + "example": "email@fedex.com" + }, + "recipientType": { + "type": "string", + "description": "Indicates the Email Notification Recipient Type", + "example": "THRID_PARTY", + "enum": [ + "BROKER", + "OTHER", + "RECIPIENT", + "SHIPPER", + "THRID_PARTY", + "OTHER1", + "OTHER2" + ] + } + } + }, + "BlanketPeriod": { + "type": "object", + "properties": { + "begins": { + "type": "string", + "description": "This is the begin date", + "example": "2020-06-14" + }, + "ends": { + "type": "string", + "description": "This is the end date", + "example": "2021-06-13" + } + }, + "description": "The date range covered by the certification." + }, + "TrackingId": { + "type": "object", + "properties": { + "formId": { + "type": "integer", + "description": "This is FedEx tracking Identifier associated with the package.
                Example: 0201", + "example": 201 + }, + "trackingIdType": { + "type": "string", + "description": "Specify the FedEx transportation type (EXPRESS, GROUND, FREIGHT).
                Example: EXPRESS", + "example": "EXPRESS" + }, + "uspsApplicationId": { + "type": "integer", + "description": "Specify the USPS tracking Identifier associated with FedEx SmartPost shipment.
                Example: 92", + "example": 92 + }, + "trackingNumber": { + "type": "integer", + "description": "This is the number associated with the package that is used to track it.For child shipment of an oneLabelAtATime shipments,this should be same as the masterTrackingNumber of the parent shipment." + } + }, + "description": "Indicates the tracking details of the package. Required for child shipments of an oneLabelAtATime shipments." + }, + "Dimensions": { + "type": "object", + "properties": { + "length": { + "type": "integer", + "description": "Indicates the length of the package. No implied decimal places.
                Example: 7", + "format": "int32", + "example": 3 + }, + "width": { + "type": "integer", + "description": "Indicates the width of the package. No implied decimal places.
                Example: 8", + "format": "int32", + "example": 2 + }, + "height": { + "type": "integer", + "description": "Indicates the height of the package. No implied decimal places.
                Example: 10", + "format": "int32", + "example": 1 + }, + "units": { + "type": "string", + "description": "Unit of measure for the provided dimensions.
                Valid Values are IN - inches, CM - centimeters.
                Note: Any value other than CM including blank/null will default to IN.
                Example: CM", + "example": "CM", + "enum": [ + "CM", + "IN" + ] + } + }, + "description": "Conditional.
                The dimensions of the package; length, width & height. All three dimensions must be indicated.
                Note: Dimensions are required with YOUR_PACKAGING package type.", + "example": { + "length": 100, + "width": 50, + "height": 30, + "units": "CM" + } + }, + "ContentRecord": { + "type": "object", + "properties": { + "itemNumber": { + "type": "string", + "description": "This is a package item number.", + "example": "2876" + }, + "receivedQuantity": { + "type": "integer", + "description": "Specifies the package item quantity.", + "format": "int32", + "example": 256 + }, + "description": { + "type": "string", + "description": "Description of the package item.", + "example": "Description" + }, + "partNumber": { + "type": "string", + "description": "This is a package part number.", + "example": "456" + } + } + }, + "PriorityAlertDetail": { + "type": "object", + "properties": { + "enhancementTypes": { + "type": "array", + "description": "The types of all enhancement for the Priority Alert
                Example: PRIORITY_ALERT_PLUS", + "example": [ + "PRIORITY_ALERT_PLUS" + ], + "items": { + "type": "string" + } + }, + "content": { + "type": "array", + "description": "Specifies Content for the Priority Alert Detail.", + "example": [ + "string" + ], + "items": { + "type": "string" + } + } + }, + "description": "specifies the Priority Alert Detail." + }, + "SignatureOptionDetail": { + "type": "object", + "properties": { + "signatureReleaseNumber": { + "type": "string", + "description": "Signature Release Number is required for signature option NO_SIGNATURE_REQUIRED
                Example: 23456", + "example": "23456" + } + }, + "description": "Required for SignatureOptions. Specifies the SignatureOptionDetail" + }, + "AlcoholDetail": { + "type": "object", + "properties": { + "alcoholRecipientType": { + "type": "string", + "description": "Alcohol Recipient Type.
                Example: LICENSEE", + "example": "LICENSEE", + "enum": [ + "LICENSEE", + "CONSUMER" + ] + }, + "shipperAgreementType": { + "type": "string", + "description": "Specifies what type of entity the shipper of the alcohol shipment is registered as, for example, fulfillment house, retailer or a winery
                Example: Retailer", + "example": "Retailer" + } + }, + "description": "Specifies details for a package containing alcohol. Required for alcohol special service. The alcoholRecipientType is required. " + }, + "HazardousCommodityPackagingDetail": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "description": "Obtain the specific count", + "format": "int32", + "example": 213 + }, + "units": { + "type": "string", + "description": "Obtain the specific unit", + "example": "Kg" + } + }, + "description": " Provides information about Hazardous Commodity Packaging Detail" + }, + "DocumentLineItem": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/KeyValueDetail", + "type": "string" + } + }, + "KeyValueDetail": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Indicates the key" + }, + "value": { + "type": "string", + "description": "Indicates the value" + } + } + }, + "BatteryDetail": { + "type": "object", + "properties": { + "batteryPackingType": { + "type": "string", + "description": "describes the packing arrangement of the battery or cell with respect to other\r\n items within the same package", + "enum": [ + "CONTAINED_IN_EQUIPMENT", + "PACKED_WITH_EQUIPMENT" + ] + }, + "batteryRegulatoryType": { + "type": "string", + "description": "A regulation specific classification for the battery or cell", + "enum": [ + "IATA_SECTION_II" + ] + }, + "batteryMaterialType": { + "type": "string", + "description": "describes the material composition of the battery or cell.", + "enum": [ + "LITHIUM_METAL", + "LITHIUM_ION" + ] + } + } + }, + "StandaloneBatteryDetails": { + "type": "object", + "properties": { + "batteryMaterialType": { + "type": "string", + "description": "Describes the material composition of the battery or cell.", + "example": "LITHIUM_METAL", + "enum": [ + "LITHIUM_METAL", + "LITHIUM_ION" + ] + } + } + }, + "ShipperAccountNumber": { + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "The account number value. Max Length is 9 .
                Example: 801472842" + } + }, + "description": "The account number associated with the shipment.", + "example": { + "value": "123456789" + } + }, + "OpenShipmentAction": { + "type": "string", + "description": "Indicate shipment action for the Shipment.
                • CONFIRM – used in case of shipment submission
                • TRANSFER – used in case of Email Label Shipment or Pending Shipment submission.", + "example": "CONFIRM", + "enum": [ + "CONFIRM", + "TRANSFER" + ] + }, + "LabelResponseOptions": { + "type": "string", + "description": "This is to specify whether the encoded bytecode or the Label URL to be returned in the response.

                  Valid values:

                  • LABEL – Indicates request is for encoded bytecode.
                  • URL_ONLY – Indicates label URL request.
                  Note: For asynchronous shipment (More than 40 packages) request only the value LABEL is suported.


                  Note: With URL_ONLY option, the URL once created will be active for 12 hours.", + "example": "URL_ONLY", + "enum": [ + "URL_ONLY", + "LABEL" + ] + }, + "SHPCResponseVO_CancelShipment": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
                  Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "customerTransactionId": { + "type": "string", + "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
                  Example: AnyCo_order123456789", + "example": "AnyCo_order123456789" + }, + "output": { + "$ref": "#/components/schemas/BaseProcessOutputVO_CancelShipment" + } + }, + "description": "This is a wrapper class for outputVO" + }, + "BaseProcessOutputVO_CancelShipment": { + "type": "object", + "properties": { + "cancelledShipment": { + "type": "boolean", + "description": "Indicates whether the shipment has been cancelled or not. If the value is True, then it indicates that the shipment has been cancelled.
                  Example: true", + "example": true + }, + "cancelledHistory": { + "type": "boolean", + "description": "Indicates whether the shipment has been deleted from history or not. If the value is True, then it indicates that the shipment has been deleted.
                  Example: true", + "example": true + }, + "successMessage": { + "type": "string", + "description": "The success message generated during cancellation request for Shipment.
                  Example: Success", + "example": "Success" + }, + "alerts": { + "type": "array", + "description": "This is a cancellation request alert. This alert includes information such as alert code, alert type, and alert message.", + "items": { + "$ref": "#/components/schemas/Alert" + } + } + }, + "description": "The response elements received when a shipment is cancelled." + }, + "Full_Schema_Cancel_Shipment": { + "required": [ + "accountNumber", + "trackingNumber" + ], + "type": "object", + "properties": { + "accountNumber": { + "description": "The account number (account value) associated with the shipment.", + "$ref": "#/components/schemas/ShipperAccountNumber" + }, + "emailShipment": { + "type": "boolean", + "description": "A boolean flag passed by Clients to indicate that whether a shipment is a EMAIL shipment(Pending Shipment) or not. Once a shipment is confirmed, it can no longer be cancelled by having this flag as True.", + "example": false + }, + "senderCountryCode": { + "type": "string", + "description": "The two-letter sender Country code(Ex: US, CA, GB..etc).
                  Example: US
                  Click here to see Country Codes", + "example": "US" + }, + "deletionControl": { + "type": "string", + "description": "Specifies which packages in a shipment to be canceled.
                  Valid Values are
                  DELETE_ALL_PACKAGES which will cancel all tracking numbers associated to the shipment.", + "example": "DELETE_ALL_PACKAGES", + "enum": [ + "DELETE_ALL_PACKAGES" + ] + }, + "trackingNumber": { + "type": "string", + "description": "This is an unique number assigned by FedEx to the packages for tracking.
                  Example: \"794953555571\"", + "example": "794953555571" + } + }, + "description": "The request elements required to cancel a shipment. " + }, + "SHPCResponseVO_Validate": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
                  Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "customerTransactionId": { + "type": "string", + "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
                  Example: AnyCo_order123456789", + "example": "AnyCo_order123456789" + }, + "output": { + "$ref": "#/components/schemas/BaseProcessOutputVO_Validate" + } + }, + "description": "Wrapper class for VerifyShipmentOutputVO. It holds transactionId and output." + }, + "BaseProcessOutputVO_Validate": { + "type": "object", + "properties": { + "alerts": { + "type": "array", + "description": "The alerts received when a Shipment Package Validate is processed. This includes the alert code, alert type, and alert message.", + "items": { + "$ref": "#/components/schemas/Alert_3P" + } + } + }, + "description": "The response elements received when a shipment is created." + }, + "FullSchema-VerifyShipment": { + "required": [ + "requestedShipment" + ], + "type": "object", + "properties": { + "requestedShipment": { + "$ref": "#/components/schemas/RequestedShipmentVerify" + }, + "accountNumber": { + "$ref": "#/components/schemas/ShipperAccountNumber" + } + }, + "description": "The request elements required to create a shipment." + }, + "RequestedShipmentVerify": { + "required": [ + "labelSpecification", + "packagingType", + "pickupType", + "recipients", + "requestedPackageLineItems", + "serviceType", + "shipper", + "shippingChargesPayment" + ], + "type": "object", + "properties": { + "shipDatestamp": { + "type": "string", + "description": "Indicate the shipment date.
                  Format: YYYY-MM-DD
                  Note: Default value is current date in case the date is not provided in the request.
                  Example: 2021-04-06", + "example": "2019-10-14" + }, + "pickupType": { + "type": "string", + "description": "Select if the shipment is to be dropped off at Fedex location or to be picked up by FedEx or if it is a scheduled pickup for this shipment.
                  Click here for more information on Pickup Types.", + "example": "USE_SCHEDULED_PICKUP", + "enum": [ + "CONTACT_FEDEX TO_SCHEDULE", + "DROPOFF_AT_FEDEX_LOCATION", + "USE_SCHEDULED_PICKUP" + ] + }, + "serviceType": { + "type": "string", + "description": "Indicate the FedEx service Type used for this shipment.
                  Example: STANDARD_OVERNIGHT
                  click here to see available FedEx Service Types", + "example": "PRIORITY_OVERNIGHT" + }, + "packagingType": { + "type": "string", + "description": "Indicate the type of packaging used for the package.
                  Note: For Express Freight shipments, the packaging will default to value YOUR_PACKAGING irrespective type provided in the request.
                  Example: FEDEX_ENVELOPE
                  click here to see Package Types", + "example": "YOUR_PACKAGING" + }, + "totalWeight": { + "type": "integer", + "description": "The total weight for the shipment should be in Kg or in Lbs.", + "format": "int32", + "example": 20 + }, + "shipper": { + "description": "Indicate shippers details.
                  Note: Shipper address and Origin address should be the same address.", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "91", + "phoneNumber": "1234567890", + "companyName": "Fedex" + }, + "tins": [ + { + "number": "123567", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ] + }, + "$ref": "#/components/schemas/ShipperParty" + }, + "recipients": { + "type": "array", + "description": "Indicate the shipment recipient details or the physical location details for the package destination.", + "items": { + "$ref": "#/components/schemas/RecipientsParty" + }, + "example": null + }, + "origin": { + "description": "Indicate the shipment origin address information, if it is different from the shippers address.", + "$ref": "#/components/schemas/ContactAndAddress" + }, + "shippingChargesPayment": { + "$ref": "#/components/schemas/Payment" + }, + "shipmentSpecialServices": { + "$ref": "#/components/schemas/RequestedShipmentVerify_shipmentSpecialServices" + }, + "emailNotificationDetail": { + "$ref": "#/components/schemas/EMailNotificationDetail" + }, + "variableHandlingChargeDetail": { + "$ref": "#/components/schemas/VariableHandlingChargeDetail" + }, + "customsClearanceDetail": { + "$ref": "#/components/schemas/CustomsClearanceDetail" + }, + "smartPostInfoDetail": { + "$ref": "#/components/schemas/SmartPostInfoDetail" + }, + "blockInsightVisibility": { + "type": "boolean", + "description": "Indicate if the shipment be available to be visible/tracked using FedEx InSight\u00ae tool. If value indicated as true, only the shipper/payer will have visibility of this shipment in the said tool.", + "example": true + }, + "labelSpecification": { + "$ref": "#/components/schemas/LabelSpecification" + }, + "shippingDocumentSpecification": { + "$ref": "#/components/schemas/ShippingDocumentSpecification_2" + }, + "rateRequestType": { + "type": "array", + "description": "Indicate the type of rates to be returned.
                  Following are values:
                  • LIST - Returns published list rates will be returned in addition to account-specific rate (if applicable).
                  • PREFERRED - It returns rates in currency as specified in the PreferredCurrency element.
                  • ACCOUNT - Returns account specific rates. Note: The account specific rates are returned by default if the shipper account number is specified in the shipment.
                  • INCENTIVE - This is one-time discount for incentivizing the customer.
                  Examples: [\"ACCOUNT\", \"PREFERRED\"] ", + "example": [ + "LIST", + "PREFERRED" + ], + "items": { + "type": "string", + "enum": [ + "LIST", + "NONE", + "PREFERRED", + "ACCOUNT", + "INCENTIVE", + "RETAIL" + ] + } + }, + "preferredCurrency": { + "type": "string", + "description": "Indicate the currency the caller requests to have used in all returned monetary values. Should be Used in conjunction with the element RateRequestType.
                  Example: USD
                  click here to see available Currency codes
                  Note: Incorrect currency codes should not be supplied. The system ignores the incorrect currency code.", + "example": "USD" + }, + "requestedPackageLineItems": { + "type": "array", + "description": "Use this object to provide the package details.
                  Note:
                  • At least one instance containing the weight is required for EXPRESS and GROUND package.
                  • Only Single piece requests are supported henceonly one line item should be provided.
                  • Multiple piece shipment validation is not supported.
                  ", + "items": { + "$ref": "#/components/schemas/RequestedPackageLineItem" + } + } + }, + "description": "This is the detailed shipment request data to be validated before being submitted to FedEx." + }, + "DocumentLineItem_1": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/KeyValueDetail", + "type": "string" + } + }, + "TransactionShipmentOutputVO": { + "type": "object", + "properties": { + "serviceType": { + "type": "string", + "description": "Indicates the type of service that is used to ship the package.
                  Example: FEDEX_2_DAY_FREIGHT
                  Click here to see Service Types", + "example": "FEDEX_2_DAY_FREIGHT" + }, + "shipDatestamp": { + "type": "string", + "description": "This is the shipment date. Default value is current date in case the date is not provided in the request.
                  Format [YYYY-MM-DD].
                  Example: 2019-10-14", + "example": "2010-03-04" + }, + "serviceCategory": { + "type": "string", + "description": "Indicates Service Category.
                  Example: EXPRESS", + "example": "EXPRESS" + }, + "shipmentDocuments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LabelResponseVO" + } + }, + "pieceResponses": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PieceResponse" + } + }, + "serviceName": { + "type": "string", + "description": "Describes the service name for the shipment
                  Example: FedEx 2 Day Freight", + "example": "FedEx 2 Day Freight" + }, + "alerts": { + "type": "array", + "example": [ + { + "code": "SHIPMENT.VALIDATION.SUCCESS", + "message": "Shipment validated successfully. No errors found.", + "alertType": "NOTE" + } + ], + "items": { + "$ref": "#/components/schemas/Alert" + } + }, + "completedShipmentDetail": { + "$ref": "#/components/schemas/CompletedShipmentDetail" + }, + "shipmentAdvisoryDetails": { + "$ref": "#/components/schemas/ShipmentAdvisoryDetails" + }, + "anonymousLimitWarnings": { + "type": "array", + "items": { + "type": "string" + } + }, + "masterTrackingNumber": { + "type": "string", + "description": "This is a master tracking number for the shipment (must be unique for stand-alone open shipments, or unique within consolidation if consolidation key is provided).
                  Example: 794953535000", + "example": "794953535000" + } + }, + "description": "Specifies shipping transaction output details" + }, + "LabelResponseVO": { + "type": "object", + "properties": { + "contentKey": { + "type": "string", + "description": "The content key for the document/label.
                  Example: content key", + "example": "content key" + }, + "copiesToPrint": { + "type": "integer", + "description": "The number of copies to print for the specific document type
                  Example: 10", + "format": "int32", + "example": 10 + }, + "contentType": { + "type": "string", + "description": "Indicates the type of document/label.", + "example": "COMMERCIAL_INVOICE", + "enum": [ + "LABEL", + "BILL_OF_LADING", + "GAA_FORM", + "HAZMAT_LABEL", + "END_OF_DAY_HAZMAT_REPORT", + "MANIFEST_REPORT", + "MULTIWEIGHT_REPORT", + "MERGED_LABEL_DOCUMENTS", + "AUXILIARY", + "RETURN_INSTRUCTIONS", + "ACCEPTANCE_LABEL", + "COMMERCIAL_INVOICE", + "PROFORMA_INVOICE", + "USMCA_CERTIFICATION_OF_ORIGIN", + "USMCA_COMMERCIAL_INVOICE_CERTIFICATION_OF_ORIGIN", + "CERTIFICATE_OF_ORIGIN", + "MERGED_LABELS_ONLY" + ] + }, + "trackingNumber": { + "type": "string", + "description": "This is a tracking number associted with this package.
                  Example: 49XXX0000XXX20032835", + "example": "794953535000" + }, + "docType": { + "type": "string", + "description": "The description of the document type.
                  Example: PDF", + "example": "PDF" + }, + "alerts": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Alert" + } + }, + "encodedLabel": { + "type": "string", + "description": "Indicates document is encoded.
                  Example: encoded label", + "example": "encoded label" + }, + "url": { + "type": "string", + "description": "The URL of the shipping document/label
                  Example: https://wwwdev.idev.fedex.com/document/v2/document/retrieve/SH,794816968200_Merge/isLabel=true&autoPrint=false", + "example": "https://wwwdev.idev.fedex.com/document/v2/document/retrieve/SH,794810209259_SHIPPING_P/isLabel=true&autoPrint=false" + }, + "barcodeLabelData": { + "type": "string", + "description": "This is a unique identifier for generating QR code.", + "example": "yt1.ualqG55wZfwiodoU68crtBTjYpfVBOFh" + } + }, + "description": "Provides shipping document/label specific information." + }, + "Alert": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Specifies the api alert code.
                  Example: SHIP.RECIPIENT.POSTALCITY.MISMATCH", + "example": "SHIP.RECIPIENT.POSTALCITY.MISMATCH" + }, + "alertType": { + "type": "string", + "description": "Specifies the api alert type.", + "example": "NOTE", + "enum": [ + "NOTE", + "WARNING" + ] + }, + "message": { + "type": "string", + "description": "Specifies the api alert message.
                  Example: Recipient Postal-City Mismatch.", + "example": "Recipient Postal-City Mismatch." + } + }, + "description": "Specifies the api alerts." + }, + "PieceResponse": { + "type": "object", + "properties": { + "netChargeAmount": { + "type": "number", + "description": "Indicates Net charge amount.
                  Example: 21.45", + "format": "double", + "example": 21.45 + }, + "transactionDetails": { + "type": "array", + "description": "Includes descriptive data that governs data payload language/translations. The TransactionDetail from the request is echoed back to the caller in the corresponding reply.", + "items": { + "$ref": "#/components/schemas/TransactionDetailVO" + } + }, + "packageDocuments": { + "type": "array", + "description": "Placeholder for package documents.", + "items": { + "$ref": "#/components/schemas/LabelResponseVO" + } + }, + "acceptanceTrackingNumber": { + "type": "string", + "description": "Indicates the acceptance tracking number.
                  Example: 794953535000", + "example": "794953535000" + }, + "serviceCategory": { + "type": "string", + "description": "Indicates the service category.", + "example": "EXPRESS", + "enum": [ + "EXPRESS", + "GROUND", + "EXPRESS_FREIGHT", + "FREIGHT", + "SMARTPOST", + "EXPRESS_PARCEL", + "NULL" + ] + }, + "listCustomerTotalCharge": { + "type": "string", + "description": "Indicates total charges applicable to the customer.
                  Example: listCustomerTotalCharge", + "example": "listCustomerTotalCharge" + }, + "deliveryTimestamp": { + "type": "string", + "description": "Indicates delivery date with timestamp.
                  Example: 2012-09-23", + "example": "2012-09-23" + }, + "trackingIdType": { + "type": "string", + "description": "Indicates the type of the tracking identifier.
                  Example: FEDEX", + "example": "FEDEX" + }, + "additionalChargesDiscount": { + "type": "number", + "description": "These are additional charges or discounts.
                  Example: 621.45", + "format": "double", + "example": 621.45 + }, + "netListRateAmount": { + "type": "number", + "description": "Returns the List rate amount.
                  Example: 1.45", + "format": "double", + "example": 1.45 + }, + "baseRateAmount": { + "type": "number", + "description": "Returns the base rate amount.
                  Example: 321.45", + "format": "double", + "example": 321.45 + }, + "packageSequenceNumber": { + "type": "integer", + "description": "Indicates package sequence number.
                  Example: 215", + "format": "int32", + "example": 215 + }, + "netDiscountAmount": { + "type": "number", + "description": "Returns the net discount amount.
                  Example: 121.45", + "format": "double", + "example": 121.45 + }, + "codcollectionAmount": { + "type": "number", + "description": "Returns the Collect on Delivery charges.
                  Example: 231.45", + "format": "double", + "example": 231.45 + }, + "masterTrackingNumber": { + "type": "string", + "description": "This is a master tracking number for the shipment (must be unique for stand-alone open shipments, or unique within consolidation if consolidation key is provided).
                  Example: 794953535000", + "example": "794953535000" + }, + "acceptanceType": { + "type": "string", + "description": "Indicates acceptance type.
                  Example: acceptanceType", + "example": "acceptanceType" + }, + "trackingNumber": { + "type": "string", + "description": "This is a tracking number associted with this package.
                  Example: 49XXX0000XXX20032835", + "example": "794953535000" + }, + "successful": { + "type": "boolean", + "description": "Specifies if the response is successful.
                  Example: true", + "example": true + }, + "customerReferences": { + "type": "array", + "description": "Additional customer reference data", + "items": { + "$ref": "#/components/schemas/CustomerReference" + } + } + }, + "description": "Piece Response information." + }, + "TransactionDetailVO": { + "type": "object", + "properties": { + "transactionDetails": { + "type": "string", + "description": "Includes descriptive data that governs data payload language/translations. The TransactionDetail from the request is echoed back to the caller in the corresponding reply.Example: transactionDetails", + "example": "transactionDetails" + }, + "transactionId": { + "type": "string", + "description": "This element allows you to assign a unique identifier to your transaction. This element is returned in the reply and helps you match requests to replies.Maximum of 40 characters allowed.
                  Example: 12345", + "example": "12345" + } + } + }, + "CompletedShipmentDetail": { + "type": "object", + "properties": { + "completedPackageDetails": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CompletedPackageDetail" + } + }, + "operationalDetail": { + "$ref": "#/components/schemas/ShipmentOperationalDetail" + }, + "carrierCode": { + "type": "string", + "description": "Specifies which carrier should be included.
                  Example: FDXE", + "example": "FDXE" + }, + "completedHoldAtLocationDetail": { + "$ref": "#/components/schemas/CompletedHoldAtLocationDetail" + }, + "completedEtdDetail": { + "$ref": "#/components/schemas/CompletedEtdDetail" + }, + "packagingDescription": { + "type": "string", + "description": "Specifies packaging description
                  Example: description", + "example": "description" + }, + "masterTrackingId": { + "$ref": "#/components/schemas/TrackingId" + }, + "serviceDescription": { + "$ref": "#/components/schemas/ServiceDescription" + }, + "usDomestic": { + "type": "boolean", + "description": "Indicates whether or not this is an intra-U.S. shipment.
                  Example: true", + "example": true + }, + "hazardousShipmentDetail": { + "$ref": "#/components/schemas/CompletedHazardousShipmentDetail" + }, + "shipmentRating": { + "$ref": "#/components/schemas/ShipmentRating" + }, + "documentRequirements": { + "$ref": "#/components/schemas/DocumentRequirementsDetail" + }, + "exportComplianceStatement": { + "type": "string", + "description": "For US export shipments requiring an EEI, enter the ITN number received from AES when you filed your shipment or the FTR (Foreign Trade Regulations) exemption number.The proper format for an ITN number is AES XYYYYMMDDNNNNNN where YYYYMMDD is date and NNNNNN are numbers generated by the AES.
                  Example: AESX20220714987654
                  Note: The ITN or FTR exemption number you submit in the ship request prints on the international shipping label.

                  For CA export shipments,it can be Proof of report number(15-32 alphanumeric) , Summary proof of report number(7-32 alphanumeric) or Exemption number(2 digit) based on the selected b13AFilingOption.
                  Example: 98765432107654321(POR number), 7654321(Summary POR number) and 02(Exemption number).", + "example": "12345678901234567" + }, + "accessDetail": { + "$ref": "#/components/schemas/PendingShipmentAccessDetail" + } + }, + "description": "Returns the result of processing the desired package as a single-package shipment." + }, + "CompletedPackageDetail": { + "type": "object", + "properties": { + "sequenceNumber": { + "type": "integer", + "description": "A positive integer specifying the sequence number for the package in shipment.
                  Example: 256", + "format": "int32", + "example": 256 + }, + "operationalDetail": { + "$ref": "#/components/schemas/PackageOperationalDetail" + }, + "signatureOption": { + "type": "string", + "description": "This specifies the actual signature option applied, to allow for cases in which the value requested conflicted with other service features in the shipment.
                  Example: DIRECT", + "example": "DIRECT" + }, + "trackingIds": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TrackingId" + } + }, + "groupNumber": { + "type": "integer", + "description": "Used with request containing PACKAGE_GROUPS, to identify which group of identical packages was used to produce a reply item.
                  Example: 567", + "format": "int32", + "example": 567 + }, + "oversizeClass": { + "type": "string", + "description": "Indicates the oversize Classification.
                  Example: OVERSIZE_1", + "example": "OVERSIZE_1, OVERSIZE_2, OVERSIZE_3" + }, + "packageRating": { + "$ref": "#/components/schemas/PackageRating" + }, + "dryIceWeight": { + "description": "Descriptive data required for a FedEx shipment containing dry ice. Includes Weight and Units. This element is required when SpecialServiceType DRY_ICE is present in the SpecialServiceTypes collection at the package level.", + "$ref": "#/components/schemas/Weight" + }, + "hazardousPackageDetail": { + "$ref": "#/components/schemas/CompletedHazardousPackageDetail" + } + }, + "description": "Package level details about this package." + }, + "PackageOperationalDetail": { + "type": "object", + "properties": { + "astraHandlingText": { + "type": "string", + "description": "Human-readable text for pre-January 2011 clients.
                  Example: astraHandlingText", + "example": "astraHandlingText" + }, + "barcodes": { + "$ref": "#/components/schemas/PackageBarcodes" + }, + "operationalInstructions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OperationalInstructions" + } + } + }, + "description": "Package-level data required for labeling and/or movement." + }, + "PackageBarcodes": { + "type": "object", + "properties": { + "binaryBarcodes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BinaryBarcode" + } + }, + "stringBarcodes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StringBarcode" + } + } + }, + "description": "Each instance of this data type represents the set of barcodes (of all types) which are associated with a specific package." + }, + "BinaryBarcode": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The kind of barcode data in this instance.
                  Example: COMMON-2D", + "example": "COMMON-2D" + }, + "value": { + "type": "array", + "description": "The data content of this instance.
                  Example: [\"value\"]", + "example": [ + "value", + "value" + ], + "items": { + "type": "string", + "format": "byte" + } + } + }, + "description": "Each instance of this data type represents a barcode whose content must be represented as binary data (i.e. not ASCII text)." + }, + "StringBarcode": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The kind of barcode data in this instance. example valid values are:
                  ADDRESS - Represents the recipient address
                  GROUND - FedEx Ground parcel barcode
                  Example: ADDRESS", + "example": "ADDRESS" + }, + "value": { + "type": "string", + "description": "The data content of this instance.
                  Example: 1010062512241535917900794953544894", + "example": "1010062512241535917900794953544894" + } + }, + "description": "Each instance of this data type represents a barcode whose content must be represented as ASCII text (i.e. not binary data)." + }, + "OperationalInstructions": { + "type": "object", + "properties": { + "number": { + "type": "integer", + "description": "Specifies Number for Operational Instructions.
                  Example: 17", + "format": "int32", + "example": 17 + }, + "content": { + "type": "string", + "description": "Specifies the content.
                  Example: content", + "example": "content" + } + }, + "description": "Human-readable content for use on a label." + }, + "PackageRating": { + "type": "object", + "properties": { + "effectiveNetDiscount": { + "type": "number", + "description": "This is the difference between the list and account net charge.
                  Example: 0.0", + "format": "double", + "example": 0 + }, + "actualRateType": { + "type": "string", + "description": "This rate type identifies which entry in the following array is considered as presenting the actual rates for the package.
                  Example: PAYOR_ACCOUNT_PACKAGE", + "example": "PAYOR_ACCOUNT_PACKAGE" + }, + "packageRateDetails": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PackageRateDetail" + } + } + }, + "description": "This class groups together all package-level rate data for a single package (across all rate types) as part of the response to a shipping request, which groups shipment-level data together and groups package-level data by package." + }, + "PackageRateDetail": { + "type": "object", + "properties": { + "ratedWeightMethod": { + "type": "string", + "description": "Indicates which weight was used in calculating this rate, such as actual weight or dimensional weight.
                  Example: DIM", + "example": "DIM" + }, + "totalFreightDiscounts": { + "type": "number", + "description": "The sum of all discounts on this package.
                  Example: 44.55", + "format": "double", + "example": 44.55 + }, + "totalTaxes": { + "type": "number", + "description": "The sum of all taxes on this package.
                  Example: 3.45", + "format": "double", + "example": 3.45 + }, + "minimumChargeType": { + "type": "string", + "description": "Indicates the type for minumum charges. INTERNAL FEDEX USE ONLY.
                  Example: minimumChargeType", + "example": "CUSTOMER", + "enum": [ + "CUSTOMER", + "CUSTOMER_FREIGHT_WEIGHT", + "EARNED_DISCOUNT", + "MIXED", + "RATE_SCALE" + ] + }, + "baseCharge": { + "type": "number", + "description": "The transportation charge only (prior to any discounts applied) for this package.
                  Example: 45.67", + "format": "double", + "example": 45.67 + }, + "totalRebates": { + "type": "number", + "description": "Specifies Total Rebates on this package.
                  Example: 4.56", + "format": "double", + "example": 4.56 + }, + "rateType": { + "type": "string", + "description": "Type used for this specific set of rate data.
                  Example: PAYOR_RETAIL_PACKAGE", + "example": "PAYOR_RETAIL_PACKAGE" + }, + "billingWeight": { + "$ref": "#/components/schemas/Weight" + }, + "netFreight": { + "type": "number", + "description": "This is base charge minus total freight discounts for a package.
                  Example: 4.89", + "format": "double", + "example": 4.89 + }, + "surcharges": { + "type": "array", + "description": "Placeholder for all surcharges on this package.", + "items": { + "$ref": "#/components/schemas/Surcharge" + } + }, + "totalSurcharges": { + "type": "number", + "description": "The sum of all surcharges on this package.
                  Example: 22.56", + "format": "double", + "example": 22.56 + }, + "netFedExCharge": { + "type": "number", + "description": "This is sum of net freight and total surcharges (not including totalTaxes) for this package..
                  Example: 12.56", + "format": "double", + "example": 12.56 + }, + "netCharge": { + "type": "number", + "description": "This is the sum of net freight, total surcharges and total taxes for a package.
                  Example: 121.56", + "format": "double", + "example": 121.56 + }, + "currency": { + "type": "string", + "description": "Example: USD
                  Click here to see Currency Codes", + "example": "USD" + } + }, + "description": "Details of the rates associated with the package, as calculated per a specific rate type." + }, + "Surcharge": { + "type": "object", + "properties": { + "amount": { + "description": "Specifies the Surcharge Amount.", + "$ref": "#/components/schemas/Money" + }, + "surchargeType": { + "type": "string", + "description": "Specifies the Surcharge Type.
                  Example: APPOINTMENT_DELIVERY", + "example": "APPOINTMENT_DELIVERY" + }, + "level": { + "type": "string", + "description": "Specifies if the surcharge applies to the whole shipment, or to an individual package.
                  Example: PACKAGE", + "example": "PACKAGE, or SHIPMENT" + }, + "description": { + "type": "string", + "description": "Specifies the description for the surcharge.
                  Example: description", + "example": "description" + } + }, + "description": "Specifies details for a specific surcharge." + }, + "CompletedHazardousPackageDetail": { + "type": "object", + "properties": { + "regulation": { + "type": "string", + "description": "Specifies regulation type.
                  Example: IATA", + "example": "IATA" + }, + "accessibility": { + "type": "string", + "description": "Specifies the accessibility.
                  Example: ACCESSIBLE", + "example": "ACCESSIBLE" + }, + "labelType": { + "type": "string", + "description": "Specifies the label type.
                  Example: II_YELLOW", + "example": "II_YELLOW" + }, + "containers": { + "type": "array", + "description": "Indicates one or more approved containers used to pack dangerous goods commodities. This does not describe any individual inner receptacles that may be within this container.", + "items": { + "$ref": "#/components/schemas/ValidatedHazardousContainer" + } + }, + "cargoAircraftOnly": { + "type": "boolean", + "description": "When TRUE-indicates that the package can be transported only on a cargo aircraft.
                  Example: true", + "example": true + }, + "referenceId": { + "type": "string", + "description": "A unique reference id that matches the package to a package configuration. This is populated if the client provided a package configuration for several packages that have the exact same dangerous goods content.
                  Example: 123456", + "example": "123456" + }, + "radioactiveTransportIndex": { + "type": "number", + "description": "Specifies the maximum radiation level from the package (measured in microSieverts per hour at a distance of one meter from the external surface of the package, divided by 10).
                  Example: 2.45", + "format": "double", + "example": 2.45 + } + }, + "description": "Complete package-level hazardous commodity information for a single package." + }, + "ValidatedHazardousContainer": { + "type": "object", + "properties": { + "qvalue": { + "type": "number", + "description": "Indicates that the quantity of the dangerous goods packaged is permissible for shipping. This is used to ensure that the dangerous goods commodities do not exceed the net quantity per package restrictions.
                  Example: 2.0", + "format": "double", + "example": 2 + }, + "hazardousCommodities": { + "type": "array", + "description": "Indicates the details of the hazardousCommodities in the completed package.", + "items": { + "$ref": "#/components/schemas/ValidatedHazardousCommodityContent" + } + } + }, + "description": "Specifies the concept of a container used to package dangerous goods commodities." + }, + "ValidatedHazardousCommodityContent": { + "type": "object", + "properties": { + "quantity": { + "description": "Provides Hazardous Commodity quantity details.", + "$ref": "#/components/schemas/HazardousCommodityQuantityDetail" + }, + "options": { + "$ref": "#/components/schemas/HazardousCommodityContent" + }, + "description": { + "$ref": "#/components/schemas/ValidatedHazardousCommodityDescription" + }, + "netExplosiveDetail": { + "$ref": "#/components/schemas/NetExplosiveDetail" + }, + "massPoints": { + "type": "number", + "description": "The mass points are a calculation used by ADR regulations for measuring the risk of a particular hazardous commodity.
                  Example: 2.0", + "format": "double", + "example": 2 + } + }, + "description": "Documents the kind and quantity of an individual hazardous commodity in a package." + }, + "ValidatedHazardousCommodityDescription": { + "type": "object", + "properties": { + "sequenceNumber": { + "type": "integer", + "description": "In conjunction with the regulatory identifier, this field uniquely identifies a specific hazardous materials commodity.
                  Example: 876", + "format": "int32", + "example": 876 + }, + "packingInstructions": { + "type": "string", + "description": "Specifies Packing Instructions.
                  Example: packingInstructions", + "example": "packingInstructions" + }, + "subsidiaryClasses": { + "type": "array", + "description": "Specifies subsidiary Classes.
                  Example:[\"Subsidiary Classes\"]", + "example": [ + "Subsidiary Classes" + ], + "items": { + "type": "string" + } + }, + "labelText": { + "type": "string", + "description": "Specifies Hazard Label Text.
                  Example: labelText", + "example": "labelText" + }, + "tunnelRestrictionCode": { + "type": "string", + "description": "There are five categories of tunnel categorization with A representing the least restrictive and E as the most restrictive. Category A, as the least restrictive, will not be sign-posted. Category E, the most restrictive, only allows the passage of UN2919, UN3291, UN3331, UN3359 and UN3373.
                  Example: UN2919", + "example": "UN2919" + }, + "specialProvisions": { + "type": "string", + "description": "Specifies Special Provisions if any.
                  Example: specialProvisions", + "example": "specialProvisions" + }, + "properShippingNameAndDescription": { + "type": "string", + "description": "Fully-expanded descriptive text for a hazardous commodity.
                  Example: properShippingNameAndDescription", + "example": "properShippingNameAndDescription" + }, + "technicalName": { + "type": "string", + "description": "Specifies Technical Name.
                  Example: technicalName", + "example": "technicalName" + }, + "symbols": { + "type": "string", + "description": "Specifies Symbols.
                  Example: symbols", + "example": "symbols" + }, + "authorization": { + "type": "string", + "description": "Information related to quantity limitations and operator or state variations as may be applicable to the dangerous goods commodity.
                  Example: authorization", + "example": "authorization" + }, + "attributes": { + "type": "array", + "description": "Specifies attributes.
                  Example: [\"attributes\"]", + "example": [ + "attributes" + ], + "items": { + "type": "string" + } + }, + "id": { + "type": "string", + "description": "Specifies the Identification.
                  Example: 1234", + "example": "1234" + }, + "packingGroup": { + "type": "string", + "description": "Specifies packing Group.
                  Example: Packing Group", + "example": "packingGroup" + }, + "properShippingName": { + "type": "string", + "description": "Specifies Proper Shipping Name.
                  Example: Proper Shipping Name", + "example": "properShippingName" + }, + "hazardClass": { + "type": "string", + "description": "Specifies hazard Class.
                  Example: Hazard Class", + "example": "hazardClass" + } + }, + "description": "Identifies and describes an individual hazardous commodity. For 201001 load, this is based on data from the FedEx Ground Hazardous Materials Shipping Guide." + }, + "NetExplosiveDetail": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "description": "Specifies Amount.
                  Example: 10.0", + "format": "double", + "example": 10 + }, + "units": { + "type": "string", + "description": "Specifies Net Explosive units.
                  Example: units", + "example": "units" + }, + "type": { + "type": "string", + "description": "Specifies Net Explosive Classification type.
                  Example: NET_EXPLOSIVE_WEIGHT", + "example": "NET_EXPLOSIVE_WEIGHT" + } + }, + "description": "specifies the total mass of the contained explosive substances, without the mass of any casings, bullets, shells, etc." + }, + "ShipmentOperationalDetail": { + "type": "object", + "properties": { + "originServiceArea": { + "type": "string", + "description": "Indicates the origin service Area.
                  Example: A1", + "example": "A1" + }, + "serviceCode": { + "type": "string", + "description": "Indicates the service Code.
                  Example: 010", + "example": "010" + }, + "airportId": { + "type": "string", + "description": "Indicates the airport identifier.
                  Example: DFW", + "example": "DFW" + }, + "postalCode": { + "type": "string", + "description": "Specifies the postal code.
                  Example: 38010", + "example": "38010" + }, + "scac": { + "type": "string", + "description": "Indicates standard carrier alpha code.
                  Example: scac", + "example": "scac" + }, + "deliveryDay": { + "type": "string", + "description": "Expected/estimated day of week of the delivery.
                  Example: TUE", + "example": "TUE" + }, + "originLocationId": { + "type": "string", + "description": "This is the origin Location identifier.
                  Example: 678", + "example": "678" + }, + "countryCode": { + "type": "string", + "description": "Specifies the Country Code.
                  Example: US
                  Click here to see Country Codes", + "example": "US" + }, + "astraDescription": { + "type": "string", + "description": "Specifies astra astra description.
                  Example: SMART POST", + "example": "SMART POST" + }, + "originLocationNumber": { + "type": "integer", + "description": "Specifies origin location number.
                  Example: 243", + "format": "int32", + "example": 243 + }, + "deliveryDate": { + "type": "string", + "description": "Specifies delivery date for the shipment. Format [YYYY-MM-DD]
                  Example: 2001-04-05", + "example": "2001-04-05" + }, + "deliveryEligibilities": { + "type": "array", + "description": "FedEx Ground delivery features for which this shipment may be eligible.
                  Example: [\"deliveryEligibilities\"]", + "example": [ + "deliveryEligibilities" + ], + "items": { + "type": "string" + } + }, + "ineligibleForMoneyBackGuarantee": { + "type": "boolean", + "description": "Indicates that this shipment is not eligible for money back guarantee.
                  Example: true", + "example": true + }, + "maximumTransitTime": { + "type": "string", + "description": "Maximum expected transit time.
                  Example: SEVEN_DAYS", + "example": "SEVEN_DAYS" + }, + "destinationLocationStateOrProvinceCode": { + "type": "string", + "description": "This is the state of the shipment destination location, and is not necessarily the same as the postal state.
                  Example: GA", + "example": "GA" + }, + "astraPlannedServiceLevel": { + "type": "string", + "description": "Text describing planned delivery.
                  Example: TUE - 15 OCT 10:30A", + "example": "TUE - 15 OCT 10:30A" + }, + "destinationLocationId": { + "type": "string", + "description": "Specifies the FedEx Destination Location Identifier.
                  Example: DALA", + "example": "DALA" + }, + "transitTime": { + "type": "string", + "description": "Standard transit time per origin, destination, and service.
                  Example: TWO_DAYS", + "example": "TWO_DAYS" + }, + "stateOrProvinceCode": { + "type": "string", + "description": "Identifying abbreviation for US state, Canada province, etc. Format and presence of this field will vary, depending on country.
                  Example: GA", + "example": "GA" + }, + "destinationLocationNumber": { + "type": "integer", + "description": "Specifies Destination Location Number.
                  Example: 876", + "format": "int32", + "example": 876 + }, + "packagingCode": { + "type": "string", + "description": "Specifes Packaging Code.
                  Example: 03", + "example": "03" + }, + "commitDate": { + "type": "string", + "description": "Committed date of delivery.
                  Example: 2019-10-15", + "example": "2019-10-15" + }, + "publishedDeliveryTime": { + "type": "string", + "description": "Delivery time, as published in Service Guide.
                  Example: 10:30A", + "example": "10:30A" + }, + "ursaSuffixCode": { + "type": "string", + "description": "Specifies ursa Suffix Code.
                  Example: Ga", + "example": "Ga" + }, + "ursaPrefixCode": { + "type": "string", + "description": "Specifies ursa Prefix Code.
                  Example: XH", + "example": "XH" + }, + "destinationServiceArea": { + "type": "string", + "description": "Specifies Destination ServiceArea.
                  Example: A1", + "example": "A1" + }, + "commitDay": { + "type": "string", + "description": "Committed day of week of delivery.
                  Example: TUE", + "example": "TUE" + }, + "customTransitTime": { + "type": "string", + "description": "Transit time based on customer eligibility.
                  Example: ONE_DAY", + "example": "ONE_DAY" + } + }, + "description": "Shipment level operational information." + }, + "CompletedHoldAtLocationDetail": { + "type": "object", + "properties": { + "holdingLocationType": { + "type": "string", + "description": "Identifies the type of the FedEx holding location
                  Example: FEDEX_STAFFED", + "example": "FEDEX_STAFFED" + }, + "holdingLocation": { + "description": "Specifies the physical address of the FedEx holding location.", + "$ref": "#/components/schemas/JustContactAndAddress" + } + }, + "description": "Returns the default holding location information when HOLD_AT_LOCATION special service is requested and the client does not specify the hold location address." + }, + "JustContactAndAddress": { + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/Address" + }, + "contact": { + "$ref": "#/components/schemas/Contact_2" + } + } + }, + "CompletedEtdDetail": { + "type": "object", + "properties": { + "folderId": { + "type": "string", + "description": "Returns the folder id where the documents is uploaded
                  Example: \"0b0493e580dc1a1b\"", + "example": "0b0493e580dc1a1b" + }, + "type": { + "type": "string", + "description": "Returns the type of the document that is being uploaded
                  Example: \"COMMERCIAL_INVOICE\"", + "example": "COMMERCIAL_INVOICE" + }, + "uploadDocumentReferenceDetails": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UploadDocumentReferenceDetail" + } + } + }, + "description": "Returns the completed ETD details when ELECTRONIc_TRADE_DOCUMENTS Special service type is requested" + }, + "ServiceDescription": { + "type": "object", + "properties": { + "serviceType": { + "type": "string", + "description": "Indicates the type of service that is used to ship the package.
                  Example: FEDEX_1_DAY_FREIGHT
                  a onclick='loadDocReference(\"servicetypes\")'>Click here to see Service Types", + "example": "FEDEX_1_DAY_FREIGHT" + }, + "code": { + "type": "string", + "description": "Specifies code of the Service.
                  example: 80", + "example": "80" + }, + "names": { + "type": "array", + "description": "Branded, translated, and/or localized names for this service.", + "items": { + "$ref": "#/components/schemas/ProductName" + } + }, + "operatingOrgCodes": { + "type": "array", + "description": "FOR FEDEX INTERNAL USE ONLY. The operating org code in a service.
                  Example: [FXE, FXE]", + "example": [ + "FXE" + ], + "items": { + "type": "string" + } + }, + "astraDescription": { + "type": "string", + "description": "Specifies astra Description
                  Example: 2 DAY FRT", + "example": "2 DAY FRT" + }, + "description": { + "type": "string", + "example": "description" + }, + "serviceId": { + "type": "string", + "description": "FOR FEDEX INTERNAL USE ONLY, Designates the service ID.
                  Example: EP1000000027", + "example": "EP1000000027" + }, + "serviceCategory": { + "type": "string", + "description": "FOR FEDEX INTERNAL USE ONLY. This is tied to the Product EFS interface definition which will currently contain the values of parcel or freight.
                  Example: freight", + "example": "freight" + } + }, + "description": "Provides Service Description." + }, + "ProductName": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of name (long, medium, short, etc.) to which this value refers.
                  Example: long", + "example": "long" + }, + "encoding": { + "type": "string", + "description": "The character encoding used to represent this product name.
                  Example: UTF-8", + "example": "UTF-8" + }, + "value": { + "type": "string", + "description": "Specifies the value of the Product.
                  Example: F-2", + "example": "F-2" + } + }, + "description": "Product Name information." + }, + "CompletedHazardousShipmentDetail": { + "type": "object", + "properties": { + "hazardousSummaryDetail": { + "$ref": "#/components/schemas/CompletedHazardousSummaryDetail" + }, + "adrLicense": { + "$ref": "#/components/schemas/AdrLicenseDetail" + }, + "dryIceDetail": { + "$ref": "#/components/schemas/ShipmentDryIceDetail_2" + } + }, + "description": "Completed shipment level hazardous commodity information." + }, + "CompletedHazardousSummaryDetail": { + "type": "object", + "properties": { + "smallQuantityExceptionPackageCount": { + "type": "integer", + "description": "Specifies the total number of packages containing hazardous commodities in small exceptions.
                  Example: 10", + "format": "int32", + "example": 10 + } + }, + "description": "Specifies Completed Hazardous Summary Detail." + }, + "AdrLicenseDetail": { + "type": "object", + "properties": { + "licenseOrPermitDetail": { + "$ref": "#/components/schemas/LicenseOrPermitDetail" + } + }, + "description": "Specifies the details around the ADR license required for shipping." + }, + "LicenseOrPermitDetail": { + "type": "object", + "properties": { + "number": { + "type": "string", + "description": "Specifies License Or PermitDetail number.
                  Format [YYYY-MM-DD]
                  Example: 2019-08-09", + "example": "2019-08-09" + }, + "expirationDate": { + "type": "string", + "description": "Specifies Expiration Date.
                  Format [YYYY-MM-DD]
                  Example: 2019-04-09", + "example": "2019-04-09" + } + }, + "description": "This contains the ADR License information, which identifies the license number, the effective date and the expiration date under which the customer is allowed to ship." + }, + "ShipmentDryIceProcessingOptionsRequested": { + "type": "object", + "properties": { + "options": { + "type": "array", + "description": "
                  Example: [\"options\"]", + "example": [ + "options" + ], + "items": { + "type": "string" + } + } + }, + "description": "" + }, + "ShipmentRating": { + "type": "object", + "properties": { + "actualRateType": { + "type": "string", + "description": "This rate type identifies which entry in the following array is considered as presenting the \"actual\" rates for the shipment.
                  Example: PAYOR_LIST_SHIPMENT", + "example": "PAYOR_LIST_SHIPMENT" + }, + "shipmentRateDetails": { + "type": "array", + "description": "Each element of this field provides shipment-level rate totals for a specific rate type.", + "items": { + "$ref": "#/components/schemas/ShipmentRateDetail" + } + } + }, + "description": "All shipment-level rating data for this shipment, which may include data for multiple rate types." + }, + "ShipmentRateDetail": { + "type": "object", + "properties": { + "rateZone": { + "type": "string", + "description": "Indicates the rate zone used (based on origin and destination).
                  Example: US001O", + "example": "US001O" + }, + "ratedWeightMethod": { + "type": "string", + "description": "Indicates which weight was used.
                  Example: ACTUAL", + "example": "ACTUAL" + }, + "totalDutiesTaxesAndFees": { + "type": "number", + "description": "The total of the total duties & taxes and the total ancillary fees & taxes.
                  Example: 24.56", + "format": "double", + "example": 24.56 + }, + "pricingCode": { + "type": "string", + "description": "Specifies pricing Code.
                  Example: LTL_FREIGHT", + "example": "LTL_FREIGHT" + }, + "totalFreightDiscounts": { + "type": "number", + "description": "The total discounts used in the rate calculation.
                  Example: 1.56", + "format": "double", + "example": 1.56 + }, + "totalTaxes": { + "type": "number", + "description": "Total of the transportation-based taxes.
                  Example: 3.45", + "format": "double", + "example": 3.45 + }, + "totalDutiesAndTaxes": { + "type": "number", + "description": "Total of all values under this shipment's duties and taxes; only provided if estimated duties and taxes were calculated for this shipment.
                  Example: 6.78", + "format": "double", + "example": 6.78 + }, + "totalAncillaryFeesAndTaxes": { + "type": "number", + "description": "Identifies the total amount of the shipment-level fees and taxes that are not based on transportation charges or commodity-level estimated duties and taxes.
                  example: 5.67", + "format": "double", + "example": 5.67 + }, + "taxes": { + "type": "array", + "description": "All transportation-based taxes applicable to this shipment.", + "items": { + "type": "object", + "schema": { + "$ref": "#/components/schemas/Tax" + } + } + }, + "totalRebates": { + "type": "number", + "description": "The total sum of all rebates applied to this shipment.
                  Example: 1.98", + "format": "double", + "example": 1.98 + }, + "fuelSurchargePercent": { + "type": "number", + "description": "Specifies a fuel surcharge percentage.
                  Example: 4.56", + "format": "double", + "example": 4.56 + }, + "currencyExchangeRate": { + "$ref": "#/components/schemas/CurrencyExchangeRate" + }, + "totalNetFreight": { + "type": "number", + "description": "The freight charge minus discounts.
                  Example: 9.56", + "format": "double", + "example": 9.56 + }, + "totalNetFedExCharge": { + "type": "number", + "description": "This is the sum of shipment's total Net freight, total surchages (not including totalTaxes).
                  Example: 88.56", + "format": "double", + "example": 88.56 + }, + "shipmentLegRateDetails": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ShipmentLegRateDetail" + } + }, + "dimDivisor": { + "type": "integer", + "description": "The value used to calculate the weight based on the dimensions.
                  Example: 0", + "format": "int32", + "example": 0 + }, + "rateType": { + "type": "string", + "description": "The Type used for this specific set of rate data.
                  Example: RATED_ACCOUNT_SHIPMENT", + "example": "RATED_ACCOUNT_SHIPMENT" + }, + "surcharges": { + "type": "array", + "description": "All surcharges that apply to this shipment.", + "items": { + "$ref": "#/components/schemas/Surcharge" + } + }, + "totalSurcharges": { + "type": "number", + "description": "The total amount of all surcharges applied to this shipment.
                  Example: 9.88", + "format": "double", + "example": 9.88 + }, + "totalBillingWeight": { + "description": "The weight used to calculate these rates.", + "$ref": "#/components/schemas/Weight" + }, + "freightDiscounts": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RateDiscount" + } + }, + "rateScale": { + "type": "string", + "description": "Indicates the rate scale used.
                  Example: 00000", + "example": "00000" + }, + "totalNetCharge": { + "type": "number", + "description": "The net charge after applying all discounts and surcharges.
                  Example: 3.78", + "format": "double", + "example": 3.78 + }, + "totalBaseCharge": { + "type": "number", + "description": "The total freight charge that was calculated before surcharges, discounts and taxes.
                  Example: 234.56", + "format": "double", + "example": 234.56 + }, + "totalNetChargeWithDutiesAndTaxes": { + "type": "number", + "description": "This is the sum of shipment's total net charges and total duties and taxes; only provided if estimated duties and taxes were calculated for this shipment AND duties, taxes and transportation charges are all paid by the same sender account.
                  Example: 222.56", + "format": "double", + "example": 222.56 + }, + "currency": { + "type": "string", + "description": "Click here to see Currency Codes", + "example": "USD" + } + }, + "description": "This is a placeholder for shipment total/summary rates details, as calculated per a specific rate type. The totals may differ from the sum of corresponding package data for Multiweight or Express MPS." + }, + "Tax": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "description": "
                  Example: 10.0", + "format": "double", + "example": 10 + }, + "level": { + "type": "string", + "description": "Indicates the Level of Tax.
                  Example: level", + "example": "level" + }, + "description": { + "type": "string", + "description": "Placeholder for the tax description.
                  Example: descrption", + "example": "description" + }, + "type": { + "type": "string", + "description": "Placeholder for the Type of the Tax.
                  Example:type", + "example": "type" + } + }, + "description": "Specifies the Tax for the Shipment." + }, + "CurrencyExchangeRate": { + "type": "object", + "properties": { + "rate": { + "type": "number", + "description": "Multiplier used to convert fromCurrency units to intoCurrency units.
                  Example: 25.6", + "format": "double", + "example": 25.6 + }, + "fromCurrency": { + "type": "string", + "description": "The currency code for the original (converted FROM) currency.
                  Example: Rupee
                  Click here to see Currency Codes", + "example": "Rupee" + }, + "intoCurrency": { + "type": "string", + "description": "The currency code for the final(converted INTO) currency.
                  Example: USD
                  Click here to see Currency Codes", + "example": "USD" + } + } + }, + "ShipmentLegRateDetail": { + "type": "object", + "properties": { + "rateZone": { + "type": "string", + "description": "Indicates the rate zone used (based on origin and destination).
                  Example: rateZone", + "example": "rateZone" + }, + "pricingCode": { + "type": "string", + "description": "Specifies the Pricing Code.
                  Example: pricingCode", + "example": "pricingCode" + }, + "taxes": { + "type": "array", + "description": "Specifies the taxes.", + "items": { + "$ref": "#/components/schemas/Tax" + } + }, + "totalDimWeight": { + "description": "Sum of dimensional weights for all packages.", + "$ref": "#/components/schemas/Weight" + }, + "totalRebates": { + "type": "number", + "description": "Specifies the total rebate.
                  Example: 2.0", + "format": "double", + "example": 2 + }, + "fuelSurchargePercent": { + "type": "number", + "description": "Specifies a fuel surcharge percentage.
                  Example: 6.0", + "format": "double", + "example": 6 + }, + "currencyExchangeRate": { + "description": "Specifies currency exchange rate.", + "$ref": "#/components/schemas/CurrencyExchangeRate" + }, + "dimDivisor": { + "type": "integer", + "description": "The value used to calculate the weight based on the dimensions.
                  Example: 6", + "format": "int32", + "example": 6 + }, + "rateType": { + "type": "string", + "description": "Type used for this specific set of rate data.
                  Example: PAYOR_RETAIL_PACKAGE", + "example": "PAYOR_RETAIL_PACKAGE" + }, + "legDestinationLocationId": { + "type": "string", + "description": "Specifies the location id the destination of shipment leg.
                  Example: legDestinationLocationId", + "example": "legDestinationLocationId" + }, + "dimDivisorType": { + "type": "string", + "description": "Identifies the type of dim divisor that was applied.
                  Example: dimDivisorType", + "example": "dimDivisorType" + }, + "totalBaseCharge": { + "type": "number", + "description": "The total freight charge that was calculated before surcharges, discounts and taxes.
                  Example: 6.0", + "format": "double", + "example": 6 + }, + "ratedWeightMethod": { + "type": "string", + "description": "Indicates which weight was used.
                  Example: ratedWeightMethod", + "example": "ratedWeightMethod" + }, + "totalFreightDiscounts": { + "type": "number", + "description": "The sum of all discounts.
                  Example: 9.0", + "format": "double", + "example": 9 + }, + "totalTaxes": { + "type": "number", + "description": "Total of the transportation-based taxes.
                  Example: 12.6", + "format": "double", + "example": 12.6 + }, + "minimumChargeType": { + "type": "string", + "description": "Specifies minimum Charge Type.
                  Example: minimumChargeType", + "example": "minimumChargeType" + }, + "totalDutiesAndTaxes": { + "type": "number", + "description": "Total of shipments duties and taxes; only provided if estimated duties and taxes were calculated for this shipment.
                  Example: 17.78", + "format": "double", + "example": 17.78 + }, + "totalNetFreight": { + "type": "number", + "description": "The freight charge minus discounts.
                  Example: 6.0", + "format": "double", + "example": 6 + }, + "totalNetFedExCharge": { + "type": "number", + "description": "Total of shipments total net freight and total surcharges (not including total taxes).
                  Example: 3.2", + "format": "double", + "example": 3.2 + }, + "surcharges": { + "type": "array", + "description": "All surcharges that apply to this shipment.", + "items": { + "$ref": "#/components/schemas/Surcharge" + } + }, + "totalSurcharges": { + "type": "number", + "description": "The total of all surcharges.
                  Example: 5.0", + "format": "double", + "example": 5 + }, + "totalBillingWeight": { + "description": "The weight used to calculate these rates.", + "$ref": "#/components/schemas/Weight" + }, + "freightDiscounts": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RateDiscount" + } + }, + "rateScale": { + "type": "string", + "description": "Indicates the rate scale used.
                  Example: 6702", + "example": "6702" + }, + "totalNetCharge": { + "type": "number", + "description": "The net charge after applying all discounts and surcharges.
                  Example: 25.3", + "format": "double", + "example": 25.3 + }, + "totalNetChargeWithDutiesAndTaxes": { + "type": "number", + "description": "Sum of total net charge, total duties and taxes; only provided if estimated duties and taxes were calculated for this shipment and duties, taxes and transportation charges are all paid by the same sender account.
                  Example: 25.67", + "format": "double", + "example": 25.67 + }, + "currency": { + "type": "string", + "description": "Click here to see Currency Codes", + "example": "USD" + } + }, + "description": "This is a placeholder for single leg of a shipment rates details, as calculated per a specific rate type." + }, + "RateDiscount": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "description": "
                  Example 8.9", + "format": "double", + "example": 8.9 + }, + "rateDiscountType": { + "type": "string", + "description": "The type of rate discount.
                  Valid Values are BONUS, COUPON,EARNED,OTHER,VOLUME.
                  Example COUPON", + "example": "COUPON" + }, + "percent": { + "type": "number", + "description": "Specifies the percentage of Rate discount.
                  Example 28.9", + "format": "double", + "example": 28.9 + }, + "description": { + "type": "string", + "description": "Specifies the description of the discounted rate.
                  Example: description", + "example": "description" + } + }, + "description": "Specifies discount Rate for Shipment." + }, + "DocumentRequirementsDetail": { + "type": "object", + "properties": { + "requiredDocuments": { + "type": "array", + "description": "Provides the required documents info.
                  Example: [COMMERCIAL_OR_PRO_FORMA_INVOICE,AIR_WAYBILL]", + "example": [ + "COMMERCIAL_OR_PRO_FORMA_INVOICE", + "AIR_WAYBILL" + ], + "items": { + "type": "string" + } + }, + "prohibitedDocuments": { + "type": "array", + "description": "Provides the prohibited Documents info.
                  Example: [ USMCA_CERTIFICATION_OF_ORIGIN]", + "example": [ + "USMCA_CERTIFICATION_OF_ORIGIN" + ], + "items": { + "type": "string" + } + }, + "generationDetails": { + "type": "array", + "description": "Provides the generation details.", + "items": { + "$ref": "#/components/schemas/DocumentGenerationDetail" + } + } + }, + "description": "Provides the DocumentRequirementsDetail." + }, + "DocumentGenerationDetail": { + "type": "object", + "properties": { + "letterhead": { + "type": "string", + "description": "is a RequirementType
                  Example: OPTIONAL" + }, + "electronicSignature": { + "type": "string", + "description": "is a RequirementType
                  Example: OPTIONAL" + }, + "minimumCopiesRequired": { + "type": "integer", + "description": "is a nonNegativeInteger
                  Example: 3", + "format": "int32" + }, + "type": { + "type": "string", + "description": "is an EnterpriseDocumentType
                  Example: COMMERCIAL_INVOICE" + } + }, + "description": "Provides the DocumentGenerationDetail info.", + "example": { + "type": "COMMERCIAL_INVOICE", + "minimumCopiesRequired": 3, + "letterhead": "OPTIONAL", + "electronicSignature": "OPTIONAL" + } + }, + "PendingShipmentAccessDetail": { + "type": "object", + "properties": { + "accessorDetails": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PendingShipmentAccessorDetail" + } + } + }, + "description": "This information describes how and when a online email return label shipment may be accessed for completion." + }, + "PendingShipmentAccessorDetail": { + "type": "object", + "properties": { + "password": { + "type": "string", + "description": "Specifies the accessor password
                  Example: password", + "example": "password" + }, + "role": { + "type": "string", + "description": "Specifies the accessor role.
                  Example: role", + "example": "role" + }, + "emailLabelUrl": { + "type": "string", + "description": "Specifies the URL for the email label.
                  Example: emailLabelUrl", + "example": "emailLabelUrl" + }, + "userId": { + "type": "string", + "description": "Specifies the accessor User ID
                  Example: userId", + "example": "userId" + } + }, + "description": "Specifies details for how to access the pending email return label." + }, + "ShipmentAdvisoryDetails": { + "type": "object", + "properties": { + "regulatoryAdvisory": { + "$ref": "#/components/schemas/RegulatoryAdvisoryDetail" + } + }, + "description": "Shipment Advisory Detail (Added for Cascade)" + }, + "RegulatoryAdvisoryDetail": { + "type": "object", + "properties": { + "commodityClarifications": { + "type": "array", + "description": "This specifies the Commodity clarifications.", + "items": { + "$ref": "#/components/schemas/CommodityClarificationDetail" + } + }, + "prohibitions": { + "type": "array", + "description": "This indicates the Regulatory probitions.", + "items": { + "$ref": "#/components/schemas/RegulatoryProhibition" + } + } + }, + "description": "This specifies the Regulatory advisory details." + }, + "CommodityClarificationDetail": { + "type": "object", + "properties": { + "commodityIndex": { + "type": "integer", + "description": "This specifies the commodity index
                  Example: 25", + "format": "int32", + "example": 25 + }, + "suggestions": { + "type": "array", + "description": "This specifies the suggestions", + "items": { + "$ref": "#/components/schemas/SuggestedCommodityDetail" + } + } + } + }, + "SuggestedCommodityDetail": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Specifies suggested commodity detail description.
                  Example: description", + "example": "description" + }, + "harmonizedCode": { + "type": "string", + "description": "harmonized code
                  Example: harmonized Code", + "example": "123456" + } + } + }, + "RegulatoryProhibition": { + "type": "object", + "properties": { + "derivedHarmonizedCode": { + "type": "string", + "description": "derived harmonized code value
                  Example: 01", + "example": "01" + }, + "advisory": { + "$ref": "#/components/schemas/Message" + }, + "commodityIndex": { + "type": "integer", + "description": "commodity index value
                  Example: 12", + "format": "int32", + "example": 12 + }, + "source": { + "type": "string", + "description": "source
                  Example: source", + "example": "source" + }, + "categories": { + "type": "array", + "description": "categories
                  Example: [categories]", + "example": [ + "categories" + ], + "items": { + "type": "string" + } + }, + "type": { + "type": "string", + "description": "type
                  Example: type", + "example": "type" + }, + "waiver": { + "$ref": "#/components/schemas/RegulatoryWaiver" + }, + "status": { + "type": "string", + "description": "status
                  Example: status", + "example": "status" + } + } + }, + "Message": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Specifies the message code for the tag created.
                  Example: code", + "example": "code" + }, + "text": { + "type": "string", + "description": "Specifies the text message for the tag created.
                  Example: Text", + "example": "Text" + }, + "parameters": { + "type": "array", + "description": "Specifies the message parameters list.", + "items": { + "$ref": "#/components/schemas/MessageParameter" + } + }, + "localizedText": { + "type": "string", + "description": "Specifies the message ID and value.
                  Example: localizedText", + "example": "localizedText" + } + }, + "description": "advisory" + }, + "MessageParameter": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Message parameter code.
                  Example: message ID", + "example": "message ID" + }, + "value": { + "type": "string", + "description": "Message parameter value of the code.
                  Example: value", + "example": "Message value" + } + } + }, + "RegulatoryWaiver": { + "type": "object", + "properties": { + "advisories": { + "type": "array", + "description": "advisories list", + "items": { + "$ref": "#/components/schemas/Message" + } + }, + "description": { + "type": "string", + "description": "description
                  Example: description", + "example": "description" + }, + "id": { + "type": "string", + "description": "id
                  Example: id", + "example": "id" + } + }, + "description": "Response structure for RegulatoryWaiver object" + }, + "MasterLabelResponse": { + "type": "object", + "properties": { + "returnTrackingNumber": { + "type": "string", + "description": "This is the return shipment tracking number
                  Example: 794953540156", + "example": "794953540156" + } + }, + "description": "If Ship request has both an outbound shipment and \"returnRequestedShipment\" included, this indicates the combined outbound and return labels and documents and provided in a single PDF, So customer can print it in one shot." + }, + "TransactionDetail": { + "type": "object", + "description": "Transaction Detail" + }, + "Alert_3P": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Specifies the api alert code.
                  Example: SHIPMENT.VALIDATION.SUCCESS", + "example": "SHIPMENT.VALIDATION.SUCCESS" + }, + "alertType": { + "type": "string", + "description": "Specifies the api alert type.", + "example": "NOTE", + "enum": [ + "NOTE", + "WARNING" + ] + }, + "message": { + "type": "string", + "description": "Specifies the api alert message.
                  Example: Shipment validated successfully. No errors found.", + "example": "Shipment validated successfully. No errors found." + } + }, + "description": "Specifies the api alerts." + }, + "LabelSpecification_returnedDispositionDetail": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Specifies disposition type.", + "example": "RETURNED" + } + }, + "description": "Specify whether or not the return deposition is needed." + }, + "DangerousGoodsDetail_packaging": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "description": "the count of the packaging", + "example": 3 + }, + "units": { + "type": "string", + "description": "The weight unit of measure for the packaging. KG or LB", + "example": "LB" + } + }, + "description": "Indicates the Packaging details of dangerous goods." + }, + "DangerousGoodsDetail_signatory": { + "type": "object", + "properties": { + "contactName": { + "type": "string", + "description": "The name of the person signing for this shipment.", + "example": "John Doe" + }, + "title": { + "type": "string", + "description": "The title of the person signing for this shipment.", + "example": "Mr." + }, + "place": { + "type": "string", + "description": "Place of the person signing for this shipment.", + "example": "John Doe Warehouse" + } + }, + "description": "Specify the name, title and place of the signatory responsible for the dangerous goods shipment." + }, + "DangerousGoodsDetail_infectiousSubstanceResponsibleContact": { + "type": "object", + "properties": { + "contactId": { + "type": "string", + "description": "Indicates the contact id." + }, + "personName": { + "type": "string", + "description": "Name of the contact person", + "example": "John Doe" + }, + "title": { + "type": "string", + "description": "Title of the contact person", + "example": "Mr." + }, + "companyName": { + "type": "string", + "description": "Company name of the contact person", + "example": "University of Michigan" + }, + "phoneNumber": { + "type": "string", + "description": "The phone number of the contact person", + "example": "12283216549" + }, + "phoneExtension": { + "type": "string", + "description": "The phone number extension", + "example": "2" + }, + "tollFreePhoneNumber": { + "type": "string", + "description": "A toll free number that can be used to reach the responsible party", + "example": "18009874561" + }, + "pagerNumber": { + "type": "string", + "description": "The pager number of the contact person", + "example": "17736529999" + }, + "faxNumber": { + "type": "string", + "description": "The fax number of the contact person", + "example": "19075551234" + }, + "eMailAddress": { + "type": "string", + "description": "The email address of the contact person", + "example": "JohnDoe@company.com" + } + }, + "description": "Contact details for a responsible party if the dangerous good is an infectious substance." + }, + "DangerousGoodsDetail_radioactivityDetail_dimensions": { + "type": "object", + "properties": { + "length": { + "type": "integer", + "description": "The length of the packaging for the radoactive material.", + "example": 24 + }, + "width": { + "type": "integer", + "description": "The width of the packaging for the radoactive material.", + "example": 36 + }, + "height": { + "type": "integer", + "description": "The height of the packaging for the radoactive material.", + "example": 12 + }, + "units": { + "type": "string", + "description": "The unit that will be used for measuring the radioactive package.", + "example": "IN", + "enum": [ + "CM", + "IN" + ] + } + } + }, + "DangerousGoodsDetail_radioactivityDetail": { + "type": "object", + "properties": { + "transportIndex": { + "type": "number", + "description": "Specifies the maximum radiation level from the dangerous goods.", + "example": 2.6 + }, + "surfaceReading": { + "type": "number", + "description": "The radiation of the pacakage at the package surface.", + "example": 0.4 + }, + "criticalitySafetyIndex": { + "type": "number", + "description": "The criticality safety index(CSI) is a number assigned to a package containing fissile material and is used to provide control over the accumulation of packages.", + "example": 7 + }, + "dimensions": { + "$ref": "#/components/schemas/DangerousGoodsDetail_radioactivityDetail_dimensions" + } + }, + "description": "Specify the radioactivity detail for the current package, if the package contains radioactive materials." + }, + "CXSError401_errors": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.
                  Example: NOT.AUTHORIZED.ERROR, LOGIN.REAUTHENTICATE.ERROR", + "example": "LOGIN.REAUTHENTICATE.ERROR" + }, + "message": { + "type": "string", + "description": "Indicates the description of API error alert message.
                  Example: Access token expired. Please modify your request and try again.", + "example": "Re-Login authentication error" + }, + "parameterList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Parameter" + } + } + } + }, + "CXSError403_errors": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.", + "example": "FORBIDDEN.ERROR" + }, + "message": { + "type": "string", + "description": "Indicates the description of API error alert message.", + "example": "We could not authorize your credentials. Please check your permissions and try again" + }, + "parameterList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Parameter" + } + } + } + }, + "CXSError404_errors": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.", + "example": "NOT.FOUND.ERROR" + }, + "parameterList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Parameter" + } + }, + "message": { + "type": "string", + "description": "Indicates the description of API error alert message.", + "example": "The resource you requested is no longer available. Please modify your request and try again." + } + } + }, + "CXSError500_errors": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.", + "example": "INTERNAL.SERVER.ERROR" + }, + "message": { + "type": "string", + "description": "Indicates the description of API error alert message.", + "example": "We encountered an unexpected error and are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time." + }, + "parameterList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Parameter" + } + } + } + }, + "RequestedShipmentVerify_shipmentSpecialServices": { + "type": "object", + "properties": { + "specialServiceTypes": { + "type": "array", + "description": "Indicate the Special services requested for this shipment.
                  Example:
                  • HOLD_AT_LOCATION
                  • RETURN_SHIPMENT
                  • BROKER_SELECT_OPTION
                  • CALL_BEFORE_DELIVERY
                  • COD
                  • CUSTOM_DELIVERY_WINDOW

                  click here to see Shipment Special Service Types", + "example": [ + "THIRD_PARTY_CONSIGNEE", + "PROTECTION_FROM_FREEZING" + ], + "items": { + "type": "string" + } + }, + "etdDetail": { + "$ref": "#/components/schemas/ETDDetail" + }, + "returnShipmentDetail": { + "$ref": "#/components/schemas/ReturnShipmentDetail" + }, + "deliveryOnInvoiceAcceptanceDetail": { + "$ref": "#/components/schemas/DeliveryOnInvoiceAcceptanceDetail" + }, + "internationalTrafficInArmsRegulationsDetail": { + "$ref": "#/components/schemas/InternationalTrafficInArmsRegulationsDetail" + }, + "pendingShipmentDetail": { + "$ref": "#/components/schemas/PendingShipmentDetail" + }, + "holdAtLocationDetail": { + "$ref": "#/components/schemas/HoldAtLocationDetail" + }, + "shipmentCODDetail": { + "$ref": "#/components/schemas/ShipmentCODDetail" + }, + "shipmentDryIceDetail": { + "$ref": "#/components/schemas/ShipmentDryIceDetail" + }, + "internationalControlledExportDetail": { + "$ref": "#/components/schemas/InternationalControlledExportDetail" + }, + "homeDeliveryPremiumDetail": { + "$ref": "#/components/schemas/HomeDeliveryPremiumDetail" + } + }, + "description": "These special services are available at the shipment level for some or all service types.
                  If the shipper is requesting a special service which requires additional data (such as the COD amount), the shipment special service type must be present in the specialServiceTypes collection, and the supporting detail must be provided in the appropriate sub-object below.
                  RETURN_SHIPMENT is required for creating return shipments." + }, + "ShipperParty": { + "required": [ + "address", + "contact" + ], + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/PartyAddress" + }, + "contact": { + "$ref": "#/components/schemas/PartyContact" + }, + "companyCode": { + "type": "string", + "description": "The shipper's company code.", + "example": "f05a824749004290a08adb2b042dc2a5" + }, + "tins": { + "type": "array", + "description": "Used for adding the tax id.", + "items": { + "$ref": "#/components/schemas/TaxpayerIdentification" + } + }, + "deliveryInstructions": { + "type": "string", + "description": "Used with Ground Home Delivery and Freight. Max Length is 90." + } + }, + "description": "Indicate the Shipper contact details for this shipment.", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "000", + "phoneNumber": "9612345671", + "companyName": "Fedex" + }, + "companyCode": "f05a824749004290a08adb2b042dc2a5", + "tins": [ + { + "number": "123567", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ], + "deliveryInstructions": "delivery instructions" + } + }, + "RecipientsParty": { + "required": [ + "address", + "contact" + ], + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/PartyAddress" + }, + "contact": { + "$ref": "#/components/schemas/PartyContact" + }, + "tins": { + "type": "array", + "description": "Used for adding the tax id", + "items": { + "$ref": "#/components/schemas/TaxpayerIdentification" + } + }, + "deliveryInstructions": { + "type": "string", + "description": "Specifies the delivery instructions to be added with the shipment. Specifically used by Ground Home Delivery
                  Example: Delivery Instructions", + "example": "Delivery Instructions" + } + }, + "description": "The descriptive information for the recipient of the shipment and the physical location for the package destination.", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "000", + "phoneNumber": "9612345671", + "companyName": "Fedex" + }, + "tins": [ + { + "number": "123567", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ], + "deliveryInstructions": "Delivery Instructions" + } + }, + "ContactAndAddress": { + "type": "object", + "properties": { + "contact": { + "description": "Indicate the contact details of the shipper.", + "$ref": "#/components/schemas/Contact" + }, + "address": { + "description": "This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the U.S.).", + "$ref": "#/components/schemas/Address" + } + }, + "description": "Specifies the contact and address details of a location.", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "38127", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "person name", + "emailAddress": "email address", + "phoneNumber": "phone number", + "phoneExtension": "phone extension", + "companyName": "company name", + "faxNumber": "fax number" + } + } + }, + "Address": { + "required": [ + "countryCode", + "streetLines" + ], + "type": "object", + "properties": { + "streetLines": { + "type": "array", + "description": "This is a combination of number, street name, etc.
                  Note: At least one line is required and streetlines more than 3 will be ignored. Empty lines should not be included.
                  Example: [10 FedEx Parkway, Suite 302]", + "items": { + "type": "string" + } + }, + "city": { + "type": "string", + "description": "This is a placeholder for City Name.
                  Note: This is conditional and not required in all the shipping requests. It is recommended for Express shipments for the most accurate ODA and OPA surcharges and not used for Ground/SmartPost.
                  Example: Beverly Hills" + }, + "stateOrProvinceCode": { + "type": "string", + "description": "This is a placeholder for State or Province code.
                  Note: This is conditional and not required in all the shipping requests. It is recommended for Express shipments for the most accurate ODA and OPA surcharges and not used for Ground/SmartPost.
                  Example: CA" + }, + "postalCode": { + "type": "string", + "description": "This is placeholder for postal code.
                  Note: The postal code is required for postal-aware countries.
                  Example: 38127" + }, + "countryCode": { + "type": "string", + "description": "This is the Two-letter country code.
                  Example: US
                  Click here to see Country Codes" + }, + "residential": { + "type": "boolean", + "description": "Indicate whether this address is Residential as opposed to Commercial.
                  Valid Values: True or False.", + "enum": [ + true, + false + ] + } + }, + "description": "Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of \"address parts\" which should be handled as a unit (such as a city-state-ZIP combination within the US).", + "example": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "38127", + "countryCode": "US", + "residential": false + } + }, + "ResponsiblePartyParty": { + "required": [ + "address", + "contact" + ], + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/PartyAddress" + }, + "contact": { + "$ref": "#/components/schemas/PartyContact" + }, + "accountNumber": { + "$ref": "#/components/schemas/PartyAccountNumber" + } + }, + "description": "The descriptive information for the person who is responsible for the shipment.", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "000", + "phoneNumber": "9612345671", + "companyName": "Fedex" + }, + "accountNumber": { + "value": "801472842" + } + } + }, + "ETDDetail": { + "type": "object", + "properties": { + "attributes": { + "type": "array", + "description": "Specifies the Post Document Upload
                  Example: POST_SHIPMENT_UPLOAD_REQUESTED", + "items": { + "type": "string", + "enum": [ + "POST_SHIPMENT_UPLOAD_REQUESTED" + ] + } + }, + "attachedDocuments": { + "type": "array", + "description": "Customer reference to the uploaded document(s).", + "items": { + "$ref": "#/components/schemas/UploadDocumentReferenceDetail" + } + }, + "requestedDocumentTypes": { + "type": "array", + "description": "Indicates the types of shipping documents requested by the shipper.
                  Example: CERTIFICATE_OF_ORIGIN, COMMERCIAL_INVOICE etc.", + "items": { + "type": "string", + "example": "[\"VICS_BILL_OF_LADING\",\"GENERAL_AGENCY_AGREEMENT\"]", + "enum": [ + "CERTIFICATE_OF_ORIGIN", + "COMMERCIAL_INVOICE", + "CUSTOM_PACKAGE_DOCUMENT", + "CUSTOM_SHIPMENT_DOCUMENT", + "CUSTOMER_SPECIFIED_LABELS", + "EXPORT_DECLARATION", + "DANGEROUS_GOODS_SHIPPERS_DECLARATION", + "FREIGHT_ADDRESS_LABEL", + "GENERAL_AGENCY_AGREEMENT", + "LABEL", + "USMCA_CERTIFICATION_OF_ORIGIN", + "USMCA_COMMERCIAL_INVOICE_CERTIFICATION_OF_ORIGIN", + "OP_900", + "PENDING_SHIPMENT_EMAIL_NOTIFICATION", + "PRO_FORMA_INVOICE", + "RETURN_INSTRUCTIONS", + "FEDEX_FREIGHT_STRAIGHT_BILL_OF_LADING", + "VICS_BILL_OF_LADING" + ] + } + } + }, + "description": "Use this object to specify all information on how the electronic Trade document references used with the shipment." + }, + "ReturnShipmentDetail": { + "required": [ + "returnType" + ], + "type": "object", + "properties": { + "returnEmailDetail": { + "$ref": "#/components/schemas/ReturnEmailDetail" + }, + "rma": { + "$ref": "#/components/schemas/ReturnMerchandiseAuthorization" + }, + "returnAssociationDetail": { + "$ref": "#/components/schemas/ReturnAssociationDetail" + }, + "returnType": { + "type": "string", + "description": "This specifies the return Type. Required to be set to PRINT_RETURN_LABEL for printed return label shipments.For email return label shipments returnType must be set to PENDING and pendingShipmentDetail must be set to EMAIL.
                  Valid Values : PENDING, PRINT_RETURN_LABEL", + "example": "PRINT_RETURN_LABEL", + "enum": [ + "PENDING", + "PRINT_RETURN_LABEL" + ] + } + }, + "description": "Use this object for specifying return shipment details." + }, + "EmailRecipient": { + "required": [ + "emailAddress", + "role" + ], + "type": "object", + "properties": { + "emailAddress": { + "type": "string", + "description": "Email address of the email return label receipient to be notified of the return label. This element has a 200-character maximum.
                  Example: neena@fedex.com", + "example": "neena@fedex.com" + }, + "optionsRequested": { + "$ref": "#/components/schemas/EmailOptionsRequested" + }, + "role": { + "type": "string", + "description": "Relationship that the emailRecipient has to the pending email return label shipments.
                  Valid Values: SHIPMENT_COMPLETOR,SHIPMENT_INITIATOR", + "example": "SHIPMENT_COMPLETOR", + "enum": [ + "SHIPMENT_COMPLETOR", + "SHIPMENT_INITIATOR" + ] + }, + "locale": { + "$ref": "#/components/schemas/Locale" + } + }, + "description": "Information describing recipient of the online email return label." + }, + "Weight": { + "required": [ + "units", + "value" + ], + "type": "object", + "properties": { + "units": { + "type": "string", + "description": "Specifies the package weight unit type.", + "example": "KG", + "enum": [ + "KG", + "LB" + ] + }, + "value": { + "type": "number", + "description": "Weight Value.
                  Example: 68.25
                  Click here to see Weight values", + "format": "double", + "example": 68.25 + } + }, + "description": "These are the package weight details.", + "example": { + "units": "KG", + "value": 68 + } + }, + "HomeDeliveryPremiumDetail": { + "type": "object", + "properties": { + "phoneNumber": { + "$ref": "#/components/schemas/PhoneNumber" + }, + "deliveryDate": { + "type": "string", + "description": "Conditional
                  Identifies the date and time the package is tendered to FedEx. Both the date and time portions of the string are expected to be used. The date should not be a past date or a date more than 10 days in the future. The time is the local time of the shipment based on the shipper's time zone.
                  Format YYYY-MM-DDTHH:MM:SS-xx:xx. example: 2019-06-26T17:00:00Z.", + "example": "2019-06-26T17:00:00Z" + }, + "homedeliveryPremiumType": { + "type": "string", + "description": "Home Delivery Premium Type. Allows the user to specify additional premimum service options for their home delivery shipment. Customer can specify Evening delivery or a Date certain, or can specify they would like to make an appointment for the delivery.", + "example": "APPOINTMENT", + "enum": [ + "APPOINTMENT", + "DATE_CERTAIN", + "EVENING" + ] + } + }, + "description": "Special service elements for FedEx Ground Home Delivery shipments. If selected, 'homedeliveryPremiumType' is required. " + }, + "EMailNotificationDetail": { + "type": "object", + "properties": { + "aggregationType": { + "type": "string", + "description": "Shipment Notification Aggregation Type.", + "example": "PER_PACKAGE", + "enum": [ + "PER_PACKAGE", + "PER_SHIPMENT" + ] + }, + "emailNotificationRecipients": { + "type": "array", + "description": "Provide Email Notification Recipient details.", + "items": { + "$ref": "#/components/schemas/EmailNotificationRecipient" + } + }, + "personalMessage": { + "type": "string", + "description": "This is your personal message for the email.
                  Note: The maximum personal message character limit depends on the element notificationFormatType values:
                  • If notificationFormatType is TEXT, then only 120 characters printed on the email
                  • If notificationFormatType is HTML, then 500 characters printed on the email

                  Example: This is concerning the order 123456 of 26 July 2021 - art no 34324-23 Teddy Bear, brown", + "example": "your personal message here" + } + }, + "description": "These are email disposition details. Provides the type and email addresses of e-mail recipients. If returnedDispositionDetail in labelSpecification is set as true then email will be send with label and documents copy." + }, + "VariableHandlingChargeDetail": { + "type": "object", + "properties": { + "rateType": { + "type": "string", + "description": "The rate type indicates what type of rate request is being returned; account, preferred, incentive, etc.", + "example": "PREFERRED_CURRENCY", + "enum": [ + "ACCOUNT", + "ACTUAL", + "CURRENT", + "CUSTOM", + "LIST", + "INCENTIVE", + "PREFERRED", + "PREFERRED_INCENTIVE", + "PREFERRED_CURRENCY" + ] + }, + "percentValue": { + "type": "number", + "description": "This is the variable handling percentage. If the percent value is mentioned as 10, it means 10%(multiplier of 0.1).", + "format": "double", + "example": 12.45 + }, + "rateLevelType": { + "type": "string", + "description": "Indicates whether or not the rating is being done at the package level, or if the packages are bundled together. At the package level, charges are applied based on the details of each individual package. If they are bundled, one package is chosen as the parent and charges are applied based on that one package.", + "example": "INDIVIDUAL_PACKAGE_RATE", + "enum": [ + "BUNDLED_RATE", + "INDIVIDUAL_PACKAGE_RATE" + ] + }, + "fixedValue": { + "description": "Conditional\n\nAllows the user to specify a fixed handling charge. The element allows entry of 7 characters before the decimal and 2 characters following the decimal. For example, if you want to enter a fixed handling amount of $5.00, enter 5.00 in the FixedValue 'amount' element.", + "$ref": "#/components/schemas/Money" + }, + "rateElementBasis": { + "type": "string", + "description": "Specifies the charge upon which the variable handling percentage amount is calculated.", + "example": "NET_CHARGE_EXCLUDING_TAXES", + "enum": [ + "NET_CHARGE", + "NET_FREIGHT", + "BASE_CHARGE", + "NET_CHARGE_EXCLUDING_TAXES" + ] + } + }, + "description": "Specifies details about how to calculate variable handling charges at the shipment level. They can be based on a percentage of the shipping charges or a fixed amount. If indicated, 'rateLevelType' is required." + }, + "CommercialInvoice": { + "type": "object", + "properties": { + "originatorName": { + "type": "string", + "description": "The originatorName that will populate the Commercial Invoice (or Pro Forma).", + "example": "originator Name" + }, + "comments": { + "type": "array", + "description": "The comments that will populate the Commercial Invoice (or Pro Forma). Only the comments specified in the first two indexes of the array will be printed on the invoice and other comments would be ignored as the limitation is set for only two indexes. It considers the comment which is in the first index as a Special Instructions, Hence the comment at first index will be printed under special instructions and the other will be printed at comments section in the Commercial Invoice Document.
                  Example: comments", + "example": [ + "optional comments for the commercial invoice" + ], + "items": { + "type": "string" + } + }, + "customerReferences": { + "type": "array", + "description": "Additional customer reference data", + "items": { + "$ref": "#/components/schemas/CustomerReference" + } + }, + "taxesOrMiscellaneousCharge": { + "description": "Specifies Taxes Or Miscellaneous Charge", + "$ref": "#/components/schemas/Money" + }, + "taxesOrMiscellaneousChargeType": { + "type": "string", + "description": "Specifies the Taxes Or Miscellaneous Charge Type", + "example": "COMMISSIONS", + "enum": [ + "COMMISSIONS", + "DISCOUNTS", + "HANDLING_FEES", + "OTHER", + "ROYALTIES_AND_LICENSE_FEES", + "TAXES" + ] + }, + "freightCharge": { + "$ref": "#/components/schemas/Money" + }, + "packingCosts": { + "$ref": "#/components/schemas/Money" + }, + "handlingCosts": { + "$ref": "#/components/schemas/Money" + }, + "declarationStatement": { + "type": "string", + "description": "The declaration statement that will populate the Commercial Invoice (or Pro Forma).
                  Max length is 554
                  Example: declarationStatement", + "example": "declarationStatement" + }, + "termsOfSale": { + "type": "string", + "description": "The termsOfSale that will populate the Commercial Invoice (or Pro Forma). Max length is 3
                  Example: FCA", + "example": "FCA" + }, + "specialInstructions": { + "type": "string", + "description": "The special instructions that will populate the Commercial Invoice (or Pro Forma).
                  Example: specialInstructions", + "example": "specialInstructions\"" + }, + "shipmentPurpose": { + "type": "string", + "description": "The reason for the shipment. Note: SOLD is not a valid purpose for a Proforma Invoice.", + "example": "REPAIR_AND_RETURN", + "enum": [ + "GIFT", + "NOT_SOLD", + "PERSONAL_EFFECTS", + "REPAIR_AND_RETURN", + "SAMPLE", + "SOLD" + ] + }, + "emailNotificationDetail": { + "$ref": "#/components/schemas/EmailDispositionDetail" + } + }, + "description": "Use this object to provide Commercial Invoice details. This element is required for electronic upload of CI data. It will serve to create/transmit an electronic Commercial Invoice through the FedEx system.
                  Customers are responsible for printing their own Commercial Invoice.
                  If you would like FedEx to generate a Commercial Invoice and transmit it to Customs for clearance purposes, you need to specify that in the 'ETDDetail/RequesteDocumentCopies' element.
                  Support consists of a maximum of 99 commodity line items." + }, + "Commodity": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "unitPrice": { + "$ref": "#/components/schemas/Money" + }, + "additionalMeasures": { + "type": "array", + "description": "Optional
                  Contains only additional quantitative information other than weight and quantity to calculate duties and taxes.", + "items": { + "$ref": "#/components/schemas/AdditionalMeasures" + } + }, + "numberOfPieces": { + "type": "integer", + "description": "Required.
                  Indicate the number of pieces associated with the commodity. Number of pieces cannot be a negative value or exceed 9,999.
                  Example: 12", + "format": "int32", + "example": 12 + }, + "quantity": { + "type": "integer", + "description": "Required
                  Total number of units (using quantityUnits as the unit of measure) of this commodity present in the shipment. Used to estimate duties and taxes.
                  Example: 125", + "format": "int32", + "example": 125 + }, + "quantityUnits": { + "type": "string", + "description": "Required
                  Unit of measure for the above quantity. Used to estimate duties and taxes
                  Example: Ea", + "example": "Ea" + }, + "customsValue": { + "$ref": "#/components/schemas/Customs_Money" + }, + "countryOfManufacture": { + "type": "string", + "description": "Required
                  Maximum allowed length is 4.
                  Example: US", + "example": "US" + }, + "cIMarksAndNumbers": { + "type": "string", + "description": "An identifying mark or number used on the packagingof a shipment to help customers identify a particularshipment
                  Example: 87123", + "example": "87123" + }, + "harmonizedCode": { + "type": "string", + "description": "This is to specify the Harmonized Tariff System (HTS) code to meet U.S. and foreign governments' customs requirements. These are mainly used to estimate the duties and taxes.
                  Example: 0613
                  To research the classification for your commodity, use the FedEx Global Trade Manager online at fedex.com/gtm. You will find country-specific information to determine whether your commodity is considered to be a document or non-document for your destination.", + "example": "0613" + }, + "description": { + "type": "string", + "description": "Required
                  ScrewsMaximum allowed 450 characters.
                  Example: description", + "example": "description" + }, + "name": { + "type": "string", + "description": "Required
                  Commodity name
                  Example: non-threaded rivets", + "example": "non-threaded rivets" + }, + "weight": { + "$ref": "#/components/schemas/Weight" + }, + "exportLicenseNumber": { + "type": "string", + "description": "Specifies the export license number for the shipment
                  Example: 26456", + "example": "26456" + }, + "exportLicenseExpirationDate": { + "type": "string", + "description": "Specifies the export license expiration date for the shipment
                  Format YYYY-MM-DD
                  Example : 2009-04-12", + "format": "date-time" + }, + "partNumber": { + "type": "string", + "description": "a part number for the item
                  Example: 167", + "example": "167" + }, + "purpose": { + "type": "string", + "description": "This field is used for calculation of duties and taxes.

                  Valid values are : BUSINESS and CONSUMER", + "example": "BUSINESS", + "enum": [ + "BUSINESS", + "CONSUMER" + ] + }, + "usmcaDetail": { + "$ref": "#/components/schemas/UsmcaCommodityDetail" + } + } + }, + "ExportDetail": { + "type": "object", + "properties": { + "destinationControlDetail": { + "$ref": "#/components/schemas/DestinationControlDetail" + }, + "b13AFilingOption": { + "type": "string", + "description": "Specify the filing option being exercised. Required for non-document shipments originating in Canada destinated for any country other than Canada, the United States, Puerto Rico, or the U.S. Virgin Islands", + "example": "NOT_REQUIRED", + "enum": [ + "NOT_REQUIRED", + "MANUALLY_ATTACHED", + "FILED_ELECTRONICALLY", + "SUMMARY_REPORTING", + "FEDEX_TO_STAMP" + ] + }, + "exportComplianceStatement": { + "type": "string", + "description": "For US export shipments requiring an EEI, enter the ITN number received from AES when you filed your shipment or the FTR (Foreign Trade Regulations) exemption number.The proper format for an ITN number is AES XYYYYMMDDNNNNNN where YYYYMMDD is date and NNNNNN are numbers generated by the AES.
                  Example: AESX20220714987654
                  Note: The ITN or FTR exemption number you submit in the ship request prints on the international shipping label.

                  For CA export shipments,it can be Proof of report number(15-32 alphanumeric) ,Summary proof of report number(7-32 alphanumeric) or Exemption number(2 digit) based on the selected b13AFilingOption.
                  Example: 98765432107654321(POR number), 7654321(Summary POR number) and 02(Exemption number).", + "example": "12345678901234567" + }, + "permitNumber": { + "type": "string", + "description": "This is a Permit Number. This field is applicable only to Canada export non-document shipments of any value to any destination. No special characters are allowed.
                  Example: 12345", + "example": "12345" + } + }, + "description": "Conditional\n Export Detail Used for US or CA exports" + }, + "CustomsDeclarationStatementDetail": { + "required": [ + "usmcaLowValueStatementDetail" + ], + "type": "object", + "properties": { + "usmcaLowValueStatementDetail": { + "$ref": "#/components/schemas/UsmcaLowValueStatementDetail" + }, + "types": { + "type": "array", + "description": "It indicates the different statements, declarations, acts, and/or certifications that apply to this shipment.", + "items": { + "type": "string", + "example": "USMCA_LOW_VALUE" + } + } + }, + "description": "Specifies about the statements to be declared for Customs." + }, + "DocTabContentZone": { + "type": "object", + "properties": { + "docTabZoneSpecifications": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DocTabZoneSpecification" + } + } + }, + "description": "Customer specified content with some standard values." + }, + "DocTabContentBarcoded": { + "type": "object", + "properties": { + "symbology": { + "type": "string", + "description": "Barcode Symbology Type", + "example": "UCC128", + "enum": [ + "CODABAR", + "CODE128", + "CODE128_WIDEBAR", + "CODE128B", + "CODE128C", + "CODE39", + "CODE93", + "I2OF5", + "MANUAL", + "PDF417", + "POSTNET", + "QR_CODE", + "UCC128" + ] + }, + "specification": { + "$ref": "#/components/schemas/DocTabZoneSpecification" + } + }, + "description": "Indicates the details of barcode content." + }, + "ShippingDocumentEmailDetail": { + "required": [ + "eMailRecipients" + ], + "type": "object", + "properties": { + "eMailRecipients": { + "type": "array", + "description": "Shipping Document Email Recipients array", + "items": { + "$ref": "#/components/schemas/ShippingDocumentEmailRecipient" + } + }, + "locale": { + "$ref": "#/components/schemas/Locale" + }, + "grouping": { + "type": "string", + "description": "Indicates the Shipping Document Email Grouping Type", + "example": "NONE", + "enum": [ + "BY_RECIPIENT", + "NONE" + ] + } + }, + "description": "Specifies how to e-mail shipping documents." + }, + "Op900Detail": { + "type": "object", + "properties": { + "customerImageUsages": { + "type": "array", + "description": "Specifies the usage and identification of customer supplied imagesto be used on this document", + "items": { + "$ref": "#/components/schemas/CustomerImageUsage" + } + }, + "signatureName": { + "type": "string", + "description": ">Data field to be used when a name is to be printed in the document instead of (or in addition to) a signature image.
                  Example: Signature Name", + "example": "Signature Name" + }, + "documentFormat": { + "$ref": "#/components/schemas/ShippingDocumentFormat" + } + }, + "description": "Use this object to specify details to generate the OP-900 document for hazardous material packages." + }, + "CustomerImageUsage": { + "required": [ + "id", + "providedImageType", + "type" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Specify the Image ID.", + "example": "IMAGE_5", + "enum": [ + "IMAGE_1", + "IMAGE_2", + "IMAGE_3", + "IMAGE_4", + "IMAGE_5" + ] + }, + "type": { + "type": "string", + "description": "Specify Customer Image Type.", + "example": "SIGNATURE", + "enum": [ + "LETTER_HEAD", + "SIGNATURE" + ] + }, + "providedImageType": { + "type": "string", + "description": "Specifies the Provided Image Type", + "example": "SIGNATURE", + "enum": [ + "LETTER_HEAD", + "SIGNATURE" + ] + } + }, + "description": "Specifies the usage and identification of customer supplied images to be used on this document." + }, + "ProducerParty": { + "required": [ + "address", + "contact" + ], + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/PartyAddress" + }, + "contact": { + "$ref": "#/components/schemas/PartyContact" + }, + "accountNumber": { + "$ref": "#/components/schemas/PartyAccountNumber" + }, + "tins": { + "type": "array", + "description": "Tax identification number of the shipper.", + "items": { + "$ref": "#/components/schemas/TaxpayerIdentification" + } + } + }, + "description": "Attributes for a Party to a transaction including the physical address, contact information and account number information. ", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "000", + "phoneNumber": "9612345671", + "companyName": "Fedex" + }, + "accountNumber": { + "value": "801472842" + }, + "tins": [ + { + "number": "123567", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ] + } + }, + "HazardousCommodityQuantityDetail": { + "required": [ + "amount", + "quantityType" + ], + "type": "object", + "properties": { + "quantityType": { + "type": "string", + "description": "Specifies which measure of quantity is to be validated.", + "example": "NET", + "enum": [ + "GROSS", + "NET" + ] + }, + "amount": { + "type": "number", + "description": "Number of units of the type below.
                  Example: 34.56", + "format": "double", + "example": 34.56 + }, + "units": { + "type": "string", + "description": "specifies the units
                  Example: Kg", + "example": "Kg" + } + }, + "description": "Provides Hazardous Commodity Quantity Detail" + }, + "HazardousCommodityOptionDetail": { + "type": "object", + "properties": { + "labelTextOption": { + "type": "string", + "description": "Provides the label text option", + "enum": [ + "APPEND", + "OVERRIDE", + "STANDARD" + ] + }, + "customerSuppliedLabelText": { + "type": "string", + "description": "'DG Data Upload Mode:- Optional.,DG Full Validation Mode:- Optional,Text used in labeling the commodity under control of the LabelTextOption field
                  Example:Customer Supplied Label Text' \n\n", + "example": "Customer Supplied Label Text" + } + }, + "description": "Provides details of Hazardous Commodity Option Detail" + }, + "HazardousCommodityPackingDetail": { + "required": [ + "cargoAircraftOnly" + ], + "type": "object", + "properties": { + "packingInstructions": { + "type": "string", + "description": "Coded specification for how commodity is to be packed.
                  Example: packing Instructions", + "example": "packing Instructions" + }, + "cargoAircraftOnly": { + "type": "boolean", + "description": "Shipment is packaged/documented for movement ONLY on cargo aircraft", + "example": true, + "enum": [ + true, + false + ] + } + }, + "description": "Specifies documentation and limits for validation of an individual packing group/category. DG Data Upload Mode: Required (IATA), Optional (Other), DG Full Validation Mode: Required (IATA), Optional (Other)," + }, + "PackageCODDetail": { + "type": "object", + "properties": { + "codCollectionAmount": { + "$ref": "#/components/schemas/Money" + } + }, + "description": "Conditional\n\nCOD main information is set in shipment level." + }, + "Detail": { + "type": "object", + "properties": { + "customerImageUsages": { + "type": "array", + "description": "Specifies the usage and identification of customer supplied imagesto be used on this document", + "items": { + "$ref": "#/components/schemas/CustomerImageUsage" + } + }, + "signatureName": { + "type": "string", + "description": ">Data field to be used when a name is to be printed in the document instead of (or in addition to) a signature image.
                  Example: Signature Name", + "example": "Signature Name" + }, + "documentFormat": { + "$ref": "#/components/schemas/ShippingDocumentFormat" + } + }, + "description": "Use this object to specify details to generate the OP-900 document for hazardous material packages." + }, + "DeliveryOnInvoiceAcceptanceDetail": { + "type": "object", + "properties": { + "recipient": { + "description": "The descriptive data for the recipient of the shipment and the physical location for the shipment destination.", + "$ref": "#/components/schemas/RecipientsParty" + } + }, + "description": "Indicate the Delivery On Invoice Acceptance detail. Recipient is required for Delivery On Invoice Special service." + }, + "EmailLabelDetail": { + "type": "object", + "properties": { + "recipients": { + "type": "array", + "description": "Indicates the Email label recipient's email address, shipment role, & language locale. One recipient must be specified and only one recipient is supported.", + "items": { + "$ref": "#/components/schemas/EmailRecipient" + } + }, + "message": { + "type": "string", + "description": "Specifies an optional personalized message to be included in the email to the email label recipient", + "example": "your optional message " + } + }, + "description": "Required with PendingShipmentType = 'EMAIL'.
                  Not applicable for CreateTag.
                  Describes specific information about the pending email label. " + }, + "HoldAtLocationDetail": { + "required": [ + "locationContactAndAddress", + "locationType" + ], + "type": "object", + "properties": { + "locationId": { + "type": "string", + "description": "Location identification for facilities identified by an alphanumeric location code.
                  Example: YBZA", + "example": "YBZA" + }, + "locationContactAndAddress": { + "$ref": "#/components/schemas/ContactAndAddress" + }, + "locationType": { + "type": "string", + "description": "Type of facility at which package/shipment is to be held.
                  Example: FEDEX_ONSITE", + "example": "FEDEX_ONSITE", + "enum": [ + "FEDEX_AUTHORIZED_SHIP_CENTER", + "FEDEX_OFFICE", + "FEDEX_SELF_SERVICE_LOCATION", + "FEDEX_STAFFED", + "RETAIL_ALLICANCE_LOCATION", + "FEDEX_GROUND_TERMINAL", + "FEDEX_ONSITE" + ] + } + }, + "description": "Use this object to specify required information for a shipment to be held at destination FedEx location.
                  Note: This object HoldAtLocationDetail is Required, when HOLD_AT_LOCATION is chosen in the specialServiceTypes." + }, + "ShipmentCODDetail": { + "type": "object", + "properties": { + "addTransportationChargesDetail": { + "$ref": "#/components/schemas/CODTransportationChargesDetail" + }, + "codRecipient": { + "description": "The descriptive data for the COD recipient and their physical location.'", + "$ref": "#/components/schemas/Party" + }, + "remitToName": { + "type": "string", + "description": "Specify the name of the person or company receiving the secured/unsecured funds payment
                  Example: remitToName", + "example": "remitToName" + }, + "codCollectionType": { + "type": "string", + "description": " Identifies the type of funds FedEx should collect upon shipment delivery", + "enum": [ + "ANY", + "CASH", + "COMPANY_CHECK", + "GUARANTEED_FUNDS", + "PERSONAL_CHECK" + ] + }, + "financialInstitutionContactAndAddress": { + "$ref": "#/components/schemas/ContactAndAddress" + }, + "codCollectionAmount": { + "$ref": "#/components/schemas/Money" + }, + "returnReferenceIndicatorType": { + "type": "string", + "description": "Indicates which type of reference information to include on the COD return shipping label.", + "enum": [ + "INVOICE", + "PO", + "REFERENCE", + "TRACKING" + ] + }, + "shipmentCodAmount": { + "$ref": "#/components/schemas/Money" + } + }, + "description": "Conditional
                  This is the shipment level COD detail." + }, + "BrokerDetail": { + "type": "object", + "properties": { + "broker": { + "description": "'The descriptive data for the broker for the shipment and their physical address, contact and account number information.'", + "$ref": "#/components/schemas/Party" + }, + "type": { + "type": "string", + "description": "Identifies the type of Broker.", + "example": "IMPORT", + "enum": [ + "IMPORT" + ] + } + }, + "description": "Broker details for the shipment", + "example": { + "broker": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneNumber": "1234567890", + "phoneExtension": 91, + "companyName": "Fedex", + "faxNumber": 1234567, + "stateTaxId": 1234567, + "fedralTaxId": "11-N-1745" + }, + "accountNumber": { + "value": 801472842 + }, + "tins": [ + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ] + }, + "type": "IMPORT" + } + }, + "DocTabContent": { + "type": "object", + "properties": { + "docTabContentType": { + "type": "string", + "description": "Doc Tab Content Type", + "example": "BARCODED", + "enum": [ + "BARCODED", + "CUSTOM", + "MINIMUM", + "STANDARD", + "ZONE001" + ] + }, + "zone001": { + "$ref": "#/components/schemas/DocTabContentZone" + }, + "barcoded": { + "$ref": "#/components/schemas/DocTabContentBarcoded" + } + }, + "description": "Specifies details of doc tab content" + }, + "ShippingDocumentDispositionDetail": { + "type": "object", + "properties": { + "eMailDetail": { + "$ref": "#/components/schemas/ShippingDocumentEmailDetail" + }, + "dispositionType": { + "type": "string", + "description": "Values in this field specify how to create and return the document.", + "example": "CONFIRMED", + "enum": [ + "CONFIRMED", + "DEFERRED_QUEUED", + "DEFERRED_RETURNED", + "DEFERRED_STORED", + "EMAILED", + "QUEUED", + "RETURNED", + "STORED" + ] + } + }, + "description": "Each occurrence of this class specifies a particular way in which a kind of shipping document is to be produced and provided." + }, + "HazardousCommodityInnerReceptacleDetail": { + "type": "object", + "properties": { + "quantity": { + "$ref": "#/components/schemas/HazardousCommodityQuantityDetail" + } + } + }, + "HazardousCommodityDescription": { + "required": [ + "packingGroup", + "reportableQuantity" + ], + "type": "object", + "properties": { + "sequenceNumber": { + "type": "integer", + "description": "RequiredSpecify the sequence number
                  Example: 9812", + "format": "int32", + "example": 9812 + }, + "processingOptions": { + "type": "array", + "description": "Indicates any special processing options to be applied to the description of the dangerous goods commodity", + "items": { + "type": "string", + "example": "INCLUDE_SPECIAL_PROVISIONS", + "enum": [ + "INCLUDE_SPECIAL_PROVISIONS" + ] + } + }, + "subsidiaryClasses": { + "type": "array", + "description": "Required\n\nProvides list of subsidiary classes
                  Example: [\"Subsidiary Classes\"]", + "example": [ + "Subsidiary Classes" + ], + "items": { + "type": "string" + } + }, + "labelText": { + "type": "string", + "description": "Specifies the text for the label
                  Example: labelText'\n", + "example": "labelText" + }, + "technicalName": { + "type": "string", + "description": "'The element specifies the technical name for the hazardous material
                  Example: technicalName'\n\n", + "example": "technicalName" + }, + "packingDetails": { + "$ref": "#/components/schemas/HazardousCommodityPackingDetail" + }, + "authorization": { + "type": "string", + "description": "Authorization
                  Example: authorization", + "example": "authorization" + }, + "reportableQuantity": { + "type": "boolean", + "description": "Reportable Quantity", + "example": true, + "enum": [ + true, + false + ] + }, + "percentage": { + "type": "number", + "description": "Percentage
                  Example: 12.45", + "format": "double", + "example": 12.45 + }, + "id": { + "type": "string", + "description": "ID
                  Example: 123", + "example": "123" + }, + "packingGroup": { + "type": "string", + "description": "Identifies DOT packing group for a hazardous commodity", + "example": "I", + "enum": [ + "DEFAULT", + "I", + "II", + "III" + ] + }, + "properShippingName": { + "type": "string", + "description": "The proper shipping name as defined by the regulation. The name can also include qualifying words
                  Example: properShippingName", + "example": "properShippingName" + }, + "hazardClass": { + "type": "string", + "description": "'Specifies the hazard class for the commodity
                  Example: hazard Class'\n", + "example": "hazard Class" + } + }, + "description": "RequiredDetails of HazardousCommodityDescription" + }, + "PendingShipmentDetail": { + "required": [ + "emailLabelDetail", + "pendingShipmentType" + ], + "type": "object", + "properties": { + "pendingShipmentType": { + "type": "string", + "description": "Specifies the pending shipment type. Must include the value: EMAIL for email return shipments.
                  Not applicable for other types of shipments", + "example": "EMAIL", + "enum": [ + "EMAIL" + ] + }, + "processingOptions": { + "$ref": "#/components/schemas/PendingShipmentProcessingOptionsRequested" + }, + "recommendedDocumentSpecification": { + "$ref": "#/components/schemas/RecommendedDocumentSpecification" + }, + "emailLabelDetail": { + "$ref": "#/components/schemas/EmailLabelDetail" + }, + "attachedDocuments": { + "type": "array", + "description": "Attached document details provided by the initator of the shipment, Document ID and Document Type ", + "items": { + "$ref": "#/components/schemas/UploadDocumentReferenceDetail" + } + }, + "expirationTimeStamp": { + "type": "string", + "description": "Specifies the Email Label expiration date. The maximum expiration date for an Email Return Label must be greater of equal to the day of the label request and not greater than 2 years in the future.
                  Example: 2020-01-01", + "example": "2020-01-01" + }, + "shipmentDryIceDetail": { + "$ref": "#/components/schemas/ShipmentDryIceDetail" + } + }, + "description": "Required for email label return shipments.
                  This field is not applicable for CreateTag.
                  This object is used to specify the Pending Shipment Type for Email label." + }, + "CustomerSpecifiedLabelDetail": { + "type": "object", + "properties": { + "maskedData": { + "type": "array", + "description": "Controls which data/sections will be suppressed.", + "example": [ + "PACKAGE_SEQUENCE_AND_COUNT", + "TOTAL_WEIGHT" + ], + "items": { + "type": "string", + "enum": [ + "CUSTOMS_VALUE", + "DIMENSIONS", + "DUTIES_AND_TAXES_PAYOR_ACCOUNT_NUMBER", + "FREIGHT_PAYOR_ACCOUNT_NUMBER", + "INSURED_VALUE", + "PACKAGE_SEQUENCE_AND_COUNT", + "SECONDARY_BARCODE", + "SHIPPER_ACCOUNT_NUMBER", + "SHIPPER_INFORMATION", + "SUPPLEMENTAL_LABEL_DOC_TAB", + "TERMS_AND_CONDITIONS", + "TOTAL_WEIGHT", + "TRANSPORTATION_CHARGES_PAYOR_ACCOUNT_NUMBER" + ] + } + }, + "regulatoryLabels": { + "type": "array", + "description": "Specifies details needed to generate any label artifacts required due to regulatory requirements", + "items": { + "$ref": "#/components/schemas/RegulatoryLabelContentDetail" + } + }, + "docTabContent": { + "$ref": "#/components/schemas/DocTabContent" + }, + "additionalLabels": { + "type": "array", + "description": "Specify how the additional details to be provided on the labels.", + "items": { + "$ref": "#/components/schemas/AdditionalLabelsDetail" + } + } + }, + "description": "Allows customer-specified control of label content" + }, + "ShippingDocumentFormat": { + "type": "object", + "properties": { + "provideInstructions": { + "type": "boolean", + "description": "For those shipping document types which have both a \"form\" and \"instructions\" component (e.g General Agency Agreement), this field indicates whether to provide the instructions.
                  Example: true", + "example": true + }, + "optionsRequested": { + "$ref": "#/components/schemas/DocumentFormatOptionsRequested" + }, + "stockType": { + "type": "string", + "description": "Specifies the label stock type. Lists the correct type of paper for the Freight address label option.Specify valid value PAPER_LETTER", + "example": "PAPER_LETTER", + "enum": [ + "PAPER_LETTER" + ] + }, + "dispositions": { + "type": "array", + "description": "Specifies how to create, organize, and return the document\n\n", + "items": { + "$ref": "#/components/schemas/ShippingDocumentDispositionDetail" + } + }, + "locale": { + "$ref": "#/components/schemas/Locale" + }, + "docType": { + "type": "string", + "description": "Specify the image format used for a shipping document.", + "example": "PDF", + "enum": [ + "PDF" + ] + }, + "customDocumentIdentifier": { + "type": "string", + "description": "Used to identify custom documents", + "example": "custom document" + } + }, + "description": "Shipping Document Format, allow ImageType of PDF and StockType of OP_900_LL or ImageType of Text and StockType of OP_900_LL_B. Other elements are optional" + }, + "ReturnShippingDocumentFormat": { + "type": "object", + "properties": { + "provideInstructions": { + "type": "boolean", + "description": "For those shipping document types which have both a \"form\" and \"instructions\" component (e.g General Agency Agreement), this field indicates whether to provide the instructions.
                  Example: true", + "example": true + }, + "optionsRequested": { + "$ref": "#/components/schemas/DocumentFormatOptionsRequested" + }, + "stockType": { + "type": "string", + "description": "Specifies the label stock type. Lists the correct type of paper for the Freight address label option.Specify valid value PAPER_LETTER", + "example": "PAPER_LETTER", + "enum": [ + "PAPER_LETTER" + ] + }, + "dispositions": { + "type": "array", + "description": "Specifies how to create, organize, and return the document\n\n", + "items": { + "$ref": "#/components/schemas/ShippingDocumentDispositionDetail" + } + }, + "locale": { + "$ref": "#/components/schemas/Locale" + }, + "docType": { + "type": "string", + "description": "Specify the image format used for a shipping document.", + "example": "PNG", + "enum": [ + "PNG", + "PDF" + ] + } + }, + "description": " Shipping Document Format, allow ImageType of PDF and StockType of OP_900_LL or ImageType of Text and StockType of OP_900_LL_B. Other elements are optional" + }, + "DangerousGoodsContainer": { + "required": [ + "packingType" + ], + "type": "object", + "properties": { + "offeror": { + "type": "string", + "description": " Indicate the offerror name or contract number.", + "example": "Offeror" + }, + "hazardousCommodities": { + "type": "array", + "description": "These are hazardous commodities content.", + "items": { + "$ref": "#/components/schemas/HazardousCommodityContent" + } + }, + "numberOfContainers": { + "type": "integer", + "description": "Indicates the number of container with identical dangerous goods configuration.\n", + "format": "int32" + }, + "containerType": { + "type": "string", + "description": "Indicate the type of this dangerous goods container, as specified by the IATA packing instructions.
                  Example: steel cylinder, fiberboard box, plastic jerrican and steel drum. etc.", + "example": "container" + }, + "emergencyContactNumber": { + "$ref": "#/components/schemas/PhoneNumber" + }, + "packaging": { + "$ref": "#/components/schemas/HazardousCommodityPackagingDetail" + }, + "packingType": { + "type": "string", + "description": "This is Hazardous Container Packing Type.", + "example": "ALL_PACKED_IN_ONE", + "enum": [ + "ALL_PACKED_IN_ONE" + ] + }, + "radioactiveContainerClass": { + "type": "string", + "description": "Indicate the packaging type of the container to pack the radioactive materials.", + "enum": [ + "EXCEPTED_PACKAGE", + "INDUSTRIAL_IP1", + "INDUSTRIAL_IP2", + "INDUSTRIAL_IP3", + "TYPE_A", + "TYPE_C", + "TYPE_B_M", + "TYPE_B_U" + ] + } + } + }, + "HazardousCommodityContent": { + "type": "object", + "properties": { + "quantity": { + "$ref": "#/components/schemas/HazardousCommodityQuantityDetail" + }, + "innerReceptacles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HazardousCommodityInnerReceptacleDetail" + } + }, + "options": { + "$ref": "#/components/schemas/HazardousCommodityOptionDetail" + }, + "description": { + "$ref": "#/components/schemas/HazardousCommodityDescription" + } + }, + "description": "Customer-provided specifications for handling individual commodities." + }, + "CustomsClearanceDetail": { + "required": [ + "commercialInvoice", + "commodities" + ], + "type": "object", + "properties": { + "regulatoryControls": { + "type": "array", + "description": "These are the regulatory controls applicable to the shipment.", + "example": "NOT_IN_FREE_CIRCULATION", + "items": { + "type": "string", + "enum": [ + "FOOD_OR_PERISHABLE", + "USMCA", + "NOT_APPLICABLE_FOR_LOW_VALUE_CUSTOMS_EXCEPTIONS", + "NOT_IN_FREE_CIRCULATION" + ] + } + }, + "brokers": { + "type": "array", + "description": "Conditional.
                  Specify Broker information only if you are using Broker Select Option for your shipment.To be considered a valid, a country code must be specified in addition to one of the following address items: postal code, city, or location id.", + "items": { + "$ref": "#/components/schemas/BrokerDetail" + } + }, + "commercialInvoice": { + "$ref": "#/components/schemas/CommercialInvoice" + }, + "freightOnValue": { + "type": "string", + "description": "Specify the risk owner for the Freight shipment.This element is only mandatory or valid for Intra India shipments. ", + "example": "OWN_RISK", + "enum": [ + "CARRIER_RISK", + "OWN_RISK" + ] + }, + "dutiesPayment": { + "$ref": "#/components/schemas/Payment_2" + }, + "commodities": { + "type": "array", + "description": "Indicates the details about the dutiable packages. Maximum upto 999 commodities per shipment", + "items": { + "$ref": "#/components/schemas/Commodity" + } + }, + "recipientCustomsId": { + "$ref": "#/components/schemas/RecipientCustomsId" + }, + "customsOption": { + "$ref": "#/components/schemas/CustomsOptionDetail" + }, + "importerOfRecord": { + "description": "The descriptive data for the importer of Record for the shipment and their physical address, contact and account number information.", + "$ref": "#/components/schemas/Party" + }, + "generatedDocumentLocale": { + "type": "string", + "description": "This is the locale for generated document.
                  Example: en_US
                  click here to see Locales
                  Note: If the locale is left blank or an invalid locale is entered, an error message is returned in response.", + "example": "US" + }, + "exportDetail": { + "$ref": "#/components/schemas/ExportDetail" + }, + "totalCustomsValue": { + "description": "This is the total customs value.", + "$ref": "#/components/schemas/Money" + }, + "partiesToTransactionAreRelated": { + "type": "boolean", + "description": "Parties To Transaction Are Related" + }, + "declarationStatementDetail": { + "$ref": "#/components/schemas/CustomsDeclarationStatementDetail" + }, + "isDocumentOnly": { + "type": "boolean", + "description": "Used to specify if a shipment is document shipment or not. Used only for International Express document shipments. Default value is false." + }, + "insuranceCharge": { + "description": "Amount paid to a third party for the purpose of insuring this shipment against damage or loss. Used to calculate estimated duties and taxes", + "$ref": "#/components/schemas/Money" + } + }, + "description": "Required for International and intra-country Shipments. Information about this package that only applies to an international (export) shipment or return." + }, + "LabelSpecification": { + "type": "object", + "properties": { + "printedLabelOrigin": { + "$ref": "#/components/schemas/ContactAndAddress" + }, + "labelFormatType": { + "type": "string", + "description": "Specifies the label Format Type", + "example": "COMMON2D", + "default": "COMMON2D", + "enum": [ + "COMMON2D", + "LABEL_DATA_ONLY" + ] + }, + "labelOrder": { + "type": "string", + "description": "This is the order of the Shipping label/documents to be generated.", + "example": "SHIPPING_LABEL_FIRST", + "enum": [ + "SHIPPING_LABEL_FIRST", + "SHIPPING_LABEL_LAST" + ] + }, + "customerSpecifiedDetail": { + "$ref": "#/components/schemas/CustomerSpecifiedLabelDetail" + }, + "labelStockType": { + "type": "string", + "description": "Indicates the Label Stock Type used.", + "example": "PAPER_7X475", + "default": "PAPER_85X11_TOP_HALF_LABEL", + "enum": [ + "PAPER_4X6", + "PAPER_4X675", + "PAPER_4X8", + "PAPER_4X9", + "PAPER_7X475", + "PAPER_85X11_BOTTOM_HALF_LABEL", + "PAPER_85X11_TOP_HALF_LABEL", + "PAPER_LETTER", + "STOCK_4X675_LEADING_DOC_TAB", + "STOCK_4X8", + "STOCK_4X9_LEADING_DOC_TAB", + "STOCK_4X6", + "STOCK_4X675_TRAILING_DOC_TAB", + "STOCK_4X9_TRAILING_DOC_TAB", + "STOCK_4X675", + "STOCK_4X9", + "STOCK_4X85_TRAILING_DOC_TAB", + "STOCK_4X105_TRAILING_DOC_TAB" + ] + }, + "labelRotation": { + "type": "string", + "description": "Applicable only to documents produced on thermal printers with roll stock.", + "example": "UPSIDE_DOWN", + "enum": [ + "LEFT", + "RIGHT", + "UPSIDE_DOWN", + "NONE" + ] + }, + "imageType": { + "type": "string", + "description": "Specify the image format used for a shipping document.", + "example": "PDF", + "default": "PDF", + "enum": [ + "ZPLII", + "EPL2", + "PDF", + "PNG" + ] + }, + "labelPrintingOrientation": { + "type": "string", + "description": "Applicable only to documents produced on thermal printers with roll stock.", + "example": "TOP_EDGE_OF_TEXT_FIRST", + "default": "TOP_EDGE_OF_TEXT_FIRST", + "enum": [ + "BOTTOM_EDGE_OF_TEXT_FIRST", + "TOP_EDGE_OF_TEXT_FIRST" + ] + }, + "returnedDispositionDetail": { + "$ref": "#/components/schemas/LabelSpecification_returnedDispositionDetail" + }, + "resolution": { + "type": "integer", + "description": "Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203.", + "example": 300 + } + }, + "description": "These are label specification details includes the image type, printer format, and label stock for label. Can also specify specific details such as doc-tab content, regulatory labels, and masking data on the label." + }, + "GeneralAgencyAgreementDetail": { + "type": "object", + "properties": { + "documentFormat": { + "$ref": "#/components/schemas/ShippingDocumentFormat" + } + }, + "description": "Use this object to specify details to generate general agency agreement detail." + }, + "ReturnInstructionsDetail": { + "type": "object", + "properties": { + "customText": { + "type": "string", + "description": "Specify additional customer provided text to be inserted into the return document.
                  Example: This is additional text printed on Return instr", + "example": "This is additional text printed on Return instr" + }, + "documentFormat": { + "$ref": "#/components/schemas/ReturnShippingDocumentFormat" + } + }, + "description": "Specifies the production of the return document (document characteristics and printing). This information will print on the Return Instructions returned in the transaction for the Printed Return Label." + }, + "CertificateOfOriginDetail": { + "type": "object", + "properties": { + "customerImageUsages": { + "type": "array", + "description": "Specifies the usage and identification of customer supplied images to be used on this document.", + "items": { + "$ref": "#/components/schemas/CustomerImageUsage" + } + }, + "documentFormat": { + "$ref": "#/components/schemas/ShippingDocumentFormat" + } + }, + "description": "The instructions indicating how to print the Certificate of Origin ( e.g. whether or not to include the instructions, image type, etc ...)" + }, + "CommercialInvoiceDetail": { + "type": "object", + "properties": { + "customerImageUsages": { + "type": "array", + "description": "Specifies the usage and identification of customer supplied images to be used on this document.", + "items": { + "$ref": "#/components/schemas/CustomerImageUsage" + } + }, + "documentFormat": { + "$ref": "#/components/schemas/ShippingDocumentFormat" + } + }, + "description": "The instructions indicating how to print the Commercial Invoice( e.g. image type) Specifies characteristics of a shipping document to be produced." + }, + "UsmcaCertificationOfOriginDetail": { + "type": "object", + "properties": { + "customerImageUsages": { + "type": "array", + "description": "Specifies the usage and identification of customer supplied images to be used on this document.", + "items": { + "$ref": "#/components/schemas/CustomerImageUsage" + } + }, + "documentFormat": { + "$ref": "#/components/schemas/ShippingDocumentFormat" + }, + "blanketPeriod": { + "$ref": "#/components/schemas/BlanketPeriod" + }, + "certifierSpecification": { + "type": "string", + "description": "Specify the certifier specification type.", + "enum": [ + "EXPORTER", + "IMPORTER", + "PRODUCER" + ] + }, + "importerSpecification": { + "type": "string", + "description": "Specify the importer specification type.", + "enum": [ + "UNKNOWN", + "VARIOUS" + ] + }, + "producerSpecification": { + "type": "string", + "description": "Specify the producer specification type.", + "enum": [ + "AVAILABLE_UPON_REQUEST", + "SAME_AS_EXPORTER", + "VARIOUS" + ] + }, + "producer": { + "description": "Descriptive data identifying the party responsible.", + "$ref": "#/components/schemas/ProducerParty" + }, + "certifierJobTitle": { + "type": "string", + "description": "Specify the job title of the certifier.", + "example": "Senior Manager" + } + }, + "description": "The instructions indicating how to print the USMCA Certification of Origin ( e.g. whether or not to include the instructions, image type, etc ...)" + }, + "UsmcaCommercialInvoiceCertificationOfOriginDetail": { + "type": "object", + "properties": { + "customerImageUsages": { + "type": "array", + "description": "Specifies the usage and identification of customer supplied images to be used on this document.", + "items": { + "$ref": "#/components/schemas/CustomerImageUsage" + } + }, + "documentFormat": { + "$ref": "#/components/schemas/ShippingDocumentFormat" + }, + "certifierSpecification": { + "type": "string", + "description": "Specify the certifier specification type.", + "enum": [ + "EXPORTER", + "IMPORTER", + "PRODUCER" + ] + }, + "producerSpecification": { + "type": "string", + "description": "Specify the producer specification type.", + "enum": [ + "AVAILABLE_UPON_REQUEST", + "SAME_AS_EXPORTER", + "VARIOUS" + ] + }, + "producer": { + "description": "Descriptive data identifying the party responsible.", + "$ref": "#/components/schemas/ProducerParty" + }, + "certifierJobTitle": { + "type": "string", + "description": "Specify the job title of the certifier.", + "example": "Senior Manager" + } + }, + "description": "The instructions indicating commercial invoice certification of origin." + }, + "DangerousGoodsShippersDeclarationDetail": { + "type": "object", + "properties": { + "documentFormat": { + "$ref": "#/components/schemas/ShippingDocumentFormat" + }, + "customerImageUsages": { + "type": "array", + "description": "Specifies the usage and identification of customer supplied imagesto be used on this document.", + "items": { + "$ref": "#/components/schemas/CustomerImageUsage" + } + } + } + }, + "DangerousGoodsDetail": { + "type": "object", + "properties": { + "regulation": { + "type": "string", + "description": "The hazardous package shipment regulation type", + "example": "DOT", + "enum": [ + "ADR", + "DOT", + "IATA", + "ORMD" + ] + }, + "accessibility": { + "type": "string", + "description": "Dangerous Goods Accessibility Type. Inaccessible means it does not have to be accessable on the aircraft. Accessible means it must be fully accessible on the aircraft, and is more strictly controlled.", + "example": "INACCESSIBLE", + "enum": [ + "ACCESSIBLE", + "INACCESSIBLE" + ] + }, + "options": { + "type": "array", + "description": "Indicate type of DG being reported.
                  - SMALL_QUANTITY_EXCEPTION : It is applicable for only One Piece shipment.", + "example": [ + "LIMITED_QUANTITIES_COMMODITIES", + "ORM_D" + ], + "items": { + "type": "string", + "xml": { + "name": "options" + }, + "enum": [ + "HAZARDOUS_MATERIALS", + "BATTERY", + "ORM_D", + "REPORTABLE_QUANTITIES", + "SMALL_QUANTITY_EXCEPTION", + "LIMITED_QUANTITIES_COMMODITIES" + ] + } + }, + "cargoAircraftOnly": { + "type": "boolean", + "description": "cargoAircraftOnly is an optional field in the request which accepts Boolean values in order to create Cargo Aircraft only shipment. its default value is set as False", + "example": false + }, + "dangerousGoodsDescriptors": { + "type": "array", + "description": "Description of the dangerous good in the package", + "example": "EMERGENCY_CONTACT_PHONE_REQUIRED", + "items": { + "type": "string", + "enum": [ + "ALCOHOLIC_BEVERAGE", + "DRY_ICE", + "EMERGENCY_CONTACT_PHONE_REQUIRED", + "EXCEPTED_QUANTITIES", + "INFECTIOUS_SUBSTANCE", + "RADIOACTIVE" + ] + } + }, + "packingOption": { + "type": "string", + "description": "The packing option for the dangerous goods package", + "example": "OVERPACK", + "enum": [ + "OVERPACK" + ] + }, + "referenceId": { + "type": "string", + "description": "A unique reference id that matches the package to a package configuration. This is populated if the client provided a package configuration for several packages that have the exact same dangerous goods content.", + "example": "2" + }, + "containers": { + "type": "array", + "description": "This specifies the commodities in the container. A container may also be known as a dangerous goods package, but this is not necessarily the same as the 'package' or handling unit that a courier transports for shipping. If the handling unit is an OVERPACK, then this container is inside the handling unit.", + "items": { + "$ref": "#/components/schemas/DangerousGoodsContainer" + } + }, + "packaging": { + "$ref": "#/components/schemas/DangerousGoodsDetail_packaging" + }, + "signatory": { + "$ref": "#/components/schemas/DangerousGoodsDetail_signatory" + }, + "emergencyContactNumber": { + "type": "string", + "description": "Phone number for a responsible party that can be contacted in case of an emergency situation with the dangerous goods", + "example": "12281234567" + }, + "offeror": { + "type": "string", + "description": "Specifies the name of the offeror.", + "example": "John Doe" + }, + "infectiousSubstanceResponsibleContact": { + "$ref": "#/components/schemas/DangerousGoodsDetail_infectiousSubstanceResponsibleContact" + }, + "additionalHandling": { + "type": "string", + "description": "Specifies the additional handling instructions.", + "example": "Keep all hazardous materials stored properly." + }, + "radioactivityDetail": { + "$ref": "#/components/schemas/DangerousGoodsDetail_radioactivityDetail" + }, + "regulatoryLineItems": { + "type": "array", + "description": "Describes the regulatory data elements required to move the package.", + "items": { + "$ref": "#/components/schemas/DocumentLineItem_1" + } + } + }, + "description": "Provides the details on the dangerous goods" + }, + "PackageSpecialServicesRequested": { + "type": "object", + "properties": { + "specialServiceTypes": { + "type": "array", + "description": "The list of all special services requested for the package.
                  Click here to see Package level Special Service Types", + "example": [ + "ALCOHOL", + "NON_STANDARD_CONTAINER", + "DANGEROUS_GOODS", + "SIGNATURE_OPTION", + "PRIORITY_ALERT" + ], + "items": { + "type": "string" + } + }, + "priorityAlertDetail": { + "$ref": "#/components/schemas/PriorityAlertDetail" + }, + "signatureOptionType": { + "type": "string", + "description": "Signature Option Type
                  ADULT - Adult signature required, at recipient's address.
                  DIRECT - Signature required, at recipient's address.
                  INDIRECT - Signature required, alternate address is accepted.
                  NO_SIGNATURE_REQUIRED - Signature is not required.
                  SERVICE_DEFAULT - Signature handled as per current Service Guide.", + "example": "ADULT", + "enum": [ + "SERVICE_DEFAULT", + "NO_SIGNATURE_REQUIRED", + "INDIRECT", + "DIRECT", + "ADULT" + ] + }, + "signatureOptionDetail": { + "$ref": "#/components/schemas/SignatureOptionDetail" + }, + "alcoholDetail": { + "$ref": "#/components/schemas/AlcoholDetail" + }, + "dangerousGoodsDetail": { + "$ref": "#/components/schemas/DangerousGoodsDetail" + }, + "packageCODDetail": { + "$ref": "#/components/schemas/PackageCODDetail" + }, + "pieceCountVerificationBoxCount": { + "type": "integer", + "description": "Piece Count Verification Box Count", + "format": "int32" + }, + "batteryDetails": { + "type": "array", + "description": "Provides details about the batteries or cells that are contained within this specific package.", + "items": { + "$ref": "#/components/schemas/BatteryDetail" + } + }, + "dryIceWeight": { + "$ref": "#/components/schemas/Weight" + }, + "standaloneBatteryDetails": { + "type": "array", + "description": "Provide details about the batteries or cells that are contained within this specific package.", + "items": { + "$ref": "#/components/schemas/StandaloneBatteryDetails" + } + } + }, + "description": "specifies the Package Special Services Requested" + }, + "RequestedPackageLineItem": { + "required": [ + "weight" + ], + "type": "object", + "properties": { + "sequenceNumber": { + "type": "integer", + "description": "Optional. Used only with individual packages as a unique identifier of each requested package. Will be adjusted at the shipment level as pieces are added. ", + "example": 1 + }, + "subPackagingType": { + "type": "string", + "description": "This is a sub package type for the package. If the value is TUBE, a non-machinable surcharge will apply to SmartPost shipments
                  Click here to see Sub Package Types", + "example": "BUCKET" + }, + "customerReferences": { + "type": "array", + "description": "This object lists the types of customer references associsted with the package along with the given values.", + "items": { + "$ref": "#/components/schemas/CustomerReference" + } + }, + "declaredValue": { + "$ref": "#/components/schemas/Money" + }, + "weight": { + "$ref": "#/components/schemas/Weight" + }, + "dimensions": { + "description": "Conditionally required. The dimensions of the package; length, width & height. All three dimensions must be indicated. Dimensions are required with all FedEx Freight Services like \"INTERNATIONAL_PRIORITY_FREIGHT\" and \"INTERNATIONAL_ECONOMY_FREIGHT\"", + "$ref": "#/components/schemas/Dimensions" + }, + "groupPackageCount": { + "type": "integer", + "description": "This is a package count associated with Group packages This count cannot exceed Open Ship package count.
                  Example: 25", + "format": "int32", + "example": 25 + }, + "itemDescriptionForClearance": { + "type": "string", + "description": "Package description used for clearance. The value is required for intra-UAE. and is optional for intra-EU.", + "example": "description" + }, + "contentRecord": { + "type": "array", + "description": "Specifies the contents of the package.", + "items": { + "$ref": "#/components/schemas/ContentRecord" + } + }, + "itemDescription": { + "type": "string", + "description": "Required for Email Label return shipments.
                  This is the item description for the package.
                  Example: item description for the package", + "example": "item description for the package" + }, + "variableHandlingChargeDetail": { + "$ref": "#/components/schemas/VariableHandlingChargeDetail" + }, + "packageSpecialServices": { + "$ref": "#/components/schemas/PackageSpecialServicesRequested" + } + } + }, + "ErrorResponseVO": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
                  Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CXSError" + } + } + } + }, + "ErrorResponseVO_2": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
                  Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "customerTransactionId": { + "type": "string", + "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
                  Example: AnyCo_order123456789", + "example": "AnyCo_order123456789" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CXSError" + } + } + } + }, + "ErrorResponseVO_3": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
                  Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CXSError_2" + } + } + } + }, + "ErrorResponseVO_4": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
                  Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CXSError_3" + } + } + } + }, + "ErrorResponseVO_5": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
                  Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CXSError_4" + } + } + } + }, + "ErrorResponseVO_6": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "The transaction ID is a special set of numbers that defines each transaction.
                  Example: 624deea6-b709-470c-8c39-4b5511281492", + "example": "624deea6-b709-470c-8c39-4b5511281492" + }, + "customerTransactionId": { + "type": "string", + "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
                  Example: AnyCo_order123456789", + "example": "AnyCo_order123456789" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CXSError_5" + } + } + } + }, + "CXSError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.", + "example": "SERVICE.UNAVAILABLE.ERROR" + }, + "parameterList": { + "type": "array", + "description": "Specifies list of parameters.", + "items": { + "$ref": "#/components/schemas/Parameter" + } + }, + "message": { + "description": "Indicates the description of API error alert message.", + "example": "The service is currently unavailable and we are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time.", + "type": "string" + } + }, + "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" + }, + "CXSError_2": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "It is the unique identifier for the transaction.", + "format": "uuid", + "example": "0e671149-016f-1000-941f-ef4dbabadd2e" + }, + "customerTransactionId": { + "type": "string", + "description": "It is the same customerTransactionId sent as part of the request's header,by the clients calling this endpoint.", + "format": "uuid", + "example": "0e671149-016f-1000-941f-ef4dbabadd2e" + }, + "errors": { + "$ref": "#/components/schemas/CXSError401_errors" + } + }, + "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" + }, + "CXSError_3": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "It is the unique identifier for the transaction.", + "format": "uuid", + "example": "0e671149-016f-1000-941f-ef4dbabadd2e" + }, + "customerTransactionId": { + "type": "string", + "description": "It is the same customerTransactionId sent as part of the request's header,by the clients calling this endpoint.", + "format": "uuid", + "example": "0e671149-016f-1000-941f-ef4dbabadd2e" + }, + "errors": { + "$ref": "#/components/schemas/CXSError403_errors" + } + }, + "description": "Indicates error when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" + }, + "CXSError_4": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "It is the unique identifier for the transaction.", + "format": "uuid", + "example": "0e671149-016f-1000-941f-ef4dbabadd2e" + }, + "customerTransactionId": { + "type": "string", + "description": "It is the same customerTransactionId sent as part of the request's header,by the clients calling this endpoint.", + "format": "uuid", + "example": "0e671149-016f-1000-941f-ef4dbabadd2e" + }, + "errors": { + "$ref": "#/components/schemas/CXSError404_errors" + } + }, + "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" + }, + "CXSError_5": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "It is the unique identifier for the transaction.", + "format": "uuid", + "example": "0e671149-016f-1000-941f-ef4dbabadd2e" + }, + "customerTransactionId": { + "type": "string", + "description": "It is the same customerTransactionId sent as part of the request's header,by the clients calling this endpoint.", + "format": "uuid", + "example": "0e671149-016f-1000-941f-ef4dbabadd2e" + }, + "errors": { + "$ref": "#/components/schemas/CXSError500_errors" + } + }, + "description": "Indicates exception when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter" + }, + "Contact": { + "type": "object", + "properties": { + "personName": { + "type": "string", + "description": "Identifies the contact person's name.
                  Note: Recommended Length is 70. There's no specific validation for the person name.
                  Example: John Taylor", + "example": "John Taylor" + }, + "emailAddress": { + "type": "string", + "description": "Specify contact email address. Maximum length is 80.
                  Example: sample@company.com", + "example": "sample@company.com" + }, + "phoneNumber": { + "type": "string", + "description": "Contact person's phone number.
                  Minimum length is 10 and supports maximum of 15 for certain countries using longer phone numbers.
                  Note: For US and CA, a phone number must have exactly 10 digits, plus an optional leading country code of '1' or '+1'.
                  Example: 918xxxxx890", + "example": "918xxxxx890" + }, + "phoneExtension": { + "type": "string", + "description": "Specify contact phone extension.
                  Note: Recommended length is 6. There's no specific validation for the phone extension.
                  Example: 1234", + "example": "91" + }, + "faxNumber": { + "type": "string", + "description": "Specify contact fax number.
                  Note: Recommended length is 15. There's no specific validation for the fax number.
                  Example: 1234567890", + "example": "956123" + }, + "companyName": { + "type": "string", + "description": "Specify contact company name.
                  Recommended length is 35.
                  Note: There's no specific validation for the company name.", + "example": "Fedex" + } + }, + "description": "Indicate the contact details of the shipper..", + "example": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "parsedPersonName": { + "firstName": "firstName", + "lastName": "lastName", + "middleName": "middleName", + "suffix": "suffix" + }, + "phoneNumber": "1234567890", + "phoneExtension": 1234, + "faxNumber": "1234567890", + "companyName": "Fedex" + } + }, + "Contact_2": { + "type": "object", + "properties": { + "personName": { + "type": "string", + "description": "Specify Person Name.
                  Example: John Taylor" + }, + "tollFreePhoneNumber": { + "type": "string", + "description": "Specify Toll Free PhoneNumber.
                  Example: 6127812" + }, + "emailAddress": { + "type": "string", + "description": "Specify EmailAddress.
                  Example: sample@company.com" + }, + "phoneNumber": { + "type": "string", + "description": "The shippers phone number.
                  Minimum length is 10 and supports maximum of 15 for certain countries using longer phone numbers.
                  Note: For US and CA, a phone number must have exactly 10 digits, plus an optional leading country code of \"1\" or \"+1\".
                  Example: 918xxxxx890" + }, + "phoneExtension": { + "type": "string", + "description": "Specify Phone Extension.
                  Example: 91" + }, + "companyName": { + "type": "string", + "description": "Specify Company Name.
                  Example: Fedex" + }, + "pagerNumber": { + "type": "string", + "description": "Specify Pager Number.
                  Example: 6127812" + }, + "faxNumber": { + "type": "string", + "description": "Specify Fax Number.
                  Example: 1234567890" + }, + "title": { + "type": "string", + "description": "Specify the Title of the Contact.
                  Example: title" + } + }, + "description": "Specify the Contact information.", + "example": { + "33": "1234567890", + "personName": "John Taylor", + "tollFreePhoneNumber": "6127812", + "emailAddress": "sample@company.com", + "phoneExtension": "91", + "faxNumber": "1234567890", + "pagerNumber": "6127812", + "companyName": "Fedex", + "title": "title" + } + }, + "Payment": { + "required": [ + "paymentType" + ], + "type": "object", + "properties": { + "paymentType": { + "type": "string", + "description": "Specifies the payment Type.
                  Note: This is required for Express, Ground and SmartPost shipments.
                  The payment type COLLECT is applicable only for Ground shipments.", + "enum": [ + "SENDER", + "RECIPIENT", + "THIRD_PARTY", + "COLLECT" + ] + }, + "payor": { + "$ref": "#/components/schemas/Payor" + } + }, + "description": "Specifies the payment details specifying the method and means of payment to FedEx for providing shipping services.", + "example": { + "paymentType": "SENDER", + "payor": { + "responsibleParty": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneNumber": "1234567890", + "phoneExtension": "phone extension", + "companyName": "Fedex", + "faxNumber": "fax number" + }, + "accountNumber": { + "value": "801472842" + } + } + } + } + }, + "Payment_2": { + "type": "object", + "properties": { + "payor": { + "$ref": "#/components/schemas/Payor_2" + }, + "billingDetails": { + "$ref": "#/components/schemas/BillingDetails" + }, + "paymentType": { + "type": "string", + "description": "Indicates who and how the shipment will be paid for.\nRequired for Express and Ground.", + "enum": [ + "SENDER", + "RECIPIENT", + "THIRD_PARTY", + "BILL_ANONYMOUSLY", + "COLLECT", + "CASH", + "ACCOUNT", + "CONSIGNEE" + ] + } + }, + "description": "This is a payment type, basically indicates who is the payor for the shipment.Conditional required for International Shipments.", + "example": { + "payor": { + "responsibleParty": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "38127", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneNumber": "1234567890", + "phoneExtension": "phone extension", + "companyName": "Fedex", + "faxNumber": "fax number", + "stateTaxId": "state tax identifier", + "fedralTaxId": "federal tax identifier" + }, + "accountNumber": { + "value": 123456789 + }, + "tins": [ + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + }, + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ], + "deliveryInstructions": "deliveryInstructions" + } + }, + "billingDetails": { + "billingCode": "billingCode", + "billingType": "billingType", + "aliasId": "aliasId", + "accountNickname": "accountNickname", + "accountNumber": 123456789, + "accountNumberCountryCode": "US" + }, + "paymentType": "SENDER" + } + }, + "Payor": { + "type": "object", + "properties": { + "responsibleParty": { + "$ref": "#/components/schemas/ResponsiblePartyParty" + } + }, + "description": "Information about the person who is paying for the shipment.
                  Payor is mandatory when the paymentType is RECIPIENT, THIRD_PARTY or COLLECT.", + "example": { + "responsibleParty": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "parsedPersonName": { + "firstName": "John", + "lastName": "Redmond", + "middleName": "Taylor", + "suffix": "Jr" + }, + "phoneNumber": "1234567890", + "phoneExtension": "phone extension", + "companyName": "Fedex", + "faxNumber": "fax number", + "stateTaxId": "state tax identifier", + "fedralTaxId": "11-N-1745" + }, + "accountNumber": { + "value": "801472842" + } + } + } + }, + "Payor_2": { + "type": "object", + "properties": { + "responsibleParty": { + "$ref": "#/components/schemas/Party_2" + } + }, + "description": "Information about the person who is paying for the shipment. Not applicable for credit card payment. ", + "example": { + "responsibleParty": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "38127", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "parsedPersonName": { + "firstName": "first name", + "lastName": "last name", + "middleName": "middle name", + "suffix": "suffix" + }, + "phoneNumber": "1234567890", + "phoneExtension": "phone extension", + "companyName": "Fedex", + "faxNumber": "fax number" + }, + "accountNumber": { + "value": 123456789 + }, + "tins": [ + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + }, + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ], + "deliveryInstructions": "deliveryInstructions" + } + } + }, + "ShipmentDryIceDetail": { + "type": "object", + "properties": { + "totalWeight": { + "$ref": "#/components/schemas/Weight" + }, + "packageCount": { + "type": "integer", + "description": "Indicates the total number of packages in the shipment that contain dry ice.
                  Example: 12", + "format": "int32", + "example": 12 + } + }, + "description": "This is the descriptive data required for a FedEx shipment containing dangerous materials. This element is required when SpecialServiceType DRY_ICE is selected.

                  Note:

                  • Dry Ice is a Package level Special Service for Domestic and International shipments.
                  • Dry Ice must be declared at both Shipment and Package level for International MPS shipments to print the compliance statement on Airway Bill labels.

                  " + }, + "ShipmentDryIceDetail_2": { + "required": [ + "packageCount", + "totalWeight" + ], + "type": "object", + "properties": { + "totalWeight": { + "description": "Specifies the Dry Ice Total Weight for the shipment", + "$ref": "#/components/schemas/Weight" + }, + "packageCount": { + "type": "integer", + "description": "specifies the package Count for the shipment
                  Example: 10", + "format": "int32", + "example": 10 + }, + "processingOptions": { + "$ref": "#/components/schemas/ShipmentDryIceProcessingOptionsRequested" + } + }, + "description": "Shipment-level totals of dry ice data across all packages." + }, + "Party": { + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/PartyAddress" + }, + "contact": { + "$ref": "#/components/schemas/PartyContact" + }, + "accountNumber": { + "$ref": "#/components/schemas/PartyAccountNumber" + }, + "tins": { + "type": "array", + "description": "Used for adding the tax id", + "items": { + "$ref": "#/components/schemas/TaxpayerIdentification" + } + }, + "deliveryInstructions": { + "type": "string", + "description": "Specify the delivery instructions to be added with the shipment. Use with Ground Home Delivery.
                  Example: Delivery Instructions", + "example": "Delivery Instruction 1" + } + }, + "description": "", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "90210", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "000", + "phoneNumber": "9612345671", + "companyName": "Fedex" + }, + "accountNumber": { + "value": "801472842" + }, + "tins": [ + { + "number": "123567", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ] + } + }, + "Party_2": { + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/Address" + }, + "contact": { + "$ref": "#/components/schemas/Contact" + }, + "accountNumber": { + "$ref": "#/components/schemas/PartyAccountNumber" + }, + "tins": { + "type": "array", + "description": "Optional\nUsed for adding the tax id", + "items": { + "$ref": "#/components/schemas/TaxpayerIdentification" + } + }, + "deliveryInstructions": { + "type": "string", + "description": "Specify the delivery instructions to be added with the shipment. Use with Ground Home Delivery.
                  Example: Delivery Instructions", + "example": "Instruction 1" + } + }, + "description": "attributes for a Party to a transaction including the physical address, contact information and account number information. ", + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" + ], + "city": "Beverly Hills", + "stateOrProvinceCode": "CA", + "postalCode": "38127", + "countryCode": "US", + "residential": false + }, + "contact": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "parsedPersonName": { + "firstName": "first name", + "lastName": "last name", + "middleName": "middle name", + "suffix": "suffix" + }, + "phoneNumber": "1234567890", + "phoneExtension": "phone extension", + "companyName": "Fedex", + "faxNumber": "fax number", + "stateTaxId": "state tax identifier", + "fedralTaxId": "federal tax identifer" + }, + "accountNumber": { + "value": 123456789 + }, + "tins": [ + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + }, + { + "number": "number", + "tinType": "FEDERAL", + "usage": "usage", + "effectiveDate": "2000-01-23T04:56:07.000+00:00", + "expirationDate": "2000-01-23T04:56:07.000+00:00" + } + ], + "deliveryInstructions": "deliveryInstructions" + } + }, + "ShippingDocumentSpecification": { + "type": "object", + "properties": { + "generalAgencyAgreementDetail": { + "$ref": "#/components/schemas/GeneralAgencyAgreementDetail" + }, + "returnInstructionsDetail": { + "$ref": "#/components/schemas/ReturnInstructionsDetail" + }, + "op900Detail": { + "$ref": "#/components/schemas/Op900Detail" + }, + "shippingDocumentTypes": { + "type": "array", + "description": "Conditionally required in order to obtain shipping documents. \n\nIndicates the types of shipping documents requested by the shipper\n\n", + "items": { + "type": "string", + "example": "[\"RETURN_INSTRUCTIONS\",\"DANGEROUS_GOODS_SHIPPERS_DECLARATION\"]", + "enum": [ + "CERTIFICATE_OF_ORIGIN", + "COMMERCIAL_INVOICE", + "CUSTOM_PACKAGE_DOCUMENT", + "CUSTOM_SHIPMENT_DOCUMENT", + "CUSTOMER_SPECIFIED_LABELS", + "EXPORT_DECLARATION", + "DANGEROUS_GOODS_SHIPPERS_DECLARATION", + "FREIGHT_ADDRESS_LABEL", + "GENERAL_AGENCY_AGREEMENT", + "LABEL", + "USMCA_CERTIFICATION_OF_ORIGIN", + "USMCA_COMMERCIAL_INVOICE_CERTIFICATION_OF_ORIGIN", + "OP_900", + "PENDING_SHIPMENT_EMAIL_NOTIFICATION", + "PRO_FORMA_INVOICE", + "RETURN_INSTRUCTIONS", + "FEDEX_FREIGHT_STRAIGHT_BILL_OF_LADING", + "VICS_BILL_OF_LADING" + ] + } + }, + "certificateOfOrigin": { + "$ref": "#/components/schemas/CertificateOfOriginDetail" + }, + "commercialInvoiceDetail": { + "$ref": "#/components/schemas/CommercialInvoiceDetail" + }, + "usmcaCertificationOfOriginDetail": { + "$ref": "#/components/schemas/UsmcaCertificationOfOriginDetail" + }, + "usmcaCommercialInvoiceCertificationOfOriginDetail": { + "$ref": "#/components/schemas/UsmcaCommercialInvoiceCertificationOfOriginDetail" + }, + "dangerousGoodsShippersDeclarationDetail": { + "$ref": "#/components/schemas/DangerousGoodsShippersDeclarationDetail" + } + }, + "description": "This field contains all data required for additional (non-label) shipping documents to be produced with a specific shipment." + }, + "ShippingDocumentSpecification_2": { + "type": "object", + "properties": { + "generalAgencyAgreementDetail": { + "$ref": "#/components/schemas/GeneralAgencyAgreementDetail" + }, + "returnInstructionsDetail": { + "$ref": "#/components/schemas/ReturnInstructionsDetail" + }, + "op900Detail": { + "$ref": "#/components/schemas/Detail" + }, + "shippingDocumentTypes": { + "type": "array", + "description": "Conditionally required in order to obtain shipping documents. \n\nIndicates the types of shipping documents requested by the shipper\n\n", + "items": { + "type": "string", + "example": "[\"RETURN_INSTRUCTIONS\",\"DANGEROUS_GOODS_SHIPPERS_DECLARATION\"]", + "enum": [ + "CERTIFICATE_OF_ORIGIN", + "COMMERCIAL_INVOICE", + "CUSTOM_PACKAGE_DOCUMENT", + "CUSTOM_SHIPMENT_DOCUMENT", + "CUSTOMER_SPECIFIED_LABELS", + "EXPORT_DECLARATION", + "DANGEROUS_GOODS_SHIPPERS_DECLARATION", + "FREIGHT_ADDRESS_LABEL", + "GENERAL_AGENCY_AGREEMENT", + "LABEL", + "USMCA_CERTIFICATION_OF_ORIGIN", + "USMCA_COMMERCIAL_INVOICE_CERTIFICATION_OF_ORIGIN", + "OP_900", + "PENDING_SHIPMENT_EMAIL_NOTIFICATION", + "PRO_FORMA_INVOICE", + "RETURN_INSTRUCTIONS", + "FEDEX_FREIGHT_STRAIGHT_BILL_OF_LADING", + "VICS_BILL_OF_LADING" + ] + } + }, + "certificateOfOrigin": { + "$ref": "#/components/schemas/CertificateOfOriginDetail" + }, + "commercialInvoiceDetail": { + "$ref": "#/components/schemas/CommercialInvoiceDetail" + }, + "usmcaCertificationOfOriginDetail": { + "$ref": "#/components/schemas/UsmcaCertificationOfOriginDetail" + }, + "usmcaCommercialInvoiceCertificationOfOriginDetail": { + "$ref": "#/components/schemas/UsmcaCommercialInvoiceCertificationOfOriginDetail" + }, + "dangerousGoodsShippersDeclarationDetail": { + "$ref": "#/components/schemas/DangerousGoodsShippersDeclarationDetail" + } + }, + "description": "This field contains all data required for additional (non-label) shipping documents to be produced with a specific shipment." + } + } + }, + "openapi": "3.0.0", + "info": { + "title": "Ship DG Hazmat API", + "description": "The resource for Ship DG Hazmat APIs", + "version": "1.0.0" + } +} \ No newline at end of file diff --git a/src/Api/ShipDGHazmatV1/Api.php b/src/Api/ShipDGHazmatV1/Api.php new file mode 100644 index 00000000..42eebe26 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Api.php @@ -0,0 +1,47 @@ +connector->send(new DgHazShipment($fullSchemaShipShipment)); + } + + /** + * @param FullSchemaCancelShipment $fullSchemaCancelShipment The request elements required to cancel a shipment. + */ + public function cancelShipment(FullSchemaCancelShipment $fullSchemaCancelShipment): Response + { + return $this->connector->send(new CancelShipment($fullSchemaCancelShipment)); + } + + /** + * @param FullSchemaVerifyShipment $fullSchemaVerifyShipment The request elements required to create a shipment. + */ + public function shipmentPackageValidate(FullSchemaVerifyShipment $fullSchemaVerifyShipment): Response + { + return $this->connector->send(new ShipmentPackageValidate($fullSchemaVerifyShipment)); + } +} diff --git a/src/Api/ShipDGHazmatV1/Dto/AdditionalLabelsDetail.php b/src/Api/ShipDGHazmatV1/Dto/AdditionalLabelsDetail.php new file mode 100644 index 00000000..007e5493 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/AdditionalLabelsDetail.php @@ -0,0 +1,25 @@ +Note: At least one line is required and streetlines more than 3 will be ignored. Empty lines should not be included.
                  Example: [10 FedEx Parkway, Suite 302] + * @param string $countryCode This is the Two-letter country code.
                  Example: US
                  Click here to see Country Codes + * @param ?string $city This is a placeholder for City Name.
                  Note: This is conditional and not required in all the shipping requests. It is recommended for Express shipments for the most accurate ODA and OPA surcharges and not used for Ground/SmartPost.
                  Example: Beverly Hills + * @param ?string $stateOrProvinceCode This is a placeholder for State or Province code.
                  Note: This is conditional and not required in all the shipping requests. It is recommended for Express shipments for the most accurate ODA and OPA surcharges and not used for Ground/SmartPost.
                  Example: CA + * @param ?string $postalCode This is placeholder for postal code.
                  Note: The postal code is required for postal-aware countries.
                  Example: 38127 + * @param ?bool $residential Indicate whether this address is Residential as opposed to Commercial.
                  Valid Values: True or False. + */ + public function __construct( + public array $streetLines, + public string $countryCode, + public ?string $city = null, + public ?string $stateOrProvinceCode = null, + public ?string $postalCode = null, + public ?bool $residential = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/AdrLicenseDetail.php b/src/Api/ShipDGHazmatV1/Dto/AdrLicenseDetail.php new file mode 100644 index 00000000..3ca66ce9 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/AdrLicenseDetail.php @@ -0,0 +1,23 @@ + Example: LICENSEE + * @param ?string $shipperAgreementType Specifies what type of entity the shipper of the alcohol shipment is registered as, for example, fulfillment house, retailer or a winery
                  Example: Retailer + */ + public function __construct( + public ?string $alcoholRecipientType = null, + public ?string $shipperAgreementType = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/Alert.php b/src/Api/ShipDGHazmatV1/Dto/Alert.php new file mode 100644 index 00000000..d6e69d42 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/Alert.php @@ -0,0 +1,27 @@ +Example: SHIP.RECIPIENT.POSTALCITY.MISMATCH + * @param ?string $alertType Specifies the api alert type. + * @param ?string $message Specifies the api alert message.
                  Example: Recipient Postal-City Mismatch. + */ + public function __construct( + public ?string $code = null, + public ?string $alertType = null, + public ?string $message = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/Alert3p.php b/src/Api/ShipDGHazmatV1/Dto/Alert3p.php new file mode 100644 index 00000000..c279d1cf --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/Alert3p.php @@ -0,0 +1,27 @@ +Example: SHIPMENT.VALIDATION.SUCCESS + * @param ?string $alertType Specifies the api alert type. + * @param ?string $message Specifies the api alert message.
                  Example: Shipment validated successfully. No errors found. + */ + public function __construct( + public ?string $code = null, + public ?string $alertType = null, + public ?string $message = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/BaseProcessOutputVo.php b/src/Api/ShipDGHazmatV1/Dto/BaseProcessOutputVo.php new file mode 100644 index 00000000..dd9875ee --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/BaseProcessOutputVo.php @@ -0,0 +1,37 @@ + TransactionShipmentOutputVo::class, + 'alerts' => Alert::class, + ]; + + /** + * @param ?string $customerTransactionId This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
                  Example:AnyCo_order123456789 + * @param TransactionShipmentOutputVo[]|null $transactionShipments The shipping transaction details, such as master tracking number, service type, and ship timestamp. + * @param ?MasterLabelResponse $masterMergeLabelandDocuments If Ship request has both an outbound shipment and "returnRequestedShipment" included, this indicates the combined outbound and return labels and documents and provided in a single PDF, So customer can print it in one shot. + * @param ?mixed[] $transactionDetail Transaction Detail + * @param Alert[]|null $alerts The alerts received when a shipShipment is processed. This includes the alert code, alert type, and alert message. + */ + public function __construct( + public ?string $customerTransactionId = null, + public ?array $transactionShipments = null, + public ?string $jobId = null, + public ?MasterLabelResponse $masterMergeLabelandDocuments = null, + public ?array $transactionDetail = null, + public ?array $alerts = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/BaseProcessOutputVoCancelShipment.php b/src/Api/ShipDGHazmatV1/Dto/BaseProcessOutputVoCancelShipment.php new file mode 100644 index 00000000..51ded942 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/BaseProcessOutputVoCancelShipment.php @@ -0,0 +1,31 @@ + Alert::class]; + + /** + * @param ?bool $cancelledShipment Indicates whether the shipment has been cancelled or not. If the value is True, then it indicates that the shipment has been cancelled.
                  Example: true + * @param ?bool $cancelledHistory Indicates whether the shipment has been deleted from history or not. If the value is True, then it indicates that the shipment has been deleted.
                  Example: true + * @param ?string $successMessage The success message generated during cancellation request for Shipment.
                  Example: Success + * @param Alert[]|null $alerts This is a cancellation request alert. This alert includes information such as alert code, alert type, and alert message. + */ + public function __construct( + public ?bool $cancelledShipment = null, + public ?bool $cancelledHistory = null, + public ?string $successMessage = null, + public ?array $alerts = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/BaseProcessOutputVoValidate.php b/src/Api/ShipDGHazmatV1/Dto/BaseProcessOutputVoValidate.php new file mode 100644 index 00000000..ca0212b6 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/BaseProcessOutputVoValidate.php @@ -0,0 +1,25 @@ + Alert3p::class]; + + /** + * @param Alert3p[]|null $alerts The alerts received when a Shipment Package Validate is processed. This includes the alert code, alert type, and alert message. + */ + public function __construct( + public ?array $alerts = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/BatteryDetail.php b/src/Api/ShipDGHazmatV1/Dto/BatteryDetail.php new file mode 100644 index 00000000..422bc99f --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/BatteryDetail.php @@ -0,0 +1,28 @@ +Example: CA + */ + public function __construct( + public ?string $billingCode = null, + public ?string $billingType = null, + public ?string $aliasId = null, + public ?string $accountNickname = null, + public ?string $accountNumber = null, + public ?string $accountNumberCountryCode = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/BinaryBarcode.php b/src/Api/ShipDGHazmatV1/Dto/BinaryBarcode.php new file mode 100644 index 00000000..63f64979 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/BinaryBarcode.php @@ -0,0 +1,25 @@ + Example: COMMON-2D + * @param ?string[] $value The data content of this instance.
                  Example: ["value"] + */ + public function __construct( + public ?string $type = null, + public ?array $value = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/BlanketPeriod.php b/src/Api/ShipDGHazmatV1/Dto/BlanketPeriod.php new file mode 100644 index 00000000..c7dec800 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/BlanketPeriod.php @@ -0,0 +1,25 @@ + CustomerImageUsage::class]; + + /** + * @param CustomerImageUsage[]|null $customerImageUsages Specifies the usage and identification of customer supplied images to be used on this document. + * @param ?ShippingDocumentFormat $documentFormat Shipping Document Format, allow ImageType of PDF and StockType of OP_900_LL or ImageType of Text and StockType of OP_900_LL_B. Other elements are optional + */ + public function __construct( + public ?array $customerImageUsages = null, + public ?ShippingDocumentFormat $documentFormat = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/CodTransportationChargesDetail.php b/src/Api/ShipDGHazmatV1/Dto/CodTransportationChargesDetail.php new file mode 100644 index 00000000..2921794b --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/CodTransportationChargesDetail.php @@ -0,0 +1,29 @@ + CustomerReference::class]; + + /** + * @param ?string $originatorName The originatorName that will populate the Commercial Invoice (or Pro Forma). + * @param ?string[] $comments The comments that will populate the Commercial Invoice (or Pro Forma). Only the comments specified in the first two indexes of the array will be printed on the invoice and other comments would be ignored as the limitation is set for only two indexes. It considers the comment which is in the first index as a Special Instructions, Hence the comment at first index will be printed under special instructions and the other will be printed at comments section in the Commercial Invoice Document.
                  Example: comments + * @param CustomerReference[]|null $customerReferences Additional customer reference data + * @param ?Money $taxesOrMiscellaneousCharge This is commodity value used for Customs declaration. + * @param ?string $taxesOrMiscellaneousChargeType Specifies the Taxes Or Miscellaneous Charge Type + * @param ?Money $freightCharge This is commodity value used for Customs declaration. + * @param ?Money $packingCosts This is commodity value used for Customs declaration. + * @param ?Money $handlingCosts This is commodity value used for Customs declaration. + * @param ?string $declarationStatement The declaration statement that will populate the Commercial Invoice (or Pro Forma).
                  Max length is 554
                  Example: declarationStatement + * @param ?string $termsOfSale The termsOfSale that will populate the Commercial Invoice (or Pro Forma). Max length is 3
                  Example: FCA + * @param ?string $specialInstructions The special instructions that will populate the Commercial Invoice (or Pro Forma).
                  Example: specialInstructions + * @param ?string $shipmentPurpose The reason for the shipment. Note: SOLD is not a valid purpose for a Proforma Invoice. + * @param ?EmailDispositionDetail $emailNotificationDetail These are email disposition detail. Provides the type and email addresses for e-mail recipients. If returnedDispositionDetail in labelSpecification is set as true then email will be send with label and documents copy. + */ + public function __construct( + public ?string $originatorName = null, + public ?array $comments = null, + public ?array $customerReferences = null, + public ?Money $taxesOrMiscellaneousCharge = null, + public ?string $taxesOrMiscellaneousChargeType = null, + public ?Money $freightCharge = null, + public ?Money $packingCosts = null, + public ?Money $handlingCosts = null, + public ?string $declarationStatement = null, + public ?string $termsOfSale = null, + public ?string $specialInstructions = null, + public ?string $shipmentPurpose = null, + public ?EmailDispositionDetail $emailNotificationDetail = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/CommercialInvoiceDetail.php b/src/Api/ShipDGHazmatV1/Dto/CommercialInvoiceDetail.php new file mode 100644 index 00000000..756fa511 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/CommercialInvoiceDetail.php @@ -0,0 +1,27 @@ + CustomerImageUsage::class]; + + /** + * @param CustomerImageUsage[]|null $customerImageUsages Specifies the usage and identification of customer supplied images to be used on this document. + * @param ?ShippingDocumentFormat $documentFormat Shipping Document Format, allow ImageType of PDF and StockType of OP_900_LL or ImageType of Text and StockType of OP_900_LL_B. Other elements are optional + */ + public function __construct( + public ?array $customerImageUsages = null, + public ?ShippingDocumentFormat $documentFormat = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/Commodity.php b/src/Api/ShipDGHazmatV1/Dto/Commodity.php new file mode 100644 index 00000000..ef3cf425 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/Commodity.php @@ -0,0 +1,59 @@ + 'cIMarksAndNumbers']; + + protected static array $complexArrayTypes = ['additionalMeasures' => AdditionalMeasures::class]; + + /** + * @param string $name Required
                  Commodity name
                  Example: non-threaded rivets + * @param ?Money $unitPrice This is commodity value used for Customs declaration. + * @param AdditionalMeasures[]|null $additionalMeasures Optional
                  Contains only additional quantitative information other than weight and quantity to calculate duties and taxes. + * @param ?int $numberOfPieces Required.
                  Indicate the number of pieces associated with the commodity. Number of pieces cannot be a negative value or exceed 9,999.
                  Example: 12 + * @param ?int $quantity Required
                  Total number of units (using quantityUnits as the unit of measure) of this commodity present in the shipment. Used to estimate duties and taxes.
                  Example: 125 + * @param ?string $quantityUnits Required
                  Unit of measure for the above quantity. Used to estimate duties and taxes
                  Example: Ea + * @param ?CustomsMoney $customsValue This is commodity value used for Customs declaration. + * @param ?string $countryOfManufacture Required
                  Maximum allowed length is 4.
                  Example: US + * @param ?string $cImarksAndNumbers An identifying mark or number used on the packagingof a shipment to help customers identify a particularshipment
                  Example: 87123 + * @param ?string $harmonizedCode This is to specify the Harmonized Tariff System (HTS) code to meet U.S. and foreign governments' customs requirements. These are mainly used to estimate the duties and taxes.
                  Example: 0613
                  To research the classification for your commodity, use the FedEx Global Trade Manager online at fedex.com/gtm. You will find country-specific information to determine whether your commodity is considered to be a document or non-document for your destination. + * @param ?string $description Required
                  ScrewsMaximum allowed 450 characters.
                  Example: description + * @param ?Weight $weight These are the package weight details. + * @param ?string $exportLicenseNumber Specifies the export license number for the shipment
                  Example: 26456 + * @param ?\DateTimeInterface $exportLicenseExpirationDate Specifies the export license expiration date for the shipment
                  Format YYYY-MM-DD
                  Example : 2009-04-12 + * @param ?string $partNumber a part number for the item
                  Example: 167 + * @param ?string $purpose This field is used for calculation of duties and taxes.

                  Valid values are : BUSINESS and CONSUMER + * @param ?UsmcaCommodityDetail $usmcaDetail Specifies the commodity details of usmca. + */ + public function __construct( + public string $name, + public ?Money $unitPrice = null, + public ?array $additionalMeasures = null, + public ?int $numberOfPieces = null, + public ?int $quantity = null, + public ?string $quantityUnits = null, + public ?CustomsMoney $customsValue = null, + public ?string $countryOfManufacture = null, + public ?string $cImarksAndNumbers = null, + public ?string $harmonizedCode = null, + public ?string $description = null, + public ?Weight $weight = null, + public ?string $exportLicenseNumber = null, + public ?\DateTimeInterface $exportLicenseExpirationDate = null, + public ?string $partNumber = null, + public ?string $purpose = null, + public ?UsmcaCommodityDetail $usmcaDetail = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/CommodityClarificationDetail.php b/src/Api/ShipDGHazmatV1/Dto/CommodityClarificationDetail.php new file mode 100644 index 00000000..8b4952ee --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/CommodityClarificationDetail.php @@ -0,0 +1,27 @@ + SuggestedCommodityDetail::class]; + + /** + * @param ?int $commodityIndex This specifies the commodity index
                  Example: 25 + * @param SuggestedCommodityDetail[]|null $suggestions This specifies the suggestions + */ + public function __construct( + public ?int $commodityIndex = null, + public ?array $suggestions = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/CompletedEtdDetail.php b/src/Api/ShipDGHazmatV1/Dto/CompletedEtdDetail.php new file mode 100644 index 00000000..40c8a475 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/CompletedEtdDetail.php @@ -0,0 +1,29 @@ + UploadDocumentReferenceDetail::class]; + + /** + * @param ?string $folderId Returns the folder id where the documents is uploaded
                  Example: "0b0493e580dc1a1b" + * @param ?string $type Returns the type of the document that is being uploaded
                  Example: "COMMERCIAL_INVOICE" + * @param UploadDocumentReferenceDetail[]|null $uploadDocumentReferenceDetails + */ + public function __construct( + public ?string $folderId = null, + public ?string $type = null, + public ?array $uploadDocumentReferenceDetails = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/CompletedHazardousPackageDetail.php b/src/Api/ShipDGHazmatV1/Dto/CompletedHazardousPackageDetail.php new file mode 100644 index 00000000..92759124 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/CompletedHazardousPackageDetail.php @@ -0,0 +1,37 @@ + ValidatedHazardousContainer::class]; + + /** + * @param ?string $regulation Specifies regulation type.
                  Example: IATA + * @param ?string $accessibility Specifies the accessibility.
                  Example: ACCESSIBLE + * @param ?string $labelType Specifies the label type.
                  Example: II_YELLOW + * @param ValidatedHazardousContainer[]|null $containers Indicates one or more approved containers used to pack dangerous goods commodities. This does not describe any individual inner receptacles that may be within this container. + * @param ?bool $cargoAircraftOnly When TRUE-indicates that the package can be transported only on a cargo aircraft.
                  Example: true + * @param ?string $referenceId A unique reference id that matches the package to a package configuration. This is populated if the client provided a package configuration for several packages that have the exact same dangerous goods content.
                  Example: 123456 + * @param ?float $radioactiveTransportIndex Specifies the maximum radiation level from the package (measured in microSieverts per hour at a distance of one meter from the external surface of the package, divided by 10).
                  Example: 2.45 + */ + public function __construct( + public ?string $regulation = null, + public ?string $accessibility = null, + public ?string $labelType = null, + public ?array $containers = null, + public ?bool $cargoAircraftOnly = null, + public ?string $referenceId = null, + public ?float $radioactiveTransportIndex = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/CompletedHazardousShipmentDetail.php b/src/Api/ShipDGHazmatV1/Dto/CompletedHazardousShipmentDetail.php new file mode 100644 index 00000000..59159d72 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/CompletedHazardousShipmentDetail.php @@ -0,0 +1,27 @@ +Example: 10 + */ + public function __construct( + public ?int $smallQuantityExceptionPackageCount = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/CompletedHoldAtLocationDetail.php b/src/Api/ShipDGHazmatV1/Dto/CompletedHoldAtLocationDetail.php new file mode 100644 index 00000000..f1799dde --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/CompletedHoldAtLocationDetail.php @@ -0,0 +1,24 @@ +Example: FEDEX_STAFFED + */ + public function __construct( + public ?string $holdingLocationType = null, + public ?JustContactAndAddress $holdingLocation = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/CompletedPackageDetail.php b/src/Api/ShipDGHazmatV1/Dto/CompletedPackageDetail.php new file mode 100644 index 00000000..3d3724de --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/CompletedPackageDetail.php @@ -0,0 +1,41 @@ + TrackingId::class]; + + /** + * @param ?int $sequenceNumber A positive integer specifying the sequence number for the package in shipment.
                  Example: 256 + * @param ?PackageOperationalDetail $operationalDetail Package-level data required for labeling and/or movement. + * @param ?string $signatureOption This specifies the actual signature option applied, to allow for cases in which the value requested conflicted with other service features in the shipment.
                  Example: DIRECT + * @param TrackingId[]|null $trackingIds + * @param ?int $groupNumber Used with request containing PACKAGE_GROUPS, to identify which group of identical packages was used to produce a reply item.
                  Example: 567 + * @param ?string $oversizeClass Indicates the oversize Classification.
                  Example: OVERSIZE_1 + * @param ?PackageRating $packageRating This class groups together all package-level rate data for a single package (across all rate types) as part of the response to a shipping request, which groups shipment-level data together and groups package-level data by package. + * @param ?Weight $dryIceWeight These are the package weight details. + * @param ?CompletedHazardousPackageDetail $hazardousPackageDetail Complete package-level hazardous commodity information for a single package. + */ + public function __construct( + public ?int $sequenceNumber = null, + public ?PackageOperationalDetail $operationalDetail = null, + public ?string $signatureOption = null, + public ?array $trackingIds = null, + public ?int $groupNumber = null, + public ?string $oversizeClass = null, + public ?PackageRating $packageRating = null, + public ?Weight $dryIceWeight = null, + public ?CompletedHazardousPackageDetail $hazardousPackageDetail = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/CompletedShipmentDetail.php b/src/Api/ShipDGHazmatV1/Dto/CompletedShipmentDetail.php new file mode 100644 index 00000000..cdc98960 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/CompletedShipmentDetail.php @@ -0,0 +1,51 @@ + CompletedPackageDetail::class]; + + /** + * @param CompletedPackageDetail[]|null $completedPackageDetails + * @param ?ShipmentOperationalDetail $operationalDetail Shipment level operational information. + * @param ?string $carrierCode Specifies which carrier should be included.
                  Example: FDXE + * @param ?CompletedHoldAtLocationDetail $completedHoldAtLocationDetail Returns the default holding location information when HOLD_AT_LOCATION special service is requested and the client does not specify the hold location address. + * @param ?CompletedEtdDetail $completedEtdDetail Returns the completed ETD details when ELECTRONIc_TRADE_DOCUMENTS Special service type is requested + * @param ?string $packagingDescription Specifies packaging description
                  Example: description + * @param ?TrackingId $masterTrackingId Indicates the tracking details of the package. Required for child shipments of an oneLabelAtATime shipments. + * @param ?ServiceDescription $serviceDescription Provides Service Description. + * @param ?bool $usDomestic Indicates whether or not this is an intra-U.S. shipment.
                  Example: true + * @param ?CompletedHazardousShipmentDetail $hazardousShipmentDetail Completed shipment level hazardous commodity information. + * @param ?ShipmentRating $shipmentRating All shipment-level rating data for this shipment, which may include data for multiple rate types. + * @param ?DocumentRequirementsDetail $documentRequirements Provides the DocumentRequirementsDetail. + * @param ?string $exportComplianceStatement For US export shipments requiring an EEI, enter the ITN number received from AES when you filed your shipment or the FTR (Foreign Trade Regulations) exemption number.The proper format for an ITN number is AES XYYYYMMDDNNNNNN where YYYYMMDD is date and NNNNNN are numbers generated by the AES.
                  Example: AESX20220714987654
                  Note: The ITN or FTR exemption number you submit in the ship request prints on the international shipping label.

                  For CA export shipments,it can be Proof of report number(15-32 alphanumeric) , Summary proof of report number(7-32 alphanumeric) or Exemption number(2 digit) based on the selected b13AFilingOption.
                  Example: 98765432107654321(POR number), 7654321(Summary POR number) and 02(Exemption number). + * @param ?PendingShipmentAccessDetail $accessDetail This information describes how and when a online email return label shipment may be accessed for completion. + */ + public function __construct( + public ?array $completedPackageDetails = null, + public ?ShipmentOperationalDetail $operationalDetail = null, + public ?string $carrierCode = null, + public ?CompletedHoldAtLocationDetail $completedHoldAtLocationDetail = null, + public ?CompletedEtdDetail $completedEtdDetail = null, + public ?string $packagingDescription = null, + public ?TrackingId $masterTrackingId = null, + public ?ServiceDescription $serviceDescription = null, + public ?bool $usDomestic = null, + public ?CompletedHazardousShipmentDetail $hazardousShipmentDetail = null, + public ?ShipmentRating $shipmentRating = null, + public ?DocumentRequirementsDetail $documentRequirements = null, + public ?string $exportComplianceStatement = null, + public ?PendingShipmentAccessDetail $accessDetail = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/Contact.php b/src/Api/ShipDGHazmatV1/Dto/Contact.php new file mode 100644 index 00000000..d4b9a45f --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/Contact.php @@ -0,0 +1,33 @@ +Note: Recommended Length is 70. There's no specific validation for the person name.
                  Example: John Taylor + * @param ?string $emailAddress Specify contact email address. Maximum length is 80.
                  Example: sample@company.com + * @param ?string $phoneNumber Contact person's phone number.
                  Minimum length is 10 and supports maximum of 15 for certain countries using longer phone numbers.
                  Note: For US and CA, a phone number must have exactly 10 digits, plus an optional leading country code of '1' or '+1'.
                  Example: 918xxxxx890 + * @param ?string $phoneExtension Specify contact phone extension.
                  Note: Recommended length is 6. There's no specific validation for the phone extension.
                  Example: 1234 + * @param ?string $faxNumber Specify contact fax number.
                  Note: Recommended length is 15. There's no specific validation for the fax number.
                  Example: 1234567890 + * @param ?string $companyName Specify contact company name.
                  Recommended length is 35.
                  Note: There's no specific validation for the company name. + */ + public function __construct( + public ?string $personName = null, + public ?string $emailAddress = null, + public ?string $phoneNumber = null, + public ?string $phoneExtension = null, + public ?string $faxNumber = null, + public ?string $companyName = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/Contact2.php b/src/Api/ShipDGHazmatV1/Dto/Contact2.php new file mode 100644 index 00000000..c7489958 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/Contact2.php @@ -0,0 +1,39 @@ +Example: John Taylor + * @param ?string $tollFreePhoneNumber Specify Toll Free PhoneNumber.
                  Example: 6127812 + * @param ?string $emailAddress Specify EmailAddress.
                  Example: sample@company.com + * @param ?string $phoneNumber The shippers phone number.
                  Minimum length is 10 and supports maximum of 15 for certain countries using longer phone numbers.
                  Note: For US and CA, a phone number must have exactly 10 digits, plus an optional leading country code of "1" or "+1".
                  Example: 918xxxxx890 + * @param ?string $phoneExtension Specify Phone Extension.
                  Example: 91 + * @param ?string $companyName Specify Company Name.
                  Example: Fedex + * @param ?string $pagerNumber Specify Pager Number.
                  Example: 6127812 + * @param ?string $faxNumber Specify Fax Number.
                  Example: 1234567890 + * @param ?string $title Specify the Title of the Contact.
                  Example: title + */ + public function __construct( + public ?string $personName = null, + public ?string $tollFreePhoneNumber = null, + public ?string $emailAddress = null, + public ?string $phoneNumber = null, + public ?string $phoneExtension = null, + public ?string $companyName = null, + public ?string $pagerNumber = null, + public ?string $faxNumber = null, + public ?string $title = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/ContactAndAddress.php b/src/Api/ShipDGHazmatV1/Dto/ContactAndAddress.php new file mode 100644 index 00000000..8b045e83 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/ContactAndAddress.php @@ -0,0 +1,25 @@ +Example: 25.6 + * @param ?string $fromCurrency The currency code for the original (converted FROM) currency.
                  Example: Rupee
                  Click here to see Currency Codes + * @param ?string $intoCurrency The currency code for the final(converted INTO) currency.
                  Example: USD
                  Click here to see Currency Codes + */ + public function __construct( + public ?float $rate = null, + public ?string $fromCurrency = null, + public ?string $intoCurrency = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/CustomerImageUsage.php b/src/Api/ShipDGHazmatV1/Dto/CustomerImageUsage.php new file mode 100644 index 00000000..884a6b31 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/CustomerImageUsage.php @@ -0,0 +1,27 @@ +Example: DEPARTMENT_NUMBER + * @param ?string $value This is a customer reference type value.
                  Example: 3686 + */ + public function __construct( + public ?string $customerReferenceType = null, + public ?string $value = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/CustomerSpecifiedLabelDetail.php b/src/Api/ShipDGHazmatV1/Dto/CustomerSpecifiedLabelDetail.php new file mode 100644 index 00000000..c55dd5c6 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/CustomerSpecifiedLabelDetail.php @@ -0,0 +1,34 @@ + RegulatoryLabelContentDetail::class, + 'additionalLabels' => AdditionalLabelsDetail::class, + ]; + + /** + * @param ?string[] $maskedData Controls which data/sections will be suppressed. + * @param RegulatoryLabelContentDetail[]|null $regulatoryLabels Specifies details needed to generate any label artifacts required due to regulatory requirements + * @param ?DocTabContent $docTabContent Specifies details of doc tab content + * @param AdditionalLabelsDetail[]|null $additionalLabels Specify how the additional details to be provided on the labels. + */ + public function __construct( + public ?array $maskedData = null, + public ?array $regulatoryLabels = null, + public ?DocTabContent $docTabContent = null, + public ?array $additionalLabels = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/CustomsClearanceDetail.php b/src/Api/ShipDGHazmatV1/Dto/CustomsClearanceDetail.php new file mode 100644 index 00000000..20b4db83 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/CustomsClearanceDetail.php @@ -0,0 +1,57 @@ + Commodity::class, 'brokers' => BrokerDetail::class]; + + /** + * @param CommercialInvoice $commercialInvoice Use this object to provide Commercial Invoice details. This element is required for electronic upload of CI data. It will serve to create/transmit an electronic Commercial Invoice through the FedEx system.
                  Customers are responsible for printing their own Commercial Invoice.
                  If you would like FedEx to generate a Commercial Invoice and transmit it to Customs for clearance purposes, you need to specify that in the 'ETDDetail/RequesteDocumentCopies' element.
                  Support consists of a maximum of 99 commodity line items. + * @param Commodity[] $commodities Indicates the details about the dutiable packages. Maximum upto 999 commodities per shipment + * @param ?string[] $regulatoryControls These are the regulatory controls applicable to the shipment. + * @param BrokerDetail[]|null $brokers Conditional.
                  Specify Broker information only if you are using Broker Select Option for your shipment.To be considered a valid, a country code must be specified in addition to one of the following address items: postal code, city, or location id. + * @param ?string $freightOnValue Specify the risk owner for the Freight shipment.This element is only mandatory or valid for Intra India shipments. + * @param ?Payment2 $dutiesPayment This is a payment type, basically indicates who is the payor for the shipment.Conditional required for International Shipments. + * @param ?RecipientCustomsId $recipientCustomsId Conditional + * + * Use this element to provide valid identification details. Used for populating brazil tax id. + * @param ?CustomsOptionDetail $customsOption These are customs Option Detail, type must be indicated for each occurrence + * @param ?string $generatedDocumentLocale This is the locale for generated document.
                  Example: en_US
                  click here to see Locales
                  Note: If the locale is left blank or an invalid locale is entered, an error message is returned in response. + * @param ?ExportDetail $exportDetail Conditional + * Export Detail Used for US or CA exports + * @param ?Money $totalCustomsValue This is commodity value used for Customs declaration. + * @param ?bool $partiesToTransactionAreRelated Parties To Transaction Are Related + * @param ?CustomsDeclarationStatementDetail $declarationStatementDetail Specifies about the statements to be declared for Customs. + * @param ?bool $isDocumentOnly Used to specify if a shipment is document shipment or not. Used only for International Express document shipments. Default value is false. + * @param ?Money $insuranceCharge This is commodity value used for Customs declaration. + */ + public function __construct( + public CommercialInvoice $commercialInvoice, + public array $commodities, + public ?array $regulatoryControls = null, + public ?array $brokers = null, + public ?string $freightOnValue = null, + public ?Payment2 $dutiesPayment = null, + public ?RecipientCustomsId $recipientCustomsId = null, + public ?CustomsOptionDetail $customsOption = null, + public ?Party $importerOfRecord = null, + public ?string $generatedDocumentLocale = null, + public ?ExportDetail $exportDetail = null, + public ?Money $totalCustomsValue = null, + public ?bool $partiesToTransactionAreRelated = null, + public ?CustomsDeclarationStatementDetail $declarationStatementDetail = null, + public ?bool $isDocumentOnly = null, + public ?Money $insuranceCharge = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/CustomsDeclarationStatementDetail.php b/src/Api/ShipDGHazmatV1/Dto/CustomsDeclarationStatementDetail.php new file mode 100644 index 00000000..0b8be0b5 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/CustomsDeclarationStatementDetail.php @@ -0,0 +1,25 @@ +Max limit: 7 digits before decimal.
                  Example: 1,556.25 + * @param ?string $currency This is the currency of the commodity value used for Customs declaration.
                  Example: USD
                  Click here to see Currency Codes + */ + public function __construct( + public ?float $amount = null, + public ?string $currency = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/CustomsOptionDetail.php b/src/Api/ShipDGHazmatV1/Dto/CustomsOptionDetail.php new file mode 100644 index 00000000..d12001a4 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/CustomsOptionDetail.php @@ -0,0 +1,25 @@ +
                • COURTESY_RETURN_LABEL: Applicable for Outbound shipments.
                • EXHIBITION_TRADE_SHOW: For exhibition or trade-show, outbound and inbound.
                • FAULTY_ITEM: For faulty item being returned, inbound only.
                • FOLLOWING_REPAIR: For repaired or processed item being sent, outbound only.
                • FOR_REPAIR: For repair or processing, outbound and inbound.
                • ITEM_FOR_LOAN: For loan item, outbound and inbound.
                • OTHER: Other reason, outbound and inbound. This type requires a description.
                • REJECTED: For rejected merchandise being returned, inbound.
                • REPLACEMENT: For replacement being sent, outbound only.
                • TRIAL: For use in a trial, outbound and inbound.
                + */ + public function __construct( + public ?string $description = null, + public ?string $type = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/CxsError.php b/src/Api/ShipDGHazmatV1/Dto/CxsError.php new file mode 100644 index 00000000..f2092a7a --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/CxsError.php @@ -0,0 +1,29 @@ + Parameter::class]; + + /** + * @param ?string $code Indicates the error code. + * @param Parameter[]|null $parameterList Specifies list of parameters. + * @param ?string $message Indicates the description of API error alert message. + */ + public function __construct( + public ?string $code = null, + public ?array $parameterList = null, + public ?string $message = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/CxsError2.php b/src/Api/ShipDGHazmatV1/Dto/CxsError2.php new file mode 100644 index 00000000..12fccb6c --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/CxsError2.php @@ -0,0 +1,26 @@ + Parameter::class]; + + /** + * @param ?string $code Indicates the error code.
                Example: NOT.AUTHORIZED.ERROR, LOGIN.REAUTHENTICATE.ERROR + * @param ?string $message Indicates the description of API error alert message.
                Example: Access token expired. Please modify your request and try again. + * @param Parameter[]|null $parameterList + */ + public function __construct( + public ?string $code = null, + public ?string $message = null, + public ?array $parameterList = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/CxsError403Errors.php b/src/Api/ShipDGHazmatV1/Dto/CxsError403Errors.php new file mode 100644 index 00000000..d31c04e0 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/CxsError403Errors.php @@ -0,0 +1,29 @@ + Parameter::class]; + + /** + * @param ?string $code Indicates the error code. + * @param ?string $message Indicates the description of API error alert message. + * @param Parameter[]|null $parameterList + */ + public function __construct( + public ?string $code = null, + public ?string $message = null, + public ?array $parameterList = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/CxsError404Errors.php b/src/Api/ShipDGHazmatV1/Dto/CxsError404Errors.php new file mode 100644 index 00000000..ee0758b0 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/CxsError404Errors.php @@ -0,0 +1,29 @@ + Parameter::class]; + + /** + * @param ?string $code Indicates the error code. + * @param Parameter[]|null $parameterList + * @param ?string $message Indicates the description of API error alert message. + */ + public function __construct( + public ?string $code = null, + public ?array $parameterList = null, + public ?string $message = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/CxsError5.php b/src/Api/ShipDGHazmatV1/Dto/CxsError5.php new file mode 100644 index 00000000..1d8af6dd --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/CxsError5.php @@ -0,0 +1,26 @@ + Parameter::class]; + + /** + * @param ?string $code Indicates the error code. + * @param ?string $message Indicates the description of API error alert message. + * @param Parameter[]|null $parameterList + */ + public function __construct( + public ?string $code = null, + public ?string $message = null, + public ?array $parameterList = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/DangerousGoodsContainer.php b/src/Api/ShipDGHazmatV1/Dto/DangerousGoodsContainer.php new file mode 100644 index 00000000..b264a0c2 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/DangerousGoodsContainer.php @@ -0,0 +1,39 @@ + HazardousCommodityContent::class]; + + /** + * @param string $packingType This is Hazardous Container Packing Type. + * @param ?string $offeror Indicate the offerror name or contract number. + * @param HazardousCommodityContent[]|null $hazardousCommodities These are hazardous commodities content. + * @param ?int $numberOfContainers Indicates the number of container with identical dangerous goods configuration. + * @param ?string $containerType Indicate the type of this dangerous goods container, as specified by the IATA packing instructions.
                Example: steel cylinder, fiberboard box, plastic jerrican and steel drum. etc. + * @param ?PhoneNumber $emergencyContactNumber A phone number for a party. Numeric only + * @param ?HazardousCommodityPackagingDetail $packaging Provides information about Hazardous Commodity Packaging Detail + * @param ?string $radioactiveContainerClass Indicate the packaging type of the container to pack the radioactive materials. + */ + public function __construct( + public string $packingType, + public ?string $offeror = null, + public ?array $hazardousCommodities = null, + public ?int $numberOfContainers = null, + public ?string $containerType = null, + public ?PhoneNumber $emergencyContactNumber = null, + public ?HazardousCommodityPackagingDetail $packaging = null, + public ?string $radioactiveContainerClass = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/DangerousGoodsDetail.php b/src/Api/ShipDGHazmatV1/Dto/DangerousGoodsDetail.php new file mode 100644 index 00000000..3396f8f9 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/DangerousGoodsDetail.php @@ -0,0 +1,55 @@ + DangerousGoodsContainer::class]; + + /** + * @param ?string $regulation The hazardous package shipment regulation type + * @param ?string $accessibility Dangerous Goods Accessibility Type. Inaccessible means it does not have to be accessable on the aircraft. Accessible means it must be fully accessible on the aircraft, and is more strictly controlled. + * @param ?string[] $options Indicate type of DG being reported.
                - SMALL_QUANTITY_EXCEPTION : It is applicable for only One Piece shipment. + * @param ?bool $cargoAircraftOnly cargoAircraftOnly is an optional field in the request which accepts Boolean values in order to create Cargo Aircraft only shipment. its default value is set as False + * @param ?string[] $dangerousGoodsDescriptors Description of the dangerous good in the package + * @param ?string $packingOption The packing option for the dangerous goods package + * @param ?string $referenceId A unique reference id that matches the package to a package configuration. This is populated if the client provided a package configuration for several packages that have the exact same dangerous goods content. + * @param DangerousGoodsContainer[]|null $containers This specifies the commodities in the container. A container may also be known as a dangerous goods package, but this is not necessarily the same as the 'package' or handling unit that a courier transports for shipping. If the handling unit is an OVERPACK, then this container is inside the handling unit. + * @param ?DangerousGoodsDetailPackaging $packaging Indicates the Packaging details of dangerous goods. + * @param ?DangerousGoodsDetailSignatory $signatory Specify the name, title and place of the signatory responsible for the dangerous goods shipment. + * @param ?string $emergencyContactNumber Phone number for a responsible party that can be contacted in case of an emergency situation with the dangerous goods + * @param ?string $offeror Specifies the name of the offeror. + * @param ?DangerousGoodsDetailInfectiousSubstanceResponsibleContact $infectiousSubstanceResponsibleContact Contact details for a responsible party if the dangerous good is an infectious substance. + * @param ?string $additionalHandling Specifies the additional handling instructions. + * @param ?DangerousGoodsDetailRadioactivityDetail $radioactivityDetail Specify the radioactivity detail for the current package, if the package contains radioactive materials. + * @param KeyValueDetail[][]|null $regulatoryLineItems Describes the regulatory data elements required to move the package. + */ + public function __construct( + public ?string $regulation = null, + public ?string $accessibility = null, + public ?array $options = null, + public ?bool $cargoAircraftOnly = null, + public ?array $dangerousGoodsDescriptors = null, + public ?string $packingOption = null, + public ?string $referenceId = null, + public ?array $containers = null, + public ?DangerousGoodsDetailPackaging $packaging = null, + public ?DangerousGoodsDetailSignatory $signatory = null, + public ?string $emergencyContactNumber = null, + public ?string $offeror = null, + public ?DangerousGoodsDetailInfectiousSubstanceResponsibleContact $infectiousSubstanceResponsibleContact = null, + public ?string $additionalHandling = null, + public ?DangerousGoodsDetailRadioactivityDetail $radioactivityDetail = null, + public ?array $regulatoryLineItems = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/DangerousGoodsDetailInfectiousSubstanceResponsibleContact.php b/src/Api/ShipDGHazmatV1/Dto/DangerousGoodsDetailInfectiousSubstanceResponsibleContact.php new file mode 100644 index 00000000..8b461cd8 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/DangerousGoodsDetailInfectiousSubstanceResponsibleContact.php @@ -0,0 +1,41 @@ + CustomerImageUsage::class]; + + /** + * @param ?ShippingDocumentFormat $documentFormat Shipping Document Format, allow ImageType of PDF and StockType of OP_900_LL or ImageType of Text and StockType of OP_900_LL_B. Other elements are optional + * @param CustomerImageUsage[]|null $customerImageUsages Specifies the usage and identification of customer supplied imagesto be used on this document. + */ + public function __construct( + public ?ShippingDocumentFormat $documentFormat = null, + public ?array $customerImageUsages = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/DeliveryOnInvoiceAcceptanceDetail.php b/src/Api/ShipDGHazmatV1/Dto/DeliveryOnInvoiceAcceptanceDetail.php new file mode 100644 index 00000000..bcf56a4a --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/DeliveryOnInvoiceAcceptanceDetail.php @@ -0,0 +1,23 @@ +Example: [US, India] + */ + public function __construct( + public string $statementTypes, + public ?string $endUser = null, + public ?array $destinationCountries = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/Detail.php b/src/Api/ShipDGHazmatV1/Dto/Detail.php new file mode 100644 index 00000000..34ac3f9f --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/Detail.php @@ -0,0 +1,29 @@ + CustomerImageUsage::class]; + + /** + * @param CustomerImageUsage[]|null $customerImageUsages Specifies the usage and identification of customer supplied imagesto be used on this document + * @param ?string $signatureName >Data field to be used when a name is to be printed in the document instead of (or in addition to) a signature image.
                Example: Signature Name + * @param ?ShippingDocumentFormat $documentFormat Shipping Document Format, allow ImageType of PDF and StockType of OP_900_LL or ImageType of Text and StockType of OP_900_LL_B. Other elements are optional + */ + public function __construct( + public ?array $customerImageUsages = null, + public ?string $signatureName = null, + public ?ShippingDocumentFormat $documentFormat = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/Dimensions.php b/src/Api/ShipDGHazmatV1/Dto/Dimensions.php new file mode 100644 index 00000000..2582a7d2 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/Dimensions.php @@ -0,0 +1,29 @@ + Example: 7 + * @param ?int $width Indicates the width of the package. No implied decimal places.
                Example: 8 + * @param ?int $height Indicates the height of the package. No implied decimal places.
                Example: 10 + * @param ?string $units Unit of measure for the provided dimensions.
                Valid Values are IN - inches, CM - centimeters.
                Note: Any value other than CM including blank/null will default to IN.
                Example: CM + */ + public function __construct( + public ?int $length = null, + public ?int $width = null, + public ?int $height = null, + public ?string $units = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/DocTabContent.php b/src/Api/ShipDGHazmatV1/Dto/DocTabContent.php new file mode 100644 index 00000000..3978d413 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/DocTabContent.php @@ -0,0 +1,27 @@ + DocTabZoneSpecification::class]; + + /** + * @param DocTabZoneSpecification[]|null $docTabZoneSpecifications + */ + public function __construct( + public ?array $docTabZoneSpecifications = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/DocTabZoneSpecification.php b/src/Api/ShipDGHazmatV1/Dto/DocTabZoneSpecification.php new file mode 100644 index 00000000..a484f3e6 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/DocTabZoneSpecification.php @@ -0,0 +1,31 @@ +Example: 1 + * @param ?string $header header of DocTabZoneSpecification
                Example: WHT + * @param ?string $dataField dataField of DocTabZoneSpecification
                Example: REQUEST/PACKAGE/weight/Value + * @param ?string $literalValue literalValue of DocTabZoneSpecification
                + * @param ?string $justification Doc Tab Zone Justification Type + */ + public function __construct( + public ?int $zoneNumber = null, + public ?string $header = null, + public ?string $dataField = null, + public ?string $literalValue = null, + public ?string $justification = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/DocumentFormatOptionsRequested.php b/src/Api/ShipDGHazmatV1/Dto/DocumentFormatOptionsRequested.php new file mode 100644 index 00000000..6010cc77 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/DocumentFormatOptionsRequested.php @@ -0,0 +1,23 @@ +Example: OPTIONAL + * @param ?string $electronicSignature is a RequirementType
                Example: OPTIONAL + * @param ?int $minimumCopiesRequired is a nonNegativeInteger
                Example: 3 + * @param ?string $type is an EnterpriseDocumentType
                Example: COMMERCIAL_INVOICE + */ + public function __construct( + public ?string $letterhead = null, + public ?string $electronicSignature = null, + public ?int $minimumCopiesRequired = null, + public ?string $type = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/DocumentRequirementsDetail.php b/src/Api/ShipDGHazmatV1/Dto/DocumentRequirementsDetail.php new file mode 100644 index 00000000..54209e8d --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/DocumentRequirementsDetail.php @@ -0,0 +1,29 @@ + DocumentGenerationDetail::class]; + + /** + * @param ?string[] $requiredDocuments Provides the required documents info.
                Example: [COMMERCIAL_OR_PRO_FORMA_INVOICE,AIR_WAYBILL] + * @param ?string[] $prohibitedDocuments Provides the prohibited Documents info.
                Example: [ USMCA_CERTIFICATION_OF_ORIGIN] + * @param DocumentGenerationDetail[]|null $generationDetails Provides the generation details. + */ + public function __construct( + public ?array $requiredDocuments = null, + public ?array $prohibitedDocuments = null, + public ?array $generationDetails = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/EMailNotificationDetail.php b/src/Api/ShipDGHazmatV1/Dto/EMailNotificationDetail.php new file mode 100644 index 00000000..59e487a3 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/EMailNotificationDetail.php @@ -0,0 +1,29 @@ + EmailNotificationRecipient::class]; + + /** + * @param ?string $aggregationType Shipment Notification Aggregation Type. + * @param EmailNotificationRecipient[]|null $emailNotificationRecipients Provide Email Notification Recipient details. + * @param ?string $personalMessage This is your personal message for the email.
                Note: The maximum personal message character limit depends on the element notificationFormatType values:
                • If notificationFormatType is TEXT, then only 120 characters printed on the email
                • If notificationFormatType is HTML, then 500 characters printed on the email

                Example: This is concerning the order 123456 of 26 July 2021 - art no 34324-23 Teddy Bear, brown + */ + public function __construct( + public ?string $aggregationType = null, + public ?array $emailNotificationRecipients = null, + public ?string $personalMessage = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/EmailDispositionDetail.php b/src/Api/ShipDGHazmatV1/Dto/EmailDispositionDetail.php new file mode 100644 index 00000000..d1e28892 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/EmailDispositionDetail.php @@ -0,0 +1,27 @@ +Example: neena@fedex.com + * @param ?string $type Indicates the type + * @param ?string $recipientType Indicates the recipient type + */ + public function __construct( + public ?string $emailAddress = null, + public ?string $type = null, + public ?string $recipientType = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/EmailLabelDetail.php b/src/Api/ShipDGHazmatV1/Dto/EmailLabelDetail.php new file mode 100644 index 00000000..4a35d6c5 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/EmailLabelDetail.php @@ -0,0 +1,27 @@ + EmailRecipient::class]; + + /** + * @param EmailRecipient[]|null $recipients Indicates the Email label recipient's email address, shipment role, & language locale. One recipient must be specified and only one recipient is supported. + * @param ?string $message Specifies an optional personalized message to be included in the email to the email label recipient + */ + public function __construct( + public ?array $recipients = null, + public ?string $message = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/EmailNotificationRecipient.php b/src/Api/ShipDGHazmatV1/Dto/EmailNotificationRecipient.php new file mode 100644 index 00000000..a5e79b81 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/EmailNotificationRecipient.php @@ -0,0 +1,35 @@ +Example: xyz@aol.com + * @param ?string $name This is the email recipients' name
                Example: Joe Smith + * @param ?string $notificationFormatType this is the format for the email notification, either HTML or plain text is available.
                Example: TEXT + * @param ?string $notificationType Indicates the type of notification that will be sent, either SMS text message or an Email
                Example: EMAIL + * @param ?string $locale this is the language and language locale code for the email
                Example: en_US, fr_CA, es_MX + * @param ?string[] $notificationEventType Notification Event Type + */ + public function __construct( + public string $emailNotificationRecipientType, + public string $emailAddress, + public ?string $name = null, + public ?string $notificationFormatType = null, + public ?string $notificationType = null, + public ?string $locale = null, + public ?array $notificationEventType = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/EmailOptionsRequested.php b/src/Api/ShipDGHazmatV1/Dto/EmailOptionsRequested.php new file mode 100644 index 00000000..0357260a --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/EmailOptionsRequested.php @@ -0,0 +1,23 @@ + Example: neena@fedex.com + * @param string $role Relationship that the emailRecipient has to the pending email return label shipments.
                Valid Values: SHIPMENT_COMPLETOR,SHIPMENT_INITIATOR + * @param ?EmailOptionsRequested $optionsRequested Indicates how the email notifications for the pending shipment must be processed. + * @param ?Locale $locale Specifies the Locale + */ + public function __construct( + public string $emailAddress, + public string $role, + public ?EmailOptionsRequested $optionsRequested = null, + public ?Locale $locale = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/EtdDetail.php b/src/Api/ShipDGHazmatV1/Dto/EtdDetail.php new file mode 100644 index 00000000..06160209 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/EtdDetail.php @@ -0,0 +1,29 @@ + UploadDocumentReferenceDetail::class]; + + /** + * @param ?string[] $attributes Specifies the Post Document Upload
                Example: POST_SHIPMENT_UPLOAD_REQUESTED + * @param UploadDocumentReferenceDetail[]|null $attachedDocuments Customer reference to the uploaded document(s). + * @param ?string[] $requestedDocumentTypes Indicates the types of shipping documents requested by the shipper.
                Example: CERTIFICATE_OF_ORIGIN, COMMERCIAL_INVOICE etc. + */ + public function __construct( + public ?array $attributes = null, + public ?array $attachedDocuments = null, + public ?array $requestedDocumentTypes = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/ExportDetail.php b/src/Api/ShipDGHazmatV1/Dto/ExportDetail.php new file mode 100644 index 00000000..c9182ab8 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/ExportDetail.php @@ -0,0 +1,31 @@ + 'b13AFilingOption']; + + /** + * @param ?DestinationControlDetail $destinationControlDetail VERY IMPORTANT: Specify appropriate destinationcontrol statement type(s),Valid values: DEPARTMENT_OF_COMMERCE, DEPARTMENT_OF_STATE
                Be sure to also specify destination country and enduser. + * @param ?string $b13aFilingOption Specify the filing option being exercised. Required for non-document shipments originating in Canada destinated for any country other than Canada, the United States, Puerto Rico, or the U.S. Virgin Islands + * @param ?string $exportComplianceStatement For US export shipments requiring an EEI, enter the ITN number received from AES when you filed your shipment or the FTR (Foreign Trade Regulations) exemption number.The proper format for an ITN number is AES XYYYYMMDDNNNNNN where YYYYMMDD is date and NNNNNN are numbers generated by the AES.
                Example: AESX20220714987654
                Note: The ITN or FTR exemption number you submit in the ship request prints on the international shipping label.

                For CA export shipments,it can be Proof of report number(15-32 alphanumeric) ,Summary proof of report number(7-32 alphanumeric) or Exemption number(2 digit) based on the selected b13AFilingOption.
                Example: 98765432107654321(POR number), 7654321(Summary POR number) and 02(Exemption number). + * @param ?string $permitNumber This is a Permit Number. This field is applicable only to Canada export non-document shipments of any value to any destination. No special characters are allowed.
                Example: 12345 + */ + public function __construct( + public ?DestinationControlDetail $destinationControlDetail = null, + public ?string $b13aFilingOption = null, + public ?string $exportComplianceStatement = null, + public ?string $permitNumber = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/ExpressFreightDetail.php b/src/Api/ShipDGHazmatV1/Dto/ExpressFreightDetail.php new file mode 100644 index 00000000..0311bdaa --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/ExpressFreightDetail.php @@ -0,0 +1,27 @@ +Minimum length: 5 digits
                Maximum length: 12 digits
                Example: XXXX56789812 + * @param ?int $shippersLoadAndCount Indicates the content of a container were loaded and counted by the shipper.
                Minimum length: 1 digits
                Maximum length: 5 digits
                Example: If a skid has 32 small boxes on it that are shrinkwrapped, the shippersLoadAndCount should be “32” + * @param ?bool $packingListEnclosed This indicates whether or not the Packing List is enclosed with the shipment. A packing list is a document that includes details about the contents of a package. Valid Values are True or False.
                Example: true + */ + public function __construct( + public ?int $bookingConfirmationNumber = null, + public ?int $shippersLoadAndCount = null, + public ?bool $packingListEnclosed = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/FullSchemaCancelShipment.php b/src/Api/ShipDGHazmatV1/Dto/FullSchemaCancelShipment.php new file mode 100644 index 00000000..7cc49e77 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/FullSchemaCancelShipment.php @@ -0,0 +1,31 @@ +Example: "794953555571" + * @param ?bool $emailShipment A boolean flag passed by Clients to indicate that whether a shipment is a EMAIL shipment(Pending Shipment) or not. Once a shipment is confirmed, it can no longer be cancelled by having this flag as True. + * @param ?string $senderCountryCode The two-letter sender Country code(Ex: US, CA, GB..etc).
                Example: US
                Click here to see Country Codes + * @param ?string $deletionControl Specifies which packages in a shipment to be canceled.
                Valid Values are
                DELETE_ALL_PACKAGES which will cancel all tracking numbers associated to the shipment. + */ + public function __construct( + public ShipperAccountNumber $accountNumber, + public string $trackingNumber, + public ?bool $emailShipment = null, + public ?string $senderCountryCode = null, + public ?string $deletionControl = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/FullSchemaShipShipment.php b/src/Api/ShipDGHazmatV1/Dto/FullSchemaShipShipment.php new file mode 100644 index 00000000..b4386c15 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/FullSchemaShipShipment.php @@ -0,0 +1,31 @@ +Valid values:
                • LABEL – Indicates request is for encoded bytecode.
                • URL_ONLY – Indicates label URL request.
                Note: For asynchronous shipment (More than 40 packages) request only the value LABEL is suported.


                Note: With URL_ONLY option, the URL once created will be active for 12 hours. + * @param ?string $shipAction Indicate shipment action for the Shipment.
                • CONFIRM – used in case of shipment submission
                • TRANSFER – used in case of Email Label Shipment or Pending Shipment submission. + * @param ?string $mergeLabelDocOption It specifies the content of the merged pdf URL in the response. The merged pdf URL is generated only if the labelResponseOption is indicated as URL_ONLY.
                  • If the value is 'LABELS_AND_DOCS', then merged (all shipping labels and shipping documents) pdf URL will be returned.
                  • If the value is 'LABELS_ONLY', merged (all shipping labels only) pdf URL will be returned.
                  • If the value is 'NONE', then no merged pdf URL will be returned.

                  This is optional field and will default to LABELS_AND_DOCS.
                  Note: If the value is 'LABELS_ONLY', then the returned merged pdf label will not be in the Base64 encoded format. + */ + public function __construct( + public RequestedShipment $requestedShipment, + public ShipperAccountNumber $accountNumber, + public string $labelResponseOptions, + public ?string $shipAction = null, + public ?string $mergeLabelDocOption = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/FullSchemaVerifyShipment.php b/src/Api/ShipDGHazmatV1/Dto/FullSchemaVerifyShipment.php new file mode 100644 index 00000000..8de119ed --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/FullSchemaVerifyShipment.php @@ -0,0 +1,25 @@ + HazardousCommodityInnerReceptacleDetail::class]; + + /** + * @param ?HazardousCommodityQuantityDetail $quantity Provides Hazardous Commodity Quantity Detail + * @param HazardousCommodityInnerReceptacleDetail[]|null $innerReceptacles + * @param ?HazardousCommodityOptionDetail $options Provides details of Hazardous Commodity Option Detail + * @param ?HazardousCommodityDescription $description RequiredDetails of HazardousCommodityDescription + */ + public function __construct( + public ?HazardousCommodityQuantityDetail $quantity = null, + public ?array $innerReceptacles = null, + public ?HazardousCommodityOptionDetail $options = null, + public ?HazardousCommodityDescription $description = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/HazardousCommodityDescription.php b/src/Api/ShipDGHazmatV1/Dto/HazardousCommodityDescription.php new file mode 100644 index 00000000..e07239c1 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/HazardousCommodityDescription.php @@ -0,0 +1,49 @@ +Example: 9812 + * @param ?string[] $processingOptions Indicates any special processing options to be applied to the description of the dangerous goods commodity + * @param ?string[] $subsidiaryClasses Required + * + * Provides list of subsidiary classes
                  Example: ["Subsidiary Classes"] + * @param ?string $labelText Specifies the text for the label
                  Example: labelText' + * @param ?string $technicalName 'The element specifies the technical name for the hazardous material
                  Example: technicalName' + * @param ?HazardousCommodityPackingDetail $packingDetails Specifies documentation and limits for validation of an individual packing group/category. DG Data Upload Mode: Required (IATA), Optional (Other), DG Full Validation Mode: Required (IATA), Optional (Other), + * @param ?string $authorization Authorization
                  Example: authorization + * @param ?float $percentage Percentage
                  Example: 12.45 + * @param ?string $id ID
                  Example: 123 + * @param ?string $properShippingName The proper shipping name as defined by the regulation. The name can also include qualifying words
                  Example: properShippingName + * @param ?string $hazardClass 'Specifies the hazard class for the commodity
                  Example: hazard Class' + */ + public function __construct( + public bool $reportableQuantity, + public string $packingGroup, + public ?int $sequenceNumber = null, + public ?array $processingOptions = null, + public ?array $subsidiaryClasses = null, + public ?string $labelText = null, + public ?string $technicalName = null, + public ?HazardousCommodityPackingDetail $packingDetails = null, + public ?string $authorization = null, + public ?float $percentage = null, + public ?string $id = null, + public ?string $properShippingName = null, + public ?string $hazardClass = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/HazardousCommodityInnerReceptacleDetail.php b/src/Api/ShipDGHazmatV1/Dto/HazardousCommodityInnerReceptacleDetail.php new file mode 100644 index 00000000..f1659061 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/HazardousCommodityInnerReceptacleDetail.php @@ -0,0 +1,23 @@ +Example:Customer Supplied Label Text' + */ + public function __construct( + public ?string $labelTextOption = null, + public ?string $customerSuppliedLabelText = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/HazardousCommodityPackagingDetail.php b/src/Api/ShipDGHazmatV1/Dto/HazardousCommodityPackagingDetail.php new file mode 100644 index 00000000..6a74f06d --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/HazardousCommodityPackagingDetail.php @@ -0,0 +1,25 @@ +Example: packing Instructions + */ + public function __construct( + public bool $cargoAircraftOnly, + public ?string $packingInstructions = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/HazardousCommodityQuantityDetail.php b/src/Api/ShipDGHazmatV1/Dto/HazardousCommodityQuantityDetail.php new file mode 100644 index 00000000..64b41daf --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/HazardousCommodityQuantityDetail.php @@ -0,0 +1,27 @@ +Example: 34.56 + * @param ?string $units specifies the units
                  Example: Kg + */ + public function __construct( + public string $quantityType, + public float $amount, + public ?string $units = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/HoldAtLocationDetail.php b/src/Api/ShipDGHazmatV1/Dto/HoldAtLocationDetail.php new file mode 100644 index 00000000..d6a7fc41 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/HoldAtLocationDetail.php @@ -0,0 +1,27 @@ + Example: FEDEX_ONSITE + * @param ?string $locationId Location identification for facilities identified by an alphanumeric location code.
                  Example: YBZA + */ + public function __construct( + public ContactAndAddress $locationContactAndAddress, + public string $locationType, + public ?string $locationId = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/HomeDeliveryPremiumDetail.php b/src/Api/ShipDGHazmatV1/Dto/HomeDeliveryPremiumDetail.php new file mode 100644 index 00000000..b779005a --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/HomeDeliveryPremiumDetail.php @@ -0,0 +1,27 @@ +Identifies the date and time the package is tendered to FedEx. Both the date and time portions of the string are expected to be used. The date should not be a past date or a date more than 10 days in the future. The time is the local time of the shipment based on the shipper's time zone.
                  Format YYYY-MM-DDTHH:MM:SS-xx:xx. example: 2019-06-26T17:00:00Z. + * @param ?string $homedeliveryPremiumType Home Delivery Premium Type. Allows the user to specify additional premimum service options for their home delivery shipment. Customer can specify Evening delivery or a Date certain, or can specify they would like to make an appointment for the delivery. + */ + public function __construct( + public ?PhoneNumber $phoneNumber = null, + public ?string $deliveryDate = null, + public ?string $homedeliveryPremiumType = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/InternationalControlledExportDetail.php b/src/Api/ShipDGHazmatV1/Dto/InternationalControlledExportDetail.php new file mode 100644 index 00000000..afa3fe05 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/InternationalControlledExportDetail.php @@ -0,0 +1,31 @@ +Format YYYY-MM-DD
                  Example: "2019-12-03" + * @param ?string $licenseOrPermitNumber Indicates the licenseOrPermitNumber.
                  Example: 11 + * @param ?string $entryNumber Indicates the entry number.
                  Example: 125 + * @param ?string $foreignTradeZoneCode Indicates the ForeignTradeZoneCode.
                  Example: US + */ + public function __construct( + public string $type, + public ?string $licenseOrPermitExpirationDate = null, + public ?string $licenseOrPermitNumber = null, + public ?string $entryNumber = null, + public ?string $foreignTradeZoneCode = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/InternationalTrafficInArmsRegulationsDetail.php b/src/Api/ShipDGHazmatV1/Dto/InternationalTrafficInArmsRegulationsDetail.php new file mode 100644 index 00000000..10c33ef2 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/InternationalTrafficInArmsRegulationsDetail.php @@ -0,0 +1,23 @@ +Example: 9871234 + */ + public function __construct( + public string $licenseOrExemptionNumber, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/JustContactAndAddress.php b/src/Api/ShipDGHazmatV1/Dto/JustContactAndAddress.php new file mode 100644 index 00000000..a3c0f8f8 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/JustContactAndAddress.php @@ -0,0 +1,25 @@ + Alert::class]; + + /** + * @param ?string $contentKey The content key for the document/label.
                  Example: content key + * @param ?int $copiesToPrint The number of copies to print for the specific document type
                  Example: 10 + * @param ?string $contentType Indicates the type of document/label. + * @param ?string $trackingNumber This is a tracking number associted with this package.
                  Example: 49XXX0000XXX20032835 + * @param ?string $docType The description of the document type.
                  Example: PDF + * @param Alert[]|null $alerts + * @param ?string $encodedLabel Indicates document is encoded.
                  Example: encoded label + * @param ?string $url The URL of the shipping document/label
                  Example: https://wwwdev.idev.fedex.com/document/v2/document/retrieve/SH,794816968200_Merge/isLabel=true&autoPrint=false + * @param ?string $barcodeLabelData This is a unique identifier for generating QR code. + */ + public function __construct( + public ?string $contentKey = null, + public ?int $copiesToPrint = null, + public ?string $contentType = null, + public ?string $trackingNumber = null, + public ?string $docType = null, + public ?array $alerts = null, + public ?string $encodedLabel = null, + public ?string $url = null, + public ?string $barcodeLabelData = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/LabelSpecification.php b/src/Api/ShipDGHazmatV1/Dto/LabelSpecification.php new file mode 100644 index 00000000..d31b4861 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/LabelSpecification.php @@ -0,0 +1,41 @@ +Format [YYYY-MM-DD]
                  Example: 2019-08-09 + * @param ?string $expirationDate Specifies Expiration Date.
                  Format [YYYY-MM-DD]
                  Example: 2019-04-09 + */ + public function __construct( + public ?string $number = null, + public ?string $effectiveDate = null, + public ?string $expirationDate = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/Locale.php b/src/Api/ShipDGHazmatV1/Dto/Locale.php new file mode 100644 index 00000000..e6df8c51 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/Locale.php @@ -0,0 +1,25 @@ +Example: US + * @param ?string $language Specifies the Language code.
                  Example: en + */ + public function __construct( + public ?string $country = null, + public ?string $language = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/MasterLabelResponse.php b/src/Api/ShipDGHazmatV1/Dto/MasterLabelResponse.php new file mode 100644 index 00000000..e9626883 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/MasterLabelResponse.php @@ -0,0 +1,23 @@ +Example: 794953540156 + */ + public function __construct( + public ?string $returnTrackingNumber = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/Message.php b/src/Api/ShipDGHazmatV1/Dto/Message.php new file mode 100644 index 00000000..41ab91b5 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/Message.php @@ -0,0 +1,31 @@ + MessageParameter::class]; + + /** + * @param ?string $code Specifies the message code for the tag created.
                  Example: code + * @param ?string $text Specifies the text message for the tag created.
                  Example: Text + * @param MessageParameter[]|null $parameters Specifies the message parameters list. + * @param ?string $localizedText Specifies the message ID and value.
                  Example: localizedText + */ + public function __construct( + public ?string $code = null, + public ?string $text = null, + public ?array $parameters = null, + public ?string $localizedText = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/MessageParameter.php b/src/Api/ShipDGHazmatV1/Dto/MessageParameter.php new file mode 100644 index 00000000..19f7c9c7 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/MessageParameter.php @@ -0,0 +1,25 @@ +Example: message ID + * @param ?string $value Message parameter value of the code.
                  Example: value + */ + public function __construct( + public ?string $id = null, + public ?string $value = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/Money.php b/src/Api/ShipDGHazmatV1/Dto/Money.php new file mode 100644 index 00000000..a55dde7f --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/Money.php @@ -0,0 +1,25 @@ +Max limit: 7 digits before decimal.
                  Example: 12.45 + * @param ?string $currency This is the currency of the commodity value used for Customs declaration.
                  Example: USD
                  Click here to see Currency Codes + */ + public function __construct( + public ?float $amount = null, + public ?string $currency = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/NetExplosiveDetail.php b/src/Api/ShipDGHazmatV1/Dto/NetExplosiveDetail.php new file mode 100644 index 00000000..8bc8f5a9 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/NetExplosiveDetail.php @@ -0,0 +1,27 @@ +Example: 10.0 + * @param ?string $units Specifies Net Explosive units.
                  Example: units + * @param ?string $type Specifies Net Explosive Classification type.
                  Example: NET_EXPLOSIVE_WEIGHT + */ + public function __construct( + public ?float $amount = null, + public ?string $units = null, + public ?string $type = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/Op900detail.php b/src/Api/ShipDGHazmatV1/Dto/Op900detail.php new file mode 100644 index 00000000..9f1af8a5 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/Op900detail.php @@ -0,0 +1,29 @@ + CustomerImageUsage::class]; + + /** + * @param CustomerImageUsage[]|null $customerImageUsages Specifies the usage and identification of customer supplied imagesto be used on this document + * @param ?string $signatureName >Data field to be used when a name is to be printed in the document instead of (or in addition to) a signature image.
                  Example: Signature Name + * @param ?ShippingDocumentFormat $documentFormat Shipping Document Format, allow ImageType of PDF and StockType of OP_900_LL or ImageType of Text and StockType of OP_900_LL_B. Other elements are optional + */ + public function __construct( + public ?array $customerImageUsages = null, + public ?string $signatureName = null, + public ?ShippingDocumentFormat $documentFormat = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/OperationalInstructions.php b/src/Api/ShipDGHazmatV1/Dto/OperationalInstructions.php new file mode 100644 index 00000000..d5d304af --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/OperationalInstructions.php @@ -0,0 +1,25 @@ +Example: 17 + * @param ?string $content Specifies the content.
                  Example: content + */ + public function __construct( + public ?int $number = null, + public ?string $content = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/PackageBarcodes.php b/src/Api/ShipDGHazmatV1/Dto/PackageBarcodes.php new file mode 100644 index 00000000..242416ed --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/PackageBarcodes.php @@ -0,0 +1,30 @@ + BinaryBarcode::class, + 'stringBarcodes' => StringBarcode::class, + ]; + + /** + * @param BinaryBarcode[]|null $binaryBarcodes + * @param StringBarcode[]|null $stringBarcodes + */ + public function __construct( + public ?array $binaryBarcodes = null, + public ?array $stringBarcodes = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/PackageCodDetail.php b/src/Api/ShipDGHazmatV1/Dto/PackageCodDetail.php new file mode 100644 index 00000000..55bc52b9 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/PackageCodDetail.php @@ -0,0 +1,23 @@ + OperationalInstructions::class]; + + /** + * @param ?string $astraHandlingText Human-readable text for pre-January 2011 clients.
                  Example: astraHandlingText + * @param ?PackageBarcodes $barcodes Each instance of this data type represents the set of barcodes (of all types) which are associated with a specific package. + * @param OperationalInstructions[]|null $operationalInstructions + */ + public function __construct( + public ?string $astraHandlingText = null, + public ?PackageBarcodes $barcodes = null, + public ?array $operationalInstructions = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/PackageRateDetail.php b/src/Api/ShipDGHazmatV1/Dto/PackageRateDetail.php new file mode 100644 index 00000000..48b45597 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/PackageRateDetail.php @@ -0,0 +1,51 @@ + Surcharge::class]; + + /** + * @param ?string $ratedWeightMethod Indicates which weight was used in calculating this rate, such as actual weight or dimensional weight.
                  Example: DIM + * @param ?float $totalFreightDiscounts The sum of all discounts on this package.
                  Example: 44.55 + * @param ?float $totalTaxes The sum of all taxes on this package.
                  Example: 3.45 + * @param ?string $minimumChargeType Indicates the type for minumum charges. INTERNAL FEDEX USE ONLY.
                  Example: minimumChargeType + * @param ?float $baseCharge The transportation charge only (prior to any discounts applied) for this package.
                  Example: 45.67 + * @param ?float $totalRebates Specifies Total Rebates on this package.
                  Example: 4.56 + * @param ?string $rateType Type used for this specific set of rate data.
                  Example: PAYOR_RETAIL_PACKAGE + * @param ?Weight $billingWeight These are the package weight details. + * @param ?float $netFreight This is base charge minus total freight discounts for a package.
                  Example: 4.89 + * @param Surcharge[]|null $surcharges Placeholder for all surcharges on this package. + * @param ?float $totalSurcharges The sum of all surcharges on this package.
                  Example: 22.56 + * @param ?float $netFedExCharge This is sum of net freight and total surcharges (not including totalTaxes) for this package..
                  Example: 12.56 + * @param ?float $netCharge This is the sum of net freight, total surcharges and total taxes for a package.
                  Example: 121.56 + * @param ?string $currency Example: USD
                  Click here to see Currency Codes + */ + public function __construct( + public ?string $ratedWeightMethod = null, + public ?float $totalFreightDiscounts = null, + public ?float $totalTaxes = null, + public ?string $minimumChargeType = null, + public ?float $baseCharge = null, + public ?float $totalRebates = null, + public ?string $rateType = null, + public ?Weight $billingWeight = null, + public ?float $netFreight = null, + public ?array $surcharges = null, + public ?float $totalSurcharges = null, + public ?float $netFedExCharge = null, + public ?float $netCharge = null, + public ?string $currency = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/PackageRating.php b/src/Api/ShipDGHazmatV1/Dto/PackageRating.php new file mode 100644 index 00000000..f6091e58 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/PackageRating.php @@ -0,0 +1,29 @@ + PackageRateDetail::class]; + + /** + * @param ?float $effectiveNetDiscount This is the difference between the list and account net charge.
                  Example: 0.0 + * @param ?string $actualRateType This rate type identifies which entry in the following array is considered as presenting the actual rates for the package.
                  Example: PAYOR_ACCOUNT_PACKAGE + * @param PackageRateDetail[]|null $packageRateDetails + */ + public function __construct( + public ?float $effectiveNetDiscount = null, + public ?string $actualRateType = null, + public ?array $packageRateDetails = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/PackageSpecialServicesRequested.php b/src/Api/ShipDGHazmatV1/Dto/PackageSpecialServicesRequested.php new file mode 100644 index 00000000..a1144a32 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/PackageSpecialServicesRequested.php @@ -0,0 +1,52 @@ + 'packageCODDetail']; + + protected static array $complexArrayTypes = [ + 'batteryDetails' => BatteryDetail::class, + 'standaloneBatteryDetails' => StandaloneBatteryDetails::class, + ]; + + /** + * @param ?string[] $specialServiceTypes The list of all special services requested for the package.
                  Click here to see Package level Special Service Types + * @param ?PriorityAlertDetail $priorityAlertDetail specifies the Priority Alert Detail. + * @param ?string $signatureOptionType Signature Option Type
                  ADULT - Adult signature required, at recipient's address.
                  DIRECT - Signature required, at recipient's address.
                  INDIRECT - Signature required, alternate address is accepted.
                  NO_SIGNATURE_REQUIRED - Signature is not required.
                  SERVICE_DEFAULT - Signature handled as per current Service Guide. + * @param ?SignatureOptionDetail $signatureOptionDetail Required for SignatureOptions. Specifies the SignatureOptionDetail + * @param ?AlcoholDetail $alcoholDetail Specifies details for a package containing alcohol. Required for alcohol special service. The alcoholRecipientType is required. + * @param ?DangerousGoodsDetail $dangerousGoodsDetail Provides the details on the dangerous goods + * @param ?PackageCodDetail $packageCodDetail Conditional + * + * COD main information is set in shipment level. + * @param ?int $pieceCountVerificationBoxCount Piece Count Verification Box Count + * @param BatteryDetail[]|null $batteryDetails Provides details about the batteries or cells that are contained within this specific package. + * @param ?Weight $dryIceWeight These are the package weight details. + * @param StandaloneBatteryDetails[]|null $standaloneBatteryDetails Provide details about the batteries or cells that are contained within this specific package. + */ + public function __construct( + public ?array $specialServiceTypes = null, + public ?PriorityAlertDetail $priorityAlertDetail = null, + public ?string $signatureOptionType = null, + public ?SignatureOptionDetail $signatureOptionDetail = null, + public ?AlcoholDetail $alcoholDetail = null, + public ?DangerousGoodsDetail $dangerousGoodsDetail = null, + public ?PackageCodDetail $packageCodDetail = null, + public ?int $pieceCountVerificationBoxCount = null, + public ?array $batteryDetails = null, + public ?Weight $dryIceWeight = null, + public ?array $standaloneBatteryDetails = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/Parameter.php b/src/Api/ShipDGHazmatV1/Dto/Parameter.php new file mode 100644 index 00000000..df78a538 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/Parameter.php @@ -0,0 +1,25 @@ + TaxpayerIdentification::class]; + + /** + * @param ?PartyAddress $address This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US). + * @param ?PartyContact $contact Indicate the contact details for this shipment. + * @param ?PartyAccountNumber $accountNumber The account number of the recipient. + * @param TaxpayerIdentification[]|null $tins Used for adding the tax id + * @param ?string $deliveryInstructions Specify the delivery instructions to be added with the shipment. Use with Ground Home Delivery.
                  Example: Delivery Instructions + */ + public function __construct( + public ?PartyAddress $address = null, + public ?PartyContact $contact = null, + public ?PartyAccountNumber $accountNumber = null, + public ?array $tins = null, + public ?string $deliveryInstructions = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/Party2.php b/src/Api/ShipDGHazmatV1/Dto/Party2.php new file mode 100644 index 00000000..17ed484d --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/Party2.php @@ -0,0 +1,34 @@ + TaxpayerIdentification::class]; + + /** + * @param ?Address $address Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of "address parts" which should be handled as a unit (such as a city-state-ZIP combination within the US). + * @param ?Contact $contact Indicate the contact details of the shipper.. + * @param ?PartyAccountNumber $accountNumber The account number of the recipient. + * @param TaxpayerIdentification[]|null $tins Optional + * Used for adding the tax id + * @param ?string $deliveryInstructions Specify the delivery instructions to be added with the shipment. Use with Ground Home Delivery.
                  Example: Delivery Instructions + */ + public function __construct( + public ?Address $address = null, + public ?Contact $contact = null, + public ?PartyAccountNumber $accountNumber = null, + public ?array $tins = null, + public ?string $deliveryInstructions = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/PartyAccountNumber.php b/src/Api/ShipDGHazmatV1/Dto/PartyAccountNumber.php new file mode 100644 index 00000000..3415d4f5 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/PartyAccountNumber.php @@ -0,0 +1,23 @@ + The account number value.
                  Value is required if the paymentType is RECIPIENT, THIRD_PARTY or COLLECT.
                  Max Length is 9.
                  Example: 123456789 + */ + public function __construct( + public ?string $value = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/PartyAddress.php b/src/Api/ShipDGHazmatV1/Dto/PartyAddress.php new file mode 100644 index 00000000..32ee459d --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/PartyAddress.php @@ -0,0 +1,33 @@ +Example: [1550 Union Blvd,Suite 302] + * @param string $city The name of city, town of the recipient.Max length is 35.
                  Example: Beverly Hills + * @param string $stateOrProvinceCode The US State and Canada Province codes of the recipient. The Format and presence of this field may vary depending on the country.
                  Example: CA + * @param string $postalCode The US State and Canada Province codes. The Format and presence of this field may vary depending on the country.
                  Example: 90210 + * @param string $countryCode The two-letter code used to identify a country. Max length is 2.
                  Example: US + * @param ?bool $residential Indicates whether this address is residential (as opposed to commercial).
                  Example: false + */ + public function __construct( + public array $streetLines, + public string $city, + public string $stateOrProvinceCode, + public string $postalCode, + public string $countryCode, + public ?bool $residential = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/PartyContact.php b/src/Api/ShipDGHazmatV1/Dto/PartyContact.php new file mode 100644 index 00000000..707da3c6 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/PartyContact.php @@ -0,0 +1,31 @@ +Minimum length is 10 and supports maximum of 15 for certain countries using longer phone numbers.
                  Note: For US and CA, a phone number must have exactly 10 digits, plus an optional leading country code of '1' or '+1'.
                  Example: 918xxxxx890 + * @param ?string $personName Identifies the contact person's name. Max Length is 70.
                  Example: John Taylor + * @param ?string $emailAddress Shipper's email address. Max length is 80.
                  Example: sample@company.com + * @param ?string $phoneExtension The shipper's phone extension. Max length is 6.
                  Example: 91 + * @param ?string $companyName The shipper's company name. Max length is 35.
                  Example: FedEx + */ + public function __construct( + public string $phoneNumber, + public ?string $personName = null, + public ?string $emailAddress = null, + public ?string $phoneExtension = null, + public ?string $companyName = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/Payment.php b/src/Api/ShipDGHazmatV1/Dto/Payment.php new file mode 100644 index 00000000..1c0f20e7 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/Payment.php @@ -0,0 +1,25 @@ +Note: This is required for Express, Ground and SmartPost shipments.
                  The payment type COLLECT is applicable only for Ground shipments. + * @param ?Payor $payor Information about the person who is paying for the shipment.
                  Payor is mandatory when the paymentType is RECIPIENT, THIRD_PARTY or COLLECT. + */ + public function __construct( + public string $paymentType, + public ?Payor $payor = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/Payment2.php b/src/Api/ShipDGHazmatV1/Dto/Payment2.php new file mode 100644 index 00000000..64dc966a --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/Payment2.php @@ -0,0 +1,28 @@ + PendingShipmentAccessorDetail::class]; + + /** + * @param PendingShipmentAccessorDetail[]|null $accessorDetails + */ + public function __construct( + public ?array $accessorDetails = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/PendingShipmentAccessorDetail.php b/src/Api/ShipDGHazmatV1/Dto/PendingShipmentAccessorDetail.php new file mode 100644 index 00000000..c4c1b7d2 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/PendingShipmentAccessorDetail.php @@ -0,0 +1,29 @@ +Example: password + * @param ?string $role Specifies the accessor role.
                  Example: role + * @param ?string $emailLabelUrl Specifies the URL for the email label.
                  Example: emailLabelUrl + * @param ?string $userId Specifies the accessor User ID
                  Example: userId + */ + public function __construct( + public ?string $password = null, + public ?string $role = null, + public ?string $emailLabelUrl = null, + public ?string $userId = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/PendingShipmentDetail.php b/src/Api/ShipDGHazmatV1/Dto/PendingShipmentDetail.php new file mode 100644 index 00000000..45f6272c --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/PendingShipmentDetail.php @@ -0,0 +1,37 @@ + UploadDocumentReferenceDetail::class]; + + /** + * @param string $pendingShipmentType Specifies the pending shipment type. Must include the value: EMAIL for email return shipments.
                  Not applicable for other types of shipments + * @param EmailLabelDetail $emailLabelDetail Required with PendingShipmentType = 'EMAIL'.
                  Not applicable for CreateTag.
                  Describes specific information about the pending email label. + * @param ?PendingShipmentProcessingOptionsRequested $processingOptions Allows the Email Label shipment originator to specify if the Email label shipment completer can make modifications to editable shipment data. + * @param ?RecommendedDocumentSpecification $recommendedDocumentSpecification These are documents that are recommended to be included with the shipment. + * @param UploadDocumentReferenceDetail[]|null $attachedDocuments Attached document details provided by the initator of the shipment, Document ID and Document Type + * @param ?string $expirationTimeStamp Specifies the Email Label expiration date. The maximum expiration date for an Email Return Label must be greater of equal to the day of the label request and not greater than 2 years in the future.
                  Example: 2020-01-01 + * @param ?ShipmentDryIceDetail $shipmentDryIceDetail This is the descriptive data required for a FedEx shipment containing dangerous materials. This element is required when SpecialServiceType DRY_ICE is selected.

                  Note:

                  • Dry Ice is a Package level Special Service for Domestic and International shipments.
                  • Dry Ice must be declared at both Shipment and Package level for International MPS shipments to print the compliance statement on Airway Bill labels.

                  + */ + public function __construct( + public string $pendingShipmentType, + public EmailLabelDetail $emailLabelDetail, + public ?PendingShipmentProcessingOptionsRequested $processingOptions = null, + public ?RecommendedDocumentSpecification $recommendedDocumentSpecification = null, + public ?array $attachedDocuments = null, + public ?string $expirationTimeStamp = null, + public ?ShipmentDryIceDetail $shipmentDryIceDetail = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/PendingShipmentProcessingOptionsRequested.php b/src/Api/ShipDGHazmatV1/Dto/PendingShipmentProcessingOptionsRequested.php new file mode 100644 index 00000000..aede51e0 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/PendingShipmentProcessingOptionsRequested.php @@ -0,0 +1,23 @@ +Example: US
                  Click here to see Country Codes + * @param ?string $personalIdentificationNumber Identifies a Personal Identification Number + */ + public function __construct( + public ?string $areaCode = null, + public ?string $localNumber = null, + public ?string $extension = null, + public ?string $countryCode = null, + public ?string $personalIdentificationNumber = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/PieceResponse.php b/src/Api/ShipDGHazmatV1/Dto/PieceResponse.php new file mode 100644 index 00000000..4f5fab22 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/PieceResponse.php @@ -0,0 +1,65 @@ + TransactionDetailVo::class, + 'packageDocuments' => LabelResponseVo::class, + 'customerReferences' => CustomerReference::class, + ]; + + /** + * @param ?float $netChargeAmount Indicates Net charge amount.
                  Example: 21.45 + * @param TransactionDetailVo[]|null $transactionDetails Includes descriptive data that governs data payload language/translations. The TransactionDetail from the request is echoed back to the caller in the corresponding reply. + * @param LabelResponseVo[]|null $packageDocuments Placeholder for package documents. + * @param ?string $acceptanceTrackingNumber Indicates the acceptance tracking number.
                  Example: 794953535000 + * @param ?string $serviceCategory Indicates the service category. + * @param ?string $listCustomerTotalCharge Indicates total charges applicable to the customer.
                  Example: listCustomerTotalCharge + * @param ?string $deliveryTimestamp Indicates delivery date with timestamp.
                  Example: 2012-09-23 + * @param ?string $trackingIdType Indicates the type of the tracking identifier.
                  Example: FEDEX + * @param ?float $additionalChargesDiscount These are additional charges or discounts.
                  Example: 621.45 + * @param ?float $netListRateAmount Returns the List rate amount.
                  Example: 1.45 + * @param ?float $baseRateAmount Returns the base rate amount.
                  Example: 321.45 + * @param ?int $packageSequenceNumber Indicates package sequence number.
                  Example: 215 + * @param ?float $netDiscountAmount Returns the net discount amount.
                  Example: 121.45 + * @param ?float $codcollectionAmount Returns the Collect on Delivery charges.
                  Example: 231.45 + * @param ?string $masterTrackingNumber This is a master tracking number for the shipment (must be unique for stand-alone open shipments, or unique within consolidation if consolidation key is provided).
                  Example: 794953535000 + * @param ?string $acceptanceType Indicates acceptance type.
                  Example: acceptanceType + * @param ?string $trackingNumber This is a tracking number associted with this package.
                  Example: 49XXX0000XXX20032835 + * @param ?bool $successful Specifies if the response is successful.
                  Example: true + * @param CustomerReference[]|null $customerReferences Additional customer reference data + */ + public function __construct( + public ?float $netChargeAmount = null, + public ?array $transactionDetails = null, + public ?array $packageDocuments = null, + public ?string $acceptanceTrackingNumber = null, + public ?string $serviceCategory = null, + public ?string $listCustomerTotalCharge = null, + public ?string $deliveryTimestamp = null, + public ?string $trackingIdType = null, + public ?float $additionalChargesDiscount = null, + public ?float $netListRateAmount = null, + public ?float $baseRateAmount = null, + public ?int $packageSequenceNumber = null, + public ?float $netDiscountAmount = null, + public ?float $codcollectionAmount = null, + public ?string $masterTrackingNumber = null, + public ?string $acceptanceType = null, + public ?string $trackingNumber = null, + public ?bool $successful = null, + public ?array $customerReferences = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/PriorityAlertDetail.php b/src/Api/ShipDGHazmatV1/Dto/PriorityAlertDetail.php new file mode 100644 index 00000000..48ad53e5 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/PriorityAlertDetail.php @@ -0,0 +1,25 @@ +Example: PRIORITY_ALERT_PLUS + * @param ?string[] $content Specifies Content for the Priority Alert Detail. + */ + public function __construct( + public ?array $enhancementTypes = null, + public ?array $content = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/ProducerParty.php b/src/Api/ShipDGHazmatV1/Dto/ProducerParty.php new file mode 100644 index 00000000..70b0824e --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/ProducerParty.php @@ -0,0 +1,31 @@ + TaxpayerIdentification::class]; + + /** + * @param PartyAddress $address This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US). + * @param PartyContact $contact Indicate the contact details for this shipment. + * @param ?PartyAccountNumber $accountNumber The account number of the recipient. + * @param TaxpayerIdentification[]|null $tins Tax identification number of the shipper. + */ + public function __construct( + public PartyAddress $address, + public PartyContact $contact, + public ?PartyAccountNumber $accountNumber = null, + public ?array $tins = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/ProductName.php b/src/Api/ShipDGHazmatV1/Dto/ProductName.php new file mode 100644 index 00000000..df823f45 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/ProductName.php @@ -0,0 +1,27 @@ +Example: long + * @param ?string $encoding The character encoding used to represent this product name.
                  Example: UTF-8 + * @param ?string $value Specifies the value of the Product.
                  Example: F-2 + */ + public function __construct( + public ?string $type = null, + public ?string $encoding = null, + public ?string $value = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/RateDiscount.php b/src/Api/ShipDGHazmatV1/Dto/RateDiscount.php new file mode 100644 index 00000000..60980b20 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/RateDiscount.php @@ -0,0 +1,29 @@ +Example 8.9 + * @param ?string $rateDiscountType The type of rate discount.
                  Valid Values are BONUS, COUPON,EARNED,OTHER,VOLUME.
                  Example COUPON + * @param ?float $percent Specifies the percentage of Rate discount.
                  Example 28.9 + * @param ?string $description Specifies the description of the discounted rate.
                  Example: description + */ + public function __construct( + public ?float $amount = null, + public ?string $rateDiscountType = null, + public ?float $percent = null, + public ?string $description = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/RecipientCustomsId.php b/src/Api/ShipDGHazmatV1/Dto/RecipientCustomsId.php new file mode 100644 index 00000000..3a430d5f --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/RecipientCustomsId.php @@ -0,0 +1,25 @@ + TaxpayerIdentification::class]; + + /** + * @param PartyAddress $address This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US). + * @param PartyContact $contact Indicate the contact details for this shipment. + * @param TaxpayerIdentification[]|null $tins Used for adding the tax id + * @param ?string $deliveryInstructions Specifies the delivery instructions to be added with the shipment. Specifically used by Ground Home Delivery
                  Example: Delivery Instructions + */ + public function __construct( + public PartyAddress $address, + public PartyContact $contact, + public ?array $tins = null, + public ?string $deliveryInstructions = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/RecommendedDocumentSpecification.php b/src/Api/ShipDGHazmatV1/Dto/RecommendedDocumentSpecification.php new file mode 100644 index 00000000..2651162c --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/RecommendedDocumentSpecification.php @@ -0,0 +1,23 @@ + CommodityClarificationDetail::class, + 'prohibitions' => RegulatoryProhibition::class, + ]; + + /** + * @param CommodityClarificationDetail[]|null $commodityClarifications This specifies the Commodity clarifications. + * @param RegulatoryProhibition[]|null $prohibitions This indicates the Regulatory probitions. + */ + public function __construct( + public ?array $commodityClarifications = null, + public ?array $prohibitions = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/RegulatoryLabelContentDetail.php b/src/Api/ShipDGHazmatV1/Dto/RegulatoryLabelContentDetail.php new file mode 100644 index 00000000..b16f614f --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/RegulatoryLabelContentDetail.php @@ -0,0 +1,25 @@ +Example: 01 + * @param ?Message $advisory advisory + * @param ?int $commodityIndex commodity index value
                  Example: 12 + * @param ?string $source source
                  Example: source + * @param ?string[] $categories categories
                  Example: [categories] + * @param ?string $type type
                  Example: type + * @param ?RegulatoryWaiver $waiver Response structure for RegulatoryWaiver object + * @param ?string $status status
                  Example: status + */ + public function __construct( + public ?string $derivedHarmonizedCode = null, + public ?Message $advisory = null, + public ?int $commodityIndex = null, + public ?string $source = null, + public ?array $categories = null, + public ?string $type = null, + public ?RegulatoryWaiver $waiver = null, + public ?string $status = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/RegulatoryWaiver.php b/src/Api/ShipDGHazmatV1/Dto/RegulatoryWaiver.php new file mode 100644 index 00000000..bae3af95 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/RegulatoryWaiver.php @@ -0,0 +1,29 @@ + Message::class]; + + /** + * @param Message[]|null $advisories advisories list + * @param ?string $description description
                  Example: description + * @param ?string $id id
                  Example: id + */ + public function __construct( + public ?array $advisories = null, + public ?string $description = null, + public ?string $id = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/RequestedPackageLineItem.php b/src/Api/ShipDGHazmatV1/Dto/RequestedPackageLineItem.php new file mode 100644 index 00000000..8e1c3baf --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/RequestedPackageLineItem.php @@ -0,0 +1,50 @@ + CustomerReference::class, + 'contentRecord' => ContentRecord::class, + ]; + + /** + * @param Weight $weight These are the package weight details. + * @param ?int $sequenceNumber Optional. Used only with individual packages as a unique identifier of each requested package. Will be adjusted at the shipment level as pieces are added. + * @param ?string $subPackagingType This is a sub package type for the package. If the value is TUBE, a non-machinable surcharge will apply to SmartPost shipments
                  Click here to see Sub Package Types + * @param CustomerReference[]|null $customerReferences This object lists the types of customer references associsted with the package along with the given values. + * @param ?Money $declaredValue This is commodity value used for Customs declaration. + * @param ?Dimensions $dimensions Conditional.
                  The dimensions of the package; length, width & height. All three dimensions must be indicated.
                  Note: Dimensions are required with YOUR_PACKAGING package type. + * @param ?int $groupPackageCount This is a package count associated with Group packages This count cannot exceed Open Ship package count.
                  Example: 25 + * @param ?string $itemDescriptionForClearance Package description used for clearance. The value is required for intra-UAE. and is optional for intra-EU. + * @param ContentRecord[]|null $contentRecord Specifies the contents of the package. + * @param ?string $itemDescription Required for Email Label return shipments.
                  This is the item description for the package.
                  Example: item description for the package + * @param ?VariableHandlingChargeDetail $variableHandlingChargeDetail Specifies details about how to calculate variable handling charges at the shipment level. They can be based on a percentage of the shipping charges or a fixed amount. If indicated, 'rateLevelType' is required. + * @param ?PackageSpecialServicesRequested $packageSpecialServices specifies the Package Special Services Requested + */ + public function __construct( + public Weight $weight, + public ?int $sequenceNumber = null, + public ?string $subPackagingType = null, + public ?array $customerReferences = null, + public ?Money $declaredValue = null, + public ?Dimensions $dimensions = null, + public ?int $groupPackageCount = null, + public ?string $itemDescriptionForClearance = null, + public ?array $contentRecord = null, + public ?string $itemDescription = null, + public ?VariableHandlingChargeDetail $variableHandlingChargeDetail = null, + public ?PackageSpecialServicesRequested $packageSpecialServices = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/RequestedShipment.php b/src/Api/ShipDGHazmatV1/Dto/RequestedShipment.php new file mode 100644 index 00000000..a9131f63 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/RequestedShipment.php @@ -0,0 +1,78 @@ + RecipientsParty::class, + 'requestedPackageLineItems' => RequestedPackageLineItem::class, + ]; + + /** + * @param string $pickupType Indicate the pickup type method by which the shipment to be tendered to FedEx.
                  Click here for more information on Pickup Types. + * @param string $serviceType Indicate the FedEx service type used for this shipment.
                  Example: STANDARD_OVERNIGHT
                  click here to see Service Types + * @param string $packagingType Specify the packaging used.
                  Note: For Express Freight shipments, the packaging will default to YOUR_PACKAGING irrespective of the user provided package type in the request.
                  Example: FEDEX_PAK
                  click here to see Package Types + * @param ShipperParty $shipper Indicate the Shipper contact details for this shipment. + * @param RecipientsParty[] $recipients Indicate the descriptive data for the recipient location to which the shipment is to be received. + * @param Payment $shippingChargesPayment Specifies the payment details specifying the method and means of payment to FedEx for providing shipping services. + * @param LabelSpecification $labelSpecification These are label specification details includes the image type, printer format, and label stock for label. Can also specify specific details such as doc-tab content, regulatory labels, and masking data on the label. + * @param RequestedPackageLineItem[] $requestedPackageLineItems These are one or more package-attribute descriptions, each of which describes an individual package, a group of identical packages, or (for the total-piece-total-weight case) common characteristics of all packages in the shipment.
                  • At least one instance containing the weight for at least one package is required for EXPRESS and GROUND shipments.
                  • Single piece requests will have one RequestedPackageLineItem.
                  • Multiple piece requests will have multiple RequestedPackageLineItems.
                  • Maximum occurrences is 30.
                  + * @param ?string $shipDatestamp This is the shipment date. Default value is current date in case the date is not provided or a past date is provided.
                  Format [YYYY-MM-DD].
                  Example: 2019-10-14 + * @param ?string $recipientLocationNumber A unique identifier for a recipient location. + * @param ?SoldToParty $soldTo Will indicate the party responsible for purchasing the goods shipped from the shipper to the recipient. The sold to party is not necessarily the recipient or the importer of record. The sold to party is relevant when the purchaser, rather than the recipient determines when certain customs regulations apply. + * @param ?float $totalWeight Indicate the shipment total weight in pounds.
                  Example: 10.6
                  Note:
                  • This only applies to International shipments and should be used on the first package of a multiple piece shipment.
                  • This value contains 1 explicit decimal position.
                  • For one Label at a time shipments, the unit of totalWeight is considered same as the unit of weight provided in requestedPackageLineItem field.
                  + * @param ?ContactAndAddress $origin Specifies the contact and address details of a location. + * @param ?ShipmentSpecialServicesRequested $shipmentSpecialServices Specify the special services requested at the shipment level. If the shipper is requesting a special service which requires additional data (such as the COD amount), the shipment special service type must be present in the specialServiceTypes collection, and the supporting detail must be provided in the appropriate sub-object below. RETURN_SHIPMENT is required for creating return shipments. + * @param ?Money $totalDeclaredValue This is commodity value used for Customs declaration. + * @param ?EMailNotificationDetail $emailNotificationDetail These are email disposition details. Provides the type and email addresses of e-mail recipients. If returnedDispositionDetail in labelSpecification is set as true then email will be send with label and documents copy. + * @param ?ExpressFreightDetail $expressFreightDetail Indicates the advance booking number, shipper load /count and packing list details. This details must be provided by the user during freight shipment. + * @param ?VariableHandlingChargeDetail $variableHandlingChargeDetail Specifies details about how to calculate variable handling charges at the shipment level. They can be based on a percentage of the shipping charges or a fixed amount. If indicated, 'rateLevelType' is required. + * @param ?CustomsClearanceDetail $customsClearanceDetail Required for International and intra-country Shipments. Information about this package that only applies to an international (export) shipment or return. + * @param ?SmartPostInfoDetail $smartPostInfoDetail Use this object to specify the smartpost shipment details. Required for SMARTPOST service. If SmartPostInfoDetail is indicated, the elements below it are also required. + * @param ?bool $blockInsightVisibility Indicate if the shipment be available to be visible/tracked using FedEx InSight® tool. If value indicated as true, only the shipper/payer will have visibility of this shipment in the FedEx InSight® tool. + * @param ?ShippingDocumentSpecification $shippingDocumentSpecification This field contains all data required for additional (non-label) shipping documents to be produced with a specific shipment. + * @param ?string[] $rateRequestType Indicate the type of rates to be returned. The account specific rates are returned by default if the account number is specified in the request.
                  Following are values:
                  • LIST - Returns FedEx published list rates in addition to account-specific rates (if applicable).
                  • INCENTIVE - This is one-time discount for incentivising the customer. For more information, contact your FedEx representative.
                  • ACCOUNT - Returns account specific rates (Default).
                  • PREFERRED - Returns rates in the preferred currency specified in the element preferredCurrency.
                  • RETAIL - Returns customer rate from one of retail FedEx service centers.
                  Examples: ["ACCOUNT", "PREFERRED"] + * @param ?string $preferredCurrency Indicate the currency the caller requests to have used in all returned monetary values. Should be Used in conjunction with the element RateRequestType.
                  Example: USD
                  click here to see available Currency codes
                  Note: Incorrect currency codes should not be supplied. The system ignores the incorrect currency code. + * @param ?int $totalPackageCount For an MPS, this is the total number of packages in the shipment.Applicable for parent shipment for one label at a time shipments.
                  Example: 25 + * @param ?TrackingId $masterTrackingId Indicates the tracking details of the package. Required for child shipments of an oneLabelAtATime shipments. + */ + public function __construct( + public string $pickupType, + public string $serviceType, + public string $packagingType, + public ShipperParty $shipper, + public array $recipients, + public Payment $shippingChargesPayment, + public LabelSpecification $labelSpecification, + public array $requestedPackageLineItems, + public ?string $shipDatestamp = null, + public ?string $recipientLocationNumber = null, + public ?SoldToParty $soldTo = null, + public ?float $totalWeight = null, + public ?ContactAndAddress $origin = null, + public ?ShipmentSpecialServicesRequested $shipmentSpecialServices = null, + public ?Money $totalDeclaredValue = null, + public ?EMailNotificationDetail $emailNotificationDetail = null, + public ?ExpressFreightDetail $expressFreightDetail = null, + public ?VariableHandlingChargeDetail $variableHandlingChargeDetail = null, + public ?CustomsClearanceDetail $customsClearanceDetail = null, + public ?SmartPostInfoDetail $smartPostInfoDetail = null, + public ?bool $blockInsightVisibility = null, + public ?ShippingDocumentSpecification $shippingDocumentSpecification = null, + public ?array $rateRequestType = null, + public ?string $preferredCurrency = null, + public ?int $totalPackageCount = null, + public ?TrackingId $masterTrackingId = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/RequestedShipmentVerify.php b/src/Api/ShipDGHazmatV1/Dto/RequestedShipmentVerify.php new file mode 100644 index 00000000..1961dafb --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/RequestedShipmentVerify.php @@ -0,0 +1,66 @@ + RecipientsParty::class, + 'requestedPackageLineItems' => RequestedPackageLineItem::class, + ]; + + /** + * @param string $pickupType Select if the shipment is to be dropped off at Fedex location or to be picked up by FedEx or if it is a scheduled pickup for this shipment.
                  Click here for more information on Pickup Types. + * @param string $serviceType Indicate the FedEx service Type used for this shipment.
                  Example: STANDARD_OVERNIGHT
                  click here to see available FedEx Service Types + * @param string $packagingType Indicate the type of packaging used for the package.
                  Note: For Express Freight shipments, the packaging will default to value YOUR_PACKAGING irrespective type provided in the request.
                  Example: FEDEX_ENVELOPE
                  click here to see Package Types + * @param ShipperParty $shipper Indicate the Shipper contact details for this shipment. + * @param RecipientsParty[] $recipients Indicate the shipment recipient details or the physical location details for the package destination. + * @param Payment $shippingChargesPayment Specifies the payment details specifying the method and means of payment to FedEx for providing shipping services. + * @param LabelSpecification $labelSpecification These are label specification details includes the image type, printer format, and label stock for label. Can also specify specific details such as doc-tab content, regulatory labels, and masking data on the label. + * @param RequestedPackageLineItem[] $requestedPackageLineItems Use this object to provide the package details.
                  Note:
                  • At least one instance containing the weight is required for EXPRESS and GROUND package.
                  • Only Single piece requests are supported henceonly one line item should be provided.
                  • Multiple piece shipment validation is not supported.
                  + * @param ?string $shipDatestamp Indicate the shipment date.
                  Format: YYYY-MM-DD
                  Note: Default value is current date in case the date is not provided in the request.
                  Example: 2021-04-06 + * @param ?int $totalWeight The total weight for the shipment should be in Kg or in Lbs. + * @param ?ContactAndAddress $origin Specifies the contact and address details of a location. + * @param ?RequestedShipmentVerifyShipmentSpecialServices $shipmentSpecialServices These special services are available at the shipment level for some or all service types.
                  If the shipper is requesting a special service which requires additional data (such as the COD amount), the shipment special service type must be present in the specialServiceTypes collection, and the supporting detail must be provided in the appropriate sub-object below.
                  RETURN_SHIPMENT is required for creating return shipments. + * @param ?EMailNotificationDetail $emailNotificationDetail These are email disposition details. Provides the type and email addresses of e-mail recipients. If returnedDispositionDetail in labelSpecification is set as true then email will be send with label and documents copy. + * @param ?VariableHandlingChargeDetail $variableHandlingChargeDetail Specifies details about how to calculate variable handling charges at the shipment level. They can be based on a percentage of the shipping charges or a fixed amount. If indicated, 'rateLevelType' is required. + * @param ?CustomsClearanceDetail $customsClearanceDetail Required for International and intra-country Shipments. Information about this package that only applies to an international (export) shipment or return. + * @param ?SmartPostInfoDetail $smartPostInfoDetail Use this object to specify the smartpost shipment details. Required for SMARTPOST service. If SmartPostInfoDetail is indicated, the elements below it are also required. + * @param ?bool $blockInsightVisibility Indicate if the shipment be available to be visible/tracked using FedEx InSight® tool. If value indicated as true, only the shipper/payer will have visibility of this shipment in the said tool. + * @param ?ShippingDocumentSpecification2 $shippingDocumentSpecification This field contains all data required for additional (non-label) shipping documents to be produced with a specific shipment. + * @param ?string[] $rateRequestType Indicate the type of rates to be returned.
                  Following are values:
                  • LIST - Returns published list rates will be returned in addition to account-specific rate (if applicable).
                  • PREFERRED - It returns rates in currency as specified in the PreferredCurrency element.
                  • ACCOUNT - Returns account specific rates. Note: The account specific rates are returned by default if the shipper account number is specified in the shipment.
                  • INCENTIVE - This is one-time discount for incentivizing the customer.
                  Examples: ["ACCOUNT", "PREFERRED"] + * @param ?string $preferredCurrency Indicate the currency the caller requests to have used in all returned monetary values. Should be Used in conjunction with the element RateRequestType.
                  Example: USD
                  click here to see available Currency codes
                  Note: Incorrect currency codes should not be supplied. The system ignores the incorrect currency code. + */ + public function __construct( + public string $pickupType, + public string $serviceType, + public string $packagingType, + public ShipperParty $shipper, + public array $recipients, + public Payment $shippingChargesPayment, + public LabelSpecification $labelSpecification, + public array $requestedPackageLineItems, + public ?string $shipDatestamp = null, + public ?int $totalWeight = null, + public ?ContactAndAddress $origin = null, + public ?RequestedShipmentVerifyShipmentSpecialServices $shipmentSpecialServices = null, + public ?EMailNotificationDetail $emailNotificationDetail = null, + public ?VariableHandlingChargeDetail $variableHandlingChargeDetail = null, + public ?CustomsClearanceDetail $customsClearanceDetail = null, + public ?SmartPostInfoDetail $smartPostInfoDetail = null, + public ?bool $blockInsightVisibility = null, + public ?ShippingDocumentSpecification2 $shippingDocumentSpecification = null, + public ?array $rateRequestType = null, + public ?string $preferredCurrency = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/RequestedShipmentVerifyShipmentSpecialServices.php b/src/Api/ShipDGHazmatV1/Dto/RequestedShipmentVerifyShipmentSpecialServices.php new file mode 100644 index 00000000..76630499 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/RequestedShipmentVerifyShipmentSpecialServices.php @@ -0,0 +1,45 @@ + 'shipmentCODDetail']; + + /** + * @param ?string[] $specialServiceTypes Indicate the Special services requested for this shipment.
                  Example:
                  • HOLD_AT_LOCATION
                  • RETURN_SHIPMENT
                  • BROKER_SELECT_OPTION
                  • CALL_BEFORE_DELIVERY
                  • COD
                  • CUSTOM_DELIVERY_WINDOW

                  click here to see Shipment Special Service Types + * @param ?EtdDetail $etdDetail Use this object to specify all information on how the electronic Trade document references used with the shipment. + * @param ?ReturnShipmentDetail $returnShipmentDetail Use this object for specifying return shipment details. + * @param ?DeliveryOnInvoiceAcceptanceDetail $deliveryOnInvoiceAcceptanceDetail Indicate the Delivery On Invoice Acceptance detail. Recipient is required for Delivery On Invoice Special service. + * @param ?InternationalTrafficInArmsRegulationsDetail $internationalTrafficInArmsRegulationsDetail These are International Traffic In Arms Regulations shipment service details. + * @param ?PendingShipmentDetail $pendingShipmentDetail Required for email label return shipments.
                  This field is not applicable for CreateTag.
                  This object is used to specify the Pending Shipment Type for Email label. + * @param ?HoldAtLocationDetail $holdAtLocationDetail Use this object to specify required information for a shipment to be held at destination FedEx location.
                  Note: This object HoldAtLocationDetail is Required, when HOLD_AT_LOCATION is chosen in the specialServiceTypes. + * @param ?ShipmentCodDetail $shipmentCodDetail Conditional
                  This is the shipment level COD detail. + * @param ?ShipmentDryIceDetail $shipmentDryIceDetail This is the descriptive data required for a FedEx shipment containing dangerous materials. This element is required when SpecialServiceType DRY_ICE is selected.

                  Note:

                  • Dry Ice is a Package level Special Service for Domestic and International shipments.
                  • Dry Ice must be declared at both Shipment and Package level for International MPS shipments to print the compliance statement on Airway Bill labels.

                  + * @param ?InternationalControlledExportDetail $internationalControlledExportDetail Use this object to specify International Controlled Export shipment Details.
                  Note: licenseOrPermitExpirationDate and licenseOrPermitNumber are not required when type is WAREHOUSE_WITHDRAWAL. + * @param ?HomeDeliveryPremiumDetail $homeDeliveryPremiumDetail Special service elements for FedEx Ground Home Delivery shipments. If selected, 'homedeliveryPremiumType' is required. + */ + public function __construct( + public ?array $specialServiceTypes = null, + public ?EtdDetail $etdDetail = null, + public ?ReturnShipmentDetail $returnShipmentDetail = null, + public ?DeliveryOnInvoiceAcceptanceDetail $deliveryOnInvoiceAcceptanceDetail = null, + public ?InternationalTrafficInArmsRegulationsDetail $internationalTrafficInArmsRegulationsDetail = null, + public ?PendingShipmentDetail $pendingShipmentDetail = null, + public ?HoldAtLocationDetail $holdAtLocationDetail = null, + public ?ShipmentCodDetail $shipmentCodDetail = null, + public ?ShipmentDryIceDetail $shipmentDryIceDetail = null, + public ?InternationalControlledExportDetail $internationalControlledExportDetail = null, + public ?HomeDeliveryPremiumDetail $homeDeliveryPremiumDetail = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/ResponsiblePartyParty.php b/src/Api/ShipDGHazmatV1/Dto/ResponsiblePartyParty.php new file mode 100644 index 00000000..6bd78f15 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/ResponsiblePartyParty.php @@ -0,0 +1,27 @@ + Example: 2019-10-01 + * @param ?string $trackingNumber This is the tracking number associated with this package.
                  Example: 49XXX0000XXX20032835 + */ + public function __construct( + public ?string $shipDatestamp = null, + public ?string $trackingNumber = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/ReturnEmailDetail.php b/src/Api/ShipDGHazmatV1/Dto/ReturnEmailDetail.php new file mode 100644 index 00000000..a4007430 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/ReturnEmailDetail.php @@ -0,0 +1,25 @@ + This is the merchant phone number.
                  Example: 19012635656 + * @param ?string[] $allowedSpecialService Identifies the allowed (merchant-authorized) special services which may be selected when the subsequent shipment is created.
                  Only services represented in EmailLabelAllowedSpecialServiceType will be controlled by this list. + */ + public function __construct( + public string $merchantPhoneNumber, + public ?array $allowedSpecialService = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/ReturnInstructionsDetail.php b/src/Api/ShipDGHazmatV1/Dto/ReturnInstructionsDetail.php new file mode 100644 index 00000000..e2abbe12 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/ReturnInstructionsDetail.php @@ -0,0 +1,25 @@ +Example: This is additional text printed on Return instr + * @param ?ReturnShippingDocumentFormat $documentFormat Shipping Document Format, allow ImageType of PDF and StockType of OP_900_LL or ImageType of Text and StockType of OP_900_LL_B. Other elements are optional + */ + public function __construct( + public ?string $customText = null, + public ?ReturnShippingDocumentFormat $documentFormat = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/ReturnMerchandiseAuthorization.php b/src/Api/ShipDGHazmatV1/Dto/ReturnMerchandiseAuthorization.php new file mode 100644 index 00000000..ebe0ffb9 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/ReturnMerchandiseAuthorization.php @@ -0,0 +1,23 @@ + Note: There is no validation for reason. Recommended length is 60 alpha-numeric characters
                  Ex. Wrong color or size. + */ + public function __construct( + public ?string $reason = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/ReturnShipmentDetail.php b/src/Api/ShipDGHazmatV1/Dto/ReturnShipmentDetail.php new file mode 100644 index 00000000..da0b1994 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/ReturnShipmentDetail.php @@ -0,0 +1,29 @@ +Valid Values : PENDING, PRINT_RETURN_LABEL + * @param ?ReturnEmailDetail $returnEmailDetail Email ID details for the return shipment. + * @param ?ReturnMerchandiseAuthorization $rma Return Merchant Authorization (RMA) for the return shipment.
                  If the RMA element is included in the request, the return reason may be entered.
                  + * @param ?ReturnAssociationDetail $returnAssociationDetail Specifies the details of an outbound shipment in order to associate the return shipment to it. + */ + public function __construct( + public string $returnType, + public ?ReturnEmailDetail $returnEmailDetail = null, + public ?ReturnMerchandiseAuthorization $rma = null, + public ?ReturnAssociationDetail $returnAssociationDetail = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/ReturnShippingDocumentFormat.php b/src/Api/ShipDGHazmatV1/Dto/ReturnShippingDocumentFormat.php new file mode 100644 index 00000000..14d4e4e9 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/ReturnShippingDocumentFormat.php @@ -0,0 +1,35 @@ + ShippingDocumentDispositionDetail::class]; + + /** + * @param ?bool $provideInstructions For those shipping document types which have both a "form" and "instructions" component (e.g General Agency Agreement), this field indicates whether to provide the instructions.
                  Example: true + * @param ?DocumentFormatOptionsRequested $optionsRequested Specifies the Document Format Options requested options + * @param ?string $stockType Specifies the label stock type. Lists the correct type of paper for the Freight address label option.Specify valid value PAPER_LETTER + * @param ShippingDocumentDispositionDetail[]|null $dispositions Specifies how to create, organize, and return the document + * @param ?Locale $locale Specifies the Locale + * @param ?string $docType Specify the image format used for a shipping document. + */ + public function __construct( + public ?bool $provideInstructions = null, + public ?DocumentFormatOptionsRequested $optionsRequested = null, + public ?string $stockType = null, + public ?array $dispositions = null, + public ?Locale $locale = null, + public ?string $docType = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/ServiceDescription.php b/src/Api/ShipDGHazmatV1/Dto/ServiceDescription.php new file mode 100644 index 00000000..b8f798e2 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/ServiceDescription.php @@ -0,0 +1,38 @@ + ProductName::class]; + + /** + * @param ?string $serviceType Indicates the type of service that is used to ship the package.
                  Example: FEDEX_1_DAY_FREIGHT
                  a onclick='loadDocReference("servicetypes")'>Click here to see Service Types + * @param ?string $code Specifies code of the Service.
                  example: 80 + * @param ProductName[]|null $names Branded, translated, and/or localized names for this service. + * @param ?string[] $operatingOrgCodes FOR FEDEX INTERNAL USE ONLY. The operating org code in a service.
                  Example: [FXE, FXE] + * @param ?string $astraDescription Specifies astra Description
                  Example: 2 DAY FRT + * @param ?string $serviceId FOR FEDEX INTERNAL USE ONLY, Designates the service ID.
                  Example: EP1000000027 + * @param ?string $serviceCategory FOR FEDEX INTERNAL USE ONLY. This is tied to the Product EFS interface definition which will currently contain the values of parcel or freight.
                  Example: freight + */ + public function __construct( + public ?string $serviceType = null, + public ?string $code = null, + public ?array $names = null, + public ?array $operatingOrgCodes = null, + public ?string $astraDescription = null, + public ?string $description = null, + public ?string $serviceId = null, + public ?string $serviceCategory = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/ShipmentAdvisoryDetails.php b/src/Api/ShipDGHazmatV1/Dto/ShipmentAdvisoryDetails.php new file mode 100644 index 00000000..88d01b77 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/ShipmentAdvisoryDetails.php @@ -0,0 +1,23 @@ + Valid values are: ADD_ACCOUNT_COD_SURCHARGE, ADD_ACCOUNT_NET_CHARGE, ADD_ACCOUNT_NET_FREIGHT, ADD_ACCOUNT_TOTAL_CUSTOMER_CHARGE, ADD_LIST_COD_SURCHARGE, ADD_LIST_NET_CHARGE, ADD_LIST_NET_FREIGHT, ADD_LIST_TOTAL_CUSTOMER_CHARGE + * @param ?string $remitToName Specify the name of the person or company receiving the secured/unsecured funds payment
                  Example: remitToName + * @param ?string $codCollectionType Identifies the type of funds FedEx should collect upon shipment delivery + * @param ?ContactAndAddress $financialInstitutionContactAndAddress Specifies the contact and address details of a location. + * @param ?Money $codCollectionAmount This is commodity value used for Customs declaration. + * @param ?string $returnReferenceIndicatorType Indicates which type of reference information to include on the COD return shipping label. + * @param ?Money $shipmentCodAmount This is commodity value used for Customs declaration. + */ + public function __construct( + public ?CodTransportationChargesDetail $addTransportationChargesDetail = null, + public ?Party $codRecipient = null, + public ?string $remitToName = null, + public ?string $codCollectionType = null, + public ?ContactAndAddress $financialInstitutionContactAndAddress = null, + public ?Money $codCollectionAmount = null, + public ?string $returnReferenceIndicatorType = null, + public ?Money $shipmentCodAmount = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/ShipmentDryIceDetail.php b/src/Api/ShipDGHazmatV1/Dto/ShipmentDryIceDetail.php new file mode 100644 index 00000000..05098b5b --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/ShipmentDryIceDetail.php @@ -0,0 +1,25 @@ +Example: 12 + */ + public function __construct( + public ?Weight $totalWeight = null, + public ?int $packageCount = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/ShipmentDryIceDetail2.php b/src/Api/ShipDGHazmatV1/Dto/ShipmentDryIceDetail2.php new file mode 100644 index 00000000..d80e76a3 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/ShipmentDryIceDetail2.php @@ -0,0 +1,26 @@ +Example: 10 + */ + public function __construct( + public Weight $totalWeight, + public int $packageCount, + public ?ShipmentDryIceProcessingOptionsRequested $processingOptions = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/ShipmentDryIceProcessingOptionsRequested.php b/src/Api/ShipDGHazmatV1/Dto/ShipmentDryIceProcessingOptionsRequested.php new file mode 100644 index 00000000..2d675ccd --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/ShipmentDryIceProcessingOptionsRequested.php @@ -0,0 +1,23 @@ +Example: ["options"] + */ + public function __construct( + public ?array $options = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/ShipmentLegRateDetail.php b/src/Api/ShipDGHazmatV1/Dto/ShipmentLegRateDetail.php new file mode 100644 index 00000000..a008c7e5 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/ShipmentLegRateDetail.php @@ -0,0 +1,80 @@ + Tax::class, + 'surcharges' => Surcharge::class, + 'freightDiscounts' => RateDiscount::class, + ]; + + /** + * @param ?string $rateZone Indicates the rate zone used (based on origin and destination).
                  Example: rateZone + * @param ?string $pricingCode Specifies the Pricing Code.
                  Example: pricingCode + * @param Tax[]|null $taxes Specifies the taxes. + * @param ?Weight $totalDimWeight These are the package weight details. + * @param ?float $totalRebates Specifies the total rebate.
                  Example: 2.0 + * @param ?float $fuelSurchargePercent Specifies a fuel surcharge percentage.
                  Example: 6.0 + * @param ?int $dimDivisor The value used to calculate the weight based on the dimensions.
                  Example: 6 + * @param ?string $rateType Type used for this specific set of rate data.
                  Example: PAYOR_RETAIL_PACKAGE + * @param ?string $legDestinationLocationId Specifies the location id the destination of shipment leg.
                  Example: legDestinationLocationId + * @param ?string $dimDivisorType Identifies the type of dim divisor that was applied.
                  Example: dimDivisorType + * @param ?float $totalBaseCharge The total freight charge that was calculated before surcharges, discounts and taxes.
                  Example: 6.0 + * @param ?string $ratedWeightMethod Indicates which weight was used.
                  Example: ratedWeightMethod + * @param ?float $totalFreightDiscounts The sum of all discounts.
                  Example: 9.0 + * @param ?float $totalTaxes Total of the transportation-based taxes.
                  Example: 12.6 + * @param ?string $minimumChargeType Specifies minimum Charge Type.
                  Example: minimumChargeType + * @param ?float $totalDutiesAndTaxes Total of shipments duties and taxes; only provided if estimated duties and taxes were calculated for this shipment.
                  Example: 17.78 + * @param ?float $totalNetFreight The freight charge minus discounts.
                  Example: 6.0 + * @param ?float $totalNetFedExCharge Total of shipments total net freight and total surcharges (not including total taxes).
                  Example: 3.2 + * @param Surcharge[]|null $surcharges All surcharges that apply to this shipment. + * @param ?float $totalSurcharges The total of all surcharges.
                  Example: 5.0 + * @param ?Weight $totalBillingWeight These are the package weight details. + * @param RateDiscount[]|null $freightDiscounts + * @param ?string $rateScale Indicates the rate scale used.
                  Example: 6702 + * @param ?float $totalNetCharge The net charge after applying all discounts and surcharges.
                  Example: 25.3 + * @param ?float $totalNetChargeWithDutiesAndTaxes Sum of total net charge, total duties and taxes; only provided if estimated duties and taxes were calculated for this shipment and duties, taxes and transportation charges are all paid by the same sender account.
                  Example: 25.67 + * @param ?string $currency Click here to see Currency Codes + */ + public function __construct( + public ?string $rateZone = null, + public ?string $pricingCode = null, + public ?array $taxes = null, + public ?Weight $totalDimWeight = null, + public ?float $totalRebates = null, + public ?float $fuelSurchargePercent = null, + public ?CurrencyExchangeRate $currencyExchangeRate = null, + public ?int $dimDivisor = null, + public ?string $rateType = null, + public ?string $legDestinationLocationId = null, + public ?string $dimDivisorType = null, + public ?float $totalBaseCharge = null, + public ?string $ratedWeightMethod = null, + public ?float $totalFreightDiscounts = null, + public ?float $totalTaxes = null, + public ?string $minimumChargeType = null, + public ?float $totalDutiesAndTaxes = null, + public ?float $totalNetFreight = null, + public ?float $totalNetFedExCharge = null, + public ?array $surcharges = null, + public ?float $totalSurcharges = null, + public ?Weight $totalBillingWeight = null, + public ?array $freightDiscounts = null, + public ?string $rateScale = null, + public ?float $totalNetCharge = null, + public ?float $totalNetChargeWithDutiesAndTaxes = null, + public ?string $currency = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/ShipmentOperationalDetail.php b/src/Api/ShipDGHazmatV1/Dto/ShipmentOperationalDetail.php new file mode 100644 index 00000000..1482efde --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/ShipmentOperationalDetail.php @@ -0,0 +1,77 @@ +Example: A1 + * @param ?string $serviceCode Indicates the service Code.
                  Example: 010 + * @param ?string $airportId Indicates the airport identifier.
                  Example: DFW + * @param ?string $postalCode Specifies the postal code.
                  Example: 38010 + * @param ?string $scac Indicates standard carrier alpha code.
                  Example: scac + * @param ?string $deliveryDay Expected/estimated day of week of the delivery.
                  Example: TUE + * @param ?string $originLocationId This is the origin Location identifier.
                  Example: 678 + * @param ?string $countryCode Specifies the Country Code.
                  Example: US
                  Click here to see Country Codes + * @param ?string $astraDescription Specifies astra astra description.
                  Example: SMART POST + * @param ?int $originLocationNumber Specifies origin location number.
                  Example: 243 + * @param ?string $deliveryDate Specifies delivery date for the shipment. Format [YYYY-MM-DD]
                  Example: 2001-04-05 + * @param ?string[] $deliveryEligibilities FedEx Ground delivery features for which this shipment may be eligible.
                  Example: ["deliveryEligibilities"] + * @param ?bool $ineligibleForMoneyBackGuarantee Indicates that this shipment is not eligible for money back guarantee.
                  Example: true + * @param ?string $maximumTransitTime Maximum expected transit time.
                  Example: SEVEN_DAYS + * @param ?string $destinationLocationStateOrProvinceCode This is the state of the shipment destination location, and is not necessarily the same as the postal state.
                  Example: GA + * @param ?string $astraPlannedServiceLevel Text describing planned delivery.
                  Example: TUE - 15 OCT 10:30A + * @param ?string $destinationLocationId Specifies the FedEx Destination Location Identifier.
                  Example: DALA + * @param ?string $transitTime Standard transit time per origin, destination, and service.
                  Example: TWO_DAYS + * @param ?string $stateOrProvinceCode Identifying abbreviation for US state, Canada province, etc. Format and presence of this field will vary, depending on country.
                  Example: GA + * @param ?int $destinationLocationNumber Specifies Destination Location Number.
                  Example: 876 + * @param ?string $packagingCode Specifes Packaging Code.
                  Example: 03 + * @param ?string $commitDate Committed date of delivery.
                  Example: 2019-10-15 + * @param ?string $publishedDeliveryTime Delivery time, as published in Service Guide.
                  Example: 10:30A + * @param ?string $ursaSuffixCode Specifies ursa Suffix Code.
                  Example: Ga + * @param ?string $ursaPrefixCode Specifies ursa Prefix Code.
                  Example: XH + * @param ?string $destinationServiceArea Specifies Destination ServiceArea.
                  Example: A1 + * @param ?string $commitDay Committed day of week of delivery.
                  Example: TUE + * @param ?string $customTransitTime Transit time based on customer eligibility.
                  Example: ONE_DAY + */ + public function __construct( + public ?string $originServiceArea = null, + public ?string $serviceCode = null, + public ?string $airportId = null, + public ?string $postalCode = null, + public ?string $scac = null, + public ?string $deliveryDay = null, + public ?string $originLocationId = null, + public ?string $countryCode = null, + public ?string $astraDescription = null, + public ?int $originLocationNumber = null, + public ?string $deliveryDate = null, + public ?array $deliveryEligibilities = null, + public ?bool $ineligibleForMoneyBackGuarantee = null, + public ?string $maximumTransitTime = null, + public ?string $destinationLocationStateOrProvinceCode = null, + public ?string $astraPlannedServiceLevel = null, + public ?string $destinationLocationId = null, + public ?string $transitTime = null, + public ?string $stateOrProvinceCode = null, + public ?int $destinationLocationNumber = null, + public ?string $packagingCode = null, + public ?string $commitDate = null, + public ?string $publishedDeliveryTime = null, + public ?string $ursaSuffixCode = null, + public ?string $ursaPrefixCode = null, + public ?string $destinationServiceArea = null, + public ?string $commitDay = null, + public ?string $customTransitTime = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/ShipmentRateDetail.php b/src/Api/ShipDGHazmatV1/Dto/ShipmentRateDetail.php new file mode 100644 index 00000000..716e4e54 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/ShipmentRateDetail.php @@ -0,0 +1,78 @@ + ShipmentLegRateDetail::class, + 'surcharges' => Surcharge::class, + 'freightDiscounts' => RateDiscount::class, + ]; + + /** + * @param ?string $rateZone Indicates the rate zone used (based on origin and destination).
                  Example: US001O + * @param ?string $ratedWeightMethod Indicates which weight was used.
                  Example: ACTUAL + * @param ?float $totalDutiesTaxesAndFees The total of the total duties & taxes and the total ancillary fees & taxes.
                  Example: 24.56 + * @param ?string $pricingCode Specifies pricing Code.
                  Example: LTL_FREIGHT + * @param ?float $totalFreightDiscounts The total discounts used in the rate calculation.
                  Example: 1.56 + * @param ?float $totalTaxes Total of the transportation-based taxes.
                  Example: 3.45 + * @param ?float $totalDutiesAndTaxes Total of all values under this shipment's duties and taxes; only provided if estimated duties and taxes were calculated for this shipment.
                  Example: 6.78 + * @param ?float $totalAncillaryFeesAndTaxes Identifies the total amount of the shipment-level fees and taxes that are not based on transportation charges or commodity-level estimated duties and taxes.
                  example: 5.67 + * @param mixed[][]|null $taxes All transportation-based taxes applicable to this shipment. + * @param ?float $totalRebates The total sum of all rebates applied to this shipment.
                  Example: 1.98 + * @param ?float $fuelSurchargePercent Specifies a fuel surcharge percentage.
                  Example: 4.56 + * @param ?float $totalNetFreight The freight charge minus discounts.
                  Example: 9.56 + * @param ?float $totalNetFedExCharge This is the sum of shipment's total Net freight, total surchages (not including totalTaxes).
                  Example: 88.56 + * @param ShipmentLegRateDetail[]|null $shipmentLegRateDetails + * @param ?int $dimDivisor The value used to calculate the weight based on the dimensions.
                  Example: 0 + * @param ?string $rateType The Type used for this specific set of rate data.
                  Example: RATED_ACCOUNT_SHIPMENT + * @param Surcharge[]|null $surcharges All surcharges that apply to this shipment. + * @param ?float $totalSurcharges The total amount of all surcharges applied to this shipment.
                  Example: 9.88 + * @param ?Weight $totalBillingWeight These are the package weight details. + * @param RateDiscount[]|null $freightDiscounts + * @param ?string $rateScale Indicates the rate scale used.
                  Example: 00000 + * @param ?float $totalNetCharge The net charge after applying all discounts and surcharges.
                  Example: 3.78 + * @param ?float $totalBaseCharge The total freight charge that was calculated before surcharges, discounts and taxes.
                  Example: 234.56 + * @param ?float $totalNetChargeWithDutiesAndTaxes This is the sum of shipment's total net charges and total duties and taxes; only provided if estimated duties and taxes were calculated for this shipment AND duties, taxes and transportation charges are all paid by the same sender account.
                  Example: 222.56 + * @param ?string $currency Click here to see Currency Codes + */ + public function __construct( + public ?string $rateZone = null, + public ?string $ratedWeightMethod = null, + public ?float $totalDutiesTaxesAndFees = null, + public ?string $pricingCode = null, + public ?float $totalFreightDiscounts = null, + public ?float $totalTaxes = null, + public ?float $totalDutiesAndTaxes = null, + public ?float $totalAncillaryFeesAndTaxes = null, + public ?array $taxes = null, + public ?float $totalRebates = null, + public ?float $fuelSurchargePercent = null, + public ?CurrencyExchangeRate $currencyExchangeRate = null, + public ?float $totalNetFreight = null, + public ?float $totalNetFedExCharge = null, + public ?array $shipmentLegRateDetails = null, + public ?int $dimDivisor = null, + public ?string $rateType = null, + public ?array $surcharges = null, + public ?float $totalSurcharges = null, + public ?Weight $totalBillingWeight = null, + public ?array $freightDiscounts = null, + public ?string $rateScale = null, + public ?float $totalNetCharge = null, + public ?float $totalBaseCharge = null, + public ?float $totalNetChargeWithDutiesAndTaxes = null, + public ?string $currency = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/ShipmentRating.php b/src/Api/ShipDGHazmatV1/Dto/ShipmentRating.php new file mode 100644 index 00000000..a18435ad --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/ShipmentRating.php @@ -0,0 +1,27 @@ + ShipmentRateDetail::class]; + + /** + * @param ?string $actualRateType This rate type identifies which entry in the following array is considered as presenting the "actual" rates for the shipment.
                  Example: PAYOR_LIST_SHIPMENT + * @param ShipmentRateDetail[]|null $shipmentRateDetails Each element of this field provides shipment-level rate totals for a specific rate type. + */ + public function __construct( + public ?string $actualRateType = null, + public ?array $shipmentRateDetails = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/ShipmentSpecialServicesRequested.php b/src/Api/ShipDGHazmatV1/Dto/ShipmentSpecialServicesRequested.php new file mode 100644 index 00000000..68f48354 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/ShipmentSpecialServicesRequested.php @@ -0,0 +1,45 @@ + 'shipmentCODDetail']; + + /** + * @param ?string[] $specialServiceTypes Indicate the Special services requested for this shipment.
                  Example:
                  • HOLD_AT_LOCATION
                  • RETURN_SHIPMENT
                  • BROKER_SELECT_OPTION
                  • CALL_BEFORE_DELIVERY
                  • COD
                  • CUSTOM_DELIVERY_WINDOW

                  click here to see Shipment Special Service Types + * @param ?EtdDetail $etdDetail Use this object to specify all information on how the electronic Trade document references used with the shipment. + * @param ?ReturnShipmentDetail $returnShipmentDetail Use this object for specifying return shipment details. + * @param ?DeliveryOnInvoiceAcceptanceDetail $deliveryOnInvoiceAcceptanceDetail Indicate the Delivery On Invoice Acceptance detail. Recipient is required for Delivery On Invoice Special service. + * @param ?InternationalTrafficInArmsRegulationsDetail $internationalTrafficInArmsRegulationsDetail These are International Traffic In Arms Regulations shipment service details. + * @param ?PendingShipmentDetail $pendingShipmentDetail Required for email label return shipments.
                  This field is not applicable for CreateTag.
                  This object is used to specify the Pending Shipment Type for Email label. + * @param ?HoldAtLocationDetail $holdAtLocationDetail Use this object to specify required information for a shipment to be held at destination FedEx location.
                  Note: This object HoldAtLocationDetail is Required, when HOLD_AT_LOCATION is chosen in the specialServiceTypes. + * @param ?ShipmentCodDetail $shipmentCodDetail Conditional
                  This is the shipment level COD detail. + * @param ?ShipmentDryIceDetail $shipmentDryIceDetail This is the descriptive data required for a FedEx shipment containing dangerous materials. This element is required when SpecialServiceType DRY_ICE is selected.

                  Note:

                  • Dry Ice is a Package level Special Service for Domestic and International shipments.
                  • Dry Ice must be declared at both Shipment and Package level for International MPS shipments to print the compliance statement on Airway Bill labels.

                  + * @param ?InternationalControlledExportDetail $internationalControlledExportDetail Use this object to specify International Controlled Export shipment Details.
                  Note: licenseOrPermitExpirationDate and licenseOrPermitNumber are not required when type is WAREHOUSE_WITHDRAWAL. + * @param ?HomeDeliveryPremiumDetail $homeDeliveryPremiumDetail Special service elements for FedEx Ground Home Delivery shipments. If selected, 'homedeliveryPremiumType' is required. + */ + public function __construct( + public ?array $specialServiceTypes = null, + public ?EtdDetail $etdDetail = null, + public ?ReturnShipmentDetail $returnShipmentDetail = null, + public ?DeliveryOnInvoiceAcceptanceDetail $deliveryOnInvoiceAcceptanceDetail = null, + public ?InternationalTrafficInArmsRegulationsDetail $internationalTrafficInArmsRegulationsDetail = null, + public ?PendingShipmentDetail $pendingShipmentDetail = null, + public ?HoldAtLocationDetail $holdAtLocationDetail = null, + public ?ShipmentCodDetail $shipmentCodDetail = null, + public ?ShipmentDryIceDetail $shipmentDryIceDetail = null, + public ?InternationalControlledExportDetail $internationalControlledExportDetail = null, + public ?HomeDeliveryPremiumDetail $homeDeliveryPremiumDetail = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/ShipperAccountNumber.php b/src/Api/ShipDGHazmatV1/Dto/ShipperAccountNumber.php new file mode 100644 index 00000000..4e5f7da1 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/ShipperAccountNumber.php @@ -0,0 +1,23 @@ +Example: 801472842 + */ + public function __construct( + public string $value, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/ShipperParty.php b/src/Api/ShipDGHazmatV1/Dto/ShipperParty.php new file mode 100644 index 00000000..d6567ab6 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/ShipperParty.php @@ -0,0 +1,33 @@ + TaxpayerIdentification::class]; + + /** + * @param PartyAddress $address This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US). + * @param PartyContact $contact Indicate the contact details for this shipment. + * @param ?string $companyCode The shipper's company code. + * @param TaxpayerIdentification[]|null $tins Used for adding the tax id. + * @param ?string $deliveryInstructions Used with Ground Home Delivery and Freight. Max Length is 90. + */ + public function __construct( + public PartyAddress $address, + public PartyContact $contact, + public ?string $companyCode = null, + public ?array $tins = null, + public ?string $deliveryInstructions = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/ShippingDocumentDispositionDetail.php b/src/Api/ShipDGHazmatV1/Dto/ShippingDocumentDispositionDetail.php new file mode 100644 index 00000000..4219e71b --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/ShippingDocumentDispositionDetail.php @@ -0,0 +1,25 @@ + ShippingDocumentEmailRecipient::class]; + + /** + * @param ShippingDocumentEmailRecipient[] $eMailRecipients Shipping Document Email Recipients array + * @param ?Locale $locale Specifies the Locale + * @param ?string $grouping Indicates the Shipping Document Email Grouping Type + */ + public function __construct( + public array $eMailRecipients, + public ?Locale $locale = null, + public ?string $grouping = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/ShippingDocumentEmailRecipient.php b/src/Api/ShipDGHazmatV1/Dto/ShippingDocumentEmailRecipient.php new file mode 100644 index 00000000..5cb746d0 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/ShippingDocumentEmailRecipient.php @@ -0,0 +1,25 @@ + Example: email@fedex.com + */ + public function __construct( + public string $recipientType, + public ?string $emailAddress = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/ShippingDocumentFormat.php b/src/Api/ShipDGHazmatV1/Dto/ShippingDocumentFormat.php new file mode 100644 index 00000000..16c29ab2 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/ShippingDocumentFormat.php @@ -0,0 +1,37 @@ + ShippingDocumentDispositionDetail::class]; + + /** + * @param ?bool $provideInstructions For those shipping document types which have both a "form" and "instructions" component (e.g General Agency Agreement), this field indicates whether to provide the instructions.
                  Example: true + * @param ?DocumentFormatOptionsRequested $optionsRequested Specifies the Document Format Options requested options + * @param ?string $stockType Specifies the label stock type. Lists the correct type of paper for the Freight address label option.Specify valid value PAPER_LETTER + * @param ShippingDocumentDispositionDetail[]|null $dispositions Specifies how to create, organize, and return the document + * @param ?Locale $locale Specifies the Locale + * @param ?string $docType Specify the image format used for a shipping document. + * @param ?string $customDocumentIdentifier Used to identify custom documents + */ + public function __construct( + public ?bool $provideInstructions = null, + public ?DocumentFormatOptionsRequested $optionsRequested = null, + public ?string $stockType = null, + public ?array $dispositions = null, + public ?Locale $locale = null, + public ?string $docType = null, + public ?string $customDocumentIdentifier = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/ShippingDocumentSpecification.php b/src/Api/ShipDGHazmatV1/Dto/ShippingDocumentSpecification.php new file mode 100644 index 00000000..30d46cc0 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/ShippingDocumentSpecification.php @@ -0,0 +1,42 @@ + 'op900Detail']; + + /** + * @param ?GeneralAgencyAgreementDetail $generalAgencyAgreementDetail Use this object to specify details to generate general agency agreement detail. + * @param ?ReturnInstructionsDetail $returnInstructionsDetail Specifies the production of the return document (document characteristics and printing). This information will print on the Return Instructions returned in the transaction for the Printed Return Label. + * @param ?Op900detail $op900detail Use this object to specify details to generate the OP-900 document for hazardous material packages. + * @param ?string[] $shippingDocumentTypes Conditionally required in order to obtain shipping documents. + * + * Indicates the types of shipping documents requested by the shipper + * @param ?CertificateOfOriginDetail $certificateOfOrigin The instructions indicating how to print the Certificate of Origin ( e.g. whether or not to include the instructions, image type, etc ...) + * @param ?CommercialInvoiceDetail $commercialInvoiceDetail The instructions indicating how to print the Commercial Invoice( e.g. image type) Specifies characteristics of a shipping document to be produced. + * @param ?UsmcaCertificationOfOriginDetail $usmcaCertificationOfOriginDetail The instructions indicating how to print the USMCA Certification of Origin ( e.g. whether or not to include the instructions, image type, etc ...) + * @param ?UsmcaCommercialInvoiceCertificationOfOriginDetail $usmcaCommercialInvoiceCertificationOfOriginDetail The instructions indicating commercial invoice certification of origin. + */ + public function __construct( + public ?GeneralAgencyAgreementDetail $generalAgencyAgreementDetail = null, + public ?ReturnInstructionsDetail $returnInstructionsDetail = null, + public ?Op900detail $op900detail = null, + public ?array $shippingDocumentTypes = null, + public ?CertificateOfOriginDetail $certificateOfOrigin = null, + public ?CommercialInvoiceDetail $commercialInvoiceDetail = null, + public ?UsmcaCertificationOfOriginDetail $usmcaCertificationOfOriginDetail = null, + public ?UsmcaCommercialInvoiceCertificationOfOriginDetail $usmcaCommercialInvoiceCertificationOfOriginDetail = null, + public ?DangerousGoodsShippersDeclarationDetail $dangerousGoodsShippersDeclarationDetail = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/ShippingDocumentSpecification2.php b/src/Api/ShipDGHazmatV1/Dto/ShippingDocumentSpecification2.php new file mode 100644 index 00000000..f3addb3a --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/ShippingDocumentSpecification2.php @@ -0,0 +1,42 @@ + 'op900Detail']; + + /** + * @param ?GeneralAgencyAgreementDetail $generalAgencyAgreementDetail Use this object to specify details to generate general agency agreement detail. + * @param ?ReturnInstructionsDetail $returnInstructionsDetail Specifies the production of the return document (document characteristics and printing). This information will print on the Return Instructions returned in the transaction for the Printed Return Label. + * @param ?Detail $op900detail Use this object to specify details to generate the OP-900 document for hazardous material packages. + * @param ?string[] $shippingDocumentTypes Conditionally required in order to obtain shipping documents. + * + * Indicates the types of shipping documents requested by the shipper + * @param ?CertificateOfOriginDetail $certificateOfOrigin The instructions indicating how to print the Certificate of Origin ( e.g. whether or not to include the instructions, image type, etc ...) + * @param ?CommercialInvoiceDetail $commercialInvoiceDetail The instructions indicating how to print the Commercial Invoice( e.g. image type) Specifies characteristics of a shipping document to be produced. + * @param ?UsmcaCertificationOfOriginDetail $usmcaCertificationOfOriginDetail The instructions indicating how to print the USMCA Certification of Origin ( e.g. whether or not to include the instructions, image type, etc ...) + * @param ?UsmcaCommercialInvoiceCertificationOfOriginDetail $usmcaCommercialInvoiceCertificationOfOriginDetail The instructions indicating commercial invoice certification of origin. + */ + public function __construct( + public ?GeneralAgencyAgreementDetail $generalAgencyAgreementDetail = null, + public ?ReturnInstructionsDetail $returnInstructionsDetail = null, + public ?Detail $op900detail = null, + public ?array $shippingDocumentTypes = null, + public ?CertificateOfOriginDetail $certificateOfOrigin = null, + public ?CommercialInvoiceDetail $commercialInvoiceDetail = null, + public ?UsmcaCertificationOfOriginDetail $usmcaCertificationOfOriginDetail = null, + public ?UsmcaCommercialInvoiceCertificationOfOriginDetail $usmcaCommercialInvoiceCertificationOfOriginDetail = null, + public ?DangerousGoodsShippersDeclarationDetail $dangerousGoodsShippersDeclarationDetail = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/SignatureOptionDetail.php b/src/Api/ShipDGHazmatV1/Dto/SignatureOptionDetail.php new file mode 100644 index 00000000..630a9950 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/SignatureOptionDetail.php @@ -0,0 +1,23 @@ +Example: 23456 + */ + public function __construct( + public ?string $signatureReleaseNumber = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/SmartPostInfoDetail.php b/src/Api/ShipDGHazmatV1/Dto/SmartPostInfoDetail.php new file mode 100644 index 00000000..9743f6c0 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/SmartPostInfoDetail.php @@ -0,0 +1,39 @@ +Specify the HubID using the four-digit numeric value.
                  click here to see Hub Ids
                  Example: 5015 + * @param string $indicia Required + * + * Specify the indicia type. Available options include + * + * PARCEL_SELECT (1 LB through 70 LBS) + * + * PRESORTED_BOUND_PRINTED_MATTER + * + * PRESORTED_STANDARD (less than 1 LB) + * + * PARCEL_RETURN + * @param string $specialServices SmartPost Shipment Special Service Type + * @param ?string $ancillaryEndorsement Required for Presorted Standard but not for returns or parcel select. They are not all usable for all ancillary endorsements. + */ + public function __construct( + public string $hubId, + public string $indicia, + public string $specialServices, + public ?string $ancillaryEndorsement = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/SoldToParty.php b/src/Api/ShipDGHazmatV1/Dto/SoldToParty.php new file mode 100644 index 00000000..a8e44c6a --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/SoldToParty.php @@ -0,0 +1,31 @@ + TaxpayerIdentification::class]; + + /** + * @param ?PartyAddress $address This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US). + * @param ?PartyContact $contact Indicate the contact details for this shipment. + * @param TaxpayerIdentification[]|null $tins Used for adding the tax id + * @param ?PartyAccountNumber $accountNumber The account number of the recipient. + */ + public function __construct( + public ?PartyAddress $address = null, + public ?PartyContact $contact = null, + public ?array $tins = null, + public ?PartyAccountNumber $accountNumber = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/StandaloneBatteryDetails.php b/src/Api/ShipDGHazmatV1/Dto/StandaloneBatteryDetails.php new file mode 100644 index 00000000..4e93b198 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/StandaloneBatteryDetails.php @@ -0,0 +1,23 @@ +ADDRESS - Represents the recipient address
                  GROUND - FedEx Ground parcel barcode
                  Example: ADDRESS + * @param ?string $value The data content of this instance.
                  Example: 1010062512241535917900794953544894 + */ + public function __construct( + public ?string $type = null, + public ?string $value = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/SuggestedCommodityDetail.php b/src/Api/ShipDGHazmatV1/Dto/SuggestedCommodityDetail.php new file mode 100644 index 00000000..3d035330 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/SuggestedCommodityDetail.php @@ -0,0 +1,25 @@ +Example: description + * @param ?string $harmonizedCode harmonized code
                  Example: harmonized Code + */ + public function __construct( + public ?string $description = null, + public ?string $harmonizedCode = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/Surcharge.php b/src/Api/ShipDGHazmatV1/Dto/Surcharge.php new file mode 100644 index 00000000..39afeabf --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/Surcharge.php @@ -0,0 +1,29 @@ +Example: APPOINTMENT_DELIVERY + * @param ?string $level Specifies if the surcharge applies to the whole shipment, or to an individual package.
                  Example: PACKAGE + * @param ?string $description Specifies the description for the surcharge.
                  Example: description + */ + public function __construct( + public ?Money $amount = null, + public ?string $surchargeType = null, + public ?string $level = null, + public ?string $description = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/Tax.php b/src/Api/ShipDGHazmatV1/Dto/Tax.php new file mode 100644 index 00000000..2cc5c86b --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/Tax.php @@ -0,0 +1,29 @@ +Example: 10.0 + * @param ?string $level Indicates the Level of Tax.
                  Example: level + * @param ?string $description Placeholder for the tax description.
                  Example: descrption + * @param ?string $type Placeholder for the Type of the Tax.
                  Example:type + */ + public function __construct( + public ?float $amount = null, + public ?string $level = null, + public ?string $description = null, + public ?string $type = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/TaxpayerIdentification.php b/src/Api/ShipDGHazmatV1/Dto/TaxpayerIdentification.php new file mode 100644 index 00000000..9af35501 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/TaxpayerIdentification.php @@ -0,0 +1,31 @@ +Example: 0201 + * @param ?string $trackingIdType Specify the FedEx transportation type (EXPRESS, GROUND, FREIGHT).
                  Example: EXPRESS + * @param ?int $uspsApplicationId Specify the USPS tracking Identifier associated with FedEx SmartPost shipment.
                  Example: 92 + * @param ?int $trackingNumber This is the number associated with the package that is used to track it.For child shipment of an oneLabelAtATime shipments,this should be same as the masterTrackingNumber of the parent shipment. + */ + public function __construct( + public ?int $formId = null, + public ?string $trackingIdType = null, + public ?int $uspsApplicationId = null, + public ?int $trackingNumber = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/TransactionDetailVo.php b/src/Api/ShipDGHazmatV1/Dto/TransactionDetailVo.php new file mode 100644 index 00000000..6277eb87 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/TransactionDetailVo.php @@ -0,0 +1,25 @@ +Example: 12345 + */ + public function __construct( + public ?string $transactionDetails = null, + public ?string $transactionId = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/TransactionShipmentOutputVo.php b/src/Api/ShipDGHazmatV1/Dto/TransactionShipmentOutputVo.php new file mode 100644 index 00000000..f5299615 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/TransactionShipmentOutputVo.php @@ -0,0 +1,49 @@ + LabelResponseVo::class, + 'pieceResponses' => PieceResponse::class, + 'alerts' => Alert::class, + ]; + + /** + * @param ?string $serviceType Indicates the type of service that is used to ship the package.
                  Example: FEDEX_2_DAY_FREIGHT
                  Click here to see Service Types + * @param ?string $shipDatestamp This is the shipment date. Default value is current date in case the date is not provided in the request.
                  Format [YYYY-MM-DD].
                  Example: 2019-10-14 + * @param ?string $serviceCategory Indicates Service Category.
                  Example: EXPRESS + * @param LabelResponseVo[]|null $shipmentDocuments + * @param PieceResponse[]|null $pieceResponses + * @param ?string $serviceName Describes the service name for the shipment
                  Example: FedEx 2 Day Freight + * @param Alert[]|null $alerts + * @param ?CompletedShipmentDetail $completedShipmentDetail Returns the result of processing the desired package as a single-package shipment. + * @param ?ShipmentAdvisoryDetails $shipmentAdvisoryDetails Shipment Advisory Detail (Added for Cascade) + * @param ?string[] $anonymousLimitWarnings + * @param ?string $masterTrackingNumber This is a master tracking number for the shipment (must be unique for stand-alone open shipments, or unique within consolidation if consolidation key is provided).
                  Example: 794953535000 + */ + public function __construct( + public ?string $serviceType = null, + public ?string $shipDatestamp = null, + public ?string $serviceCategory = null, + public ?array $shipmentDocuments = null, + public ?array $pieceResponses = null, + public ?string $serviceName = null, + public ?array $alerts = null, + public ?CompletedShipmentDetail $completedShipmentDetail = null, + public ?ShipmentAdvisoryDetails $shipmentAdvisoryDetails = null, + public ?array $anonymousLimitWarnings = null, + public ?string $masterTrackingNumber = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/UploadDocumentReferenceDetail.php b/src/Api/ShipDGHazmatV1/Dto/UploadDocumentReferenceDetail.php new file mode 100644 index 00000000..9d0b02a1 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/UploadDocumentReferenceDetail.php @@ -0,0 +1,29 @@ +Example: 090927d680038c61 + * @param ?string $description Specify additional information about the uploaded document for better understanding. + * @param ?string $documentReference Specify the reference for the uploaded document.This is for the customer to reference their uploaded docs when they retrieve them. Could be anything, order number, po number, whatever the customer used to tie the document to something they would use. Note: Ensure to supply document references in case of Pre-Shipment document upload + * @param ?string $documentType Specify document type for the uploaded document. It should match with the type of uploaded document associated with documentId + */ + public function __construct( + public ?string $documentId = null, + public ?string $description = null, + public ?string $documentReference = null, + public ?string $documentType = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/UsmcaCertificationOfOriginDetail.php b/src/Api/ShipDGHazmatV1/Dto/UsmcaCertificationOfOriginDetail.php new file mode 100644 index 00000000..9e7dc073 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/UsmcaCertificationOfOriginDetail.php @@ -0,0 +1,39 @@ + CustomerImageUsage::class]; + + /** + * @param CustomerImageUsage[]|null $customerImageUsages Specifies the usage and identification of customer supplied images to be used on this document. + * @param ?ShippingDocumentFormat $documentFormat Shipping Document Format, allow ImageType of PDF and StockType of OP_900_LL or ImageType of Text and StockType of OP_900_LL_B. Other elements are optional + * @param ?BlanketPeriod $blanketPeriod The date range covered by the certification. + * @param ?string $certifierSpecification Specify the certifier specification type. + * @param ?string $importerSpecification Specify the importer specification type. + * @param ?string $producerSpecification Specify the producer specification type. + * @param ?ProducerParty $producer Attributes for a Party to a transaction including the physical address, contact information and account number information. + * @param ?string $certifierJobTitle Specify the job title of the certifier. + */ + public function __construct( + public ?array $customerImageUsages = null, + public ?ShippingDocumentFormat $documentFormat = null, + public ?BlanketPeriod $blanketPeriod = null, + public ?string $certifierSpecification = null, + public ?string $importerSpecification = null, + public ?string $producerSpecification = null, + public ?ProducerParty $producer = null, + public ?string $certifierJobTitle = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/UsmcaCommercialInvoiceCertificationOfOriginDetail.php b/src/Api/ShipDGHazmatV1/Dto/UsmcaCommercialInvoiceCertificationOfOriginDetail.php new file mode 100644 index 00000000..93b69bf6 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/UsmcaCommercialInvoiceCertificationOfOriginDetail.php @@ -0,0 +1,35 @@ + CustomerImageUsage::class]; + + /** + * @param CustomerImageUsage[]|null $customerImageUsages Specifies the usage and identification of customer supplied images to be used on this document. + * @param ?ShippingDocumentFormat $documentFormat Shipping Document Format, allow ImageType of PDF and StockType of OP_900_LL or ImageType of Text and StockType of OP_900_LL_B. Other elements are optional + * @param ?string $certifierSpecification Specify the certifier specification type. + * @param ?string $producerSpecification Specify the producer specification type. + * @param ?ProducerParty $producer Attributes for a Party to a transaction including the physical address, contact information and account number information. + * @param ?string $certifierJobTitle Specify the job title of the certifier. + */ + public function __construct( + public ?array $customerImageUsages = null, + public ?ShippingDocumentFormat $documentFormat = null, + public ?string $certifierSpecification = null, + public ?string $producerSpecification = null, + public ?ProducerParty $producer = null, + public ?string $certifierJobTitle = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/UsmcaCommodityDetail.php b/src/Api/ShipDGHazmatV1/Dto/UsmcaCommodityDetail.php new file mode 100644 index 00000000..fafeb401 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/UsmcaCommodityDetail.php @@ -0,0 +1,23 @@ +Example: 2.0 + */ + public function __construct( + public ?HazardousCommodityQuantityDetail $quantity = null, + public ?HazardousCommodityContent $options = null, + public ?ValidatedHazardousCommodityDescription $description = null, + public ?NetExplosiveDetail $netExplosiveDetail = null, + public ?float $massPoints = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/ValidatedHazardousCommodityDescription.php b/src/Api/ShipDGHazmatV1/Dto/ValidatedHazardousCommodityDescription.php new file mode 100644 index 00000000..b8b3d225 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/ValidatedHazardousCommodityDescription.php @@ -0,0 +1,51 @@ +Example: 876 + * @param ?string $packingInstructions Specifies Packing Instructions.
                  Example: packingInstructions + * @param ?string[] $subsidiaryClasses Specifies subsidiary Classes.
                  Example:["Subsidiary Classes"] + * @param ?string $labelText Specifies Hazard Label Text.
                  Example: labelText + * @param ?string $tunnelRestrictionCode There are five categories of tunnel categorization with A representing the least restrictive and E as the most restrictive. Category A, as the least restrictive, will not be sign-posted. Category E, the most restrictive, only allows the passage of UN2919, UN3291, UN3331, UN3359 and UN3373.
                  Example: UN2919 + * @param ?string $specialProvisions Specifies Special Provisions if any.
                  Example: specialProvisions + * @param ?string $properShippingNameAndDescription Fully-expanded descriptive text for a hazardous commodity.
                  Example: properShippingNameAndDescription + * @param ?string $technicalName Specifies Technical Name.
                  Example: technicalName + * @param ?string $symbols Specifies Symbols.
                  Example: symbols + * @param ?string $authorization Information related to quantity limitations and operator or state variations as may be applicable to the dangerous goods commodity.
                  Example: authorization + * @param ?string[] $attributes Specifies attributes.
                  Example: ["attributes"] + * @param ?string $id Specifies the Identification.
                  Example: 1234 + * @param ?string $packingGroup Specifies packing Group.
                  Example: Packing Group + * @param ?string $properShippingName Specifies Proper Shipping Name.
                  Example: Proper Shipping Name + * @param ?string $hazardClass Specifies hazard Class.
                  Example: Hazard Class + */ + public function __construct( + public ?int $sequenceNumber = null, + public ?string $packingInstructions = null, + public ?array $subsidiaryClasses = null, + public ?string $labelText = null, + public ?string $tunnelRestrictionCode = null, + public ?string $specialProvisions = null, + public ?string $properShippingNameAndDescription = null, + public ?string $technicalName = null, + public ?string $symbols = null, + public ?string $authorization = null, + public ?array $attributes = null, + public ?string $id = null, + public ?string $packingGroup = null, + public ?string $properShippingName = null, + public ?string $hazardClass = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/ValidatedHazardousContainer.php b/src/Api/ShipDGHazmatV1/Dto/ValidatedHazardousContainer.php new file mode 100644 index 00000000..e7f45983 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/ValidatedHazardousContainer.php @@ -0,0 +1,27 @@ + ValidatedHazardousCommodityContent::class]; + + /** + * @param ?float $qvalue Indicates that the quantity of the dangerous goods packaged is permissible for shipping. This is used to ensure that the dangerous goods commodities do not exceed the net quantity per package restrictions.
                  Example: 2.0 + * @param ValidatedHazardousCommodityContent[]|null $hazardousCommodities Indicates the details of the hazardousCommodities in the completed package. + */ + public function __construct( + public ?float $qvalue = null, + public ?array $hazardousCommodities = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Dto/VariableHandlingChargeDetail.php b/src/Api/ShipDGHazmatV1/Dto/VariableHandlingChargeDetail.php new file mode 100644 index 00000000..0375bf81 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/VariableHandlingChargeDetail.php @@ -0,0 +1,31 @@ + Example: 68.25
                  Click here to see Weight values + */ + public function __construct( + public string $units, + public float $value, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Requests/CancelShipment.php b/src/Api/ShipDGHazmatV1/Requests/CancelShipment.php new file mode 100644 index 00000000..a7572f6a --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Requests/CancelShipment.php @@ -0,0 +1,75 @@ +Note: FedEx APIs do not + * support Cross-Origin Resource Sharing (CORS) mechanism. + */ +class CancelShipment extends Request implements HasBody +{ + use HasJsonBody; + + protected Method $method = Method::PUT; + + /** + * @param FullSchemaCancelShipment $fullSchemaCancelShipment The request elements required to cancel a shipment. + */ + public function __construct( + public FullSchemaCancelShipment $fullSchemaCancelShipment, + ) {} + + public function resolveEndpoint(): string + { + return '/ship/v1/dghazshipments/cancel'; + } + + public function createDtoFromResponse( + Response $response, + ): ShpcResponseVoCancelShipment|ErrorResponseVo2|ErrorResponseVo3|ErrorResponseVo4|ErrorResponseVo5|ErrorResponseVo6|ErrorResponseVo { + $status = $response->status(); + $responseCls = match ($status) { + 200 => ShpcResponseVoCancelShipment::class, + 400 => ErrorResponseVo2::class, + 401 => ErrorResponseVo3::class, + 403 => ErrorResponseVo4::class, + 404 => ErrorResponseVo5::class, + 500 => ErrorResponseVo6::class, + 503 => ErrorResponseVo::class, + default => throw new Exception("Unhandled response status: {$status}") + }; + + return $responseCls::deserialize($response->json()); + } + + public function defaultBody(): array + { + return $this->fullSchemaCancelShipment->toArray(); + } +} diff --git a/src/Api/ShipDGHazmatV1/Requests/DgHazShipment.php b/src/Api/ShipDGHazmatV1/Requests/DgHazShipment.php new file mode 100644 index 00000000..fa9d654d --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Requests/DgHazShipment.php @@ -0,0 +1,65 @@ +Note: FedEx APIs do not support + * Cross-Origin Resource Sharing (CORS) mechanism. + */ +class DgHazShipment extends Request implements HasBody +{ + use HasJsonBody; + + protected Method $method = Method::POST; + + /** + * @param FullSchemaShipShipment $fullSchemaShipShipment The request elements required to create a shipment. + */ + public function __construct( + public FullSchemaShipShipment $fullSchemaShipShipment, + ) {} + + public function resolveEndpoint(): string + { + return '/ship/v1/dghazshipments'; + } + + public function createDtoFromResponse(Response $response): ShpcResponseVo|ErrorResponseVo + { + $status = $response->status(); + $responseCls = match ($status) { + 200 => ShpcResponseVo::class, + 400, 401, 403, 404, 500, 503 => ErrorResponseVo::class, + default => throw new Exception("Unhandled response status: {$status}") + }; + + return $responseCls::deserialize($response->json()); + } + + public function defaultBody(): array + { + return $this->fullSchemaShipShipment->toArray(); + } +} diff --git a/src/Api/ShipDGHazmatV1/Requests/ShipmentPackageValidate.php b/src/Api/ShipDGHazmatV1/Requests/ShipmentPackageValidate.php new file mode 100644 index 00000000..1f45f1ef --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Requests/ShipmentPackageValidate.php @@ -0,0 +1,71 @@ +
                  Note:
                  • This is shipment level validation hence + * supports validation for single piece shipment only.
                  • Shipment validation is supported for all + * Express and Ground - Domestic as well as international shipments with all applicable special + * services.
                  • Shipment validation is supported for SmartPost and not for Freight LTL + * shipments.

                  Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) + * mechanism. + */ +class ShipmentPackageValidate extends Request implements HasBody +{ + use HasJsonBody; + + protected Method $method = Method::POST; + + /** + * @param FullSchemaVerifyShipment $fullSchemaVerifyShipment The request elements required to create a shipment. + */ + public function __construct( + public FullSchemaVerifyShipment $fullSchemaVerifyShipment, + ) {} + + public function resolveEndpoint(): string + { + return '/ship/v1/dghazshipments/validate'; + } + + public function createDtoFromResponse(Response $response): ShpcResponseVoValidate|ErrorResponseVo + { + $status = $response->status(); + $responseCls = match ($status) { + 200 => ShpcResponseVoValidate::class, + 400, 401, 403, 404, 500, 503 => ErrorResponseVo::class, + default => throw new Exception("Unhandled response status: {$status}") + }; + + return $responseCls::deserialize($response->json()); + } + + public function defaultBody(): array + { + return $this->fullSchemaVerifyShipment->toArray(); + } +} diff --git a/src/Api/ShipDGHazmatV1/Responses/ErrorResponseVo.php b/src/Api/ShipDGHazmatV1/Responses/ErrorResponseVo.php new file mode 100644 index 00000000..810281fd --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Responses/ErrorResponseVo.php @@ -0,0 +1,28 @@ + CxsError::class]; + + /** + * @param ?string $transactionId The transaction ID is a special set of numbers that defines each transaction.
                  Example: 624deea6-b709-470c-8c39-4b5511281492 + * @param CxsError[]|null $errors + */ + public function __construct( + public readonly ?string $transactionId = null, + public readonly ?array $errors = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Responses/ErrorResponseVo2.php b/src/Api/ShipDGHazmatV1/Responses/ErrorResponseVo2.php new file mode 100644 index 00000000..4697adeb --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Responses/ErrorResponseVo2.php @@ -0,0 +1,30 @@ + CxsError::class]; + + /** + * @param ?string $transactionId The transaction ID is a special set of numbers that defines each transaction.
                  Example: 624deea6-b709-470c-8c39-4b5511281492 + * @param ?string $customerTransactionId This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
                  Example: AnyCo_order123456789 + * @param CxsError[]|null $errors + */ + public function __construct( + public readonly ?string $transactionId = null, + public readonly ?string $customerTransactionId = null, + public readonly ?array $errors = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Responses/ErrorResponseVo3.php b/src/Api/ShipDGHazmatV1/Responses/ErrorResponseVo3.php new file mode 100644 index 00000000..eb8dd26d --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Responses/ErrorResponseVo3.php @@ -0,0 +1,28 @@ + CxsError2::class]; + + /** + * @param ?string $transactionId The transaction ID is a special set of numbers that defines each transaction.
                  Example: 624deea6-b709-470c-8c39-4b5511281492 + * @param CxsError2[]|null $errors + */ + public function __construct( + public readonly ?string $transactionId = null, + public readonly ?array $errors = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Responses/ErrorResponseVo4.php b/src/Api/ShipDGHazmatV1/Responses/ErrorResponseVo4.php new file mode 100644 index 00000000..1ee163a3 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Responses/ErrorResponseVo4.php @@ -0,0 +1,28 @@ + CxsError3::class]; + + /** + * @param ?string $transactionId The transaction ID is a special set of numbers that defines each transaction.
                  Example: 624deea6-b709-470c-8c39-4b5511281492 + * @param CxsError3[]|null $errors + */ + public function __construct( + public readonly ?string $transactionId = null, + public readonly ?array $errors = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Responses/ErrorResponseVo5.php b/src/Api/ShipDGHazmatV1/Responses/ErrorResponseVo5.php new file mode 100644 index 00000000..e7db6e12 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Responses/ErrorResponseVo5.php @@ -0,0 +1,28 @@ + CxsError4::class]; + + /** + * @param ?string $transactionId The transaction ID is a special set of numbers that defines each transaction.
                  Example: 624deea6-b709-470c-8c39-4b5511281492 + * @param CxsError4[]|null $errors + */ + public function __construct( + public readonly ?string $transactionId = null, + public readonly ?array $errors = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Responses/ErrorResponseVo6.php b/src/Api/ShipDGHazmatV1/Responses/ErrorResponseVo6.php new file mode 100644 index 00000000..5a3c4f21 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Responses/ErrorResponseVo6.php @@ -0,0 +1,30 @@ + CxsError5::class]; + + /** + * @param ?string $transactionId The transaction ID is a special set of numbers that defines each transaction.
                  Example: 624deea6-b709-470c-8c39-4b5511281492 + * @param ?string $customerTransactionId This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
                  Example: AnyCo_order123456789 + * @param CxsError5[]|null $errors + */ + public function __construct( + public readonly ?string $transactionId = null, + public readonly ?string $customerTransactionId = null, + public readonly ?array $errors = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Responses/ShpcResponseVo.php b/src/Api/ShipDGHazmatV1/Responses/ShpcResponseVo.php new file mode 100644 index 00000000..ea5ad867 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Responses/ShpcResponseVo.php @@ -0,0 +1,28 @@ +Example: 624deea6-b709-470c-8c39-4b5511281492 + * @param ?string $customerTransactionId This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
                  Example: AnyCo_order123456789 + * @param ?BaseProcessOutputVo $output The response elements received when a shipment is created. + */ + public function __construct( + public readonly ?string $transactionId = null, + public readonly ?string $customerTransactionId = null, + public readonly ?BaseProcessOutputVo $output = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Responses/ShpcResponseVoCancelShipment.php b/src/Api/ShipDGHazmatV1/Responses/ShpcResponseVoCancelShipment.php new file mode 100644 index 00000000..6daab6eb --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Responses/ShpcResponseVoCancelShipment.php @@ -0,0 +1,28 @@ +Example: 624deea6-b709-470c-8c39-4b5511281492 + * @param ?string $customerTransactionId This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
                  Example: AnyCo_order123456789 + * @param ?BaseProcessOutputVoCancelShipment $output The response elements received when a shipment is cancelled. + */ + public function __construct( + public readonly ?string $transactionId = null, + public readonly ?string $customerTransactionId = null, + public readonly ?BaseProcessOutputVoCancelShipment $output = null, + ) {} +} diff --git a/src/Api/ShipDGHazmatV1/Responses/ShpcResponseVoValidate.php b/src/Api/ShipDGHazmatV1/Responses/ShpcResponseVoValidate.php new file mode 100644 index 00000000..d8c48e75 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Responses/ShpcResponseVoValidate.php @@ -0,0 +1,28 @@ +Example: 624deea6-b709-470c-8c39-4b5511281492 + * @param ?string $customerTransactionId This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
                  Example: AnyCo_order123456789 + * @param ?BaseProcessOutputVoValidate $output The response elements received when a shipment is created. + */ + public function __construct( + public readonly ?string $transactionId = null, + public readonly ?string $customerTransactionId = null, + public readonly ?BaseProcessOutputVoValidate $output = null, + ) {} +} From 982695e90a706c9675a53e20cf5a347df0f94c6a Mon Sep 17 00:00:00 2001 From: Rob Wigginton <8102829+bob2021@users.noreply.github.com> Date: Mon, 11 Aug 2025 18:59:35 +0100 Subject: [PATCH 10/22] Add new APIs to connector class. --- src/FedEx.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/FedEx.php b/src/FedEx.php index 0a7d8fda..ae4050c4 100644 --- a/src/FedEx.php +++ b/src/FedEx.php @@ -12,6 +12,7 @@ use Saloon\Http\Request; use Saloon\Traits\OAuth2\ClientCredentialsGrant; use Saloon\Traits\Plugins\AlwaysThrowOnErrors; +use ShipStream\FedEx\Api\AccountRegistrationV1; use ShipStream\FedEx\Api\AddressValidationV1; use ShipStream\FedEx\Api\AuthorizationV1; use ShipStream\FedEx\Api\AuthorizationV1\Dto\FullSchema; @@ -25,6 +26,7 @@ use ShipStream\FedEx\Api\PostalCodeValidationV1; use ShipStream\FedEx\Api\RatesAndTransitTimesV1; use ShipStream\FedEx\Api\ShipV1; +use ShipStream\FedEx\Api\ShipDGHazmatV1; use ShipStream\FedEx\Api\TrackV1; use ShipStream\FedEx\Api\TradeDocumentsUploadV1; use ShipStream\FedEx\Auth\MemoryCache; @@ -87,6 +89,11 @@ public function boot(PendingRequest $pendingRequest): void } } + public function accountRegistrationV1(): AccountRegistrationV1\Api + { + return new AccountRegistrationV1\Api($this); + } + public function addressValidationV1(): AddressValidationV1\Api { return new AddressValidationV1\Api($this); @@ -144,6 +151,11 @@ public function shipV1(): ShipV1\Api return new ShipV1\Api($this); } + public function shipDGHazmatV1(): ShipDGHazmatV1\Api + { + return new ShipDGHazmatV1\Api($this); + } + public function trackV1(): TrackV1\Api { return new TrackV1\Api($this); From f28ed4eee741fbc7f25d295ac2e0e06ecbd612b6 Mon Sep 17 00:00:00 2001 From: Rob Wigginton <8102829+bob2021@users.noreply.github.com> Date: Tue, 12 Aug 2025 09:59:31 +0100 Subject: [PATCH 11/22] Update README.md. --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 717f4c4c..722f89c4 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,8 @@ $json = $response->json(); $dto = $response->dto(); ``` +It is recommended to use named parameters with DTOs, as the order of parameters could change when the SDK is updated. + To figure out which DTO(s) need(s) to be passed to a particular endpoint method, use your editor to inspect the method's arguments: ![](img/dto-hint.png) From 7c7fa1fcb24988419d23886757fa721f96ca411a Mon Sep 17 00:00:00 2001 From: Rob Wigginton <8102829+bob2021@users.noreply.github.com> Date: Tue, 12 Aug 2025 13:26:20 +0100 Subject: [PATCH 12/22] Fix ship-dg-hazmat doesn't match actual response. --- resources/metadata/modifications.json | 14 ++++++++++++++ resources/models/ship-dg-hazmat/v1.json | 3 ++- src/Api/ShipDGHazmatV1/Dto/Surcharge.php | 4 ++-- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/resources/metadata/modifications.json b/resources/metadata/modifications.json index 67cfe2b0..0f2e509b 100644 --- a/resources/metadata/modifications.json +++ b/resources/metadata/modifications.json @@ -79,6 +79,20 @@ } ] }, + "ship-dg-hazmat": { + "1": [ + { + "comment": "The type of the surcharge amount is float, not Money", + "action": "replace", + "path": "components.schemas.Surcharge.properties.amount", + "value": { + "description": "Specifies the Surcharge Amount.", + "type": "number", + "format": "double" + } + } + ] + }, "track": { "1": [ { diff --git a/resources/models/ship-dg-hazmat/v1.json b/resources/models/ship-dg-hazmat/v1.json index 557a7d2e..e704fefe 100644 --- a/resources/models/ship-dg-hazmat/v1.json +++ b/resources/models/ship-dg-hazmat/v1.json @@ -3225,7 +3225,8 @@ "properties": { "amount": { "description": "Specifies the Surcharge Amount.", - "$ref": "#/components/schemas/Money" + "type": "number", + "format": "double" }, "surchargeType": { "type": "string", diff --git a/src/Api/ShipDGHazmatV1/Dto/Surcharge.php b/src/Api/ShipDGHazmatV1/Dto/Surcharge.php index 39afeabf..0c7d32d1 100644 --- a/src/Api/ShipDGHazmatV1/Dto/Surcharge.php +++ b/src/Api/ShipDGHazmatV1/Dto/Surcharge.php @@ -15,13 +15,13 @@ final class Surcharge extends Dto { /** - * @param ?Money $amount This is commodity value used for Customs declaration. + * @param ?float $amount Specifies the Surcharge Amount. * @param ?string $surchargeType Specifies the Surcharge Type.
                  Example: APPOINTMENT_DELIVERY * @param ?string $level Specifies if the surcharge applies to the whole shipment, or to an individual package.
                  Example: PACKAGE * @param ?string $description Specifies the description for the surcharge.
                  Example: description */ public function __construct( - public ?Money $amount = null, + public ?float $amount = null, public ?string $surchargeType = null, public ?string $level = null, public ?string $description = null, From 06d2f7c867853d9f5d43aaa5813d264503362484 Mon Sep 17 00:00:00 2001 From: Rob Wigginton <8102829+bob2021@users.noreply.github.com> Date: Tue, 12 Aug 2025 14:06:10 +0100 Subject: [PATCH 13/22] Fix ship-dg-hazmat doesn't match actual response. --- resources/metadata/modifications.json | 12 +++++++++++- resources/models/ship-dg-hazmat/v1.json | 14 ++++---------- src/Api/ShipDGHazmatV1/Dto/BinaryBarcode.php | 4 ++-- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/resources/metadata/modifications.json b/resources/metadata/modifications.json index 0f2e509b..f6b3a844 100644 --- a/resources/metadata/modifications.json +++ b/resources/metadata/modifications.json @@ -82,7 +82,7 @@ "ship-dg-hazmat": { "1": [ { - "comment": "The type of the surcharge amount is float, not Money", + "comment": "The type of Surcharge.amount is float, not Money", "action": "replace", "path": "components.schemas.Surcharge.properties.amount", "value": { @@ -90,6 +90,16 @@ "type": "number", "format": "double" } + }, { + "comment": "The type of the BinaryBarcode.value is string, not array of strings", + "action": "replace", + "path": "components.schemas.BinaryBarcode.properties.value", + "value": { + "type": "string", + "format": "byte", + "description": "The data content of this instance.
                  Example: \"value\"", + "example": "value" + } } ] }, diff --git a/resources/models/ship-dg-hazmat/v1.json b/resources/models/ship-dg-hazmat/v1.json index e704fefe..2a1421d9 100644 --- a/resources/models/ship-dg-hazmat/v1.json +++ b/resources/models/ship-dg-hazmat/v1.json @@ -3059,16 +3059,10 @@ "example": "COMMON-2D" }, "value": { - "type": "array", - "description": "The data content of this instance.
                  Example: [\"value\"]", - "example": [ - "value", - "value" - ], - "items": { - "type": "string", - "format": "byte" - } + "type": "string", + "format": "byte", + "description": "The data content of this instance.
                  Example: \"value\"", + "example": "value" } }, "description": "Each instance of this data type represents a barcode whose content must be represented as binary data (i.e. not ASCII text)." diff --git a/src/Api/ShipDGHazmatV1/Dto/BinaryBarcode.php b/src/Api/ShipDGHazmatV1/Dto/BinaryBarcode.php index 63f64979..0c6c1913 100644 --- a/src/Api/ShipDGHazmatV1/Dto/BinaryBarcode.php +++ b/src/Api/ShipDGHazmatV1/Dto/BinaryBarcode.php @@ -16,10 +16,10 @@ final class BinaryBarcode extends Dto { /** * @param ?string $type The kind of barcode data in this instance.
                  Example: COMMON-2D - * @param ?string[] $value The data content of this instance.
                  Example: ["value"] + * @param ?string $value The data content of this instance.
                  Example: "value" */ public function __construct( public ?string $type = null, - public ?array $value = null, + public ?string $value = null, ) {} } From 3222718824b03916cd7d4d1b3e891506a83f5eff Mon Sep 17 00:00:00 2001 From: Rob Wigginton <8102829+bob2021@users.noreply.github.com> Date: Tue, 12 Aug 2025 17:39:29 +0100 Subject: [PATCH 14/22] Do not require DangerousGoodsContainer.packingType. --- resources/metadata/modifications.json | 4 ++++ resources/models/ship-dg-hazmat/v1.json | 3 --- src/Api/ShipDGHazmatV1/Dto/DangerousGoodsContainer.php | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/resources/metadata/modifications.json b/resources/metadata/modifications.json index f6b3a844..751126f1 100644 --- a/resources/metadata/modifications.json +++ b/resources/metadata/modifications.json @@ -100,6 +100,10 @@ "description": "The data content of this instance.
                  Example: \"value\"", "example": "value" } + }, { + "comment": "DangerousGoodsContainer.packingType is not actually required.", + "action": "delete", + "path": "components.schemas.DangerousGoodsContainer.required" } ] }, diff --git a/resources/models/ship-dg-hazmat/v1.json b/resources/models/ship-dg-hazmat/v1.json index 2a1421d9..2bc314fb 100644 --- a/resources/models/ship-dg-hazmat/v1.json +++ b/resources/models/ship-dg-hazmat/v1.json @@ -6302,9 +6302,6 @@ "description": " Shipping Document Format, allow ImageType of PDF and StockType of OP_900_LL or ImageType of Text and StockType of OP_900_LL_B. Other elements are optional" }, "DangerousGoodsContainer": { - "required": [ - "packingType" - ], "type": "object", "properties": { "offeror": { diff --git a/src/Api/ShipDGHazmatV1/Dto/DangerousGoodsContainer.php b/src/Api/ShipDGHazmatV1/Dto/DangerousGoodsContainer.php index b264a0c2..248f7149 100644 --- a/src/Api/ShipDGHazmatV1/Dto/DangerousGoodsContainer.php +++ b/src/Api/ShipDGHazmatV1/Dto/DangerousGoodsContainer.php @@ -17,23 +17,23 @@ final class DangerousGoodsContainer extends Dto protected static array $complexArrayTypes = ['hazardousCommodities' => HazardousCommodityContent::class]; /** - * @param string $packingType This is Hazardous Container Packing Type. * @param ?string $offeror Indicate the offerror name or contract number. * @param HazardousCommodityContent[]|null $hazardousCommodities These are hazardous commodities content. * @param ?int $numberOfContainers Indicates the number of container with identical dangerous goods configuration. * @param ?string $containerType Indicate the type of this dangerous goods container, as specified by the IATA packing instructions.
                  Example: steel cylinder, fiberboard box, plastic jerrican and steel drum. etc. * @param ?PhoneNumber $emergencyContactNumber A phone number for a party. Numeric only * @param ?HazardousCommodityPackagingDetail $packaging Provides information about Hazardous Commodity Packaging Detail + * @param ?string $packingType This is Hazardous Container Packing Type. * @param ?string $radioactiveContainerClass Indicate the packaging type of the container to pack the radioactive materials. */ public function __construct( - public string $packingType, public ?string $offeror = null, public ?array $hazardousCommodities = null, public ?int $numberOfContainers = null, public ?string $containerType = null, public ?PhoneNumber $emergencyContactNumber = null, public ?HazardousCommodityPackagingDetail $packaging = null, + public ?string $packingType = null, public ?string $radioactiveContainerClass = null, ) {} } From fec7feeadd73264df1ab15a64ebaf1a486077234 Mon Sep 17 00:00:00 2001 From: Rob Wigginton <8102829+bob2021@users.noreply.github.com> Date: Tue, 12 Aug 2025 17:53:38 +0100 Subject: [PATCH 15/22] Do not require HazardousCommodityDescription.packingType.reportableQuantity --- resources/metadata/modifications.json | 7 +++++++ resources/models/ship-dg-hazmat/v1.json | 3 +-- .../ShipDGHazmatV1/Dto/HazardousCommodityDescription.php | 4 ++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/resources/metadata/modifications.json b/resources/metadata/modifications.json index 751126f1..a1b8adb5 100644 --- a/resources/metadata/modifications.json +++ b/resources/metadata/modifications.json @@ -104,6 +104,13 @@ "comment": "DangerousGoodsContainer.packingType is not actually required.", "action": "delete", "path": "components.schemas.DangerousGoodsContainer.required" + }, { + "comment": "HazardousCommodityDescription.reportableQuantity is not actually required.", + "action": "replace", + "path": "components.schemas.HazardousCommodityDescription.required", + "value": [ + "packingGroup" + ] } ] }, diff --git a/resources/models/ship-dg-hazmat/v1.json b/resources/models/ship-dg-hazmat/v1.json index 2bc314fb..2dd2e5ba 100644 --- a/resources/models/ship-dg-hazmat/v1.json +++ b/resources/models/ship-dg-hazmat/v1.json @@ -6030,8 +6030,7 @@ }, "HazardousCommodityDescription": { "required": [ - "packingGroup", - "reportableQuantity" + "packingGroup" ], "type": "object", "properties": { diff --git a/src/Api/ShipDGHazmatV1/Dto/HazardousCommodityDescription.php b/src/Api/ShipDGHazmatV1/Dto/HazardousCommodityDescription.php index e07239c1..0485f226 100644 --- a/src/Api/ShipDGHazmatV1/Dto/HazardousCommodityDescription.php +++ b/src/Api/ShipDGHazmatV1/Dto/HazardousCommodityDescription.php @@ -15,7 +15,6 @@ final class HazardousCommodityDescription extends Dto { /** - * @param bool $reportableQuantity Reportable Quantity * @param string $packingGroup Identifies DOT packing group for a hazardous commodity * @param ?int $sequenceNumber RequiredSpecify the sequence number
                  Example: 9812 * @param ?string[] $processingOptions Indicates any special processing options to be applied to the description of the dangerous goods commodity @@ -26,13 +25,13 @@ final class HazardousCommodityDescription extends Dto * @param ?string $technicalName 'The element specifies the technical name for the hazardous material
                  Example: technicalName' * @param ?HazardousCommodityPackingDetail $packingDetails Specifies documentation and limits for validation of an individual packing group/category. DG Data Upload Mode: Required (IATA), Optional (Other), DG Full Validation Mode: Required (IATA), Optional (Other), * @param ?string $authorization Authorization
                  Example: authorization + * @param ?bool $reportableQuantity Reportable Quantity * @param ?float $percentage Percentage
                  Example: 12.45 * @param ?string $id ID
                  Example: 123 * @param ?string $properShippingName The proper shipping name as defined by the regulation. The name can also include qualifying words
                  Example: properShippingName * @param ?string $hazardClass 'Specifies the hazard class for the commodity
                  Example: hazard Class' */ public function __construct( - public bool $reportableQuantity, public string $packingGroup, public ?int $sequenceNumber = null, public ?array $processingOptions = null, @@ -41,6 +40,7 @@ public function __construct( public ?string $technicalName = null, public ?HazardousCommodityPackingDetail $packingDetails = null, public ?string $authorization = null, + public ?bool $reportableQuantity = null, public ?float $percentage = null, public ?string $id = null, public ?string $properShippingName = null, From 7b087ec632ecd300b1ca5b723d5f01ab72307339 Mon Sep 17 00:00:00 2001 From: Rob Wigginton <8102829+bob2021@users.noreply.github.com> Date: Tue, 12 Aug 2025 18:42:05 +0100 Subject: [PATCH 16/22] Do not require HazardousCommodityDescription.packingGroup --- resources/metadata/modifications.json | 9 +++------ resources/models/ship-dg-hazmat/v1.json | 3 --- .../ShipDGHazmatV1/Dto/HazardousCommodityDescription.php | 4 ++-- 3 files changed, 5 insertions(+), 11 deletions(-) diff --git a/resources/metadata/modifications.json b/resources/metadata/modifications.json index a1b8adb5..5fa92b30 100644 --- a/resources/metadata/modifications.json +++ b/resources/metadata/modifications.json @@ -105,12 +105,9 @@ "action": "delete", "path": "components.schemas.DangerousGoodsContainer.required" }, { - "comment": "HazardousCommodityDescription.reportableQuantity is not actually required.", - "action": "replace", - "path": "components.schemas.HazardousCommodityDescription.required", - "value": [ - "packingGroup" - ] + "comment": "HazardousCommodityDescription.reportableQuantity and packingGroup are not actually required.", + "action": "delete", + "path": "components.schemas.HazardousCommodityDescription.required" } ] }, diff --git a/resources/models/ship-dg-hazmat/v1.json b/resources/models/ship-dg-hazmat/v1.json index 2dd2e5ba..9c7ed235 100644 --- a/resources/models/ship-dg-hazmat/v1.json +++ b/resources/models/ship-dg-hazmat/v1.json @@ -6029,9 +6029,6 @@ } }, "HazardousCommodityDescription": { - "required": [ - "packingGroup" - ], "type": "object", "properties": { "sequenceNumber": { diff --git a/src/Api/ShipDGHazmatV1/Dto/HazardousCommodityDescription.php b/src/Api/ShipDGHazmatV1/Dto/HazardousCommodityDescription.php index 0485f226..ad5c0116 100644 --- a/src/Api/ShipDGHazmatV1/Dto/HazardousCommodityDescription.php +++ b/src/Api/ShipDGHazmatV1/Dto/HazardousCommodityDescription.php @@ -15,7 +15,6 @@ final class HazardousCommodityDescription extends Dto { /** - * @param string $packingGroup Identifies DOT packing group for a hazardous commodity * @param ?int $sequenceNumber RequiredSpecify the sequence number
                  Example: 9812 * @param ?string[] $processingOptions Indicates any special processing options to be applied to the description of the dangerous goods commodity * @param ?string[] $subsidiaryClasses Required @@ -28,11 +27,11 @@ final class HazardousCommodityDescription extends Dto * @param ?bool $reportableQuantity Reportable Quantity * @param ?float $percentage Percentage
                  Example: 12.45 * @param ?string $id ID
                  Example: 123 + * @param ?string $packingGroup Identifies DOT packing group for a hazardous commodity * @param ?string $properShippingName The proper shipping name as defined by the regulation. The name can also include qualifying words
                  Example: properShippingName * @param ?string $hazardClass 'Specifies the hazard class for the commodity
                  Example: hazard Class' */ public function __construct( - public string $packingGroup, public ?int $sequenceNumber = null, public ?array $processingOptions = null, public ?array $subsidiaryClasses = null, @@ -43,6 +42,7 @@ public function __construct( public ?bool $reportableQuantity = null, public ?float $percentage = null, public ?string $id = null, + public ?string $packingGroup = null, public ?string $properShippingName = null, public ?string $hazardClass = null, ) {} From 73094a3db2fd4dd0f380ed9d25a17d677270e879 Mon Sep 17 00:00:00 2001 From: Rob Wigginton <8102829+bob2021@users.noreply.github.com> Date: Tue, 26 Aug 2025 10:40:06 +0100 Subject: [PATCH 17/22] Update highsidelabs/saloon-sdk-generator package. --- composer.json | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/composer.json b/composer.json index 0f242a04..2b9611ed 100644 --- a/composer.json +++ b/composer.json @@ -11,14 +11,8 @@ "require": { "saloonphp/saloon": "^3.8" }, - "repositories": [ - { - "type": "vcs", - "url": "https://github.com/bob2021/saloon-sdk-generator.git" - } - ], "require-dev": { - "highsidelabs/saloon-sdk-generator": "dev-fix-multipart", + "highsidelabs/saloon-sdk-generator": "^2.1", "psy/psysh": "^0.12.3", "symfony/console": "^7.0", "phpcompatibility/php-compatibility": "^9.3", From 67f2df0efbbe85875f0e8d8c564ac4e5fcb08f9f Mon Sep 17 00:00:00 2001 From: Rob Wigginton <8102829+bob2021@users.noreply.github.com> Date: Wed, 27 Aug 2025 16:44:04 +0100 Subject: [PATCH 18/22] Do not require ResponsiblePartyParty.contact/address. --- resources/metadata/modifications.json | 4 ++++ resources/models/ship-dg-hazmat/v1.json | 4 ---- src/Api/ShipDGHazmatV1/Dto/ResponsiblePartyParty.php | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/resources/metadata/modifications.json b/resources/metadata/modifications.json index 5fa92b30..7b27fce5 100644 --- a/resources/metadata/modifications.json +++ b/resources/metadata/modifications.json @@ -108,6 +108,10 @@ "comment": "HazardousCommodityDescription.reportableQuantity and packingGroup are not actually required.", "action": "delete", "path": "components.schemas.HazardousCommodityDescription.required" + }, { + "comment": "ResponsiblePartyParty address and contact are not actually required.", + "action": "delete", + "path": "components.schemas.ResponsiblePartyParty.required" } ] }, diff --git a/resources/models/ship-dg-hazmat/v1.json b/resources/models/ship-dg-hazmat/v1.json index 9c7ed235..258bc318 100644 --- a/resources/models/ship-dg-hazmat/v1.json +++ b/resources/models/ship-dg-hazmat/v1.json @@ -5006,10 +5006,6 @@ } }, "ResponsiblePartyParty": { - "required": [ - "address", - "contact" - ], "type": "object", "properties": { "address": { diff --git a/src/Api/ShipDGHazmatV1/Dto/ResponsiblePartyParty.php b/src/Api/ShipDGHazmatV1/Dto/ResponsiblePartyParty.php index 6bd78f15..c4b5cc3f 100644 --- a/src/Api/ShipDGHazmatV1/Dto/ResponsiblePartyParty.php +++ b/src/Api/ShipDGHazmatV1/Dto/ResponsiblePartyParty.php @@ -15,13 +15,13 @@ final class ResponsiblePartyParty extends Dto { /** - * @param PartyAddress $address This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US). - * @param PartyContact $contact Indicate the contact details for this shipment. + * @param ?PartyAddress $address This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US). + * @param ?PartyContact $contact Indicate the contact details for this shipment. * @param ?PartyAccountNumber $accountNumber The account number of the recipient. */ public function __construct( - public PartyAddress $address, - public PartyContact $contact, + public ?PartyAddress $address = null, + public ?PartyContact $contact = null, public ?PartyAccountNumber $accountNumber = null, ) {} } From 7f22598bc3cab6e497a22b9d2aad6f62a6c7766b Mon Sep 17 00:00:00 2001 From: Rob Wigginton <8102829+bob2021@users.noreply.github.com> Date: Thu, 28 Aug 2025 11:40:25 +0100 Subject: [PATCH 19/22] Do not require any fields for PartyAddress or PartyContact. --- resources/metadata/modifications.json | 88 +++++++++++++-------- resources/models/ship-dg-hazmat/v1.json | 10 --- resources/models/ship/v1.json | 8 -- src/Api/ShipDGHazmatV1/Dto/PartyAddress.php | 20 ++--- src/Api/ShipDGHazmatV1/Dto/PartyContact.php | 4 +- src/Api/ShipV1/Dto/PartyAddress.php | 12 +-- src/Api/ShipV1/Dto/PartyContact.php | 4 +- 7 files changed, 74 insertions(+), 72 deletions(-) diff --git a/resources/metadata/modifications.json b/resources/metadata/modifications.json index 7b27fce5..b68e90ac 100644 --- a/resources/metadata/modifications.json +++ b/resources/metadata/modifications.json @@ -76,44 +76,64 @@ "value": { "$ref": "#/components/schemas/Alert_3P" } + }, { + " comment": "Remove required fields from PartyAddress", + "action": "delete", + "path": "components.schemas.PartyAddress.required" + }, { + "comment": "Remove required fields from PartyContact", + "action": "delete", + "path": "components.schemas.PartyContact.required" } ] }, "ship-dg-hazmat": { - "1": [ - { - "comment": "The type of Surcharge.amount is float, not Money", - "action": "replace", - "path": "components.schemas.Surcharge.properties.amount", - "value": { - "description": "Specifies the Surcharge Amount.", - "type": "number", - "format": "double" - } - }, { - "comment": "The type of the BinaryBarcode.value is string, not array of strings", - "action": "replace", - "path": "components.schemas.BinaryBarcode.properties.value", - "value": { - "type": "string", - "format": "byte", - "description": "The data content of this instance.
                  Example: \"value\"", - "example": "value" - } - }, { - "comment": "DangerousGoodsContainer.packingType is not actually required.", - "action": "delete", - "path": "components.schemas.DangerousGoodsContainer.required" - }, { - "comment": "HazardousCommodityDescription.reportableQuantity and packingGroup are not actually required.", - "action": "delete", - "path": "components.schemas.HazardousCommodityDescription.required" - }, { - "comment": "ResponsiblePartyParty address and contact are not actually required.", - "action": "delete", - "path": "components.schemas.ResponsiblePartyParty.required" - } - ] + "1": [ + { + "comment": "The type of Surcharge.amount is float, not Money", + "action": "replace", + "path": "components.schemas.Surcharge.properties.amount", + "value": { + "description": "Specifies the Surcharge Amount.", + "type": "number", + "format": "double" + } + }, { + "comment": "The type of the BinaryBarcode.value is string, not array of strings", + "action": "replace", + "path": "components.schemas.BinaryBarcode.properties.value", + "value": { + "type": "string", + "format": "byte", + "description": "The data content of this instance.
                  Example: \"value\"", + "example": "value" + } + }, { + "comment": "DangerousGoodsContainer.packingType is not actually required.", + "action": "delete", + "path": "components.schemas.DangerousGoodsContainer.required" + }, { + "comment": "HazardousCommodityDescription.reportableQuantity and packingGroup are not actually required.", + "action": "delete", + "path": "components.schemas.HazardousCommodityDescription.required" + }, { + "comment": "ResponsiblePartyParty address and contact are not actually required.", + "action": "delete", + "path": "components.schemas.ResponsiblePartyParty.required" + }, { + "comment": "Remove required fields from PartyAddress", + "action": "delete", + "path": "components.schemas.PartyAddress.required" + }, { + "comment": "Remove required fields from PartyAddress", + "action": "delete", + "path": "components.schemas.PartyAddress.required" + }, { + "comment": "Remove required fields from PartyContact", + "action": "delete", + "path": "components.schemas.PartyContact.required" + } + ] }, "track": { "1": [ diff --git a/resources/models/ship-dg-hazmat/v1.json b/resources/models/ship-dg-hazmat/v1.json index 258bc318..462cc8e5 100644 --- a/resources/models/ship-dg-hazmat/v1.json +++ b/resources/models/ship-dg-hazmat/v1.json @@ -949,13 +949,6 @@ "description": "Will indicate the party responsible for purchasing the goods shipped from the shipper to the recipient. The sold to party is not necessarily the recipient or the importer of record. The sold to party is relevant when the purchaser, rather than the recipient determines when certain customs regulations apply." }, "PartyAddress": { - "required": [ - "city", - "countryCode", - "postalCode", - "stateOrProvinceCode", - "streetLines" - ], "type": "object", "properties": { "streetLines": { @@ -1010,9 +1003,6 @@ } }, "PartyContact": { - "required": [ - "phoneNumber" - ], "type": "object", "properties": { "personName": { diff --git a/resources/models/ship/v1.json b/resources/models/ship/v1.json index 4db8bcd9..c3aec880 100644 --- a/resources/models/ship/v1.json +++ b/resources/models/ship/v1.json @@ -7781,11 +7781,6 @@ } }, "PartyAddress": { - "required": [ - "city", - "countryCode", - "streetLines" - ], "type": "object", "properties": { "streetLines": { @@ -7895,9 +7890,6 @@ } }, "PartyContact": { - "required": [ - "phoneNumber" - ], "type": "object", "properties": { "personName": { diff --git a/src/Api/ShipDGHazmatV1/Dto/PartyAddress.php b/src/Api/ShipDGHazmatV1/Dto/PartyAddress.php index 32ee459d..a60f9fa1 100644 --- a/src/Api/ShipDGHazmatV1/Dto/PartyAddress.php +++ b/src/Api/ShipDGHazmatV1/Dto/PartyAddress.php @@ -15,19 +15,19 @@ final class PartyAddress extends Dto { /** - * @param string[] $streetLines Combination of number, street name, etc. At least one line is required for a valid physical address. Empty lines should not be included. Max Length is 35.
                  Example: [1550 Union Blvd,Suite 302] - * @param string $city The name of city, town of the recipient.Max length is 35.
                  Example: Beverly Hills - * @param string $stateOrProvinceCode The US State and Canada Province codes of the recipient. The Format and presence of this field may vary depending on the country.
                  Example: CA - * @param string $postalCode The US State and Canada Province codes. The Format and presence of this field may vary depending on the country.
                  Example: 90210 - * @param string $countryCode The two-letter code used to identify a country. Max length is 2.
                  Example: US + * @param ?string[] $streetLines Combination of number, street name, etc. At least one line is required for a valid physical address. Empty lines should not be included. Max Length is 35.
                  Example: [1550 Union Blvd,Suite 302] + * @param ?string $city The name of city, town of the recipient.Max length is 35.
                  Example: Beverly Hills + * @param ?string $stateOrProvinceCode The US State and Canada Province codes of the recipient. The Format and presence of this field may vary depending on the country.
                  Example: CA + * @param ?string $postalCode The US State and Canada Province codes. The Format and presence of this field may vary depending on the country.
                  Example: 90210 + * @param ?string $countryCode The two-letter code used to identify a country. Max length is 2.
                  Example: US * @param ?bool $residential Indicates whether this address is residential (as opposed to commercial).
                  Example: false */ public function __construct( - public array $streetLines, - public string $city, - public string $stateOrProvinceCode, - public string $postalCode, - public string $countryCode, + public ?array $streetLines = null, + public ?string $city = null, + public ?string $stateOrProvinceCode = null, + public ?string $postalCode = null, + public ?string $countryCode = null, public ?bool $residential = null, ) {} } diff --git a/src/Api/ShipDGHazmatV1/Dto/PartyContact.php b/src/Api/ShipDGHazmatV1/Dto/PartyContact.php index 707da3c6..824a96b1 100644 --- a/src/Api/ShipDGHazmatV1/Dto/PartyContact.php +++ b/src/Api/ShipDGHazmatV1/Dto/PartyContact.php @@ -15,17 +15,17 @@ final class PartyContact extends Dto { /** - * @param string $phoneNumber The shipper's phone number.
                  Minimum length is 10 and supports maximum of 15 for certain countries using longer phone numbers.
                  Note: For US and CA, a phone number must have exactly 10 digits, plus an optional leading country code of '1' or '+1'.
                  Example: 918xxxxx890 * @param ?string $personName Identifies the contact person's name. Max Length is 70.
                  Example: John Taylor * @param ?string $emailAddress Shipper's email address. Max length is 80.
                  Example: sample@company.com * @param ?string $phoneExtension The shipper's phone extension. Max length is 6.
                  Example: 91 + * @param ?string $phoneNumber The shipper's phone number.
                  Minimum length is 10 and supports maximum of 15 for certain countries using longer phone numbers.
                  Note: For US and CA, a phone number must have exactly 10 digits, plus an optional leading country code of '1' or '+1'.
                  Example: 918xxxxx890 * @param ?string $companyName The shipper's company name. Max length is 35.
                  Example: FedEx */ public function __construct( - public string $phoneNumber, public ?string $personName = null, public ?string $emailAddress = null, public ?string $phoneExtension = null, + public ?string $phoneNumber = null, public ?string $companyName = null, ) {} } diff --git a/src/Api/ShipV1/Dto/PartyAddress.php b/src/Api/ShipV1/Dto/PartyAddress.php index c87fb42a..9cbfbd30 100644 --- a/src/Api/ShipV1/Dto/PartyAddress.php +++ b/src/Api/ShipV1/Dto/PartyAddress.php @@ -15,19 +15,19 @@ final class PartyAddress extends Dto { /** - * @param string[] $streetLines Combination of number, street name, etc. At least one line is required for a valid physical address. Empty lines should not be included. Max Length is 35.
                  Example: [1550 Union Blvd,Suite 302] - * @param string $city The name of city, town of the recipient.Max length is 35.
                  Example: Beverly Hills - * @param string $countryCode This is the two-letter country code.
                  Maximum length is 2.
                  Example: US
                  click here to see Country codes + * @param ?string[] $streetLines Combination of number, street name, etc. At least one line is required for a valid physical address. Empty lines should not be included. Max Length is 35.
                  Example: [1550 Union Blvd,Suite 302] + * @param ?string $city The name of city, town of the recipient.Max length is 35.
                  Example: Beverly Hills * @param ?string $stateOrProvinceCode It is used to identify the principal subdivisions (e.g., provinces or states) of countries. The Format and presence of this field may vary depending on the country. Note: For specific countries, such as the United States and Canada, and Puerto Rico, there is a two-character state, province, codes limit . Example: TX * @param ?string $postalCode This is the postal code.
                  Note: This is Optional for non postal-aware countries. Maximum length is 10.
                  Example: 65247
                  click here to see Postal aware countries + * @param ?string $countryCode This is the two-letter country code.
                  Maximum length is 2.
                  Example: US
                  click here to see Country codes * @param ?bool $residential Indicates whether this address is residential (as opposed to commercial).
                  Example: false */ public function __construct( - public array $streetLines, - public string $city, - public string $countryCode, + public ?array $streetLines = null, + public ?string $city = null, public ?string $stateOrProvinceCode = null, public ?string $postalCode = null, + public ?string $countryCode = null, public ?bool $residential = null, ) {} } diff --git a/src/Api/ShipV1/Dto/PartyContact.php b/src/Api/ShipV1/Dto/PartyContact.php index cb5881e3..f6e59988 100644 --- a/src/Api/ShipV1/Dto/PartyContact.php +++ b/src/Api/ShipV1/Dto/PartyContact.php @@ -15,17 +15,17 @@ final class PartyContact extends Dto { /** - * @param string $phoneNumber The shipper's phone number.
                  Minimum length is 10 and supports maximum of 15 for certain countries using longer phone numbers.
                  Note: For US and CA, a phone number must have exactly 10 digits, plus an optional leading country code of '1' or '+1'.
                  Example: 918xxxxx890 * @param ?string $personName Specify contact name. Maximum length is 70.
                  Note: Either the companyName or personName is mandatory.
                  Example: John Taylor * @param ?string $emailAddress Specify contact email address. Maximum length is 80.
                  Example: sample@company.com * @param ?string $phoneExtension Specify contact phone extension. Maximum length is 6.
                  Example: 1234 + * @param ?string $phoneNumber The shipper's phone number.
                  Minimum length is 10 and supports maximum of 15 for certain countries using longer phone numbers.
                  Note: For US and CA, a phone number must have exactly 10 digits, plus an optional leading country code of '1' or '+1'.
                  Example: 918xxxxx890 * @param ?string $companyName The shipper's company name. Max length is 35.
                  Example: FedEx */ public function __construct( - public string $phoneNumber, public ?string $personName = null, public ?string $emailAddress = null, public ?string $phoneExtension = null, + public ?string $phoneNumber = null, public ?string $companyName = null, ) {} } From f41c9d2030ce6a49db56374ea56c5d3772a73fb3 Mon Sep 17 00:00:00 2001 From: Rob Wigginton <8102829+bob2021@users.noreply.github.com> Date: Tue, 2 Sep 2025 14:10:31 +0100 Subject: [PATCH 20/22] Allow locale to be set. --- src/FedEx.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/FedEx.php b/src/FedEx.php index ae4050c4..b9fb235f 100644 --- a/src/FedEx.php +++ b/src/FedEx.php @@ -52,6 +52,7 @@ public function __construct( public ?bool $proprietaryChild = false, public ?TokenCache $tokenCache = new MemoryCache(), public ?Closure $transactionIdGenerator = null, + public ?string $locale = null, ) { if (($this->childKey && ! $this->childSecret) || ($this->childSecret && ! $this->childKey)) { throw new InvalidArgumentException('Both childKey and childSecret must be provided.'); @@ -87,6 +88,10 @@ public function boot(PendingRequest $pendingRequest): void $pendingRequest->headers()->add('x-customer-transaction-id', $transactionId); } + + if ($this->locale) { + $pendingRequest->headers()->add('x-locale', $this->locale); + } } public function accountRegistrationV1(): AccountRegistrationV1\Api From a805d097ecd5611084aefdf41b20bdd3bf59a233 Mon Sep 17 00:00:00 2001 From: Rob Wigginton <8102829+bob2021@users.noreply.github.com> Date: Tue, 2 Sep 2025 14:27:51 +0100 Subject: [PATCH 21/22] Add missing alertType property to Ship Alert3P. --- resources/metadata/modifications.json | 15 +++++++++++++++ resources/models/ship/v1.json | 9 +++++++++ src/Api/ShipV1/Dto/Alert3p.php | 2 ++ 3 files changed, 26 insertions(+) diff --git a/resources/metadata/modifications.json b/resources/metadata/modifications.json index b68e90ac..9d460253 100644 --- a/resources/metadata/modifications.json +++ b/resources/metadata/modifications.json @@ -76,6 +76,21 @@ "value": { "$ref": "#/components/schemas/Alert_3P" } + }, { + "comment": "Add missing alertType property to Alert_3P", + "action": "merge", + "path": "components.schemas.Alert_3P.properties", + "value": { + "alertType": { + "type": "string", + "description": "Specifies the api alert type.", + "example": "NOTE", + "enum": [ + "NOTE", + "WARNING" + ] + } + } }, { " comment": "Remove required fields from PartyAddress", "action": "delete", diff --git a/resources/models/ship/v1.json b/resources/models/ship/v1.json index c3aec880..4699c860 100644 --- a/resources/models/ship/v1.json +++ b/resources/models/ship/v1.json @@ -4294,6 +4294,15 @@ "type": "string", "description": "Specifies the api alert message.
                  Example: Recipient\u2019s phone number format is not matching with recipient's country code; hence, recipient will not receive Convenient Delivery Options. Moving forward, please provide valid mobile phone number.", "example": "Recipient\u2019s phone number format is not matching with recipient's country code; hence, recipient will not receive Convenient Delivery Options. Moving forward, please provide valid mobile phone number." + }, + "alertType": { + "type": "string", + "description": "Specifies the api alert type.", + "example": "NOTE", + "enum": [ + "NOTE", + "WARNING" + ] } }, "description": "Specifies the api alerts." diff --git a/src/Api/ShipV1/Dto/Alert3p.php b/src/Api/ShipV1/Dto/Alert3p.php index aba9597a..50329dd3 100644 --- a/src/Api/ShipV1/Dto/Alert3p.php +++ b/src/Api/ShipV1/Dto/Alert3p.php @@ -17,9 +17,11 @@ final class Alert3p extends Dto /** * @param ?string $code Specifies the api alert code.
                  Example: RECIPIENTCONTACT.PHONENUMBER.INVALID * @param ?string $message Specifies the api alert message.
                  Example: Recipient’s phone number format is not matching with recipient's country code; hence, recipient will not receive Convenient Delivery Options. Moving forward, please provide valid mobile phone number. + * @param ?string $alertType Specifies the api alert type. */ public function __construct( public ?string $code = null, public ?string $message = null, + public ?string $alertType = null, ) {} } From 4c6eaf96c1db38afa8b0eb8570a55d2bfa96e044 Mon Sep 17 00:00:00 2001 From: Rob Wigginton <8102829+bob2021@users.noreply.github.com> Date: Wed, 3 Sep 2025 17:12:26 +0100 Subject: [PATCH 22/22] Do not remove trailing slash from paths. --- .../Requests/CancelFreightPickup.php | 2 +- .../Requests/CreateFreightPickup.php | 2 +- .../Requests/GroundPerformEndOfDayClose.php | 2 +- .../Requests/PerformEndOfDayClose.php | 2 +- .../Requests/ConfirmOpenShipment.php | 2 +- .../Requests/ModifyOpenShipment.php | 2 +- src/Generator/Generators/RequestGenerator.php | 30 +++++++++++++++++++ src/Generator/Schema/SchemaVersion.php | 16 ++++++++++ 8 files changed, 52 insertions(+), 6 deletions(-) diff --git a/src/Api/FreightLTLV1/Requests/CancelFreightPickup.php b/src/Api/FreightLTLV1/Requests/CancelFreightPickup.php index db99b002..dcf007df 100644 --- a/src/Api/FreightLTLV1/Requests/CancelFreightPickup.php +++ b/src/Api/FreightLTLV1/Requests/CancelFreightPickup.php @@ -43,7 +43,7 @@ public function __construct( public function resolveEndpoint(): string { - return '/pickup/v1/freight/pickups/cancel'; + return '/pickup/v1/freight/pickups/cancel/'; } public function createDtoFromResponse(Response $response): PudcResponseVoCancelPickup|ErrorResponseVo diff --git a/src/Api/FreightLTLV1/Requests/CreateFreightPickup.php b/src/Api/FreightLTLV1/Requests/CreateFreightPickup.php index f62fd5e4..a1ccf576 100644 --- a/src/Api/FreightLTLV1/Requests/CreateFreightPickup.php +++ b/src/Api/FreightLTLV1/Requests/CreateFreightPickup.php @@ -41,7 +41,7 @@ public function __construct( public function resolveEndpoint(): string { - return '/pickup/v1/freight/pickups'; + return '/pickup/v1/freight/pickups/'; } public function createDtoFromResponse(Response $response): PudcResponseVo|ErrorResponseVo diff --git a/src/Api/GroundEODCloseV1/Requests/GroundPerformEndOfDayClose.php b/src/Api/GroundEODCloseV1/Requests/GroundPerformEndOfDayClose.php index 28699428..fb040ef9 100644 --- a/src/Api/GroundEODCloseV1/Requests/GroundPerformEndOfDayClose.php +++ b/src/Api/GroundEODCloseV1/Requests/GroundPerformEndOfDayClose.php @@ -39,7 +39,7 @@ public function __construct( public function resolveEndpoint(): string { - return '/ship/v1/endofday'; + return '/ship/v1/endofday/'; } public function createDtoFromResponse(Response $response): ShpcResponseVo|ErrorResponseVo|ErrorResponseVo2 diff --git a/src/Api/GroundEODCloseV1/Requests/PerformEndOfDayClose.php b/src/Api/GroundEODCloseV1/Requests/PerformEndOfDayClose.php index 021000f5..b7a19a94 100644 --- a/src/Api/GroundEODCloseV1/Requests/PerformEndOfDayClose.php +++ b/src/Api/GroundEODCloseV1/Requests/PerformEndOfDayClose.php @@ -39,7 +39,7 @@ public function __construct( public function resolveEndpoint(): string { - return '/ship/v1/endofday'; + return '/ship/v1/endofday/'; } public function createDtoFromResponse(Response $response): ShpcResponseVo|ErrorResponseVo|ErrorResponseVo2 diff --git a/src/Api/OpenShipV1/Requests/ConfirmOpenShipment.php b/src/Api/OpenShipV1/Requests/ConfirmOpenShipment.php index 2c34b23f..bce2d6e4 100644 --- a/src/Api/OpenShipV1/Requests/ConfirmOpenShipment.php +++ b/src/Api/OpenShipV1/Requests/ConfirmOpenShipment.php @@ -40,7 +40,7 @@ public function __construct( public function resolveEndpoint(): string { - return '/ship/v1/openshipments'; + return '/ship/v1/openshipments/'; } public function createDtoFromResponse( diff --git a/src/Api/OpenShipV1/Requests/ModifyOpenShipment.php b/src/Api/OpenShipV1/Requests/ModifyOpenShipment.php index ca657ac7..5c712cb3 100644 --- a/src/Api/OpenShipV1/Requests/ModifyOpenShipment.php +++ b/src/Api/OpenShipV1/Requests/ModifyOpenShipment.php @@ -40,7 +40,7 @@ public function __construct( public function resolveEndpoint(): string { - return '/ship/v1/openshipments'; + return '/ship/v1/openshipments/'; } public function createDtoFromResponse( diff --git a/src/Generator/Generators/RequestGenerator.php b/src/Generator/Generators/RequestGenerator.php index 5a2fc565..1ea947a4 100644 --- a/src/Generator/Generators/RequestGenerator.php +++ b/src/Generator/Generators/RequestGenerator.php @@ -4,7 +4,12 @@ namespace ShipStream\FedEx\Generator\Generators; +use Crescat\SaloonSdkGenerator\Data\Generator\Endpoint; use Crescat\SaloonSdkGenerator\Generators\RequestGenerator as SDKRequestGenerator; +use Crescat\SaloonSdkGenerator\Helpers\NameHelper; +use Illuminate\Support\Collection; +use Illuminate\Support\Str; +use Nette\PhpGenerator\PhpFile; class RequestGenerator extends SDKRequestGenerator { @@ -12,4 +17,29 @@ protected function makeClass(string $className, array|string|null $namespaceSuff { return parent::makeClass($className, $this->config->namespaceSuffixes['request']); } + + protected function generateRequestClass(Endpoint $endpoint): PhpFile + { + // Get the generated class from parent + $classFile = parent::generateRequestClass($endpoint); + + // If the original path had a trailing slash then keep it + if (in_array($endpoint->name, $this->config->extra['operationIdsRequiringTrailingSlash'] ?? [])) { + $classes = $classFile->getClasses(); + $class = reset($classes); + $method = $class->getMethod('resolveEndpoint'); + + // Use the same logic as parent but add trailing slash + $method->setBody( + collect($endpoint->pathSegments) + ->map(fn ($segment) => Str::startsWith($segment, ':') + ? sprintf('{$this->%s}', NameHelper::safeVariableName($segment)) + : $segment + ) + ->pipe(fn (Collection $segments) => sprintf('return "/%s/";', $segments->implode('/'))) + ); + } + + return $classFile; + } } diff --git a/src/Generator/Schema/SchemaVersion.php b/src/Generator/Schema/SchemaVersion.php index 9bde2e1b..6c93618d 100644 --- a/src/Generator/Schema/SchemaVersion.php +++ b/src/Generator/Schema/SchemaVersion.php @@ -34,9 +34,25 @@ public function generate(): void $schemaNamespace = $this->studlyName(); $inputPath = $this->path(); + + // Collect operation ids that have a trailing slash in the path so it can be added back later + $operationIdsRequiringTrailingSlash = []; + if ($schemaContents = file_get_contents($inputPath)) { + $schemaContents = json_decode($schemaContents); + foreach ($schemaContents?->paths ?? [] as $path => $endpoints) { + if (! str_ends_with($path, '/')) { + continue; + } + foreach ($endpoints as $endpoint) { + $operationIdsRequiringTrailingSlash[] = $endpoint->operationId; + } + } + } + $generator = Generator::make([ 'namespace' => $baseNamespace.'\\'.$schemaNamespace, 'outputDir' => "src/Api/$schemaNamespace", + 'extra' => ['operationIdsRequiringTrailingSlash' => $operationIdsRequiringTrailingSlash], ]); $result = $generator->run($inputPath); $result->dumpFiles();