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) 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": [ diff --git a/resources/apis.json b/resources/apis.json index f6970f7b..ec2bd660 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": [ @@ -122,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/metadata/modifications.json b/resources/metadata/modifications.json index c69f7474..9d460253 100644 --- a/resources/metadata/modifications.json +++ b/resources/metadata/modifications.json @@ -1,4 +1,44 @@ { + "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" + }, + { + "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" + } + } + ] + }, "address-validation": { "1": [ { @@ -36,6 +76,77 @@ "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", + "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" + }, { + "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" } ] }, @@ -60,5 +171,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/.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/.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-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/.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/account-registration/v1.json b/resources/models/account-registration/v1.json new file mode 100644 index 00000000..c6fc5685 --- /dev/null +++ b/resources/models/account-registration/v1.json @@ -0,0 +1,1285 @@ +{ + "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_2" + } + } + } + }, + "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": "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", + "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_2" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO_3" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO_3" + }, + "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_3" + }, + "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_3" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseVO_3" + }, + "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_3" + }, + "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_3" + }, + "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_3" + }, + "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": { + "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": { + "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." + }, + "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" + ], + "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/BaseProcessOutputVO" + } + }, + "description": "This is a wrapper class for outputVO" + }, + "IrcpResponseVO_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" + }, + "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: 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: bc95c0e4-b33e-42a2-80d2-334282b5d37a", + "example": "bc95c0e4-b33e-42a2-80d2-334282b5d37a" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CXSError_2" + } + } + }, + "description": "Error information" + }, + "ErrorResponseVO_3": { + "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_2" + } + } + }, + "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" + }, + "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" + } + } + }, + "openapi": "3.0.0", + "info": { + "title": "Account Registration Resource", + "version": "API" + } +} \ No newline at end of file diff --git a/resources/models/address-validation/v1.json b/resources/models/address-validation/v1.json index 2b4be010..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": { @@ -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/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 32b7e75a..0687834f 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", @@ -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", @@ -2690,14 +2590,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", @@ -2714,19 +2614,19 @@ "$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" + "$ref": "#/components/schemas/CustomsClearanceDetail_2" }, "consolidationDocumentSpecification": { - "$ref": "#/components/schemas/ConsolidationDocumentSpec" + "$ref": "#/components/schemas/ConsolidationDocumentSpec_2" }, "shippingChargesPayment": { "$ref": "#/components/schemas/Payment" @@ -6605,74 +6505,12 @@ }, "description": "Adjusted total weight of Ground packages" }, - "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" - } - } - } - }, - "RequestedConsolidation_specialServicesRequested": { - "type": "object", - "properties": { - "specialServiceTypes": { - "type": "string", - "description": "Provides all the special service types.
    Example: PRIORITY_ALERT", - "example": "PRIORITY_ALERT", - "enum": [ - "BROKER_SELECT_OPTION", - "PRIORITY_ALERT", - "SATURDAY_PICKUP" - ] - }, - "priorityAlertDetail": { - "$ref": "#/components/schemas/PriorityAlertDetail" - } - }, - "description": "These special services are available at the shipment level for some or all service types." - }, - "ConsolidationDataSources_1_inner": { - "type": "object", - "properties": { - "consolidationDataType": { - "$ref": "#/components/schemas/consolidationDataType" - }, - "consolidationDataSourceType": { - "$ref": "#/components/schemas/consolidationDataSourceType" - } - } - }, - "CustomerReferences_1_inner": { - "type": "object", - "properties": { - "customerReferenceType": { - "$ref": "#/components/schemas/customerReferenceType" - }, - "value": { - "$ref": "#/components/schemas/value" - } - } - }, - "CustomsClearanceDetail_1_commercialInvoice": { + "CustomsClearanceDetail_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", + "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": { @@ -6736,11 +6574,19 @@ }, "purposeOfShipmentDescription": { "type": "string", - "description": "Describes the purpose of shipping description", - "example": "purpose Of Shipment Description" + "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_1" + "$ref": "#/components/schemas/CustomerReferences" }, "originatorName": { "type": "string", @@ -6750,7 +6596,7 @@ }, "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": { + "ConsolidationDocumentSpec_consolidatedCommercialInvoiceDetail": { "type": "object", "properties": { "format": { @@ -6759,7 +6605,7 @@ }, "description": "Specifies consolidated commercial invoice detail." }, - "ConsolidationDocumentSpec_1_customsPackingListDetail": { + "ConsolidationDocumentSpec_customsPackingListDetail": { "type": "object", "properties": { "format": { @@ -6768,7 +6614,7 @@ }, "description": "Specifies the customs packing list detail." }, - "ConsolidationDocumentSpec_1_crnReportDetail": { + "ConsolidationDocumentSpec_crnReportDetail": { "type": "object", "properties": { "format": { @@ -6777,7 +6623,7 @@ }, "description": "Specifies the child reference number report detail." }, - "ConsolidationDocumentSpec_1_condensedCrnReportDetail": { + "ConsolidationDocumentSpec_condensedCrnReportDetail": { "type": "object", "properties": { "format": { @@ -6786,7 +6632,7 @@ }, "description": "Specifies the child reference number report detail for condensed CrnReport Detail." }, - "ConsolidationDocumentSpec_1_consolidatedCustomsLinehaulReportDetail": { + "ConsolidationDocumentSpec_consolidatedCustomsLinehaulReportDetail": { "type": "object", "properties": { "format": { @@ -6795,7 +6641,7 @@ }, "description": "Specifies the child reference number report detail for consolidated customs linehaul report detail." }, - "ConsolidationDocumentSpec_1_consolidatedPartyReportDetail": { + "ConsolidationDocumentSpec_consolidatedPartyReportDetail": { "type": "object", "properties": { "format": { @@ -6804,7 +6650,7 @@ }, "description": "Specifies the child reference number report detail for consolidated party report detail." }, - "ConsolidationDocumentSpec_1_consolidatedSoldToSummaryReportDetail": { + "ConsolidationDocumentSpec_consolidatedSoldToSummaryReportDetail": { "type": "object", "properties": { "format": { @@ -6813,1113 +6659,2365 @@ }, "description": "Specifies the child reference number report detail for consolidated SoldTo summary report detail." }, - "CompletedHoldAtLocationDetail_holdingLocation": { + "CXSError401_errors": { + "type": "object", "properties": { - "address": { - "$ref": "#/components/schemas/Address" + "code": { + "type": "string", + "description": "Indicates the error code.", + "example": "LOGIN.REAUTHENTICATE.ERROR" }, - "contact": { - "$ref": "#/components/schemas/Contact_2" + "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" + } } - }, - "description": "Specifies the physical address of the FedEx holding location.", - "type": "object" + } }, - "RequestedConsolidationShipment_specialServicesRequested": { + "CXSError403_errors": { "type": "object", "properties": { - "holdAtLocationDetail": { - "$ref": "#/components/schemas/HoldAtLocationDetail" + "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" + } } - }, - "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." + } }, - "RequestedConsolidationShipment_processingOption": { + "CXSError404_errors": { "type": "object", "properties": { - "options": { + "code": { "type": "string", - "description": "Specifies the options.", - "example": "BYPASS_REGULATORY_VALIDATION", - "enum": [ - "ALLOW_PREVIOUS_SHIP_DATE", - "BYPASS_REGULATORY_VALIDATION", - "CONVENIENCE_MULTIPLE_PACKAGES", - "CUSTOM_TRANSIT_TIME", - "FUTURE_DAY_SHIPMENT", - "IATA_CLASS_AND_AIRCRAFT_ONLY", - "MANUAL_AIRBILL", - "NO_COMMITMENT_DATE_REQUESTED", - "PACKAGE_LEVEL_COMMODITIES", - "PRE_EIG_PROCESSING", - "PRE_ETD_ENHANCEMENTS", - "PRE_FXF2020_HANDLING_UNIT_DETAILS", - "PRE_GPR", - "PRE_GRAPE2_SHIPMENT", - "PRE_MULTIPLIER_PROCESSING", - "REQUEST_LEGACY_GROUND_ECONOMY_LABEL", - "REQUEST_LEGACY_SMARTPOST_LABEL", - "REQUIRE_PRE_EPIC_BARCODEx" - ] - } - }, - "description": "" - }, - "ConfirmConsolidationOutputVO_completedConsolidationDetail": { - "type": "object", - "properties": { - "consolidationShipments": { - "$ref": "#/components/schemas/ConsolidationShipments" + "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." } - }, - "description": "Specifies Complete Consolidation Details when user selected SYCHRONOUSLY_PROCESSED" + } }, - "ConsolidationShipments_consolidationRequestedShipments_processingOptionsRequested": { + "CXSError500_errors": { "type": "object", "properties": { - "options": { + "code": { "type": "string", - "example": "BYPASS_REGULATORY_VALIDATION", - "enum": [ - "ALLOW_PREVIOUS_SHIP_DATE", - "BYPASS_REGULATORY_VALIDATION", - "CONVENIENCE_MULTIPLE_PACKAGES", - "CUSTOM_TRANSIT_TIME", - "FUTURE_DAY_SHIPMENT", - "IATA_CLASS_AND_AIRCRAFT_ONLY", - "MANUAL_AIRBILL", - "NO_COMMITMENT_DATE_REQUESTED", - "PACKAGE_LEVEL_COMMODITIES", - "PRE_EIG_PROCESSING", - "PRE_ETD_ENHANCEMENTS", - "PRE_FXF2020_HANDLING_UNIT_DETAILS", - "PRE_GPR", - "PRE_GRAPE2_SHIPMENT", - "PRE_MULTIPLIER_PROCESSING", - "REQUEST_LEGACY_GROUND_ECONOMY_LABEL", - "REQUEST_LEGACY_SMARTPOST_LABEL", - "REQUIRE_PRE_EPIC_BARCODE" - ] + "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" + } } } }, - "ConsolidationShipments_consolidationRequestedShipments_consolidationDetail_internationalDistribtuionDetail_summaryDetail_totalWeight": { + "RequestedConsolidation_specialServicesRequested": { "type": "object", "properties": { - "units": { + "specialServiceTypes": { "type": "string", + "description": "Provides all the special service types.
    Example: PRIORITY_ALERT", + "example": "PRIORITY_ALERT", "enum": [ - "KG", - "LB" + "BROKER_SELECT_OPTION", + "PRIORITY_ALERT", + "SATURDAY_PICKUP" ] }, - "value": { - "type": "string" + "priorityAlertDetail": { + "$ref": "#/components/schemas/PriorityAlertDetail" } - } + }, + "description": "These special services are available at the shipment level for some or all service types." }, - "ConsolidationShipments_consolidationRequestedShipments_consolidationDetail_internationalDistribtuionDetail_summaryDetail_totalCustomsValue": { + "ConsolidationDataSources_1_inner": { "type": "object", "properties": { - "currency": { - "type": "string" + "consolidationDataType": { + "$ref": "#/components/schemas/consolidationDataType" }, - "amount": { - "type": "string" + "consolidationDataSourceType": { + "$ref": "#/components/schemas/consolidationDataSourceType" } } }, - "ConsolidationShipments_consolidationRequestedShipments_consolidationDetail_internationalDistribtuionDetail_summaryDetail": { + "CustomerReferences_1_inner": { "type": "object", "properties": { - "totalWeight": { - "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_consolidationDetail_internationalDistribtuionDetail_summaryDetail_totalWeight" - }, - "totalPackageCount": { - "type": "integer", - "description": "non-negative number" - }, - "totalUniqueAddressCount": { - "type": "integer", - "description": "non-negative number" + "customerReferenceType": { + "$ref": "#/components/schemas/customerReferenceType" }, - "totalCustomsValue": { - "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_consolidationDetail_internationalDistribtuionDetail_summaryDetail_totalCustomsValue" - } - } - }, - "ConsolidationShipments_consolidationRequestedShipments_consolidationDetail_internationalDistribtuionDetail": { - "type": "object", - "properties": { - "summaryDetail": { - "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_consolidationDetail_internationalDistribtuionDetail_summaryDetail" + "value": { + "$ref": "#/components/schemas/value" } } }, - "ConsolidationShipments_consolidationRequestedShipments_consolidationDetail": { + "TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_payor_responsibleParty_address": { "type": "object", "properties": { - "relationshipTimeStamp": { - "type": "string" + "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" + } }, - "type": { + "city": { "type": "string", - "enum": [ - "INTERNATIONAL_DISTRIBUTION_FREIGHT", - "INTERNATIONAL_ECONOMY_DISTRIBUTION", - "INTERNATIONAL_GROUND_DISTRIBUTION", - "INTERNATIONAL_PRIORITY_DISTRIBUTION", - "TRANSBORDER_DISTRIBUTION" - ] + "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" }, - "role": { + "stateOrProvinceCode": { "type": "string", - "enum": [ - "CONSOLIDATION_DOCUMENTS_SHIPMENT", - "CRN_SHIPMENT", - "MASTER_AIRWAYBILL_SHIPMENT" - ] + "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" }, - "internationalDistribtuionDetail": { - "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_consolidationDetail_internationalDistribtuionDetail" + "postalCode": { + "type": "string", + "description": "This is placeholder for postal code.
    Note: The postal code is required for postal-aware countries.", + "example": "38127" }, - "transborderDistributionDetail": { - "$ref": "#/components/schemas/TransborderDistributionDetail" - } - }, - "description": "Specify the consolidation details" - }, - "ConsolidationShipments_consolidationRequestedShipments_labelSpecification": { - "type": "object", - "properties": { - "labelFormatType": { + "countryCode": { "type": "string", - "description": "Specify the label Format Type.
    click here to see label format types", - "example": "COMMON2D", + "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": [ - "COMMON2D", - "ERROR", - "LABEL_DATA_ONLY", - "MAILROOM", - "NO_LABEL", - "OPERATIONAL_LABEL", - "PRE_COMMON2D" + true, + false ] }, - "labelStockType": { + "urbanizationCode": { "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": "Relevant only to addresses in Puerto Rico.", + "example": "CO" }, - "imageType": { + "countryName": { "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" - ] + "description": "The fully spelt out name of a country.", + "example": "Canada" }, - "labelPrintingOrientation": { + "geographicCoordinates": { "type": "string", - "description": "This is applicable only to documents produced on thermal printers with roll stock.", + "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": [ - "BOTTOM_EDGE_OF_TEXT_FIRST", - "TOP_EDGE_OF_TEXT_FIRST" - ] - } - }, - "description": "Details about the image type, printer format, and label stock for label. Can also specify customer specific details such as doc-tab content, regulatory labels, and mask data on the label." + "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)." }, - "ConsolidationShipments_consolidationRequestedShipments_requestedPackageLineItems_trackingId": { + "TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_payor_responsibleParty": { "type": "object", "properties": { - "trackindIdType": { + "accountNumber": { "type": "string", - "description": "Indicates the tracking details of the package.", - "enum": [ - "EXPRESS", - "FEDEX", - "FREIGHT", - "GROUND", - "INTERNAL", - "UNKNOWN", - "USPS" - ] + "description": "Account number of the payor", + "example": "123456789" }, - "formId": { - "type": "string", - "description": "This is FedEx tracking Identifier associated with the package.
    Example: 8600" + "tins": { + "type": "array", + "description": "Used for adding the tax id", + "items": { + "$ref": "#/components/schemas/Tins" + } }, - "trackingNumber": { - "type": "string", - "description": "This is the number associated with the package that is used to track it.
    Example: 49XXX0000XXX20032835" + "contact": { + "$ref": "#/components/schemas/TransborderDistributionDetail_specialServicesRequested_transborderDistributionLtlDetail_payment_payor_responsibleParty_contact" + }, + "address": { + "$ref": "#/components/schemas/TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_payor_responsibleParty_address" } }, - "description": "Indicates the tracking details of the package." + "description": "The descriptive information for the person who is responsible for the shipment." }, - "ConsolidationShipments_consolidationRequestedShipments_requestedPackageLineItems_customerReferences": { + "TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_payor": { "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_LADING", - "CUSTOMER_REFERENCE", - "DEPARTMENT_NUMBER", - "ELECTRONIC_PRODUCT_CODE", - "INTRACOUNTRY_REGULATORY_REFERENCE", - "INVOICE_NUMBER", - "P_O_NUMBER", - "PACKING_SLIP_NUMBER", - "RMA_ASSOCIATION", - "SHIPMENT_INTEGRITY", - "STORE_NUMBER" - ] + "responsibleParty": { + "$ref": "#/components/schemas/TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_payor_responsibleParty" }, - "value": { - "type": "string", - "example": "abcfdggalkewgr" + "associatedAccounts": { + "type": "array", + "description": "Other associated accounts", + "items": { + "$ref": "#/components/schemas/TransborderDistributionDetail_specialServicesRequested_transborderDistributionLtlDetail_payment_payor_associatedAccounts" + } } }, - "description": "These are additional customer reference data for commercial invoice.
    Note: The groupPackageCount must be specified to retrieve customer references." + "description": "Information about the person who is paying for the shipment.
    Payor is mandatory when the paymentType is RECIPIENT, THIRD_PARTY or COLLECT." }, - "ConsolidationShipments_consolidationRequestedShipments_requestedPackageLineItems": { + "TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_creditCard_creditCardHolder": { "type": "object", "properties": { - "sequenceNumber": { - "type": "string", - "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." - }, - "groupNumber": { - "type": "string", - "description": "This is group shipment number. Used with request containing PACKAGE_GROUPS, to identify which group of identical packages was used to produce a reply item.
    Example: 10" - }, - "groupPackageCount": { - "type": "string", - "description": "Indicate the grouped package count. These are number of identical package(s) each with one or more commodities.
    Example: 2" - }, - "trackingId": { - "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_requestedPackageLineItems_trackingId" - }, - "weights": { - "$ref": "#/components/schemas/Weight" - }, - "dimensions": { - "$ref": "#/components/schemas/Dimensions" + "contact": { + "$ref": "#/components/schemas/TransborderDistributionDetail_specialServicesRequested_transborderDistributionLtlDetail_payment_creditCard_creditCardHolder_contact" }, - "customerReferences": { - "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_requestedPackageLineItems_customerReferences" + "address": { + "$ref": "#/components/schemas/TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_payor_responsibleParty_address" } }, - "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.
    " + "description": "Credit card holder's information" }, - "ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_specialServiceDescription_identifier": { + "TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_creditCard": { "type": "object", "properties": { - "id": { - "type": "string" + "number": { + "type": "string", + "description": "Credit card number", + "example": "1111222233334444" }, - "type": { - "type": "string" + "creditCardType": { + "type": "string", + "description": "Credit card used for payment", + "example": "DISCOVER", + "enum": [ + "AMEX", + "DANKORT", + "DINERS", + "DISCOVER", + "JCB", + "MASTERCARD", + "VISA" + ] }, - "code": { - "type": "string" - } - } - }, - "ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_specialServiceDescription_names": { - "type": "object", - "properties": { - "type": { + "expirationDate": { "type": "string", - "example": "medium" + "description": "Credit card expiration date", + "example": "2022-23-01" }, - "encoding": { + "lastAuthenticationByFedexDate": { "type": "string", - "example": "utf-8" + "description": "Use date format (MM-dd-yyyy). It is the last time the user has updated their credit card information", + "example": "12-05-2001" }, - "value": { + "verificationCode": { "type": "string", - "example": "Deliver Weekday" - } - } - }, - "ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_specialServiceDescription": { - "type": "object", - "properties": { - "identifier": { - "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_specialServiceDescription_identifier" + "description": "Verification code", + "example": "123" }, - "names": { - "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_specialServiceDescription_names" + "creditCardHolder": { + "$ref": "#/components/schemas/TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_creditCard_creditCardHolder" } - } + }, + "description": "Credit card details" }, - "ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_consolidationDetail": { + "TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment": { "type": "object", "properties": { - "type": { + "paymentType": { "type": "string", - "example": "INTERNATIONAL_DISTRIBUTION_FREIGHT", + "description": "Payment type for LTL transportation", + "example": "CREDIT_CARD", "enum": [ - "INTERNATIONAL_DISTRIBUTION_FREIGHT", - "INTERNATIONAL_ECONOMY_DISTRIBUTION", - "INTERNATIONAL_GROUND_DISTRIBUTION", - "INTERNATIONAL_PRIORITY_DISTRIBUTION", - "TRANSBORDER_DISTRIBUTION" + "ACCOUNT", + "CASH", + "COLLECT", + "CREDIT_CARD", + "EPAYMENT", + "RECIPIENT", + "SENDER", + "THIRD_PARTY" ] }, - "role": { - "type": "string", - "example": "MASTER_AIRWAYBILL_SHIPMENT", - "enum": [ - "CONSOLIDATION_DOCUMENTS_SHIPMENT", - "CRN_SHIPMENT", - "MASTER_AIRWAYBILL_SHIPMENT" - ] + "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" }, - "ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_documentRequirements_generationDetails": { + "TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail": { "type": "object", "properties": { - "type": { - "type": "string", - "description": "It is an Enterprise Document Type.
    Example: COMMERCIAL_INVOICE", - "enum": [ - "AIR_WAYBILL", - "CERTIFICATE_OF_ORIGIN", - "COMMERCIAL_INVOICE", - "PRO_FORMA_INVOICE", - "USMCA_CERTIFICATION_OF_ORIGIN", - "USMCA_COMMERCIAL_INVOICE_CERTIFICATION_OF_ORIGIN" - ] + "payment": { + "$ref": "#/components/schemas/TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment" }, - "minimumCopiesRequired": { - "type": "integer", - "description": "It is a non-Negative Integer.
    Example: 3" + "ltlScacCode": { + "type": "string", + "description": "Standard Carrier Alpha Code for origin-country LTL services.", + "example": "SAIA" } }, - "description": "Specifies the generation details." + "description": "Specifies details for the origin-country LTL services performed by FedEx." }, - "ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_documentRequirements": { + "TransborderDistributionDetail_1_specialServicesRequested": { "type": "object", "properties": { - "requiredDocuments": { + "specialServiceTypes": { "type": "string", - "description": "Indicates the required documents information.
    Example: [\"COMMERCIAL_OR_PRO_FORMA_INVOICE\",\"AIR_WAYBILL\"]", - "example": "AIR_WAYBILL", + "description": "Identifies features of service requested for the current Transborder Distribution. shipment.", + "example": "FEDEX_LTL", "enum": [ - "AIR_WAYBILL", - "CERTIFICATE_OF_ORIGIN", - "COMMERCIAL_INVOICE", - "COMMERCIAL_OR_PRO_FORMA_INVOICE", - "COMMERCIAL_OR_PRO_FORMA_INVOICE_OR_USMCA_COMMERCIAL_INVOICE_CERTIFICATION_OF_ORIGIN", - "PRO_FORMA_INVOICE" + "FEDEX_LTL" ] }, - "generationDetails": { - "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_documentRequirements_generationDetails" + "transborderDistributionLtlDetail": { + "$ref": "#/components/schemas/TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail" } }, - "description": "Indicates the document requirements detail." + "description": "Specifies special services to be performed on this shipment as part of a transborder distribution." }, - "ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_completedPackageDetail_operationalDetail": { + "CustomsClearanceDetail_1_commercialInvoice": { "type": "object", "properties": { - "operationalInstructions": { - "$ref": "#/components/schemas/OperationalInstructions" + "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" }, - "barcodes": { - "$ref": "#/components/schemas/PackageBarcodes" - } - } - }, - "ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_completedPackageDetail": { - "type": "object", - "properties": { - "sequenceNumber": { - "type": "integer", - "description": "This is package sequence number. No negative value or decimals are allowed.
    Example: 256", - "example": 1 - }, - "trackingId": { - "$ref": "#/components/schemas/TrackingIds" - }, - "groupNumber": { - "type": "integer", - "description": "This is group shipment number. Used with request containing PACKAGE_GROUPS, to identify which group of identical packages was used to produce a reply item.
    Example: 10", - "example": 0 - }, - "operationalDetail": { - "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_completedPackageDetail_operationalDetail" - }, - "label": { - "$ref": "#/components/schemas/Label" - }, - "packageDocuments": { + "comments": { "type": "array", + "description": "The comments that will populate the Commercial Invoice (or Pro Forma).", + "example": [ + "optional comments for the commercial invoice" + ], "items": { - "$ref": "#/components/schemas/ShippingDocument" + "type": "string" } }, - "signatureOptions": { - "type": "string", - "description": "It specifies the signature option applied, to allow cases in which the value requested conflicted with other service features in the shipment.
    Example: DIRECT", - "enum": [ - "ADULT", - "DIRECT", - "INDIRECT", - "NO_SIGNATURE_REQUIRED", - "SERVICE_DEFAULT" - ] - } - }, - "description": "Indicates the completed package details." - }, - "ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail": { - "type": "object", - "properties": { - "usDomestic": { - "type": "boolean", - "description": "Indicates whether or not this is an intra-U.S. shipment.", - "example": false - }, - "carrierCode": { + "purpose": { "type": "string", - "description": "Specify the four letter code of a FedEx operating company that meets your requirements
    Examples of FedEx Operating Companies are:
    • FDXE - FedEx Express
    • FDXG - FedEx Ground
    • FXSP - FedEx SmartPost
    • FXCC - FedEx Custom Critical.
    ", + "description": "This field is used for calculation of duties and taxes.", + "example": "CONSUMER", "enum": [ - "FDXC", - "FDXE", - "FDXG", - "FDXO", - "FXCC", - "FXFR", - "FXSP" + "BUSINESS", + "CONSUMER" ] }, - "masterTrackingId": { - "$ref": "#/components/schemas/TrackingIds" - }, - "serviceDescription": { - "$ref": "#/components/schemas/ServiceDescription" - }, - "packageDescription": { - "$ref": "#/components/schemas/PackageDescription" - }, - "specialServiceDescription": { - "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_specialServiceDescription" - }, - "operationalDetail": { - "$ref": "#/components/schemas/ShipmentOperationalDetail" - }, - "consolidationDetail": { - "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_consolidationDetail" - }, - "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": "3037f" - }, - "documentRequirements": { - "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_documentRequirements" + "freightCharge": { + "$ref": "#/components/schemas/FreightChargeMoney" }, - "completedPackageDetail": { - "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_completedPackageDetail" - } - }, - "description": "Returns the result of processing the desired package as a single-package shipment." - }, - "ConsolidationShipments_consolidationRequestedShipments": { - "type": "object", - "properties": { - "shipDatestamp": { - "type": "string", - "description": "This is shipment date. 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-DD.
    Example: 2019-06-26." + "taxesOrMiscellaneousCharge": { + "$ref": "#/components/schemas/TaxesOrMiscellaneousCharges" }, - "dropOffType": { + "taxesOrMiscellaneousChargeType": { "type": "string", + "description": "Specifice the kind of tax or miscellaneous charge being reported on a Commercial Invoice.", + "example": "COMMISSIONS", "enum": [ - "BUSINESS_SERVICE_CENTER", - "DROP_BOX", - "REGULAR_PICKUP", - "REQUEST_COURIER", - "STATION" + "COMMISSIONS", + "DISCOUNTS", + "HANDLING_FEES", + "OTHER", + "ROYALTIES_AND_LICENSE_FEES", + "TAXES" ] }, - "recipientLocationNumber": { - "type": "string", - "description": "Indicates whether this address is residential (as opposed to commercial).
    Example: false" + "packingCosts": { + "$ref": "#/components/schemas/PackingCostCharges" }, - "serviceType": { - "type": "string", - "description": "Indicate the FedEx service type used for this shipment.
    Example: STANDARD_OVERNIGHT
    click here to see Service Types", - "example": "INTERNATIONAL_DISTRIBUTION_FREIGHT" + "handlingCosts": { + "$ref": "#/components/schemas/HandlingCostCharges" }, - "packagingType": { + "specialInstructions": { "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": { - "$ref": "#/components/schemas/Weight" - }, - "totalDimensions": { - "$ref": "#/components/schemas/Dimensions" - }, - "shipper": { - "description": "Descriptive data identifying the party responsible for shipping the package. Shipper and Origin should have the same address.", - "$ref": "#/components/schemas/ShipperParty" - }, - "origin": { - "$ref": "#/components/schemas/Origin" - }, - "recipient": { - "$ref": "#/components/schemas/SoldToParty" - }, - "processingOptionsRequested": { - "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_processingOptionsRequested" - }, - "consolidationDetail": { - "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_consolidationDetail" - }, - "customsClearanceDetail": { - "$ref": "#/components/schemas/CustomsClearanceDetail" - }, - "blockinsightVisibility": { - "type": "boolean", - "example": false + "description": "The special instructions that will populate the Commercial Invoice (or Pro Forma).
    Example: specialInstructions", + "example": "specialInstructions\"" }, - "labelSpecification": { - "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_labelSpecification" + "declarationStatement": { + "type": "string", + "description": "The declaration statement that will populate the Commercial Invoice (or Pro Forma).
    Max length is 554
    Example: declarationStatement", + "example": "declarationStatement" }, - "rateRequestTypes": { + "paymentTerms": { "type": "string", - "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\"]", - "enum": [ - "ACCOUNT", - "CUSTOM", - "INCENTIVE", - "LIST", - "NONE", - "PREFERRED", - "RATED", - "RETAIL" - ] + "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" }, - "edtRequestTypes": { + "purposeOfShipmentDescription": { "type": "string", - "description": "Specify whether the customer wishes to have Estimated Duties and Taxes provided with the rate quotation on this shipment. Only applies with shipments moving under international services.", - "enum": [ - "ALL", - "NONE" - ] + "description": "Describes the purpose of shipping description", + "example": "purpose Of Shipment Description" }, - "requestedPackageLineItems": { - "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_requestedPackageLineItems" + "customerReferences": { + "$ref": "#/components/schemas/CustomerReferences_1" }, - "completedShipmentDetail": { - "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail" + "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." }, - "Label_parts": { + "ConsolidationDocumentSpec_1_consolidatedCommercialInvoiceDetail": { "type": "object", "properties": { - "documentPartSequenceNumber": { - "type": "integer", - "description": "Specifies the one-origin position of this part within a document." - }, - "image": { - "description": "Specifies the one-origin position of this part within a document.", - "type": "string" + "format": { + "$ref": "#/components/schemas/Formats" } }, - "description": "Indicates documentation part details." + "description": "Specifies consolidated commercial invoice detail." }, - "ShippingDocument_parts": { + "ConsolidationDocumentSpec_1_customsPackingListDetail": { + "type": "object", "properties": { - "documentPartSequenceNumber": { - "type": "integer", - "description": "Specifies the one-origin position of this part within a document." - }, - "image": { - "type": "string", - "description": "Specifies the one-origin position of this part within a document." + "format": { + "$ref": "#/components/schemas/Formats" } }, - "type": "object" + "description": "Specifies the customs packing list detail." }, - "TransactionConsolidationOutputVO_completedConsolidationDetail": { + "ConsolidationDocumentSpec_1_crnReportDetail": { "type": "object", "properties": { - "consolidationShipments": { - "$ref": "#/components/schemas/ConsolidationShipments" + "format": { + "$ref": "#/components/schemas/Formats" } }, - "description": "Specifies Complete Consolidation Details when user selected ASYCHRONOUSLY_PROCESSED" + "description": "Specifies the child reference number report detail." }, - "ShipperParty": { - "required": [ - "address", - "contact" - ], + "ConsolidationDocumentSpec_1_condensedCrnReportDetail": { "type": "object", "properties": { - "address": { - "$ref": "#/components/schemas/PartyAddress_2" - }, + "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": { + "type": "object", + "properties": { + "format": { + "$ref": "#/components/schemas/Formats" + } + }, + "description": "Specifies the child reference number report detail for consolidated party report detail." + }, + "ConsolidationDocumentSpec_1_consolidatedSoldToSummaryReportDetail": { + "type": "object", + "properties": { + "format": { + "$ref": "#/components/schemas/Formats" + } + }, + "description": "Specifies the child reference number report detail for consolidated SoldTo summary report detail." + }, + "CompletedHoldAtLocationDetail_holdingLocation": { + "properties": { + "address": { + "$ref": "#/components/schemas/Address" + }, + "contact": { + "$ref": "#/components/schemas/Contact_2" + } + }, + "description": "Specifies the physical address of the FedEx holding location.", + "type": "object" + }, + "RequestedConsolidationShipment_specialServicesRequested": { + "type": "object", + "properties": { + "holdAtLocationDetail": { + "$ref": "#/components/schemas/HoldAtLocationDetail" + } + }, + "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." + }, + "RequestedConsolidationShipment_processingOption": { + "type": "object", + "properties": { + "options": { + "type": "string", + "description": "Specifies the options.", + "example": "BYPASS_REGULATORY_VALIDATION", + "enum": [ + "ALLOW_PREVIOUS_SHIP_DATE", + "BYPASS_REGULATORY_VALIDATION", + "CONVENIENCE_MULTIPLE_PACKAGES", + "CUSTOM_TRANSIT_TIME", + "FUTURE_DAY_SHIPMENT", + "IATA_CLASS_AND_AIRCRAFT_ONLY", + "MANUAL_AIRBILL", + "NO_COMMITMENT_DATE_REQUESTED", + "PACKAGE_LEVEL_COMMODITIES", + "PRE_EIG_PROCESSING", + "PRE_ETD_ENHANCEMENTS", + "PRE_FXF2020_HANDLING_UNIT_DETAILS", + "PRE_GPR", + "PRE_GRAPE2_SHIPMENT", + "PRE_MULTIPLIER_PROCESSING", + "REQUEST_LEGACY_GROUND_ECONOMY_LABEL", + "REQUEST_LEGACY_SMARTPOST_LABEL", + "REQUIRE_PRE_EPIC_BARCODEx" + ] + } + }, + "description": "" + }, + "ConfirmConsolidationOutputVO_completedConsolidationDetail": { + "type": "object", + "properties": { + "consolidationShipments": { + "$ref": "#/components/schemas/ConsolidationShipments" + } + }, + "description": "Specifies Complete Consolidation Details when user selected SYCHRONOUSLY_PROCESSED" + }, + "ConsolidationShipments_consolidationRequestedShipments_processingOptionsRequested": { + "type": "object", + "properties": { + "options": { + "type": "string", + "example": "BYPASS_REGULATORY_VALIDATION", + "enum": [ + "ALLOW_PREVIOUS_SHIP_DATE", + "BYPASS_REGULATORY_VALIDATION", + "CONVENIENCE_MULTIPLE_PACKAGES", + "CUSTOM_TRANSIT_TIME", + "FUTURE_DAY_SHIPMENT", + "IATA_CLASS_AND_AIRCRAFT_ONLY", + "MANUAL_AIRBILL", + "NO_COMMITMENT_DATE_REQUESTED", + "PACKAGE_LEVEL_COMMODITIES", + "PRE_EIG_PROCESSING", + "PRE_ETD_ENHANCEMENTS", + "PRE_FXF2020_HANDLING_UNIT_DETAILS", + "PRE_GPR", + "PRE_GRAPE2_SHIPMENT", + "PRE_MULTIPLIER_PROCESSING", + "REQUEST_LEGACY_GROUND_ECONOMY_LABEL", + "REQUEST_LEGACY_SMARTPOST_LABEL", + "REQUIRE_PRE_EPIC_BARCODE" + ] + } + } + }, + "ConsolidationShipments_consolidationRequestedShipments_consolidationDetail_internationalDistribtuionDetail_summaryDetail_totalWeight": { + "type": "object", + "properties": { + "units": { + "type": "string", + "enum": [ + "KG", + "LB" + ] + }, + "value": { + "type": "string" + } + } + }, + "ConsolidationShipments_consolidationRequestedShipments_consolidationDetail_internationalDistribtuionDetail_summaryDetail_totalCustomsValue": { + "type": "object", + "properties": { + "currency": { + "type": "string" + }, + "amount": { + "type": "string" + } + } + }, + "ConsolidationShipments_consolidationRequestedShipments_consolidationDetail_internationalDistribtuionDetail_summaryDetail": { + "type": "object", + "properties": { + "totalWeight": { + "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_consolidationDetail_internationalDistribtuionDetail_summaryDetail_totalWeight" + }, + "totalPackageCount": { + "type": "integer", + "description": "non-negative number" + }, + "totalUniqueAddressCount": { + "type": "integer", + "description": "non-negative number" + }, + "totalCustomsValue": { + "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_consolidationDetail_internationalDistribtuionDetail_summaryDetail_totalCustomsValue" + } + } + }, + "ConsolidationShipments_consolidationRequestedShipments_consolidationDetail_internationalDistribtuionDetail": { + "type": "object", + "properties": { + "summaryDetail": { + "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_consolidationDetail_internationalDistribtuionDetail_summaryDetail" + } + } + }, + "ConsolidationShipments_consolidationRequestedShipments_consolidationDetail": { + "type": "object", + "properties": { + "relationshipTimeStamp": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "INTERNATIONAL_DISTRIBUTION_FREIGHT", + "INTERNATIONAL_ECONOMY_DISTRIBUTION", + "INTERNATIONAL_GROUND_DISTRIBUTION", + "INTERNATIONAL_PRIORITY_DISTRIBUTION", + "TRANSBORDER_DISTRIBUTION" + ] + }, + "role": { + "type": "string", + "enum": [ + "CONSOLIDATION_DOCUMENTS_SHIPMENT", + "CRN_SHIPMENT", + "MASTER_AIRWAYBILL_SHIPMENT" + ] + }, + "internationalDistribtuionDetail": { + "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_consolidationDetail_internationalDistribtuionDetail" + }, + "transborderDistributionDetail": { + "$ref": "#/components/schemas/TransborderDistributionDetail" + } + }, + "description": "Specify the consolidation details" + }, + "ConsolidationShipments_consolidationRequestedShipments_labelSpecification": { + "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" + ] + }, + "labelPrintingOrientation": { + "type": "string", + "description": "This is applicable only to documents produced on thermal printers with roll stock.", + "enum": [ + "BOTTOM_EDGE_OF_TEXT_FIRST", + "TOP_EDGE_OF_TEXT_FIRST" + ] + } + }, + "description": "Details about the image type, printer format, and label stock for label. Can also specify customer specific details such as doc-tab content, regulatory labels, and mask data on the label." + }, + "ConsolidationShipments_consolidationRequestedShipments_requestedPackageLineItems_trackingId": { + "type": "object", + "properties": { + "trackindIdType": { + "type": "string", + "description": "Indicates the tracking details of the package.", + "enum": [ + "EXPRESS", + "FEDEX", + "FREIGHT", + "GROUND", + "INTERNAL", + "UNKNOWN", + "USPS" + ] + }, + "formId": { + "type": "string", + "description": "This is FedEx tracking Identifier associated with the package.
    Example: 8600" + }, + "trackingNumber": { + "type": "string", + "description": "This is the number associated with the package that is used to track it.
    Example: 49XXX0000XXX20032835" + } + }, + "description": "Indicates the tracking details of the package." + }, + "ConsolidationShipments_consolidationRequestedShipments_requestedPackageLineItems_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_LADING", + "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", + "example": "abcfdggalkewgr" + } + }, + "description": "These are additional customer reference data for commercial invoice.
    Note: The groupPackageCount must be specified to retrieve customer references." + }, + "ConsolidationShipments_consolidationRequestedShipments_requestedPackageLineItems": { + "type": "object", + "properties": { + "sequenceNumber": { + "type": "string", + "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." + }, + "groupNumber": { + "type": "string", + "description": "This is group shipment number. Used with request containing PACKAGE_GROUPS, to identify which group of identical packages was used to produce a reply item.
    Example: 10" + }, + "groupPackageCount": { + "type": "string", + "description": "Indicate the grouped package count. These are number of identical package(s) each with one or more commodities.
    Example: 2" + }, + "trackingId": { + "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_requestedPackageLineItems_trackingId" + }, + "weights": { + "$ref": "#/components/schemas/Weight" + }, + "dimensions": { + "$ref": "#/components/schemas/Dimensions" + }, + "customerReferences": { + "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_requestedPackageLineItems_customerReferences" + } + }, + "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.
    " + }, + "ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_specialServiceDescription_identifier": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string" + }, + "code": { + "type": "string" + } + } + }, + "ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_specialServiceDescription_names": { + "type": "object", + "properties": { + "type": { + "type": "string", + "example": "medium" + }, + "encoding": { + "type": "string", + "example": "utf-8" + }, + "value": { + "type": "string", + "example": "Deliver Weekday" + } + } + }, + "ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_specialServiceDescription": { + "type": "object", + "properties": { + "identifier": { + "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_specialServiceDescription_identifier" + }, + "names": { + "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_specialServiceDescription_names" + } + } + }, + "ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_consolidationDetail": { + "type": "object", + "properties": { + "type": { + "type": "string", + "example": "INTERNATIONAL_DISTRIBUTION_FREIGHT", + "enum": [ + "INTERNATIONAL_DISTRIBUTION_FREIGHT", + "INTERNATIONAL_ECONOMY_DISTRIBUTION", + "INTERNATIONAL_GROUND_DISTRIBUTION", + "INTERNATIONAL_PRIORITY_DISTRIBUTION", + "TRANSBORDER_DISTRIBUTION" + ] + }, + "role": { + "type": "string", + "example": "MASTER_AIRWAYBILL_SHIPMENT", + "enum": [ + "CONSOLIDATION_DOCUMENTS_SHIPMENT", + "CRN_SHIPMENT", + "MASTER_AIRWAYBILL_SHIPMENT" + ] + } + } + }, + "ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_documentRequirements_generationDetails": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "It is an Enterprise Document Type.
    Example: COMMERCIAL_INVOICE", + "enum": [ + "AIR_WAYBILL", + "CERTIFICATE_OF_ORIGIN", + "COMMERCIAL_INVOICE", + "PRO_FORMA_INVOICE", + "USMCA_CERTIFICATION_OF_ORIGIN", + "USMCA_COMMERCIAL_INVOICE_CERTIFICATION_OF_ORIGIN" + ] + }, + "minimumCopiesRequired": { + "type": "integer", + "description": "It is a non-Negative Integer.
    Example: 3" + } + }, + "description": "Specifies the generation details." + }, + "ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_documentRequirements": { + "type": "object", + "properties": { + "requiredDocuments": { + "type": "string", + "description": "Indicates the required documents information.
    Example: [\"COMMERCIAL_OR_PRO_FORMA_INVOICE\",\"AIR_WAYBILL\"]", + "example": "AIR_WAYBILL", + "enum": [ + "AIR_WAYBILL", + "CERTIFICATE_OF_ORIGIN", + "COMMERCIAL_INVOICE", + "COMMERCIAL_OR_PRO_FORMA_INVOICE", + "COMMERCIAL_OR_PRO_FORMA_INVOICE_OR_USMCA_COMMERCIAL_INVOICE_CERTIFICATION_OF_ORIGIN", + "PRO_FORMA_INVOICE" + ] + }, + "generationDetails": { + "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_documentRequirements_generationDetails" + } + }, + "description": "Indicates the document requirements detail." + }, + "ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_completedPackageDetail_operationalDetail": { + "type": "object", + "properties": { + "operationalInstructions": { + "$ref": "#/components/schemas/OperationalInstructions" + }, + "barcodes": { + "$ref": "#/components/schemas/PackageBarcodes" + } + } + }, + "ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_completedPackageDetail": { + "type": "object", + "properties": { + "sequenceNumber": { + "type": "integer", + "description": "This is package sequence number. No negative value or decimals are allowed.
    Example: 256", + "example": 1 + }, + "trackingId": { + "$ref": "#/components/schemas/TrackingIds" + }, + "groupNumber": { + "type": "integer", + "description": "This is group shipment number. Used with request containing PACKAGE_GROUPS, to identify which group of identical packages was used to produce a reply item.
    Example: 10", + "example": 0 + }, + "operationalDetail": { + "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_completedPackageDetail_operationalDetail" + }, + "label": { + "$ref": "#/components/schemas/Label" + }, + "packageDocuments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ShippingDocument" + } + }, + "signatureOptions": { + "type": "string", + "description": "It specifies the signature option applied, to allow cases in which the value requested conflicted with other service features in the shipment.
    Example: DIRECT", + "enum": [ + "ADULT", + "DIRECT", + "INDIRECT", + "NO_SIGNATURE_REQUIRED", + "SERVICE_DEFAULT" + ] + } + }, + "description": "Indicates the completed package details." + }, + "ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail": { + "type": "object", + "properties": { + "usDomestic": { + "type": "boolean", + "description": "Indicates whether or not this is an intra-U.S. shipment.", + "example": false + }, + "carrierCode": { + "type": "string", + "description": "Specify the four letter code of a FedEx operating company that meets your requirements
    Examples of FedEx Operating Companies are:
    • FDXE - FedEx Express
    • FDXG - FedEx Ground
    • FXSP - FedEx SmartPost
    • FXCC - FedEx Custom Critical.
    ", + "enum": [ + "FDXC", + "FDXE", + "FDXG", + "FDXO", + "FXCC", + "FXFR", + "FXSP" + ] + }, + "masterTrackingId": { + "$ref": "#/components/schemas/TrackingIds" + }, + "serviceDescription": { + "$ref": "#/components/schemas/ServiceDescription" + }, + "packageDescription": { + "$ref": "#/components/schemas/PackageDescription" + }, + "specialServiceDescription": { + "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_specialServiceDescription" + }, + "operationalDetail": { + "$ref": "#/components/schemas/ShipmentOperationalDetail" + }, + "consolidationDetail": { + "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_consolidationDetail" + }, + "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": "3037f" + }, + "documentRequirements": { + "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_documentRequirements" + }, + "completedPackageDetail": { + "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_completedPackageDetail" + } + }, + "description": "Returns the result of processing the desired package as a single-package shipment." + }, + "ConsolidationShipments_consolidationRequestedShipments": { + "type": "object", + "properties": { + "shipDatestamp": { + "type": "string", + "description": "This is shipment date. 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-DD.
    Example: 2019-06-26." + }, + "dropOffType": { + "type": "string", + "enum": [ + "BUSINESS_SERVICE_CENTER", + "DROP_BOX", + "REGULAR_PICKUP", + "REQUEST_COURIER", + "STATION" + ] + }, + "recipientLocationNumber": { + "type": "string", + "description": "Indicates whether this address is residential (as opposed to commercial).
    Example: false" + }, + "serviceType": { + "type": "string", + "description": "Indicate the FedEx service type used for this shipment.
    Example: STANDARD_OVERNIGHT
    click here to see Service Types", + "example": "INTERNATIONAL_DISTRIBUTION_FREIGHT" + }, + "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": { + "$ref": "#/components/schemas/Weight" + }, + "totalDimensions": { + "$ref": "#/components/schemas/Dimensions" + }, + "shipper": { + "description": "Descriptive data identifying the party responsible for shipping the package. Shipper and Origin should have the same address.", + "$ref": "#/components/schemas/ShipperParty" + }, + "origin": { + "$ref": "#/components/schemas/Origin" + }, + "recipient": { + "$ref": "#/components/schemas/SoldToParty" + }, + "processingOptionsRequested": { + "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_processingOptionsRequested" + }, + "consolidationDetail": { + "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_consolidationDetail" + }, + "customsClearanceDetail": { + "$ref": "#/components/schemas/CustomsClearanceDetail" + }, + "blockinsightVisibility": { + "type": "boolean", + "example": false + }, + "labelSpecification": { + "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_labelSpecification" + }, + "rateRequestTypes": { + "type": "string", + "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\"]", + "enum": [ + "ACCOUNT", + "CUSTOM", + "INCENTIVE", + "LIST", + "NONE", + "PREFERRED", + "RATED", + "RETAIL" + ] + }, + "edtRequestTypes": { + "type": "string", + "description": "Specify whether the customer wishes to have Estimated Duties and Taxes provided with the rate quotation on this shipment. Only applies with shipments moving under international services.", + "enum": [ + "ALL", + "NONE" + ] + }, + "requestedPackageLineItems": { + "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_requestedPackageLineItems" + }, + "completedShipmentDetail": { + "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail" + } + } + }, + "Label_parts": { + "type": "object", + "properties": { + "documentPartSequenceNumber": { + "type": "integer", + "description": "Specifies the one-origin position of this part within a document." + }, + "image": { + "description": "Specifies the one-origin position of this part within a document.", + "type": "string" + } + }, + "description": "Indicates documentation part details." + }, + "ShippingDocument_parts": { + "properties": { + "documentPartSequenceNumber": { + "type": "integer", + "description": "Specifies the one-origin position of this part within a document." + }, + "image": { + "type": "string", + "description": "Specifies the one-origin position of this part within a document." + } + }, + "type": "object" + }, + "TransactionConsolidationOutputVO_completedConsolidationDetail": { + "type": "object", + "properties": { + "consolidationShipments": { + "$ref": "#/components/schemas/ConsolidationShipments" + } + }, + "description": "Specifies Complete Consolidation Details when user selected ASYCHRONOUSLY_PROCESSED" + }, + "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": "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": "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." + }, + "TaxpayerIdentification": { + "required": [ + "number" + ], + "type": "object", + "properties": { + "number": { + "type": "string", + "description": "Specify tax ID number. Maximum length is 18.", + "example": "123567" + }, + "tinType": { + "type": "string", + "description": "Identifies the type of Tax Identification Number in Shipment processing. This is required when the tins array of objects is supplied.", + "example": "PERSONAL_STATE", + "enum": [ + "PERSONAL_NATIONAL", + "PERSONAL_STATE", + "BUSINESS_NATIONAL", + "BUSINESS_STATE", + "BUSINESS_UNION", + "FEDERAL" + ] + }, + "usage": { + "type": "string", + "description": "Identifies the usage of Tax Identification Number in Shipment processing.", + "example": "usage" + }, + "effectiveDate": { + "type": "string", + "description": "Effective Date.
    Example: 2000-01-23T04:56:07.000+00:00", + "example": "2000-01-23T04:56:07.000+00:00" + }, + "expirationDate": { + "type": "string", + "description": "Expiration Date.
    Example: 2000-01-23T04:56:07.000+00:00", + "example": "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": "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.", + "example": { + "value": "123456789" + } + }, + "PartyAddress_soldTo": { + "required": [ + "city", + "countryCode", + "postalCode", + "stateOrProvinceCode", + "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.]", + "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.
    Example: CA
    click here to see State or Province Code", + "example": "CA" + }, + "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", + "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, + "enum": [ + true, + 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)." + }, + "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": "Shipping Document Email Grouping Type", + "example": "NONE", + "enum": [ + "BY_RECIPIENT", + "NONE" + ] + } + }, + "description": "Specifies how to e-mail shipping documents." + }, + "ContactAncillaryDetail": { + "type": "object", + "properties": { + "emailAddresses": { + "type": "array", + "description": "Email Addresses", + "items": { + "$ref": "#/components/schemas/EMailDetail" + } + } + }, + "description": "Indicates additional contact details for the Party such as email and phone contact information." + }, + "EMailDetail": { + "type": "object", + "properties": { + "emailNotificationFormatType": { + "type": "string", + "description": "Email Notification Format Type", + "example": "SMS_TEXT_MESSAGE", + "enum": [ + "SMS_TEXT_MESSAGE", + "TEXT", + "HTML" + ] + }, + "address": { + "type": "string", + "description": "Address" + }, + "permissions": { + "type": "object", + "additionalProperties": { + "type": "string", + "enum": [ + "GRANT", + "DENY" + ] + }, + "description": "Email Permission Type" + } + }, + "example": { + "emailNotificationFormatType": "SMS_TEXT_MESSAGE", + "address": "address", + "permissions": { + "key": "GRANT" + } + } + }, + "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. 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 + ] + } + }, + "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 + }, + "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" + ] + } + } + }, + "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." + }, + "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" + }, + "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." + }, + "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" + }, + "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": { + "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.", + "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." + }, + "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." + }, + "ImporterOfRecord": { + "required": [ + "address", + "contact" + ], + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/PartyAddress_2" + }, "contact": { "$ref": "#/components/schemas/PartyContact" }, - "tins": { + "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": "This is the tax identification number details.", + "description": "These are package documents returned in the response", "items": { - "$ref": "#/components/schemas/TaxpayerIdentification" + "$ref": "#/components/schemas/LabelResponseVO" } }, - "accountNumber": { - "$ref": "#/components/schemas/PartyAccountNumber" + "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": "The descriptive information for the customer shipping the package along with the physical location from where the shipment originates." + "description": "These are shipping document/label specific information." }, - "PartyAddress": { + "HazardousCommodityQuantityDetail": { "required": [ - "city", - "countryCode", - "postalCode", - "streetLines" + "amount", + "quantityType" ], "type": "object", "properties": { - "streetLines": { + "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.", + "format": "double", + "example": 34.56 + }, + "units": { + "type": "string", + "description": "specifies the units.", + "example": "Kg" + } + }, + "description": "Provides Hazardous Commodity Quantity Detail" + }, + "HazardousCommodityContent": { + "type": "object", + "properties": { + "quantity": { + "$ref": "#/components/schemas/HazardousCommodityQuantityDetail" + }, + "innerReceptacles": { "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" + "$ref": "#/components/schemas/HazardousCommodityInnerReceptacleDetail" } }, - "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" + "options": { + "$ref": "#/components/schemas/HazardousCommodityOptionDetail" }, - "postalCode": { + "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": "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" + "description": "Provides the label text option", + "example": "OVERRIDE", + "enum": [ + "APPEND", + "OVERRIDE", + "STANDARD" + ] }, - "countryCode": { + "customerSuppliedLabelText": { "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": "'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 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": "Provides details of Hazardous Commodity Option Detail" }, - "PartyAddress_2": { + "HazardousCommodityDescription": { "required": [ - "city", - "countryCode", - "postalCode", - "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 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.

    ", + "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. Provides list of subsidiary classes", "example": [ - "1550 Union Blvd", - "Suite 302" + "Subsidiary Classes" ], "items": { "type": "string" } }, - "city": { + "labelText": { + "type": "string", + "description": "Specifies the text for the label.\n", + "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": "The name of city, town of the shipper.Max length is 35.", - "example": "Beverly Hills" + "description": "Authorization", + "example": "authorization" }, - "stateOrProvinceCode": { + "reportableQuantity": { + "type": "boolean", + "description": "Reportable Quantity", + "example": true, + "enum": [ + true, + false + ] + }, + "percentage": { + "type": "number", + "description": "Percentage", + "format": "double", + "example": 12.45 + }, + "id": { "type": "string", - "description": "This is a placeholder for state or province code.
    Example: CA.
    click here to see State or Province Code", - "example": "CA" + "description": "ID", + "example": "UN1234" }, - "postalCode": { + "packingGroup": { "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": "Identifies DOT packing group for a hazardous commodity", + "example": "I", + "enum": [ + "DEFAULT", + "I", + "II", + "III" + ] }, - "countryCode": { + "properShippingName": { "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": "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": "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": "RequiredDetails of HazardousCommodityDescription" }, - "PartyContact": { + "HazardousCommodityPackingDetail": { "required": [ - "phoneNumber" + "cargoAircraftOnly" ], "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": "The shipper's phone extension. Max length is 6.
    Example: 91", - "example": "91" - }, - "phoneNumber": { + "packingInstructions": { "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": "Coded specification for how commodity is to be packed.", + "example": "NonBulk" }, - "companyName": { - "type": "string", - "description": "Specify contact company name. Maximum length is 35.
    Note: Either the companyName or personName is mandatory.", - "example": "FedEx" + "cargoAircraftOnly": { + "type": "boolean", + "description": "Shipment is packaged/documented for movement ONLY on cargo aircraft", + "example": true, + "enum": [ + true, + false + ] } }, - "description": "Indicate the contact details for this shipment." + "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)," }, - "TaxpayerIdentification": { - "required": [ - "number" - ], + "ShippingDocumentDispositionDetail": { "type": "object", "properties": { - "number": { - "type": "string", - "description": "Specify tax ID number. Maximum length is 18.", - "example": "123567" + "eMailDetail": { + "$ref": "#/components/schemas/ShippingDocumentEmailDetail" }, - "tinType": { + "dispositionType": { "type": "string", - "description": "Identifies the type of Tax Identification Number in Shipment processing. This is required when the tins array of objects is supplied.", - "example": "PERSONAL_STATE", + "description": "Values in this field specify how to create and return the document.", + "example": "CONFIRMED", "enum": [ - "PERSONAL_NATIONAL", - "PERSONAL_STATE", - "BUSINESS_NATIONAL", - "BUSINESS_STATE", - "BUSINESS_UNION", - "FEDERAL" + "CONFIRMED", + "DEFERRED_QUEUED", + "DEFERRED_RETURNED", + "DEFERRED_STORED", + "EMAILED", + "QUEUED", + "RETURNED", + "STORED" ] }, - "usage": { + "grouping": { "type": "string", - "description": "Identifies the usage of Tax Identification Number in Shipment processing.", - "example": "usage" + "description": "Identifies the convention by which documents are to be grouped as email attachment.", + "enum": [ + "CONSOLIDATED_BY_DOCUMENT_TYPE", + "CONSOLIDATED_BY_IMAGE_TYPE", + "INDIVIDUAL" + ] }, - "effectiveDate": { - "type": "string", - "description": "Effective Date.
    Example: 2000-01-23T04:56:07.000+00:00", - "example": "2000-01-23T04:56:07.000+00:00" + "storageDetail": { + "$ref": "#/components/schemas/ShippingDocumentStorageDetail" }, - "expirationDate": { - "type": "string", - "description": "Expiration Date.
    Example: 2000-01-23T04:56:07.000+00:00", - "example": "2000-01-23T04:56:07.000+00:00" + "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." + }, + "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", + "properties": { + "docTabZoneSpecifications": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DocTabZoneSpecification" + } } } }, - "PartyAccountNumber": { + "DocTabContentBarcoded": { "type": "object", "properties": { - "value": { + "symbology": { "type": "string", - "description": "Conditional.
    The account number value. Max Length is 9.", - "example": "123456789" + "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": "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.", - "example": { - "value": "123456789" } }, - "Origin": { + "InternationalDistributionDetail": { + "required": [ + "clearanceFacilityLocationId", + "declaredCurrencies", + "totalDimensions" + ], "type": "object", "properties": { - "address": { - "$ref": "#/components/schemas/PartyAddress_2" + "dropOffType": { + "type": "string", + "description": "Specifies drop off type.", + "example": "DROP_BOX", + "enum": [ + "BUSINESS_SERVICE_CENTER", + "DROP_BOX", + "REGULAR_PICKUP", + "REQUEST_PICKUP", + "STATION" + ] }, - "contact": { - "$ref": "#/components/schemas/PartyContact" + "totalDimensions": { + "$ref": "#/components/schemas/Dimensions" + }, + "totalInsuredValue": { + "$ref": "#/components/schemas/TotalInsuredMoney" + }, + "unitSystem": { + "type": "string", + "description": "Specifies the unit system.", + "example": "ENGLISH", + "enum": [ + "ENGLISH", + "METRIC" + ] + }, + "declaredCurrencies": { + "$ref": "#/components/schemas/Money" + }, + "clearanceFacilityLocationId": { + "type": "string", + "description": "Specifies the clearance facility location id.", + "example": "MEMI" } }, - "description": "The descriptive information for the customer origin." + "description": "Specifies the international distribution detail." }, - "SoldToParty": { + "ExportDetail": { + "required": [ + "b13AFilingOption" + ], "type": "object", "properties": { - "address": { - "$ref": "#/components/schemas/PartyAddress_soldTo" + "destinationControlDetail": { + "$ref": "#/components/schemas/DestinationControlDetail" }, - "contact": { - "$ref": "#/components/schemas/PartyContact_soldTo_2" + "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" + ] }, - "tins": { - "type": "array", - "description": "Used for adding the tax id", - "items": { - "$ref": "#/components/schemas/TaxpayerIdentification" - } + "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" }, - "accountNumber": { - "$ref": "#/components/schemas/PartyAccountNumber" + "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": "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." + "description": "Conditional. Export Detail Used for US or CA exports." }, - "PartyAddress_soldTo": { + "Commodity": { "required": [ - "city", - "countryCode", - "postalCode", - "stateOrProvinceCode", - "streetLines" + "description", + "numberOfPieces" ], "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.]", - "example": [ - "1550 Union Blvd", - "Suite 302" - ], - "items": { - "type": "string" - } - }, - "city": { + "name": { "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": "Specify the commodity name", + "example": "non-threaded rivets" }, - "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" + "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 }, - "postalCode": { + "description": { "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", - "example": "90210" + "description": "This is the commodity description. Maximum allowed 450 characters.", + "example": "AC parts" }, - "countryCode": { + "countryOfManufacture": { "type": "string", - "description": "This is the two-letter country code.
    Maximum length is 2.
    Example: US
    click here to see Country codes", + "description": "This is commodity country of manufacture. This is required for International shipments. Maximum allowed length is 4.", "example": "US" }, - "residential": { - "type": "boolean", - "description": "Indicate whether this address is residential (as opposed to commercial).", - "example": false, + "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": { + "docTabContentType": { + "type": "string", + "description": "Doc Tab Content Type", + "example": "BARCODED", "enum": [ - true, - false + "BARCODED", + "CUSTOM", + "MINIMUM", + "STANDARD", + "ZONE001" ] + }, + "zone001": { + "$ref": "#/components/schemas/DocTabContentZone" + }, + "barcoded": { + "$ref": "#/components/schemas/DocTabContentBarcoded" } }, - "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": "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." }, - "PartyContact_soldTo": { - "required": [ - "companyName", - "personName", - "phoneNumber" - ], + "Payor": { "type": "object", "properties": { - "personName": { + "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": "Identifies the contact person's name. Max Length is 70.
    Example: John Taylor", - "example": "John Taylor" + "description": "Specifies the type of distribution locations.", + "example": "CUSTOMER_SPECIFIED", + "enum": [ + "CUSTOMER_SPECIFIED", + "FEDEX_EXPRESS_FREIGHT_RAMP", + "FEDEX_EXPRESS_STATION", + "FEDEX_GROUND_TERMINAL" + ] }, - "emailAddress": { - "type": "string", - "description": "Shipper's email address. Max length is 80.
    Example: sample@company.com", - "example": "sample@company.com" + "locationNumber": { + "type": "integer", + "description": "Specifies the location number.", + "example": 0 }, - "phoneExtension": { + "id": { "type": "string", - "description": "The shipper's phone extension. Max length is 6.
    Example: 91", - "example": "91" + "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" }, - "phoneNumber": { + "locationId": { "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": "The unique location identifier
    Example: YBZA", + "example": "YBZA" }, - "companyName": { + "locationContactAndAddress": { + "$ref": "#/components/schemas/ContactAndAddress" + }, + "clearanceNumber": { "type": "string", - "description": "The shipper's company name. Max length is 35.
    Example: FedEx", - "example": "Fedex" + "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": "Contact details of the shipper.", - "example": { - "personName": "John Taylor", - "emailAddress": "sample@company.com", - "phoneExtension": "91", - "phoneNumber": "1234567890", - "companyName": "Fedex" - } + "description": "Specifies the distribution locations for consolidation.
    Mandatory for International Ground Distribution." }, - "PartyContact_soldTo_2": { - "required": [ - "companyName", - "personName", - "phoneNumber" - ], + "CustomerSpecifiedLabelDetail": { "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" + "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" + ] + } }, - "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" + "regulatoryLabels": { + "type": "array", + "description": "Specifies details needed to generate any label artifacts required due to regulatory requirements", + "items": { + "$ref": "#/components/schemas/RegulatoryLabelContentDetail" + } }, - "companyName": { - "type": "string", - "description": "Specify contact company name.
    Recommended length is 35.
    Note: There's no specific validation for the company name.", - "example": "FedEx" + "docTabContent": { + "$ref": "#/components/schemas/DocTabContent" } }, - "description": "Contact details of the shipper." + "description": "Allows customer-specified control of label content" }, - "ConsolidationDataSources": { + "Payment": { "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" - ] + "payor": { + "$ref": "#/components/schemas/Payor" }, - "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": { + "paymentType": { "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", + "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": [ - "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" + "SENDER", + "RECIPIENT", + "THIRD_PARTY", + "BILL_ANONYMOUSLY", + "COLLECT", + "CASH", + "ACCOUNT", + "CONSIGNEE" ] - }, - "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." + "description": "Details about who and how the shipment will be paid for. 'payor' is optional when 'paymentType' provided is SENDER." }, "LabelSpecification": { "required": [ @@ -7974,7 +9072,13 @@ "ZPLII", "EPL2", "PDF", - "PNG" + "PNG", + "DIB", + "DOC", + "DPL", + "GIF", + "RTF", + "TEXT" ] }, "processingOptionsRequested": { @@ -7982,250 +9086,409 @@ }, "dispositions": { "type": "array", - "description": "Specifies how to create, organize, and return the document.", + "description": "Specifies how to create, organize, and return the document", "items": { "$ref": "#/components/schemas/ShippingDocumentDispositionDetail" } }, - "labelPrintingOrientation": { + "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" + } + }, + "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": "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": "The name of city, town of the shipper.Max length is 35.", + "example": "Beverly Hills" }, - "labelRotation": { + "stateOrProvinceCode": { "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 a placeholder for state or province code.
    Example: CA.
    click here to see State or Province Code", + "example": "CA" }, - "labelOrder": { + "postalCode": { "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" - ] + "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" }, - "printedLabelOrigin": { - "$ref": "#/components/schemas/ContactAndAddress" + "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" }, - "customerSpecifiedDetail": { - "$ref": "#/components/schemas/CustomerSpecifiedLabelDetail" + "contact": { + "$ref": "#/components/schemas/PartyContact" + } + }, + "description": "The descriptive information for the customer origin." + }, + "Origin_2": { + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/PartyAddress_2" }, - "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 + "contact": { + "$ref": "#/components/schemas/PartyContact" } }, - "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": "The descriptive information for the customer origin." }, - "LabelSpecification_2": { - "required": [ - "printedLabelOrigin" - ], + "SoldToParty": { "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" - ] + "address": { + "$ref": "#/components/schemas/PartyAddress_soldTo" }, - "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" - ] + "contact": { + "$ref": "#/components/schemas/PartyContact_soldTo" }, - "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" - ] + "tins": { + "type": "array", + "description": "Used for adding the tax id", + "items": { + "$ref": "#/components/schemas/TaxpayerIdentification" + } }, - "processingOptionsRequested": { - "$ref": "#/components/schemas/LabelSpecification_processingOptionsRequested" + "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" }, - "dispositions": { + "contact": { + "$ref": "#/components/schemas/PartyContact_soldTo_2" + }, + "tins": { "type": "array", - "description": "Specifies how to create, organize, and return the document", + "description": "Used for adding the tax id", "items": { - "$ref": "#/components/schemas/ShippingDocumentDispositionDetail" + "$ref": "#/components/schemas/TaxpayerIdentification" } }, - "labelPrintingOrientation": { + "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": "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": "Identifies the contact person's name. Max Length is 70.
    Example: John Taylor", + "example": "John Taylor" }, - "labelRotation": { + "emailAddress": { "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": "Shipper's email address. Max length is 80.
    Example: sample@company.com", + "example": "sample@company.com" }, - "labelOrder": { + "phoneExtension": { "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": "The shipper's phone extension. Max length is 6.
    Example: 91", + "example": "91" }, - "printedLabelOrigin": { - "$ref": "#/components/schemas/ContactAndAddress" + "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" }, - "customerSpecifiedDetail": { - "$ref": "#/components/schemas/CustomerSpecifiedLabelDetail" + "companyName": { + "type": "string", + "description": "The shipper's company name. Max length is 35.
    Example: FedEx", + "example": "Fedex" } }, - "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": "Contact details of the shipper.", + "example": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneExtension": "91", + "phoneNumber": "1234567890", + "companyName": "Fedex" + } }, - "ShippingDocumentDispositionDetail": { + "PartyContact_soldTo_2": { + "required": [ + "companyName", + "personName", + "phoneNumber" + ], "type": "object", "properties": { - "eMailDetail": { - "$ref": "#/components/schemas/ShippingDocumentEmailDetail" - }, - "dispositionType": { + "personName": { "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": "Specify contact person name.
    Recommended length is 70.
    Note: There's no specific validation for the person name.
    Example: John Taylor", + "example": "John Taylor" }, - "grouping": { + "emailAddress": { "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" - ] + "description": "Specify contact email address. Maximum length is 80.
    Example: sample@company.com", + "example": "sample@company.com" }, - "storageDetail": { - "$ref": "#/components/schemas/ShippingDocumentStorageDetail" + "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" }, - "printDetail": { - "$ref": "#/components/schemas/ShippingDocumentPrintDetail" + "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": "Each occurrence of this class specifies a particular way in which a kind of shipping document is to be produced and provided." + "description": "Contact details of the shipper." }, - "ShippingDocumentEmailDetail": { - "required": [ - "eMailRecipients" - ], + "ConsolidationDataSources": { "type": "object", "properties": { - "eMailRecipients": { - "type": "array", - "description": "Shipping Document Email Recipients array", - "items": { - "$ref": "#/components/schemas/ShippingDocumentEmailRecipient" - } - }, - "locale": { - "$ref": "#/components/schemas/Locale" + "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" + ] }, - "grouping": { + "consolidationDataSourceType": { "type": "string", - "description": "Shipping Document Email Grouping Type", - "example": "NONE", + "description": "Identifies how the content of the field should be determined.", + "example": "ACCUMULATED", "enum": [ - "BY_RECIPIENT", - "NONE" + "ACCUMULATED", + "CLIENT" ] } }, - "description": "Specifies how to e-mail shipping documents." + "description": "Specifies how selected values in the consolidation are to be determined." }, - "ContactAndAddress": { + "CustomerReferences": { "type": "object", "properties": { - "contact": { - "$ref": "#/components/schemas/Contact" - }, - "contactAncillaryDetail": { - "$ref": "#/components/schemas/ContactAncillaryDetail" - }, - "address": { - "$ref": "#/components/schemas/Address" + "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" + ] }, - "addressAncillaryDetail": { - "$ref": "#/components/schemas/AddressAncillaryDetail" + "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": "Idicates the contact and address details of a location." + "description": "These are additional customer reference data for commercial invoice." }, "Contact": { "type": "object", @@ -8311,398 +9574,222 @@ "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" - } - }, - "ContactAncillaryDetail": { - "type": "object", - "properties": { - "emailAddresses": { - "type": "array", - "description": "Email Addresses", - "items": { - "$ref": "#/components/schemas/EMailDetail" - } - } - }, - "description": "Indicates additional contact details for the Party such as email and phone contact information." - }, - "EMailDetail": { - "type": "object", - "properties": { - "emailNotificationFormatType": { - "type": "string", - "description": "Email Notification Format Type", - "example": "SMS_TEXT_MESSAGE", - "enum": [ - "SMS_TEXT_MESSAGE", - "TEXT", - "HTML" - ] - }, - "address": { - "type": "string", - "description": "Address" - }, - "permissions": { - "type": "object", - "additionalProperties": { - "type": "string", - "enum": [ - "GRANT", - "DENY" - ] - }, - "description": "Email Permission Type" - } - }, - "example": { - "emailNotificationFormatType": "SMS_TEXT_MESSAGE", - "address": "address", - "permissions": { - "key": "GRANT" - } - } - }, - "Address": { - "required": [ - "city", - "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. 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 - ] - } - }, - "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 - } - }, - "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" - ] - } + "companyName": { + "type": "string", + "description": "Specify Company Name.", + "example": "FedEx" }, - "regulatoryLabels": { - "type": "array", - "description": "Specifies details needed to generate any label artifacts required due to regulatory requirements", - "items": { - "$ref": "#/components/schemas/RegulatoryLabelContentDetail" - } + "pagerNumber": { + "type": "string", + "description": "Specify pager number.
    Example: XXX7812", + "example": "6127812" }, - "docTabContent": { - "$ref": "#/components/schemas/DocTabContent" + "faxNumber": { + "type": "string", + "description": "Specify fax number.
    Example: XXXX567890", + "example": "1234567890" + }, + "title": { + "type": "string", + "description": "Specify the Title of the Contact.", + "example": "Mr" } }, - "description": "Allows customer-specified control of label content" + "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" + } }, - "DocTabContent": { + "Money": { + "required": [ + "value" + ], "type": "object", "properties": { - "docTabContentType": { + "currency": { "type": "string", - "description": "Doc Tab Content Type", - "example": "BARCODED", + "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": [ - "BARCODED", - "CUSTOM", - "MINIMUM", - "STANDARD", - "ZONE001" + "CUSTOMS_VALUE", + "INSURED_VALUE" ] - }, - "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." + "description": "This is commodity value used for Customs declaration." }, - "DocTabContentZone": { + "Money_2": { + "required": [ + "currency" + ], "type": "object", "properties": { - "docTabZoneSpecifications": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DocTabZoneSpecification" - } + "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." }, - "DocTabZoneSpecification": { + "TransborderDistributionDetail": { "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" + "specialServicesRequested": { + "$ref": "#/components/schemas/TransborderDistributionDetail_specialServicesRequested" }, - "justification": { + "routing": { "type": "string", - "description": "Doc Tab Zone Justification Type", - "example": "RIGHT", + "description": "Specifies the transborder distribution routing.", + "example": "CUSTOMER_SPECIFIED", "enum": [ - "LEFT", - "RIGHT" + "BY_METER", + "BY_ORIGIN", + "CUSTOMER_SPECIFIED" ] + }, + "summaryDetail": { + "$ref": "#/components/schemas/SummaryDetail" } - } + }, + "description": "Specifies attributes of a shipment whithin a transborder distribution." }, - "DocTabContentBarcoded": { + "TransborderDistributionDetail_2": { "type": "object", "properties": { - "symbology": { + "specialServicesRequested": { + "$ref": "#/components/schemas/TransborderDistributionDetail_1_specialServicesRequested" + }, + "routing": { "type": "string", - "description": "Barcode Symbology Type", - "example": "UCC128", + "description": "Specifies the transborder distribution routing.", + "example": "CUSTOMER_SPECIFIED", "enum": [ - "CODABAR", - "CODE128", - "CODE128_WIDEBAR", - "CODE128B", - "CODE128C", - "CODE39", - "CODE93", - "I2OF5", - "MANUAL", - "PDF417", - "POSTNET", - "QR_CODE", - "UCC128" + "BY_METER", + "BY_ORIGIN", + "CUSTOMER_SPECIFIED" ] }, - "specification": { - "$ref": "#/components/schemas/DocTabZoneSpecification" + "summaryDetail": { + "$ref": "#/components/schemas/SummaryDetail" } - } + }, + "description": "Specifies attributes of a shipment whithin a transborder distribution." }, - "InternationalDistributionDetail": { - "required": [ - "clearanceFacilityLocationId", - "declaredCurrencies", - "totalDimensions" - ], + "CustomsClearanceDetail": { "type": "object", "properties": { - "dropOffType": { - "type": "string", - "description": "Specifies drop off type.", - "example": "DROP_BOX", - "enum": [ - "BUSINESS_SERVICE_CENTER", - "DROP_BOX", - "REGULAR_PICKUP", - "REQUEST_PICKUP", - "STATION" - ] + "customsOption": { + "$ref": "#/components/schemas/CustomsOptionDetail" }, - "totalDimensions": { - "$ref": "#/components/schemas/Dimensions" + "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" }, - "totalInsuredValue": { - "$ref": "#/components/schemas/TotalInsuredMoney" + "recipientCustomsId": { + "$ref": "#/components/schemas/RecipientCustomsId" }, - "unitSystem": { + "dutiesPayment": { + "$ref": "#/components/schemas/Payment" + }, + "documentContent": { "type": "string", - "description": "Specifies the unit system.", - "example": "ENGLISH", + "description": "Specifies document content.", + "example": "DOCUMENTS_ONLY", "enum": [ - "ENGLISH", - "METRIC" + "DOCUMENTS_ONLY", + "NON_DOCUMENTS", + "DERIVED" ] }, - "declaredCurrencies": { - "$ref": "#/components/schemas/Money" + "totalCustomsValue": { + "$ref": "#/components/schemas/Money_2" }, - "clearanceFacilityLocationId": { - "type": "string", - "description": "Specifies the clearance facility location id.", - "example": "MEMI" - } - }, - "description": "Specifies the international distribution detail." - }, - "Money": { - "required": [ - "value" - ], - "type": "object", - "properties": { - "currency": { - "type": "string", - "description": "Three-character ISO currency code (e.g. USD, CAD, EUR, JPY, etc.)", - "example": "USD" + "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": { @@ -8769,7 +9856,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": { @@ -8796,34 +9883,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": { @@ -8883,7 +9942,6 @@ }, "Party_2": { "required": [ - "accountNumber", "address" ], "type": "object", @@ -8954,183 +10012,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. ", - "required": [ - "responsibleParty" - ] + "description": "Broker details for the shipment" }, - "ExportDetail": { - "required": { - "0": "b13AFilingOption", - "2": "permitNumber" - }, + "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": { - "0": "description", - "1": "numberOfPieces", - "3": "name" - }, - "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": { @@ -9185,104 +10150,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": { @@ -9296,22 +10163,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": { @@ -9320,330 +10171,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 7182dfdd..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" @@ -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": { @@ -3515,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", @@ -4020,7 +4111,7 @@ "example": "non-threaded rivets" }, "weight": { - "$ref": "#/components/schemas/Weight" + "$ref": "#/components/schemas/Weight_Without_Link" }, "exportLicenseNumber": { "type": "string", @@ -4267,7 +4358,7 @@ "$ref": "#/components/schemas/CustomerSpecifiedLabelDetail" }, "printedLabelOrigin": { - "$ref": "#/components/schemas/ContactAndAddress" + "$ref": "#/components/schemas/ContactAndAddress_2" }, "labelStockType": { "type": "string", @@ -4334,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 } }, @@ -4833,7 +4924,7 @@ ] }, "producer": { - "$ref": "#/components/schemas/Party_3" + "$ref": "#/components/schemas/Party_4" }, "blanketPeriod": { "$ref": "#/components/schemas/RetrieveDateRange" @@ -4889,7 +4980,7 @@ ] }, "producer": { - "$ref": "#/components/schemas/Party_3" + "$ref": "#/components/schemas/Party_4" }, "certifierJobTitle": { "type": "string", @@ -5021,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\"", @@ -7242,7 +7333,7 @@ "example": 4 }, "weight": { - "$ref": "#/components/schemas/Weight" + "$ref": "#/components/schemas/Weight_Without_Link" }, "dimensions": { "$ref": "#/components/schemas/LineItemsDimensions" @@ -7501,737 +7592,1114 @@ }, "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" - }, - "tins": { - "type": "array", - "description": "This is the tax identification number details.", - "items": { - "$ref": "#/components/schemas/TaxpayerIdentification" - } + "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": "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" - } - ] - }, - "required": [ - "address", - "contact" - ] + } }, - "Party_3": { + "Volume": { "type": "object", "properties": { - "address": { - "$ref": "#/components/schemas/PartyAddress_2" - }, - "contact": { - "$ref": "#/components/schemas/PartyContact_2" + "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": "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": "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" - } - ] + "units": "CUBIC_FT", + "value": 9.965781217890562 } }, - "Contact": { + "FreightGuaranteeDetail": { + "required": [ + "freightGuaranteeType", + "guaranteeTimestamp" + ], "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": { + "freightGuaranteeType": { "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": "Specify how the freight has been guaranteed for delivery.", + "example": "GUARANTEED_DATE", + "enum": [ + "GUARANTEED_DATE", + "GUARANTEED_MORNING" + ] }, - "companyName": { + "guaranteeTimestamp": { "type": "string", - "description": "Specify contact company name.

    Recommended length is 35.

    Note: There's no specific validation for the company name.", - "example": "Fedex" + "description": "Specify the time of shipment based on shippers time zone.
    Example: 2009-04-12", + "example": "2009-12-04" } }, - "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": "Indicates the details of freight guarantee." }, - "Contact_2": { + "CurrencyExchangeRate": { "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" + "rate": { + "type": "number", + "description": "Multiplier used to convert from Currency units to into Currency units.
    Example: 25.6", + "format": "double", + "example": 25.6 }, - "phoneExtension": { + "fromCurrency": { "type": "string", - "description": "Specify phone extension.
    Example: 91" + "description": "The currency code for the original (converted FROM) currency.
    Example: Rupee
    click here to see Currency codes", + "example": "Rupee" }, - "companyName": { + "intoCurrency": { "type": "string", - "description": "Specify company name." - }, - "pagerNumber": { + "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 pager number.
    Example: XXX7812" + "description": "The type of name (long, medium, short, etc.) to which this value refers.
    Example: long", + "example": "long" }, - "faxNumber": { + "encoding": { "type": "string", - "description": "Specify fax number.
    Example: XXXX567890" + "description": "The character encoding used to represent this product name.
    Example: UTF-8", + "example": "UTF-8" }, - "title": { + "value": { "type": "string", - "description": "Specify the title of the contact." + "description": "Specifies the value of the Product.
    Example: F-2", + "example": "F-2" } }, - "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": "Product Name information." }, - "ContentRecord": { + "CommitDetail": { "type": "object", "properties": { - "itemNumber": { + "daysInTransit": { "type": "string", - "description": "This is a package item number.", - "example": "2876" + "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" + ] }, - "receivedQuantity": { - "type": "integer", - "description": "This is the package item quantity.", - "format": "int32", - "example": 256 + "guaranteedType": { + "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": { + "dateDetail": { + "$ref": "#/components/schemas/DateDetail" + }, + "saturdayDelivery": { + "type": "boolean", + "description": "Specifies the saturdayDelivery.", + "example": false + }, + "alternativeCommodityNames": { + "type": "array", + "description": "Specifies the alternate names of commodities.", + "example": [ + "Commodity1", + "Commodity2" + ], + "items": { + "type": "string", + "description": "Specifies the items." + } + }, + "transitDays": { + "$ref": "#/components/schemas/TransitDays" + }, + "label": { "type": "string", - "description": "This is the description of the package item.", - "example": "Description" + "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" }, - "partNumber": { + "commitMessageDetails": { "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": "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" }, - "currency": { + "commodityName": { "type": "string", - "description": "This is the currency code for the amount.
    Example: USD
    Click here to see Currency codes", - "example": "USD" + "description": "The Commodity applicable to this commitment.", + "example": "DOCUMENTS" } }, - "description": "Specifies taxes or miscellaneous charge." + "description": "The delivery commitment details" }, - "Weight": { - "required": [ - "units", - "value" - ], + "Alert": { "type": "object", "properties": { - "units": { + "code": { "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 code.
    Example: SHIP.RECIPIENT.POSTALCITY.MISMATCH", + "example": "SHIP.RECIPIENT.POSTALCITY.MISMATCH" + }, + "alertType": { + "type": "string", + "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." + "description": "Indicate the Service Type for this shipment.", + "example": "FEDEX_FREIGHT_ECONOMY" }, - "weight": { - "$ref": "#/components/schemas/Weight" + "packagingType": { + "type": "string", + "description": "Indicate the packaging type used for the shipment.", + "example": "YOUR_PACKAGING" }, - "pieces": { + "totalWeight": { "type": "integer", - "description": "Specifies Total number of pieces.", - "format": "int32" + "description": "Indicate the shipment total weight in pounds.

    Example: 10.6", + "format": "int32", + "example": 20 }, - "volume": { - "$ref": "#/components/schemas/Volume" + "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" }, - "freightClass": { + "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": "Specifies Freight class for this line item.", + "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": [ - "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" + true, + false ] }, - "purchaseOrderNumber": { - "type": "string", - "description": "Specifies Purchase order number for this line item." + "percentage": { + "type": "number", + "description": "Percentage
    Example: 12.45", + "format": "double", + "example": 12.45 }, "id": { "type": "string", - "description": "Specifies Identification for content in this line item." + "description": "ID
    Example: 123", + "example": "123" }, - "hazardousMaterials": { + "packingGroup": { "type": "string", - "description": "Indicates the kind of hazardous material content in this line item.", + "description": "Identifies DOT packing group for a hazardous commodity", + "example": "I", "enum": [ - "HAZARDOUS_MATERIALS", - "BATTERY", - "ORM_D", - "REPORTABLE_QUANTITIES", - "SMALL_QUANTITY_EXCEPTION", - "LIMITED_QUANTITIES_COMMODITIES" + "DEFAULT", + "I", + "II", + "III" ] }, - "dimensions": { - "$ref": "#/components/schemas/Dimensions" + "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": "Indicates the description of an individual commodity or class of content in a shipment." + "description": "Required
    Details of hazardous commodity description." }, - "FreightShipmentLineItem_2": { + "HazardousCommodityPackingDetail": { "required": [ - "description", - "freightClass", - "id", - "pieces", - "subPackagingType", - "weight" + "cargoAircraftOnly" ], "type": "object", "properties": { - "handlingUnits": { - "type": "integer", - "description": "Number of individual handling units to which this line applies. (NOTE: Total of line-item-level handling units may not balance to shipment-level total handling units.)
    Example: 12", - "format": "int32", - "example": 12 - }, - "nmfcCode": { + "packingInstructions": { "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
    ", - "example": "nmfcCode" + "description": "Coded specification for how commodity is to be packed.
    Example: packing Instructions", + "example": "packing Instructions" }, - "subPackagingType": { - "type": "string", - "description": "This is a sub package type for the package.
    Click here to see Sub-Packaging Types", - "example": "BUNDLE", + "cargoAircraftOnly": { + "type": "boolean", + "description": "Shipment is packaged/documented for movement ONLY on cargo aircraft", + "example": true, "enum": [ - "BUNDLE", - "CARTON", - "CRATE", - "DRUM", - "PAIL", - "PALLET", - "OTHER", - "SKID" + 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": "Customer-provided description of this line item.
    Example: description", + "description": "Specifies the description.", "example": "description" }, - "weight": { - "$ref": "#/components/schemas/Weight" + "serviceId": { + "type": "string", + "description": "FOR FEDEX INTERNAL USE ONLY, Designates the service ID.
    Example: EP1000000027", + "example": "EP1000000027" }, - "pieces": { - "type": "integer", - "description": "Total number of pieces.
    Example: 12", - "format": "int32", - "example": 12 + "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" }, - "volume": { - "$ref": "#/components/schemas/Volume" + "parameterList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Parameter" + } }, - "freightClass": { + "message": { "type": "string", - "description": "Required.
    Freight class for this line item.", - "example": "CLASS_050", - "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": "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" + } }, - "purchaseOrderNumber": { + "city": { "type": "string", - "description": "Indicates the purchase order number for printed reference.
    Example: 50", - "example": "50" + "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" }, - "id": { + "stateOrProvinceCode": { "type": "string", - "description": "Indicates the ID for the box.
    Example: 123", - "example": "123" + "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" }, - "hazardousMaterials": { + "postalCode": { "type": "string", - "description": "Indicates the kind of hazardous material content in this line item.", - "example": "HAZARDOUS_MATERIALS", - "enum": [ - "HAZARDOUS_MATERIALS", - "BATTERY", - "ORM_D", - "REPORTABLE_QUANTITIES", - "SMALL_QUANTITY_EXCEPTION", - "LIMITED_QUANTITIES_COMMODITIES" - ] + "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" }, - "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 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.", - "$ref": "#/components/schemas/Dimensions" + "countryCode": { + "type": "string", + "description": "This is the two-letter country code.

    Maximum length is 2.
    Example: US
    click here to see Country codes" }, - "classProvidedByCustomer": { + "residential": { "type": "boolean", - "description": "The estimate freight class from customer-provided dimensions and weight.", - "example": true + "description": "Indicate whether this address is residential (as opposed to commercial).", + "enum": [ + true, + false + ] } }, - "description": "Description of an individual commodity or class of content in a shipment." + "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 + } }, - "Volume": { + "Party": { "type": "object", "properties": { - "units": { - "type": "string", - "description": "Specifies the unit in Cubic Feet or Cubic Meters.", - "example": "CUBIC_FT", - "enum": [ - "CUBIC_FT", - "CUBIC_M" - ] + "address": { + "$ref": "#/components/schemas/Address" }, - "value": { - "type": "number", - "description": "The amount of volume
    Example: 9.965781217890562", - "format": "double", - "example": 9.965781217890562 + "contact": { + "$ref": "#/components/schemas/Contact" + }, + "accountNumber": { + "$ref": "#/components/schemas/AccountNumber" } }, - "description": "Optional\n\nIndividual line item volume.\n\nConditional\n\nNeed Volume or Rate for intra mexico rates", + "description": "Indicate the party to a transaction including the physical address, contact information and account number information.", "example": { - "units": "CUBIC_FT", - "value": 9.965781217890562 + "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" } }, - "ContactAndAddress": { + "Party_2": { + "required": [ + "address", + "contact" + ], "type": "object", "properties": { + "address": { + "$ref": "#/components/schemas/PartyAddress" + }, "contact": { - "$ref": "#/components/schemas/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": "Specifies the contact and address details of a location.", + "description": "Use this object to provide the attributes such as physical address, contact information and account number information.", "example": { "address": { "streetLines": [ @@ -8245,1589 +8713,1340 @@ "residential": false }, "contact": { - "personName": "person name", - "emailAddress": "email address", - "phoneNumber": "phone number", + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneNumber": "1234567890", "phoneExtension": "phone extension", - "companyName": "company name", + "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" + } + ] } }, - "FreightGuaranteeDetail": { - "required": [ - "freightGuaranteeType", - "guaranteeTimestamp" - ], + "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": { - "freightGuaranteeType": { + "personName": { "type": "string", - "description": "Specify how the freight has been guaranteed for delivery.", - "example": "GUARANTEED_DATE", - "enum": [ - "GUARANTEED_DATE", - "GUARANTEED_MORNING" - ] + "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" }, - "guaranteeTimestamp": { + "emailAddress": { "type": "string", - "description": "Specify the time of shipment based on shippers time zone.
    Example: 2009-04-12", - "example": "2009-12-04" + "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": "Indicates the details of freight guarantee." + "description": "Indicate the contact details of the shipper.", + "example": { + "personName": "John Taylor", + "emailAddress": "sample@company.com", + "phoneNumber": "1234567890", + "phoneExtension": 1234, + "faxNumber": "1234567890", + "companyName": "Fedex" + } }, - "PackageRateDetail": { + "Contact_2": { "type": "object", "properties": { - "ratedWeightMethod": { + "personName": { "type": "string", - "description": "Indicates which weight was used for the rate, e.g. actual or dimensional.
    Example: dimensional", - "example": "dimensional" - }, - "totalTaxes": { - "type": "number", - "description": "Specifies the sum of all taxes on this package.
    Example: 1257.25", - "format": "double", - "example": 1257.25 - }, - "totalFreightDiscounts": { - "type": "number", - "description": "The total discounts used in the rate calculation.
    Example: 1257.2
    Click here to see Discounts", - "format": "double", - "example": 1257.26 - }, - "baseCharge": { - "type": "number", - "description": "Identifies the manner in which the chargeRate for this line item was applied.
    Example: 125", - "format": "double", - "example": 125 - }, - "totalRebates": { - "type": "number", - "description": "The total sum of all rebates applied to this package.Example: 12", - "format": "double", - "example": 12 + "description": "Specify person name.
    Example: John Taylor" }, - "rateType": { + "tollFreePhoneNumber": { "type": "string", - "description": "Specifies the type used for this specific set of rate data." + "description": "Specify toll free phone number.
    Example: XXXX7812" }, - "billingWeight": { - "$ref": "#/components/schemas/Weight" + "emailAddress": { + "type": "string", + "description": "Specify email address.
    Example: sample@company.com" }, - "netFreight": { - "type": "number", - "description": "Specifies the sum of freight charges.
    Example: 10", - "format": "double", - "example": 10 + "phoneNumber": { + "type": "string", + "description": "Specify phone number.
    Example: XXX567890" }, - "surcharges": { - "type": "array", - "description": "Specifies the list of all surcharges that apply to this package.", - "items": { - "$ref": "#/components/schemas/Surcharge" - } + "phoneExtension": { + "type": "string", + "description": "Specify phone extension.
    Example: 91" }, - "totalSurcharges": { - "type": "number", - "description": "The sum of all surcharges on the package.
    Example: 569", - "format": "double", - "example": 569 + "companyName": { + "type": "string", + "description": "Specify company name." }, - "netFedExCharge": { - "type": "number", - "description": "Specifies the sum of packages netFreight and totalSurcharges (not including totalTaxes).
    Example: 125.32", - "format": "double", - "example": 125.32 + "pagerNumber": { + "type": "string", + "description": "Specify pager number.
    Example: XXX7812" }, - "netCharge": { - "type": "number", - "description": "Specifies the sum of packages netFreight, totalSurcharges and totalTaxes.
    Example: 563.98", - "format": "double", - "example": 563 + "faxNumber": { + "type": "string", + "description": "Specify fax number.
    Example: XXXX567890" }, - "freightDiscounts": { - "type": "array", - "description": "All rate discounts that apply to this shipment.
    Click here to see Discounts", - "items": { - "$ref": "#/components/schemas/RateDiscount" - } + "title": { + "type": "string", + "description": "Specify the title of the contact." } }, - "description": "Data for a package's rates, as calculated per a specific rate type." + "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" + } }, - "PackageRateDetail_2": { + "FreightShipmentLineItem": { + "required": [ + "freightClass", + "handlingUnits", + "id", + "pieces", + "subPackagingType", + "weight" + ], "type": "object", "properties": { - "ratedWeightMethod": { - "type": "string", - "description": "Indicates the weight types used in calculating this rate, such as actual weight or dimensional weight.
    Example: DIM", - "example": "DIM" - }, - "totalFreightDiscounts": { - "type": "number", - "description": "The sum of all freight discounts for 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 + "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" }, - "minimumChargeType": { + "nmfcCode": { "type": "string", - "description": "Indicates the minumum charge type. INTERNAL FEDEX USE ONLY.", - "example": "minimumChargeType" - }, - "baseCharge": { - "type": "number", - "description": "The package transportation charge(prior to any discounts applied).
    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 + "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
    " }, - "rateType": { + "subPackagingType": { "type": "string", - "description": "This is the rate type used.
    Example: PAYOR_RETAIL_PACKAGE", - "example": "PAYOR_RETAIL_PACKAGE" + "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" + ] }, - "billingWeight": { - "$ref": "#/components/schemas/Weight" + "description": { + "type": "string", + "description": "Customer-provided description of this line item." }, - "netFreight": { - "type": "number", - "description": "This is the net freight charges. i.e. base charge minus total freight discounts for a package.
    Example: 4.89", - "format": "double", - "example": 4.89 + "weight": { + "$ref": "#/components/schemas/Weight_Without_Link" }, - "surcharges": { - "type": "array", - "description": "These are all surcharges on this package.
    click here to see Surcharges", - "items": { - "$ref": "#/components/schemas/Surcharge_2" - } + "pieces": { + "type": "integer", + "description": "Specifies Total number of pieces.", + "format": "int32" }, - "totalSurcharges": { - "type": "number", - "description": "The sum of all surcharges on this package.
    Example: 22.56", - "format": "double", - "example": 22.56 + "volume": { + "$ref": "#/components/schemas/Volume" }, - "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 + "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" + ] }, - "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 + "purchaseOrderNumber": { + "type": "string", + "description": "Specifies Purchase order number for this line item." }, - "currency": { + "id": { "type": "string", - "description": "This is the currency code.
    Example: USD
    click here to see Currency codes", - "example": "USD" + "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" } }, - "description": "These are package rate details, as calculated per a specific rate type." + "description": "Indicates the description of an individual commodity or class of content in a shipment." }, - "Surcharge": { + "FreightShipmentLineItem_2": { + "required": [ + "description", + "freightClass", + "id", + "pieces", + "subPackagingType", + "weight" + ], "type": "object", "properties": { - "amount": { - "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.", - "format": "double", - "example": 87.5 + "handlingUnits": { + "type": "integer", + "description": "Number of individual handling units to which this line applies. (NOTE: Total of line-item-level handling units may not balance to shipment-level total handling units.)
    Example: 12", + "format": "int32", + "example": 12 }, - "level": { + "nmfcCode": { "type": "string", - "description": "Specifies the level of surcharge.", - "example": "level" + "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
    ", + "example": "nmfcCode" }, - "name": { + "subPackagingType": { "type": "string", - "description": "Specifies the localized name of the surcharge.", - "example": "name" + "description": "This is a sub package type for the package.
    Click here to see Sub-Packaging Types", + "example": "BUNDLE", + "enum": [ + "BUNDLE", + "CARTON", + "CRATE", + "DRUM", + "PAIL", + "PALLET", + "OTHER", + "SKID" + ] }, "description": { "type": "string", - "description": "Specifies the description of the surcharge.", + "description": "Customer-provided description of this line item.
    Example: description", "example": "description" }, - "type": { + "weight": { + "$ref": "#/components/schemas/Weight_Without_Link" + }, + "pieces": { + "type": "integer", + "description": "Total number of pieces.
    Example: 12", + "format": "int32", + "example": 12 + }, + "volume": { + "$ref": "#/components/schemas/Volume" + }, + "freightClass": { "type": "string", - "description": "Specifies the type of surcharge.", - "example": "type" - } - } - }, - "Surcharge_2": { - "type": "object", - "properties": { - "amount": { - "description": "This is the surcharge amount.
    Example: 15.35", - "type": "string" + "description": "Required.
    Freight class for this line item.", + "example": "CLASS_050", + "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" + ] }, - "surchargeType": { + "purchaseOrderNumber": { "type": "string", - "description": "This is the surcharge type.
    Example: APPOINTMENT_DELIVERY", - "example": "APPOINTMENT_DELIVERY" + "description": "Indicates the purchase order number for printed reference.
    Example: 50", + "example": "50" }, - "level": { + "id": { "type": "string", - "description": "Specifies if the surcharge applies to the entire shipment, or to an individual package.
    Example: PACKAGE", - "example": "PACKAGE, or SHIPMENT" + "description": "Indicates the ID for the box.
    Example: 123", + "example": "123" }, - "description": { + "hazardousMaterials": { "type": "string", - "description": "Specifies the description for the surcharge.", - "example": "description" + "description": "Indicates the kind of hazardous material content in this line item.", + "example": "HAZARDOUS_MATERIALS", + "enum": [ + "HAZARDOUS_MATERIALS", + "BATTERY", + "ORM_D", + "REPORTABLE_QUANTITIES", + "SMALL_QUANTITY_EXCEPTION", + "LIMITED_QUANTITIES_COMMODITIES" + ] + }, + "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 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.", + "$ref": "#/components/schemas/Dimensions" + }, + "classProvidedByCustomer": { + "type": "boolean", + "description": "The estimate freight class from customer-provided dimensions and weight.", + "example": true } }, - "description": "These are surcharges details.
    click here to see Surcharges" + "description": "Description of an individual commodity or class of content in a shipment." }, - "RateDiscount": { + "ContactAndAddress": { "type": "object", "properties": { - "amount": { - "type": "number", - "description": "Indicates the amount for the rate discount.", - "format": "double", - "example": 87.5 + "contact": { + "$ref": "#/components/schemas/Contact" }, - "name": { - "type": "string", - "description": "Indicate the name of the discount.
    Click here to see Discounts", - "example": "name" + "address": { + "$ref": "#/components/schemas/Address" + } + }, + "description": "Specify 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 }, - "description": { - "type": "string", - "description": "Indicates the description for the rate discount.", - "example": "description" + "contact": { + "personName": "person name", + "emailAddress": "email address", + "phoneNumber": "phone number", + "phoneExtension": "phone extension", + "companyName": "company name", + "faxNumber": "fax number" + } + } + }, + "ContactAndAddress_2": { + "type": "object", + "properties": { + "contact": { + "$ref": "#/components/schemas/Contact" }, - "type": { - "type": "string", - "description": "Indicates the type.", - "example": "type" + "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 }, - "percent": { - "type": "number", - "description": "Indicates the percentage of the rate discount.", - "format": "double", - "example": 10.5 + "contact": { + "personName": "person name", + "emailAddress": "email address", + "phoneNumber": "phone number", + "phoneExtension": "phone extension", + "companyName": "company name", + "faxNumber": "fax number" } } }, - "RateDiscount_2": { + "PackageRateDetail": { "type": "object", "properties": { - "amount": { - "type": "number", - "description": "Specifies the amount.
    Example: 8.9", - "format": "double", - "example": 8.9 - }, - "rateDiscountType": { + "ratedWeightMethod": { "type": "string", - "description": "The type of rate discount.
    Valid Values are BONUS, COUPON,EARNED,OTHER,VOLUME.
    Example: COUPON", - "example": "COUPON" + "description": "Indicates which weight was used for the rate, e.g. actual or dimensional.
    Example: dimensional", + "example": "dimensional" }, - "percent": { + "totalTaxes": { "type": "number", - "description": "Specifies the percentage of Rate discount.
    Example: 28.9", + "description": "Specifies the sum of all taxes on this package.
    Example: 1257.25", "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." - }, - "ShipmentLegRateDetail": { - "type": "object", - "properties": { - "discounts": { - "type": "array", - "description": "Specifies the list of discounts.
    Click here to see Discounts", - "items": { - "$ref": "#/components/schemas/RateDiscount" - } - }, - "pricingCode": { - "type": "string", - "description": "Identifies the type of pricing used for this shipment.", - "example": "ACTUAL" - }, - "legDescription": { - "type": "string", - "description": "Human-readable text describing the shipment leg.", - "example": "legDescription" - }, - "surcharges": { - "type": "array", - "description": "Specifies the list of surcharges.
    Valid value is:
  • PEAK
  • PEAK_ADDTIONAL_HANDLING
  • PEAK_OVERSIZE
  • PEAK_RESIDENTIAL_DELIVERY
  • ", - "items": { - "$ref": "#/components/schemas/Surcharge" - } - }, - "specialRatingApplied": { - "type": "array", - "description": "Indicates which special rating cases applied to this shipment.", - "items": { - "type": "string" - } - }, - "taxes": { - "type": "array", - "description": "Specifies the list of taxes.", - "items": { - "$ref": "#/components/schemas/Tax" - } + "example": 1257.25 }, - "rateScale": { - "type": "string", - "description": "Indicates the rate scale used." + "totalFreightDiscounts": { + "type": "number", + "description": "The total discounts used in the rate calculation.
    Example: 1257.2
    Click here to see Discounts", + "format": "double", + "example": 1257.26 }, - "totalNetCharge": { + "baseCharge": { "type": "number", - "description": "This shipment's totalNetCharge and totalDutiesTaxesAndFees. Some duties and taxes are 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's account.", + "description": "Identifies the manner in which the chargeRate for this line item was applied.
    Example: 125", "format": "double", - "example": 87.5 + "example": 125 }, - "totalBaseCharge": { + "totalRebates": { "type": "number", - "description": "Specifies the total base charge list", + "description": "The total sum of all rebates applied to this package.Example: 12", "format": "double", - "example": 87.5 + "example": 12 }, - "currencyExchangeRate": { - "$ref": "#/components/schemas/CurrencyExchangeRate" + "rateType": { + "type": "string", + "description": "Specifies the type used for this specific set of rate data." }, - "totalBillingWeight": { - "description": "Sum of billing weight for the shipment.", + "billingWeight": { "$ref": "#/components/schemas/Weight" }, - "currency": { - "type": "string", - "description": "Indicate the three-character ISO currency code.
    Example: USD
    Click here to see Currency Codes", - "example": "USD" - } - } - }, - "ShipmentLegRateDetail_2": { - "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" + "netFreight": { + "type": "number", + "description": "Specifies the sum of freight charges.
    Example: 10", + "format": "double", + "example": 10 }, - "taxes": { + "surcharges": { "type": "array", - "description": "Specifies the taxes.", + "description": "Specifies the list of all surcharges that apply to this package.", "items": { - "$ref": "#/components/schemas/Tax_2" + "$ref": "#/components/schemas/Surcharge" } }, - "totalDimWeight": { - "description": "Sum of dimensional weights for all packages.", - "$ref": "#/components/schemas/Weight" - }, - "totalRebates": { + "totalSurcharges": { "type": "number", - "description": "Specifies the total rebate.
    Example: 2.0", + "description": "The sum of all surcharges on the package.
    Example: 569", "format": "double", - "example": 2 + "example": 569 }, - "fuelSurchargePercent": { + "netFedExCharge": { "type": "number", - "description": "Specifies a fuel surcharge percentage.
    Example: 6.0", + "description": "Specifies the sum of packages netFreight and totalSurcharges (not including totalTaxes).
    Example: 125.32", "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" + "example": 125.32 }, - "totalBaseCharge": { + "netCharge": { "type": "number", - "description": "The total freight charge that was calculated before surcharges, discounts and taxes.
    Example: 6.0", + "description": "Specifies the sum of packages netFreight, totalSurcharges and totalTaxes.
    Example: 563.98", "format": "double", - "example": 6 + "example": 563 }, + "freightDiscounts": { + "type": "array", + "description": "All rate discounts that apply to this shipment.
    Click here to see Discounts", + "items": { + "$ref": "#/components/schemas/RateDiscount" + } + } + }, + "description": "Data for a package's rates, as calculated per a specific rate type." + }, + "PackageRateDetail_2": { + "type": "object", + "properties": { "ratedWeightMethod": { "type": "string", - "description": "Indicates which weight was used.
    Example: ratedWeightMethod", - "example": "ratedWeightMethod" + "description": "Indicates the weight types 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.
    Example: 9.0", + "description": "The sum of all freight discounts for this package.
    Example: 44.55", "format": "double", - "example": 9 + "example": 44.55 }, "totalTaxes": { "type": "number", - "description": "Total of the transportation-based taxes.
    Example: 12.6", + "description": "The sum of all taxes on this package.
    Example: 3.45", "format": "double", - "example": 12.6 + "example": 3.45 }, "minimumChargeType": { "type": "string", - "description": "Specifies minimum charge type.", + "description": "Indicates the minumum charge type. INTERNAL FEDEX USE ONLY.", "example": "minimumChargeType" }, - "totalDutiesAndTaxes": { + "baseCharge": { "type": "number", - "description": "Total of shipments duties and taxes; only provided if estimated duties and taxes were calculated for this shipment.
    Example: 17.78", + "description": "The package transportation charge(prior to any discounts applied).
    Example: 45.67", "format": "double", - "example": 17.78 + "example": 45.67 }, - "totalNetFreight": { + "totalRebates": { "type": "number", - "description": "The freight charge minus discounts.
    Example: 6.0", + "description": "Specifies total rebates on this package.
    Example: 4.56", "format": "double", - "example": 6 + "example": 4.56 }, - "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 + "rateType": { + "type": "string", + "description": "This is the rate type used.
    Example: PAYOR_RETAIL_PACKAGE", + "example": "PAYOR_RETAIL_PACKAGE" }, - "surcharges": { - "type": "array", - "description": "All surcharges that apply to this shipment.
    click here to see surcharges", - "items": { - "$ref": "#/components/schemas/Surcharge_2" - } + "billingWeight": { + "$ref": "#/components/schemas/Weight" }, - "totalSurcharges": { + "netFreight": { "type": "number", - "description": "The total of all surcharges.
    Example: 5.0", + "description": "This is the net freight charges. i.e. base charge minus total freight discounts for a package.
    Example: 4.89", "format": "double", - "example": 5 - }, - "totalBillingWeight": { - "description": "The weight used to calculate these rates.", - "$ref": "#/components/schemas/Weight" + "example": 4.89 }, - "freightDiscounts": { + "surcharges": { "type": "array", + "description": "These are all surcharges on this package.
    click here to see Surcharges", "items": { - "$ref": "#/components/schemas/RateDiscount_2" + "$ref": "#/components/schemas/Surcharge_2" } }, - "rateScale": { - "type": "string", - "description": "Indicates the rate scale used.
    Example: 6702", - "example": "6702" + "totalSurcharges": { + "type": "number", + "description": "The sum of all surcharges on this package.
    Example: 22.56", + "format": "double", + "example": 22.56 }, - "totalNetCharge": { + "netFedExCharge": { "type": "number", - "description": "The net charge after applying all discounts and surcharges.
    Example: 253", + "description": "This is sum of net freight and total surcharges (not including totalTaxes) for this package.
    Example: 12.56", "format": "double", - "example": 253 + "example": 12.56 }, - "totalNetChargeWithDutiesAndTaxes": { + "netCharge": { "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", + "description": "This is the sum of net freight, total surcharges and total taxes for a package.
    Example: 121.56", "format": "double", - "example": 25.67 + "example": 121.56 }, "currency": { "type": "string", - "description": "This is the currency code for the amount.
    Example: USD
    click here to see Currency codes", + "description": "This is the currency code.
    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." + "description": "These are package rate details, as calculated per a specific rate type." }, - "Tax": { + "Surcharge": { "type": "object", "properties": { "amount": { "type": "number", - "description": "Specifies the list of tax amounts", + "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.", "format": "double", "example": 87.5 }, + "level": { + "type": "string", + "description": "Specifies the level of surcharge.", + "example": "level" + }, "name": { "type": "string", - "description": "Specifies the localized name of the tax." + "description": "Specifies the localized name of the surcharge.", + "example": "name" }, "description": { "type": "string", - "description": "Specifies the description of the Surcharge/Tax." + "description": "Specifies the description of the surcharge.", + "example": "description" }, "type": { "type": "string", - "description": "Specifies the type of Surcharge/Tax." + "description": "Specifies the type of surcharge.", + "example": "type" } - }, - "description": "Specifies the Tax surcharge details" + } }, - "Tax_2": { + "Surcharge_2": { "type": "object", "properties": { "amount": { - "type": "number", - "description": "Indicates the amount of tax.
    Example: 10.0", - "format": "double", - "example": 10 + "description": "This is the surcharge amount.
    Example: 15.35", + "type": "string" + }, + "surchargeType": { + "type": "string", + "description": "This is the surcharge type.
    Example: APPOINTMENT_DELIVERY", + "example": "APPOINTMENT_DELIVERY" }, "level": { "type": "string", - "description": "Indicates the level of tax.", - "example": "level" + "description": "Specifies if the surcharge applies to the entire shipment, or to an individual package.
    Example: PACKAGE", + "example": "PACKAGE, or SHIPMENT" }, "description": { "type": "string", - "description": "Specifies the tax description.", + "description": "Specifies the description for the surcharge.", "example": "description" - }, - "type": { - "type": "string", - "description": "Specifies the type of the tax.", - "example": "type" } }, - "description": "Specifies the tax for the shipment." + "description": "These are surcharges details.
    click here to see Surcharges" }, - "CurrencyExchangeRate": { + "RateDiscount": { "type": "object", "properties": { - "rate": { + "amount": { "type": "number", - "description": "Multiplier used to convert from Currency units to into Currency units.
    Example: 25.6", + "description": "Indicates the amount for the rate discount.", "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" + "example": 87.5 }, - "currency": { + "name": { "type": "string", - "description": "Indicates the currency associated with the amount.", - "example": "USD" + "description": "Indicate the name of the discount.
    Click here to see Discounts", + "example": "name" }, - "rateZone": { + "description": { "type": "string", - "description": "Indicates the rate zone used.", - "example": "CA003O" + "description": "Indicates the description for the rate discount.", + "example": "description" }, - "pricingCode": { + "type": { "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": { - "type": "array", - "description": "Indicates which special rating cases applied to this shipment.", - "example": "Specialrating", - "items": { - "type": "string" - } - }, - "totalSurcharges": { - "type": "number", - "description": "This is sum of all surcharges on the package. Example: 586.25", - "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" - } + "description": "Indicates the type.", + "example": "type" }, - "fuelSurchargePercent": { + "percent": { "type": "number", - "description": "This is fuel surcharge percentage.", + "description": "Indicates the percentage of the rate discount.", "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/Surcharge" - } } - }, - "description": "This is shipment level rate data." + } }, - "ShipmentRateDetail_2": { + "RateDiscount_2": { "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": { + "amount": { "type": "number", - "description": "The total of the total duties & taxes and the total ancillary fees & taxes.
    Example: 24.56", + "description": "Specifies the amount.
    Example: 8.9", "format": "double", - "example": 24.56 + "example": 8.9 }, - "pricingCode": { + "rateDiscountType": { "type": "string", - "description": "Specifies pricing Code.
    Example: PACKAGE", - "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_2" - } - } - }, - "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 + "description": "The type of rate discount.
    Valid Values are BONUS, COUPON,EARNED,OTHER,VOLUME.
    Example: COUPON", + "example": "COUPON" }, - "totalNetFedExCharge": { + "percent": { "type": "number", - "description": "This is the sum of shipment's total net freight, total surchages (not including totalTaxes).
    Example: 88.56", + "description": "Specifies the percentage of Rate discount.
    Example: 28.9", "format": "double", - "example": 88.56 + "example": 28.9 }, - "shipmentLegRateDetails": { + "description": { + "type": "string", + "description": "Specifies the description of the discounted rate.
    Example: description", + "example": "description" + } + }, + "description": "Specifies discount Rate for Shipment." + }, + "ShipmentLegRateDetail": { + "type": "object", + "properties": { + "discounts": { "type": "array", - "description": "This is data for a single leg of a shipment's total/summary rates, as calculated per a specific rate type.", + "description": "Specifies the list of discounts.
    Click here to see Discounts", "items": { - "$ref": "#/components/schemas/ShipmentLegRateDetail_2" + "$ref": "#/components/schemas/RateDiscount" } }, - "dimDivisor": { - "type": "integer", - "description": "The value used to calculate the weight based on the dimensions.
    Example: 0", - "format": "int32", - "example": 0 + "pricingCode": { + "type": "string", + "description": "Identifies the type of pricing used for this shipment.", + "example": "ACTUAL" }, - "rateType": { + "legDescription": { "type": "string", - "description": "The Type used for this specific set of rate data.
    Example: RATED_ACCOUNT_SHIPMENT", - "example": "RATED_ACCOUNT_SHIPMENT" + "description": "Human-readable text describing the shipment leg.", + "example": "legDescription" }, "surcharges": { "type": "array", - "description": "All surcharges that apply to this shipment.
    click here to see Surcharges", + "description": "Specifies the list of surcharges.
    Valid value is:
  • PEAK
  • PEAK_ADDTIONAL_HANDLING
  • PEAK_OVERSIZE
  • PEAK_RESIDENTIAL_DELIVERY
  • ", "items": { - "$ref": "#/components/schemas/Surcharge_2" + "$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" + "specialRatingApplied": { + "type": "array", + "description": "Indicates which special rating cases applied to this shipment.", + "items": { + "type": "string" + } }, - "freightDiscounts": { + "taxes": { "type": "array", - "description": "Indicates the freight discounts.", + "description": "Specifies the list of taxes.", "items": { - "$ref": "#/components/schemas/RateDiscount_2" + "$ref": "#/components/schemas/Tax" } }, "rateScale": { "type": "string", - "description": "Indicates the rate scale used.
    Example: 00000", - "example": "00000" + "description": "Indicates the rate scale used." }, "totalNetCharge": { "type": "number", - "description": "The net charge after applying all discounts and surcharges.
    Example: 3.78", + "description": "This shipment's totalNetCharge and totalDutiesTaxesAndFees. Some duties and taxes are 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's account.", "format": "double", - "example": 3.78 + "example": 87.5 }, "totalBaseCharge": { "type": "number", - "description": "The total Shipment charge that was calculated before surcharges, discounts and taxes.
    Example: 234.56", + "description": "Specifies the total base charge list", "format": "double", - "example": 234.56 + "example": 87.5 }, - "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 + "currencyExchangeRate": { + "$ref": "#/components/schemas/CurrencyExchangeRate" + }, + "totalBillingWeight": { + "description": "Sum of billing weight for the shipment.", + "$ref": "#/components/schemas/Weight" }, "currency": { "type": "string", - "description": "Indicates the currency code.
    click here to see Currency Codes", + "description": "Indicate the three-character ISO currency code.
    Example: USD
    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": { + "ShipmentLegRateDetail_2": { "type": "object", "properties": { - "serviceType": { + "rateZone": { "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" + "description": "Indicates the rate zone used (based on origin and destination).
    Example: rateZone", + "example": "rateZone" }, - "code": { + "pricingCode": { "type": "string", - "description": "Specifies code of the Service.
    example: 80", - "example": "80" + "description": "Specifies the Pricing Code.
    Example: pricingCode", + "example": "pricingCode" }, - "names": { + "taxes": { "type": "array", - "description": "Branded, translated, and/or localized names for this service.", + "description": "Specifies the taxes.", "items": { - "$ref": "#/components/schemas/ProductName" + "$ref": "#/components/schemas/Tax_2" } }, - "operatingOrgCodes": { - "type": "array", - "description": "FOR FEDEX INTERNAL USE ONLY. The operating org code in a service.
    Example: [\"FXE\", \"FXE\"]", - "example": [ - "FXE" - ], - "items": { - "type": "string" - } + "totalDimWeight": { + "description": "Sum of dimensional weights for all packages.", + "$ref": "#/components/schemas/Weight" }, - "astraDescription": { - "type": "string", - "description": "Specifies astra Description.
    Example: 2 DAY FRT", - "example": "2 DAY FRT" + "totalRebates": { + "type": "number", + "description": "Specifies the total rebate.
    Example: 2.0", + "format": "double", + "example": 2 }, - "description": { - "type": "string", - "description": "Specifies the description.", - "example": "description" + "fuelSurchargePercent": { + "type": "number", + "description": "Specifies a fuel surcharge percentage.
    Example: 6.0", + "format": "double", + "example": 6 }, - "serviceId": { - "type": "string", - "description": "FOR FEDEX INTERNAL USE ONLY, Designates the service ID.
    Example: EP1000000027", - "example": "EP1000000027" + "currencyExchangeRate": { + "description": "Specifies currency exchange rate.", + "$ref": "#/components/schemas/CurrencyExchangeRate" }, - "serviceCategory": { + "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": "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": { + "description": "Type used for this specific set of rate data.
    Example: PAYOR_RETAIL_PACKAGE", + "example": "PAYOR_RETAIL_PACKAGE" + }, + "legDestinationLocationId": { "type": "string", - "description": "The type of name (long, medium, short, etc.) to which this value refers.
    Example: long", - "example": "long" + "description": "Specifies the location id the destination of shipment leg.
    Example: HKAA", + "example": "legDestinationLocationId" }, - "encoding": { + "dimDivisorType": { "type": "string", - "description": "The character encoding used to represent this product name.
    Example: UTF-8", - "example": "UTF-8" + "description": "Identifies the type of dim divisor that was applied.
    Example: dimDivisorType", + "example": "dimDivisorType" }, - "value": { + "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": "Specifies the value of the Product.
    Example: F-2", - "example": "F-2" - } - }, - "description": "Product Name information." - }, - "BrokerDetail": { - "required": [ - "broker", - "type" - ], - "type": "object", - "properties": { - "broker": { - "$ref": "#/components/schemas/Party" + "description": "Indicates which weight was used.
    Example: ratedWeightMethod", + "example": "ratedWeightMethod" }, - "type": { + "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": "This is Broker Type.", - "example": "EXPORT", - "enum": [ - "EXPORT", - "IMPORT" - ] + "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 }, - "brokerCommitTimestamp": { - "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" + "totalBillingWeight": { + "description": "The weight used to calculate these rates.", + "$ref": "#/components/schemas/Weight" }, - "brokerCommitDayOfWeek": { - "type": "string", - "description": "This is the delivery commitment day of the week the shipment will arrive at the border.
    Example: SUNDAY", - "example": "SUNDAY" + "freightDiscounts": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RateDiscount_2" + } }, - "brokerLocationId": { + "rateScale": { "type": "string", - "description": "This is the FedEx location identifier for the broker.
    Example: HKAA", - "example": "brokerLocationId" + "description": "Indicates the rate scale used.
    Example: 6702", + "example": "6702" }, - "brokerAddress": { - "$ref": "#/components/schemas/Brokeraddress" + "totalNetCharge": { + "type": "number", + "description": "The net charge after applying all discounts and surcharges.
    Example: 253", + "format": "double", + "example": 253 }, - "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": "These are Broker Detail for the rate quote." - }, - "BrokerDetail_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" + "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 }, - "type": { + "currency": { "type": "string", - "description": "Identifies the type of broker.", - "example": "IMPORT", - "enum": [ - "IMPORT" - ] + "description": "This is the currency code for the amount.
    Example: USD
    click here to see Currency codes", + "example": "USD" } }, - "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": "This is a placeholder for single leg of a shipment rates details, as calculated per a specific rate type." }, - "CommitDetail": { + "Tax": { "type": "object", "properties": { - "daysInTransit": { - "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" - ] - }, - "guaranteedType": { - "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" - ] - }, - "dateDetail": { - "$ref": "#/components/schemas/DateDetail" - }, - "saturdayDelivery": { - "type": "boolean", - "description": "Specifies the saturdayDelivery.", - "example": false - }, - "alternativeCommodityNames": { - "type": "array", - "description": "Specifies the alternate names of commodities.", - "example": [ - "Commodity1", - "Commodity2" - ], - "items": { - "type": "string", - "description": "Specifies the items." - } - }, - "transitDays": { - "$ref": "#/components/schemas/TransitDays" + "amount": { + "type": "number", + "description": "Specifies the list of tax amounts", + "format": "double", + "example": 87.5 }, - "label": { + "name": { "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" + "description": "Specifies the localized name of the tax." }, - "commitMessageDetails": { + "description": { "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" + "description": "Specifies the description of the Surcharge/Tax." }, - "commodityName": { + "type": { "type": "string", - "description": "The Commodity applicable to this commitment.", - "example": "DOCUMENTS" + "description": "Specifies the type of Surcharge/Tax." } }, - "description": "The delivery commitment details" + "description": "Specifies the Tax surcharge details" }, - "Alert": { + "Tax_2": { "type": "object", "properties": { - "code": { + "amount": { + "type": "number", + "description": "Indicates the amount of tax.
    Example: 10.0", + "format": "double", + "example": 10 + }, + "level": { "type": "string", - "description": "Specifies the API alert code.
    Example: SHIP.RECIPIENT.POSTALCITY.MISMATCH", - "example": "SHIP.RECIPIENT.POSTALCITY.MISMATCH" + "description": "Indicates the level of tax.", + "example": "level" }, - "alertType": { + "description": { "type": "string", - "description": "Specifies the API alert type.", - "example": "NOTE", - "enum": [ - "NOTE", - "WARNING" - ] + "description": "Specifies the tax description.", + "example": "description" }, - "message": { + "type": { "type": "string", - "description": "Specifies the API alert message.
    Example: Recipient Postal-City Mismatch.", - "example": "Recipient Postal-City Mismatch." + "description": "Specifies the type of the tax.", + "example": "type" } }, - "description": "These are alert details received in the response." + "description": "Specifies the tax for the shipment." }, - "ErrorResponseVO": { + "ShipmentRateDetail": { "type": "object", "properties": { - "transactionId": { + "currencyExchangeRate": { + "$ref": "#/components/schemas/CurrencyExchangeRate" + }, + "currency": { "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" + "description": "Indicates the currency associated with the amount.", + "example": "USD" }, - "errors": { + "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": { "type": "array", + "description": "Indicates which special rating cases applied to this shipment.", + "example": "Specialrating", "items": { - "$ref": "#/components/schemas/CXSError" + "type": "string" } - } - } - }, - "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": { + "totalSurcharges": { + "type": "number", + "description": "This is sum of all surcharges on the package. Example: 586.25", + "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/Parameter" + "$ref": "#/components/schemas/RateDiscount" } }, - "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." + "fuelSurchargePercent": { + "type": "number", + "description": "This is fuel surcharge percentage.", + "format": "double", + "example": 10.5 }, - "key": { - "type": "string", - "description": "Indicates the value associated with the key." + "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/Surcharge" + } } }, - "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", @@ -9835,7 +10054,7 @@ ], "city": "Beverly Hills", "stateOrProvinceCode": "CA", - "postalCode": "38127", + "postalCode": "90210", "countryCode": "US", "residential": false }, @@ -9843,21 +10062,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", @@ -9865,299 +10077,300 @@ "effectiveDate": "2000-01-23T04:56:07.000+00:00", "expirationDate": "2000-01-23T04:56:07.000+00:00" } - ] - } - }, - "required": [ - "responsibleParty" - ] - }, - "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..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.", @@ -1636,6 +1657,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 +1713,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 b6e9cf2d..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": { @@ -2454,17 +2454,42 @@ "deliveryInstructions": "Delivery Instructions" } }, - "PartyAccountNumber": { + "ResponsiblePartyParty": { "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" + "address": { + "$ref": "#/components/schemas/PartyAddress" + }, + "contact": { + "$ref": "#/components/schemas/PartyContact" + }, + "accountNumber": { + "$ref": "#/components/schemas/PartyAccountNumber" } }, - "description": "This is FedEx Account number details.", + "description": "Indicate the payer Information responsible for paying for the shipment.
    Note: ResponsibleParty accountNumber is required for ACCOUNT based services.", "example": { - "value": "Your account number" + "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" + } } }, "OpenShipmentSpecialServicesRequested": { @@ -3328,7 +3353,7 @@ "example": "non-threaded rivets" }, "weight": { - "$ref": "#/components/schemas/Weight" + "$ref": "#/components/schemas/Weight_Without_Link" }, "exportLicenseNumber": { "type": "string", @@ -3375,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": { @@ -3493,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": { @@ -3621,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.", @@ -3778,7 +3880,7 @@ } }, "dryIceWeight": { - "$ref": "#/components/schemas/Weight" + "$ref": "#/components/schemas/Weight_Without_Link" }, "standaloneBatteryDetails": { "type": "array", @@ -3848,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", @@ -3867,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.", @@ -5898,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 } }, @@ -6446,7 +6556,7 @@ ] }, "producer": { - "$ref": "#/components/schemas/Party_2" + "$ref": "#/components/schemas/Party_3" }, "blanketPeriod": { "$ref": "#/components/schemas/RetrieveDateRange" @@ -6518,7 +6628,7 @@ ] }, "producer": { - "$ref": "#/components/schemas/Party_2" + "$ref": "#/components/schemas/Party_3" }, "certifierJobTitle": { "type": "string", @@ -6885,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" }, @@ -7905,53 +8015,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,106 +8058,523 @@ ], "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: 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": { + "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": { - "required": [ - "phoneNumber" - ], + "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": { + "areaCode": { "type": "string", - "description": "Specify contact email address. Maximum length is 80.
    Example: sample@company.com", - "example": "sample@company.com" + "description": "Indicate the area code for the phone number." }, - "phoneExtension": { + "localNumber": { "type": "string", - "description": "Specify contact phone extension. Maximum length is 6.
    Example: 1234", - "example": "91" + "description": "Indicate the local phone number for contacting in the event of an emergency. Maximum length is 10." }, - "phoneNumber": { + "extension": { "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 extension for the phone number." }, - "companyName": { + "personalIdentificationNumber": { "type": "string", - "description": "Specify contact company name. Maximum length is 35.
    Note: Either the companyName or personName is mandatory.", - "example": "Fedex" + "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", + "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" + ], + "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", + "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", + "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" } @@ -8105,39 +8621,6 @@ "companyName": "Fedex" } }, - "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" - } - } - }, "Contact": { "type": "object", "properties": { @@ -8222,65 +8705,17 @@ "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" - } - }, - "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 + "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" } }, "Payment": { @@ -8338,7 +8773,7 @@ "type": "object", "properties": { "payor": { - "$ref": "#/components/schemas/Payor" + "$ref": "#/components/schemas/Payor_2" }, "billingDetails": { "$ref": "#/components/schemas/BillingDetails" @@ -8410,10 +8845,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. ", @@ -8458,55 +8931,16 @@ } ] } - }, - "required": [ - "responsibleParty" - ] - }, - "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" @@ -8519,7 +8953,6 @@ } } }, - "description": "Use this object to provide the attributes such as physical address, contact information and account number information.", "example": { "address": { "streetLines": [ @@ -8528,31 +8961,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", @@ -8565,10 +8990,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", @@ -8578,6 +9006,7 @@ } } }, + "description": "Use this object to provide the attributes such as physical address, contact information and account number information.", "example": { "address": { "streetLines": [ @@ -8586,338 +9015,126 @@ ], "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", "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", - "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_Without_Link" }, - "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", @@ -8955,40 +9172,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..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": { @@ -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..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,66 +4204,29 @@ } }, "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" - } - }, - "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 + "example": "VAT" } } }, @@ -4460,43 +4393,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 +4469,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..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", @@ -3976,43 +4026,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 +4138,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 +4229,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-dg-hazmat/v1.json b/resources/models/ship-dg-hazmat/v1.json new file mode 100644 index 00000000..462cc8e5 --- /dev/null +++ b/resources/models/ship-dg-hazmat/v1.json @@ -0,0 +1,7820 @@ +{ + "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": { + "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": { + "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": "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)." + }, + "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.", + "type": "number", + "format": "double" + }, + "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": { + "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": { + "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": { + "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/resources/models/ship/v1.json b/resources/models/ship/v1.json index be7b14d0..4699c860 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" }, @@ -1734,6 +1557,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": { @@ -2212,6 +2076,8 @@ "description": "Specify the Rate Type used.", "enum": [ "ACCOUNT", + "LIST", + "ACTUAL", "CURRENT", "CUSTOM" ], @@ -2284,7 +2150,10 @@ "DSP_73", "DSP_85", "DSP_LICENSE_AGREEMENT", - "WAREHOUSE_WITHDRAWAL" + "WAREHOUSE_WITHDRAWAL", + "FROM_FOREIGN_TRADE_ZONE", + "DEA_486", + "DSP_94" ] } }, @@ -2500,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" @@ -2547,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" @@ -2648,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", @@ -2787,111 +2661,16 @@ "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": { - "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": { - "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": { + "units": { "type": "string", "description": "Unit of measure used to express the quantity of this commodity line item.", "example": "KG" @@ -3016,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": { @@ -3153,6 +2931,7 @@ "example": "PAPER_7X475", "enum": [ "PAPER_4X6", + "STOCK_4X675", "PAPER_4X675", "PAPER_4X8", "PAPER_4X9", @@ -3209,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 } }, @@ -3230,6 +3009,7 @@ "default": "SHIPPER_INFORMATION", "enum": [ "CUSTOMS_VALUE", + "SHIPPER_ACCOUNT_NUMBER", "DIMENSIONS", "DUTIES_AND_TAXES_PAYOR_ACCOUNT_NUMBER", "INSURED_VALUE", @@ -3761,7 +3541,7 @@ ] }, "producer": { - "$ref": "#/components/schemas/Party_2" + "$ref": "#/components/schemas/Party_3" }, "blanketPeriod": { "$ref": "#/components/schemas/RetrieveDateRange" @@ -3833,7 +3613,7 @@ ] }, "producer": { - "$ref": "#/components/schemas/Party_2" + "$ref": "#/components/schemas/Party_3" }, "certifierJobTitle": { "type": "string", @@ -4160,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": { @@ -4170,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", @@ -4258,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", @@ -4435,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": { @@ -4505,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." @@ -4518,13 +4316,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.", @@ -4572,7 +4363,7 @@ "format": "double", "example": 621.45 }, - "netListRateAmount": { + "listRateAmount": { "type": "number", "description": "Indicates the net List rate amount.
          Example: 1.45", "format": "double", @@ -4617,11 +4408,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.", @@ -4632,21 +4418,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": { @@ -5075,7 +4846,7 @@ "$ref": "#/components/schemas/HazardousCommodityQuantityDetail" }, "options": { - "$ref": "#/components/schemas/HazardousCommodityContent" + "$ref": "#/components/schemas/HazardousCommodityOptionDetail" }, "description": { "$ref": "#/components/schemas/ValidatedHazardousCommodityDescription" @@ -5092,6 +4863,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": { @@ -6283,10 +6084,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", @@ -6778,6 +6579,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", @@ -6810,7 +6632,7 @@ ], "allOf": [ { - "$ref": "#/components/schemas/RequestedShipment" + "$ref": "#/components/schemas/RequestedShipment_tag" }, { "properties": { @@ -6839,126 +6661,1135 @@ } ] }, - "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" + }, + "alerts": { + "type": "array", + "description": "Specifies the alerts received when a tag is created. This includes the alert code, alert type, and alert message.", + "items": { + "$ref": "#/components/schemas/Alert" + } + } + }, + "description": "Specifies the output details when a tag is created." + }, + "FullSchema-CancelTag": { + "required": [ + "accountNumber", + "completedTagDetail", + "serviceType" + ], + "type": "object", + "properties": { + "accountNumber": { + "description": "The specific FedEx customer account number (account value and account key) associated with the shipment.", + "$ref": "#/components/schemas/PartyAccountNumber" + }, + "serviceType": { + "type": "string", + "description": "This is the FedEx service type associated with the shipment.
          Example: PRIORITY_OVERNIGHT
          Click here to see Service Types", + "example": "PRIORITY_OVERNIGHT" + }, + "trackingNumber": { + "type": "string", + "description": "The tracking number for the Express or Ground Tag to the cancelled.
          Example: 301025281523
          Click here to see mock tracking numbers for FedEx Express and FedEx Ground.", + "example": "301025281523" }, "completedTagDetail": { + "description": "The details of the package for which shipping has been completed. The details include dispatch confirmation number, dispatch date, location, and the cxs alerts associated with the process.", "$ref": "#/components/schemas/CompletedTagDetail" + } + }, + "description": "The input details required to cancel a tag." + }, + "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/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" + }, + "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." + }, + "Address": { + "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 + } + }, + "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" + ] }, - "alerts": { + "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." + }, + "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", + "LB" + ] + }, + "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" + } + } + }, + "Commodity": { + "required": [ + "description" + ], + "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 + }, + "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" + }, + "customsValue": { + "description": "This customs value is applicable for all items(or units) under the specified commodity.", + "$ref": "#/components/schemas/Customs_Money" + }, + "countryOfManufacture": { + "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" + } + } + }, + "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." + }, + "CXSError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Indicates the error code.
            Example: SHIPMENT.USER.UNAUTHORIZED" + }, + "parameterList": { "type": "array", - "description": "Specifies the alerts received when a tag is created. This includes the alert code, alert type, and alert message.", "items": { - "$ref": "#/components/schemas/Alert" + "$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": "Specifies the output details when a tag is created." + "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" }, - "FullSchema-CancelTag": { + "CompletedTagDetail": { "required": [ - "accountNumber", - "completedTagDetail", - "serviceType" + "confirmationNumber", + "dispatchDate", + "location" ], "type": "object", "properties": { - "accountNumber": { - "description": "The specific FedEx customer account number (account value and account key) associated with the shipment.", - "$ref": "#/components/schemas/PartyAccountNumber" - }, - "serviceType": { + "confirmationNumber": { "type": "string", - "description": "This is the FedEx service type associated with the shipment.
            Example: PRIORITY_OVERNIGHT
            Click here to see Service Types", - "example": "PRIORITY_OVERNIGHT" + "description": "Confirmation Number.
            Example: 275", + "example": "275" }, - "trackingNumber": { + "location": { "type": "string", - "description": "The tracking number for the Express or Ground Tag to the cancelled.
            Example: 301025281523
            Click here to see mock tracking numbers for FedEx Express and FedEx Ground.", - "example": "301025281523" + "description": "Applicable for FedEx Express services.
            Example: NQAA", + "example": "NQAA" }, - "completedTagDetail": { - "description": "The details of the package for which shipping has been completed. The details include dispatch confirmation number, dispatch date, location, and the cxs alerts associated with the process.", - "$ref": "#/components/schemas/CompletedTagDetail" + "dispatchDate": { + "type": "string", + "description": "The dispatch date for the FedEx Tag to be cancelled.
            Example: 2019-08-03", + "example": "2019-08-03" } - }, - "description": "The input details required to cancel a tag." + } }, - "SHPCResponseVO": { + "ContactAndAddress": { "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" + "contact": { + "$ref": "#/components/schemas/Contact" }, - "output": { - "$ref": "#/components/schemas/CancelTagOuputVO" + "address": { + "$ref": "#/components/schemas/Address" } }, - "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 + "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 }, - "successMessage": { - "type": "string", - "description": "Message received when a tag is successfully cancelled.
            Example: success", - "example": "success" + "contact": { + "personName": "person name", + "emailAddress": "email address", + "phoneNumber": "phone number", + "phoneExtension": "phone extension", + "companyName": "company name", + "faxNumber": "fax number" } - }, - "description": "The output details when a tag is cancelled." + } }, "PartyAddress": { - "required": [ - "city", - "countryCode", - "streetLines" - ], "type": "object", "properties": { "streetLines": { @@ -6977,7 +7808,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": { @@ -7068,9 +7899,6 @@ } }, "PartyContact": { - "required": [ - "phoneNumber" - ], "type": "object", "properties": { "personName": { @@ -7150,39 +7978,6 @@ "companyName": "Fedex" } }, - "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" - } - } - }, "Contact": { "type": "object", "properties": { @@ -7254,54 +8049,6 @@ }, "description": "Specify the contact information." }, - "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 - } - }, "Payment": { "required": [ "paymentType" @@ -7358,7 +8105,7 @@ "type": "object", "properties": { "payor": { - "$ref": "#/components/schemas/Payor" + "$ref": "#/components/schemas/Payor_2" }, "billingDetails": { "$ref": "#/components/schemas/BillingDetails" @@ -7431,13 +8178,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,165 +8197,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" - } - ] - } - }, - "required": [ - "responsibleParty" - ] - }, - "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" + "value": "Your account number" + } } - }, - "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 }, - { - "number": "number", - "tinType": "FEDERAL", - "usage": "usage", - "effectiveDate": "2000-01-23T04:56:07.000+00:00", - "expirationDate": "2000-01-23T04:56:07.000+00:00" - } - ] - }, - "required": [ - "contact" - ] + "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": { + "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", @@ -7648,330 +8322,154 @@ ] } }, - "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" - ], + "Party_2": { "type": "object", "properties": { - "quantityType": { - "type": "string", - "description": "Specifies which measure of quantity is to be validated.", - "example": "NET", - "enum": [ - "GROSS", - "NET" - ] + "address": { + "$ref": "#/components/schemas/Address" }, - "amount": { - "type": "number", - "description": "Number of units of the type below.
              Example: 34.56", - "format": "double", - "example": 34.56 + "contact": { + "$ref": "#/components/schemas/Contact" }, - "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" + "accountNumber": { + "$ref": "#/components/schemas/PartyAccountNumber" }, - "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" - } + "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" + } + ] } }, - "HazardousCommodityOptionDetail": { + "Party_3": { "type": "object", "properties": { - "labelTextOption": { - "type": "string", - "description": "Indicates the label text option.", - "enum": [ - "APPEND", - "OVERRIDE", - "STANDARD" - ] + "address": { + "$ref": "#/components/schemas/PartyAddress_2" }, - "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 + "contact": { + "$ref": "#/components/schemas/PartyContact_2" }, - "processingOptions": { + "tins": { "type": "array", - "description": "Indicates any special processing options to be applied to the description of the dangerous goods commodity
              Example: [\"INCLUDE_SPECIAL_PROVISIONS\"]", + "description": "This is the tax identification number details.", "items": { - "type": "string", - "example": "INCLUDE_SPECIAL_PROVISIONS", - "enum": [ - "INCLUDE_SPECIAL_PROVISIONS" - ] + "$ref": "#/components/schemas/TaxpayerIdentification" } - }, - "subsidiaryClasses": { - "type": "array", - "description": "Required\n\nIndicates list of subsidiary classes
              Example: [\"Subsidiary Classes\"]", - "example": [ - "Subsidiary Classes" + } + }, + "example": { + "address": { + "streetLines": [ + "10 FedEx Parkway", + "Suite 302" ], - "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 + "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" ], "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", @@ -8009,51 +8507,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 62d066a1..372a7351 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", @@ -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", @@ -3318,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", @@ -3435,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": { @@ -3487,10 +3541,7 @@ ] } }, - "description": "Location details for the fedex facility.", - "required": [ - "locationContactAndAddress" - ] + "description": "Location details for the fedex facility." }, "ContactAndAddress": { "required": [ @@ -3555,38 +3606,12 @@ } } } - }, - "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." } } }, "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 eeb6cff8..2009be19 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'" } } } @@ -602,7 +545,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_3" }, "example": { "customerTransactionId": "5678b975-ev0e-420b-8d7b-aa6ce65ec48n", @@ -622,7 +565,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_3" }, "example": { "customerTransactionId": "5678b975-ev0e-420b-8d7b-aa6ce65ec48n", @@ -660,7 +603,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_3" }, "example": { "customerTransactionId": "5678b975-ev0e-420b-8d7b-aa6ce65ec48n", @@ -680,7 +623,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_3" }, "example": { "customerTransactionId": "5678b975-ev0e-420b-8d7b-aa6ce65ec48n", @@ -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", @@ -932,7 +887,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MultiBasePreResponse" + "$ref": "#/components/schemas/MultiBasePreResponse_2" } } } @@ -972,7 +927,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_3" }, "example": { "customerTransactionId": "5678b975-ev0e-420b-8d7b-aa6ce65ec48n", @@ -992,7 +947,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_3" }, "example": { "customerTransactionId": "5678b975-ev0e-420b-8d7b-aa6ce65ec48n", @@ -1030,7 +985,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_3" }, "example": { "customerTransactionId": "5678b975-ev0e-420b-8d7b-aa6ce65ec48n", @@ -1050,7 +1005,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponseVO_2" + "$ref": "#/components/schemas/ErrorResponseVO_3" }, "example": { "customerTransactionId": "5678b975-ev0e-420b-8d7b-aa6ce65ec48n", @@ -1330,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." @@ -1346,8 +1301,7 @@ "contentType", "meta", "name", - "referenceId", - "rules" + "referenceId" ], "type": "object", "properties": { @@ -1366,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" } @@ -1641,6 +1592,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 +1674,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 +1735,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": { @@ -1905,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/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/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/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/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 @@ +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..27c01ffa --- /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 => ErrorResponseVo3::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..579398f2 --- /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): IrcpResponseVo2|ErrorResponseVo3 + { + $status = $response->status(); + $responseCls = match ($status) { + 200 => IrcpResponseVo2::class, + 400, 404, 500 => ErrorResponseVo3::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..07d43322 --- /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): IrcpResponseVo2|ErrorResponseVo2 + { + $status = $response->status(); + $responseCls = match ($status) { + 200 => IrcpResponseVo2::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->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..6e316f70 --- /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: 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/AccountRegistrationV1/Responses/ErrorResponseVo2.php b/src/Api/AccountRegistrationV1/Responses/ErrorResponseVo2.php new file mode 100644 index 00000000..b62c6615 --- /dev/null +++ b/src/Api/AccountRegistrationV1/Responses/ErrorResponseVo2.php @@ -0,0 +1,28 @@ + 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 CxsError2[]|null $errors + */ + public function __construct( + public readonly ?string $transactionId = 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 new file mode 100644 index 00000000..b112d8a9 --- /dev/null +++ b/src/Api/AccountRegistrationV1/Responses/IrcpResponseVo.php @@ -0,0 +1,26 @@ +Example: 624deea6-b709-470c-8c39-4b5511281492 + * @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 ?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/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 @@ +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/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/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 @@ +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 ?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/ConsolidationDocumentSpec.php b/src/Api/ConsolidationV1/Dto/ConsolidationDocumentSpec.php index 8724b417..fb7fbc13 100644 --- a/src/Api/ConsolidationV1/Dto/ConsolidationDocumentSpec.php +++ b/src/Api/ConsolidationV1/Dto/ConsolidationDocumentSpec.php @@ -17,27 +17,27 @@ final class ConsolidationDocumentSpec extends Dto protected static array $complexArrayTypes = ['customDocumentDetails' => 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 @@ +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/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/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/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/Origin.php b/src/Api/ConsolidationV1/Dto/Origin.php index 8baa2a28..c06566b1 100644 --- a/src/Api/ConsolidationV1/Dto/Origin.php +++ b/src/Api/ConsolidationV1/Dto/Origin.php @@ -15,11 +15,11 @@ final class Origin extends Dto { /** - * @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. */ public function __construct( - public ?PartyAddress2 $address = null, + public ?PartyAddress $address = null, public ?PartyContact $contact = null, ) {} } diff --git a/src/Api/ConsolidationV1/Dto/Origin2.php b/src/Api/ConsolidationV1/Dto/Origin2.php new file mode 100644 index 00000000..bd7c6224 --- /dev/null +++ b/src/Api/ConsolidationV1/Dto/Origin2.php @@ -0,0 +1,25 @@ +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/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/ConsolidationV1/Dto/RequestedConsolidation.php b/src/Api/ConsolidationV1/Dto/RequestedConsolidation.php index e7f4c6de..cc03a77c 100644 --- a/src/Api/ConsolidationV1/Dto/RequestedConsolidation.php +++ b/src/Api/ConsolidationV1/Dto/RequestedConsolidation.php @@ -21,19 +21,19 @@ final class RequestedConsolidation extends Dto /** * @param string $consolidationType Specify the consolidation type. - * @param ShipperParty $shipper The descriptive information for the customer shipping the package along with the physical location from where the shipment originates. + * @param ShipperParty2 $shipper The descriptive information for the customer shipping the package along with the physical location from where the shipment originates. * @param InternationalDistributionDetail $internationalDistributionDetail Specifies the international distribution detail. - * @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 CustomsClearanceDetail2 $customsClearanceDetail Required for International and intra-country Shipments. Information about this package that only applies to an international (export) shipment or return. * @param ?string $shipDate This is the ship date for the outbound shipment associated with a return shipment. The format is YYYY-MM-DD.
              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 ?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. * @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 ?LabelSpecification $labelSpecification = null, + public ?TransborderDistributionDetail2 $transborderDistributionDetail = 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/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 @@ +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/Commodity.php b/src/Api/FreightLTLV1/Dto/Commodity.php index 71284d66..5eba70d8 100644 --- a/src/Api/FreightLTLV1/Dto/Commodity.php +++ b/src/Api/FreightLTLV1/Dto/Commodity.php @@ -24,7 +24,7 @@ final class Commodity extends Dto * @param string $quantityUnits 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 * @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/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/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/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/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 9eee3ee0..38e826c4 100644 --- a/src/Api/FreightLTLV1/Dto/LabelSpecification.php +++ b/src/Api/FreightLTLV1/Dto/LabelSpecification.php @@ -20,11 +20,11 @@ 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. - * @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, @@ -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/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/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/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/Party2.php b/src/Api/FreightLTLV1/Dto/Party2.php index c601e30f..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, - public Contact $contact, + 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 7ed1a42d..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, + 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: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/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/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/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/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/BrokerDetail.php b/src/Api/OpenShipV1/Dto/BrokerDetail.php index 6fc4c8b1..fbd22e89 100644 --- a/src/Api/OpenShipV1/Dto/BrokerDetail.php +++ b/src/Api/OpenShipV1/Dto/BrokerDetail.php @@ -15,7 +15,6 @@ final class BrokerDetail extends Dto { /** - * @param ?Party $broker Use this object to provide the attributes such as physical address, contact information and account number information. * @param ?string $type Identifies the type of broker. */ public function __construct( 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/CustomsClearanceDetail.php b/src/Api/OpenShipV1/Dto/CustomsClearanceDetail.php index afa47714..1e64fc50 100644 --- a/src/Api/OpenShipV1/Dto/CustomsClearanceDetail.php +++ b/src/Api/OpenShipV1/Dto/CustomsClearanceDetail.php @@ -26,7 +26,6 @@ final class CustomsClearanceDetail extends Dto * @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 ?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 Specifies taxes or miscellaneous charge. 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/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/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/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 d52745d4..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, + 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 @@ +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/ResponsiblePartyParty.php b/src/Api/OpenShipV1/Dto/ResponsiblePartyParty.php new file mode 100644 index 00000000..317b2ae3 --- /dev/null +++ b/src/Api/OpenShipV1/Dto/ResponsiblePartyParty.php @@ -0,0 +1,27 @@ +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/UsmcaCertificationOfOriginDetail.php b/src/Api/OpenShipV1/Dto/UsmcaCertificationOfOriginDetail.php index 82c68c56..74ea5d49 100644 --- a/src/Api/OpenShipV1/Dto/UsmcaCertificationOfOriginDetail.php +++ b/src/Api/OpenShipV1/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/OpenShipV1/Dto/UsmcaCommercialInvoiceCertificationOfOriginDetail.php b/src/Api/OpenShipV1/Dto/UsmcaCommercialInvoiceCertificationOfOriginDetail.php index ffb4e0c2..e8fb57a3 100644 --- a/src/Api/OpenShipV1/Dto/UsmcaCommercialInvoiceCertificationOfOriginDetail.php +++ b/src/Api/OpenShipV1/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/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/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/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/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/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/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 @@ - 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/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..0c6c1913 --- /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 ?string $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..248f7149 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/DangerousGoodsContainer.php @@ -0,0 +1,39 @@ + HazardousCommodityContent::class]; + + /** + * @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 $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, + ) {} +} 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 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. + * @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, diff --git a/src/Api/ShipV1/Dto/HazardousCommodityDescription.php b/src/Api/ShipDGHazmatV1/Dto/HazardousCommodityDescription.php similarity index 64% rename from src/Api/ShipV1/Dto/HazardousCommodityDescription.php rename to src/Api/ShipDGHazmatV1/Dto/HazardousCommodityDescription.php index aae34d3b..ad5c0116 100644 --- a/src/Api/ShipV1/Dto/HazardousCommodityDescription.php +++ b/src/Api/ShipDGHazmatV1/Dto/HazardousCommodityDescription.php @@ -8,32 +8,30 @@ declare(strict_types=1); -namespace ShipStream\FedEx\Api\ShipV1\Dto; +namespace ShipStream\FedEx\Api\ShipDGHazmatV1\Dto; use ShipStream\FedEx\Dto; final class HazardousCommodityDescription extends Dto { /** - * @param bool $reportableQuantity Reportable Quantity - * @param string $packingGroup Identifies DOT packing group for a hazardous commodity - * @param ?int $sequenceNumber Required
              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 ?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 * - * 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. + * 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 Information related to quantity limitations and operator or state variations as may be applicable to the dangerous goods commodity. + * @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 $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 + * @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, @@ -41,8 +39,10 @@ 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 $packingGroup = null, public ?string $properShippingName = null, public ?string $hazardClass = null, ) {} diff --git a/src/Api/ShipV1/Dto/HazardousCommodityInnerReceptacleDetail.php b/src/Api/ShipDGHazmatV1/Dto/HazardousCommodityInnerReceptacleDetail.php similarity index 72% rename from src/Api/ShipV1/Dto/HazardousCommodityInnerReceptacleDetail.php rename to src/Api/ShipDGHazmatV1/Dto/HazardousCommodityInnerReceptacleDetail.php index e52520ec..f1659061 100644 --- a/src/Api/ShipV1/Dto/HazardousCommodityInnerReceptacleDetail.php +++ b/src/Api/ShipDGHazmatV1/Dto/HazardousCommodityInnerReceptacleDetail.php @@ -8,14 +8,14 @@ declare(strict_types=1); -namespace ShipStream\FedEx\Api\ShipV1\Dto; +namespace ShipStream\FedEx\Api\ShipDGHazmatV1\Dto; use ShipStream\FedEx\Dto; final class HazardousCommodityInnerReceptacleDetail extends Dto { /** - * @param ?HazardousCommodityQuantityDetail $quantity Indicates the Hazardous Commodity Quantity Detail. + * @param ?HazardousCommodityQuantityDetail $quantity Provides Hazardous Commodity Quantity Detail */ public function __construct( public ?HazardousCommodityQuantityDetail $quantity = null, diff --git a/src/Api/ShipDGHazmatV1/Dto/HazardousCommodityOptionDetail.php b/src/Api/ShipDGHazmatV1/Dto/HazardousCommodityOptionDetail.php new file mode 100644 index 00000000..99c40164 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/HazardousCommodityOptionDetail.php @@ -0,0 +1,25 @@ +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 @@ +Note: An identifier DGD-CAO is added in AWB for cargo aircraft shipments.Example: true + * @param bool $cargoAircraftOnly Shipment is packaged/documented for movement ONLY on cargo aircraft * @param ?string $packingInstructions Coded specification for how commodity is to be packed.
              Example: packing Instructions */ public function __construct( 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..a60f9fa1 --- /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 = 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 new file mode 100644 index 00000000..824a96b1 --- /dev/null +++ b/src/Api/ShipDGHazmatV1/Dto/PartyContact.php @@ -0,0 +1,31 @@ +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 $personName = null, + public ?string $emailAddress = null, + public ?string $phoneExtension = null, + public ?string $phoneNumber = 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..c4b5cc3f --- /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..0c7d32d1 --- /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 ?float $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, + ) {} +} 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/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, ) {} } diff --git a/src/Api/ShipV1/Dto/BrokerDetail.php b/src/Api/ShipV1/Dto/BrokerDetail.php index 37949155..a0ec44ee 100644 --- a/src/Api/ShipV1/Dto/BrokerDetail.php +++ b/src/Api/ShipV1/Dto/BrokerDetail.php @@ -15,7 +15,6 @@ final class BrokerDetail extends Dto { /** - * @param ?Party $broker Use this object to provide the attributes such as physical address, contact information and account number information. * @param ?string $type Identifies the type of Broker.
              Example: IMPORT */ public function __construct( 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 ae0434bb..f9727f33 100644 --- a/src/Api/ShipV1/Dto/CustomsClearanceDetail.php +++ b/src/Api/ShipV1/Dto/CustomsClearanceDetail.php @@ -19,14 +19,13 @@ 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 * @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/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/Party.php b/src/Api/ShipV1/Dto/Party.php index d4e9992b..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 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 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 Contact $contact, - public ?Address $address = 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/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/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/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..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 $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[] $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, ) {} } 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/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/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 98eb7adf..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, + public ResponsiblePartyParty $responsibleParty, ) {} } 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/ResponsiblePartyParty.php b/src/Api/ShipV1/Dto/ResponsiblePartyParty.php new file mode 100644 index 00000000..8be72a9c --- /dev/null +++ b/src/Api/ShipV1/Dto/ResponsiblePartyParty.php @@ -0,0 +1,27 @@ +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/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/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, - ) {} -} 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/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/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/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/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 @@ + MultiDocumentPreResponse::class]; + + /** + * @param MultiDocumentPreResponse[]|null $documentResponses + */ + public function __construct( + public ?array $documentResponses = null, + ) {} +} 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 ae9a8834..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; @@ -23,7 +24,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. */ @@ -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/UploadMultiEncodedEtDfiles.php b/src/Api/TradeDocumentsUploadV1/Requests/UploadMultiEncodedEtDfiles.php index a6575c99..e155b53c 100644 --- a/src/Api/TradeDocumentsUploadV1/Requests/UploadMultiEncodedEtDfiles.php +++ b/src/Api/TradeDocumentsUploadV1/Requests/UploadMultiEncodedEtDfiles.php @@ -14,11 +14,12 @@ 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; -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; /** @@ -29,7 +30,7 @@ */ class UploadMultiEncodedEtDfiles extends Request implements HasBody { - use HasMultipartBody; + use HasJsonBody; protected Method $method = Method::POST; @@ -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..fc217e34 100644 --- a/src/Api/TradeDocumentsUploadV1/Requests/UploadMultiEtDfiles.php +++ b/src/Api/TradeDocumentsUploadV1/Requests/UploadMultiEtDfiles.php @@ -12,12 +12,14 @@ use Exception; use Saloon\Contracts\Body\HasBody; +use Saloon\Data\MultipartValue; use Saloon\Enums\Method; use Saloon\Http\Response; use Saloon\Traits\Body\HasMultipartBody; 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 +44,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}") }; @@ -57,6 +61,16 @@ public function createDtoFromResponse(Response $response): MultiBasePreResponse| 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/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 @@ +value); + return parse_url($endpoint->value, PHP_URL_HOST) ?: ''; } } diff --git a/src/FedEx.php b/src/FedEx.php index 0a7d8fda..b9fb235f 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; @@ -50,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.'); @@ -85,6 +88,15 @@ 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 + { + return new AccountRegistrationV1\Api($this); } public function addressValidationV1(): AddressValidationV1\Api @@ -144,6 +156,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); 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/Refactorer.php b/src/Generator/Schema/Refactorer.php index 2cbb9c73..8b55a7fe 100644 --- a/src/Generator/Schema/Refactorer.php +++ b/src/Generator/Schema/Refactorer.php @@ -446,9 +446,45 @@ protected function deduplicateComponents(stdClass $schema): stdClass } } + // Run in a loop to handle nested schema dependencies + $maxIterations = 100; // Prevent infinite loops + $iteration = 0; + $hasChanges = true; + while ($hasChanges && $iteration < $maxIterations) { + $hasChanges = false; + $iteration++; + $originalComponentCount = count((array) $schema->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; } @@ -538,16 +574,18 @@ 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; + $definition->required = array_values($requiredProps); } $mergedComponents[$tempComponentName] = $definition; } 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();