Via API scripts, file import, the dispatcher or copy/paste, full shipment data can be easily populated by passing in XML formatted text.
For example, you can pass the following XML to the script API - New Shipment from XML and the script result will be the Ship_ID if the created record. You can then call other External scripts to perform ship/rate.
If you would like to get all shipment data as XML you can call API - Get shipment as XML with the Ship_ID as the parameter and the entire XML structure for the shipment will be returned including packages, items and FedEx response data.
<Shipment>
<Destination_Address_City>NORTH LAS VEGAS</Destination_Address_City>
<Destination_Address_CountryCode>United States</Destination_Address_CountryCode>
<Destination_Address_Line1>78 Fedex parkway</Destination_Address_Line1>
<Destination_Address_Line2></Destination_Address_Line2>
<Destination_Address_PostalCode>89030</Destination_Address_PostalCode>
<Destination_Address_StateOrProvinceCode>NV</Destination_Address_StateOrProvinceCode>
<Destination_Contact_CompanyName>CSP testing</Destination_Contact_CompanyName>
<Destination_Contact_EmailAddress></Destination_Contact_EmailAddress>
<Destination_Contact_FaxNumber></Destination_Contact_FaxNumber>
<Destination_Contact_PagerNumber></Destination_Contact_PagerNumber>
<Destination_Contact_PersonName>323196</Destination_Contact_PersonName>
<Destination_Contact_PhoneNumber>9012633035</Destination_Contact_PhoneNumber>
<Service>STANDARD_OVERNIGHT</Service>
<SpecialServices_ResidentialDelivery></SpecialServices_ResidentialDelivery>
<Package>
<Dimensions_Height></Dimensions_Height>
<Dimensions_Length></Dimensions_Length>
<Dimensions_Width></Dimensions_Width>
<InsuredValue>250</InsuredValue>
<Packaging>FEDEX_TUBE</Packaging>
<ReferenceInfo_CustomerReference>CSP testing</ReferenceInfo_CustomerReference>
<ReferenceInfo_InvoiceNumber></ReferenceInfo_InvoiceNumber>
<ReferenceInfo_PONumber></ReferenceInfo_PONumber>
<Weight>6</Weight>
</Package>
<Items>0</Items>
</Shipment>