Академический Документы
Профессиональный Документы
Культура Документы
December 19th,2014
Table Contents
Preface: ......................................................................................................................................................... 1
Basic Flow of Information: ............................................................................................................................ 1
Assumptions:................................................................................................................................................. 1
Tools: ............................................................................................................................................................. 2
Appendix A: SearchOrdersV2 Method Documentation................................................................................ 3
Sample XML Response .............................................................................................................................. 6
Appendix B: InsertShippingRecord Method Documentation ..................................................................... 11
Examples: ................................................................................................................................................ 17
Preface:
Solid Commerce would like to integrate with NetSuite, so customers could enjoy the benefits of
NetSuite while utilizing Solid Commerce to operate on the eCommerce realm. The integration
will include orders sync, inventory and tracking information.
Assumptions:
1. NetSuite will be in charge of quantities: When the user changes the quantity on
NetSuite, the change will be pushed to Solid Commerce. The user will not change the
quantity manually on Solid Commerce (this scenario is out of the scope).
2. Orders will be pushed from Solid Commerce to NetSuite and will be used as a mean to
deduct the quantities on NetSuite.
3. The tracking information pushed from NetSuite will include, but not limited to: tracking
number, shipping method, shipping weight, and shipping cost.
4. When pushing the order information to NetSuite, the buyer and customer information
(not always the same), will be populated in the appropriate locations in NetSuite.
Tools:
In order to communicate with Solid Commerce, the integration will use Solid Commerces web
services (webservices.solidcommerce.com). The list of methods to be used for the different
scenarios are listed below:
1. Update Solid Commerce with inventory coming from Solid Commerce:
UpdateItemQtyAndCost.
2. Update Solid Commerce with tracking information: SaveShipmentRecord.
3. Pull orders information from Solid Commerce to NetSuite: SearchOrdersV2.
ByProductName = 0
ByManufacture = 1
BySKU =2
ByUPC = 3
ByASIN = 4
ByISBN = 5
BuyerName = 6
BuyerEmail = 7
BuyerZipCode = 8
BuyerScreenName = 9
MarketOrderNumber = 10
InvoiceNumber = 11
ManufactureModelNumber = 12
PackageID = 13
ListingID = 14
BySCOrderID = 15
ByBuyerLastName = 16
ByStorage = 17
ByBuyerStreet1 = 18
ByBuyerCountry = 19
ByBuyerCity=20
ByBuyerState=21
ByPO=22
ByPartialSKU = 23
4
BySalesChannel = 24
ByBuyerCompany = 25
</parameter>
<parameter name="searchValue">Filter value used according to SearchType selection. </parameter>
<parameter name="sortBy">Obsolete </parameter>
<parameter name="sortDescend">sort order. "0" or empty value Asc "1" Desc </parameter>
<parameter name="ordersSearchFormat">Output format types. Different format will return different
set of data.
Values: ByOrder = 0
ByOrderItems = 1
ByTrackingNumbers = 2
</parameter>
<parameter name="fromOrderStatusChangedDate">Format: "MM/DD/YYYY"</parameter>
<parameter name="showOrderStatusLastChangeDT">0 (Default) / 1</parameter>
<parameter name="filterByWarehouse">Warehouse/Vendor SolidCommerce ID separated by comma.
</parameter>
<parameter name="viewOptions">View options allow to select which additional order item information
to add to the output. Requires OrdersSearchFormat =
1
(When not selected output columns are not populated)
Multiple options are allowed. For example: "ASIN,UPC"
Values: "ALL" this will return ASIN, UPC, Item Cost, Warehouse name, Weight
"ASIN" - Fill ASIN column
"UPC" - Fill UPC column
"Cost" - Fill Cost column
"Weight" - Fill Weight column
"WarehouseName" - Fill Warehouse Name column
</parameter>
<![CDATA[ ]]>
</BuyerState>
<BuyerCity>
<![CDATA[ ]]>
</BuyerCity>
<BuyerCountry>
<![CDATA[ ]]>
</BuyerCountry>
<BuyerZipCode>
<![CDATA[ ]]>
</BuyerZipCode>
<Status>2</Status>
<Manufacture>
<![CDATA[ ]]>
</Manufacture>
<SKU>
<![CDATA[ ]]>
</SKU>
<WarehouseID>
<![CDATA[ 205596793314493 ]]>
</WarehouseID>
<Weight>0</Weight>
<ShipService>0</ShipService>
<ShipServiceName>USPS Media</ShipServiceName>
<ShipFee>5.0000</ShipFee>
<Tax>0.0000</Tax>
<BusinessName>
<![CDATA[ ]]>
</BusinessName>
<ShipToName>
<![CDATA[ Jody Panchyshyn ]]>
</ShipToName>
<ShipToStreet1>
<![CDATA[ 5249 Penn Ave N ]]>
</ShipToStreet1>
<ShipToStreet2>
<![CDATA[ ]]>
</ShipToStreet2>
<ShipToCity>
<![CDATA[ na ]]>
</ShipToCity>
<ShipToZip>
<![CDATA[ 55430 ]]>
</ShipToZip>
<ShipToState>
<![CDATA[ PW ]]>
</ShipToState>
<ShipToCountry>
<![CDATA[ US ]]>
</ShipToCountry>
<ShipToPhone>
<![CDATA[ ]]>
</ShipToPhone>
<StorageLocation>
<![CDATA[ FBA Warehouse ]]>
</StorageLocation>
<ASIN>
<![CDATA[ ]]>
</ASIN>
<UPC>
<![CDATA[ ]]>
</UPC>
<SalesTaxAmount>
<![CDATA[ 0.0000 ]]>
</SalesTaxAmount>
<DiscountAmount>
<![CDATA[ 1.0000 ]]>
</DiscountAmount>
<SoldPrice>
<![CDATA[ 0.0000 ]]>
</SoldPrice>
<WarehouseName>
<![CDATA[ ]]>
</WarehouseName>
<MarketLocal>
<![CDATA[ Amazon ]]>
</MarketLocal>
<OrderDate>
<![CDATA[ 8/18/2003 12:00:00 AM ]]>
</OrderDate>
<SalesChannel>
<![CDATA[ ]]>
</SalesChannel>
<CostAtTimeOfPurchase>
<![CDATA[ 100.0000 ]]>
</CostAtTimeOfPurchase>
<AsinAtTimeOfPurchase>
<![CDATA[ aaa ]]>
</AsinAtTimeOfPurchase>
<ManufacturerAtTimeOfPurchase>
<![CDATA[ bbb ]]>
</ManufacturerAtTimeOfPurchase>
<ModelNumberAtTimeOfPurchase>
<![CDATA[ ccc ]]>
</ModelNumberAtTimeOfPurchase>
</Order>
</Orders>
<TotalOrders>110</TotalOrders>
</SearchOrders>
</LiquidateDirect>
10
Marketplace values:
Amazon = 1,
Half = 2,
eBay = 3,
Yahoo = 4,
MyStore = 5,
Buy = 32,
Shop = 33,
Sears = 34
Shipping methods (public enum ShipTypesEnum
11
{
Media = 0,
Express = 1,
Priority = 2,
NotAvailable = 3,
BoundedPrintedMatter = 4,
FirstClass = 5,
LibraryMail = 6,
ParcelPost = 7,
PostCard = 8,
PreSortedFirst = 9,
PreSortedStandard = 10,
NextDayDomestic = 11,
SecondDayDomestic = 12,
NextDayInternational = 13,
SecondDayInternational = 14,
Standard = 15,
OvernightFlatRate = 16,
USPSExpress = 17,
FedexGround = 18,
FedexGroundInternational = 181,
FedexFirstOvernight = 19,
Fedex2ndDay = 20,
Fedex2ndDayAM = 201,
FedexExpressSaver = 24,
FedexStandardOvernight = 25,
FedexPriorityOvernight = 26,
FedexGroundHomeDelivery = 27,
FedexGroundDateCertainHomeDelivery = 271,
FedexGroundEveningHomeDelivery = 272,
FedexGroundAppointmentHomeDelivery = 273,
FedexSmartPost = 28,
FedexIntEconomy = 29,
FedexIntEconomyFreight = 30,
FedexIntFirst = 31,
FedexIntPriority = 32,
FedexIntPriorityFreight = 33,
DHLExpress = 34,
DHLExpress1030AM = 35,
DHLExpressSaturday = 36,
DHLGround = 37,
DHLNextAfternoon = 38,
DHLSecondDay = 39,
UPSNextDayAir = 40,
UPSSecondDayAir = 41,
UPSGround = 42,
UPSExpress = 43,
UPSExpedited = 44,
UPSStandard = 45,
UPSThreeDaySelect = 46,
UPSNextDayAirSaver = 47,
12
UPSNextDayAirEarlyAM = 48,
UPSExpressPlus = 49,
UPSSecondDayAirAM = 50,
UPSSaver = 51,
UPSTodayStandard = 52,
UPSTodayDedicatedCourier = 53,
UPSTodayIntercity = 54,
UPSTodayExpress = 55,
UPSTodayExpressSaver = 56,
OverstockBestGround = 57,
Overstock1Day = 58,
Overstock2Day = 59,
Overstock3Day = 60,
StandardInternational = 61,
LocalDelivery = 62,
Other = 63,
USPSGlobalExpress = 64,
USPSGlobalPriority = 65,
OtherInternational = 66,
FreightShipping = 67,
FreightShippingInternational = 68,
ExpeditedInternational = 69,
UPSWorldWideExpedited = 70,
UPSWorldWideExpress = 71,
UPSWorldWideExpressPlus = 72,
USPSPriorityMailInternationalFlatRate = 77,
USPSParcelSelect = 78,
USPSFirstClassInternational = 79,
UPSStandardToCanada = 80,
USPSPriorityFlatRateBoxSmall = 81,
USPSPriorityFlatRateBoxMedium = 82,
USPSPriorityFlatRateBoxLarge = 83,
USPSPriorityFlatRateEnvelope = 84,
USPSIntPriorityFlatRateBoxSmall = 85,
USPSIntPriorityFlatRateBoxMedium = 86,
USPSIntPriorityFlatRateBoxLarge = 87,
USPSIntExpressFlatRateEnvelope = 88,
USPSIntPriorityFlatRateEnvelope = 89,
USPSPriorityFlatRateBoxRegionalA = 90,
USPSPriorityFlatRateBoxRegionalB = 91,
USPSPriorityMailPaddedFlatRateEnvelope = 92,
USPSInternationalExpress= 93,
USPSEconomyParcel = 94,
USPSEconomyEnvelope = 95,
EconomyShippingFromOutsideUS = 96,
StandardShippingFromOutsideUS = 97,
ExpeditedShippingFromOutsideUS = 98,
USPSExpressMailLegalFlatRateEnvelope = 99,
USPSPriorityMailInternationalLegalFlatRateEnvelope = 100,
USPSPriorityMailInternationalPaddedFlatRateEnvelope = 101,
USPSPriorityMailLegalFlatRateEnvelope = 102,
13
USPSExpressFlatRateEnvelope = 103,
UPSSurePost = 104,
UPSSurePostMedia = 105,
UPSSurePostBoundedPrintedMatter = 106,
UPSMailInnovation = 107,
USPSGSSIntPriorityAirmail = 108,
USPSGSSIntPriorityAirmailMBag = 109,
USPSGSSIntSurfaceAirLift = 110,
USPSGSSIntSurfaceAirLiftMBag = 111,
USPSGSSLBO = 112,
USPSPriorityMailFlatRateBoxSmall = 113,
USPSPriorityMailFlatRateBoxMedium = 114,
USPSPriorityMailFlatRateBoxLarge = 115,
USPSPriorityMailFlatRateEnvelope = 116,
DHLGlobalMailFirstClassParcels = 117,
USPSGSSPriorityMail = 118,
USPSGSSPriorityMailInternational = 119,
USPSGSSExpressMailInternational = 120,
PickUpNow = 121,
PickUpToday = 122,
PickUpLater = 123,
DHLGlobalMailFirstClassProduct = 124,
DHLGlobalMailPriorityMail = 125,
DHLGlobalMailParcelPlusGround = 126,
DHLGlobalMailParcelsGround = 127,
DHLGlobalMailParcelsExpedited = 128,
DHLGlobalMailMediaMailGround = 129,
DHLGlobalMailCatalogBPMGround = 130,
DHLGlobalMailCatalogBPMExpedited = 131,
DHLGlobalMailBPMGround = 132,
DHLGlobalMailBPMExpedited = 133,
DHLGlobalMailParcelPlusExpedited = 134,
EbayGlobalShipping = 135,
Expedited = 136,
LocalPickup = 137,
LocalDeliveryOrPickup = 138,
UPSMailInnovationFirstClassMail = 139,
UPSMailInnovationPriorityMail = 140,
UPSMailInnovationExpeditedMailInnovations = 141,
UPSMailInnovationPriorityMailInnovations = 142,
UPSMailInnovationEconomyMailInnovations = 143
}
Shipping processor (public enum ShipProccesorsEnum
{
ENDICIA = 0,
USPS = 1,
NONE = 2,
FedEx = 3,
UPS = 4,
DHL = 5,
14
Other = 6,
DeutschePost = 7,
HongKongPost = 8,
Chronopost = 9,
ColiposteDomestic = 10,
ColiposteInternational = 11,
Correos = 12,
Hermes = 13,
iLoxx = 14,
Nacex = 15,
CityLink = 16,
RoyalMail = 17,
Yodel = 18,
Singaporepost = 19,
Swisspost = 20
}
Package type (public enum ShippingPackageTypeEnum {
NotDefined = -1,
CustomPackaging = 0,
Fedex10KgBox = 1,
Fedex25KgBox = 2,
FedexBox = 3,
FedexPak = 4,
FedexEnvelope = 5,
FedexTube = 6,
DHLLetter = 7,
DHLPackage = 8,
UPSLetter = 9,
UPSTube = 10,
UPSPAK = 11,
UPSSmallExpressBox = 12,
UPSMediumExpressBox = 13,
UPSLargeExpressBox = 14,
UPSPallet = 15,
UPS25KGBox = 20,
UPS10KGBox = 21,
USPSLetter = 17,
USPSTube = 19,
USPSFlat = 22,
USPSRectParcel = 23,
USPSNonRectParcel = 24,
USPSFlatRateEnvelope = 25,
USPSFlatRateMediumBox = 26,
USPSFlatRateLargeBox = 27,
USPSFlatRateSmallBox = 28,
USPSFlatRatePaddedEnvelope = 29,
USPSPostcard = 30,
USPSEnvelope = 31,
USPSRegionalRateBoxA = 32,
USPSRegionalRateBoxB = 33,
15
USPSInternationalFlatRateDVDBox = 34,
USPSInternationalFlatRateLargeVideoBox = 35,
USPSFlatRateLegalEnvelope = 36,
USPSFlatRateGiftCardEnvelope = 37,
USPSFlatRateWindowEnvelope = 38,
USPSFlatRateCardBoardEnvelope = 39,
USPSFlatRateSmallEnvelope = 40,
USPSRegionalRateBoxC = 41,
USPSFlatRateLargeBoardGameBox = 42,
USPSFlatRateRegularBox = 43
})
16
Examples:
Request example1:
<?xml version="1.0" ?>
<UploadShippingDetails xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Shipment>
<UploadShippingDetailsShipment>
<Marketplace>Amazon</Marketplace>
<StoreOrderID>058-8936591-6755566</StoreOrderID>
<TrackingNumber>1234567890</TrackingNumber>
<ShipMethod>USPS Media</ShipMethod>
<ShipDate></ShipDate>
<ShippedQty></ShippedQty>
<ShipCost></ShipCost>
</UploadShippingDetailsShipment>
</Shipment>
</UploadShippingDetails>
Response:
<SaveShipmentRecord>
<DateTime>09/06/2013 10:50:30</DateTime>
<Result>Success</Result>
</SaveShipmentRecord>
Request example 2:
<?xml version="1.0"?>
<UploadShippingDetails xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Shipment>
<UploadShippingDetailsShipment>
<Marketplace>MyStore</Marketplace>
<StoreOrderID>MA7665085</StoreOrderID>
<TrackingNumber>1234567890</TrackingNumber>
<ShipMethod>UPS Ground</ShipMethod>
<ShipDate>2013-09-09T08:57:23.162658-07:00</ShipDate>
<ShippedQty>0</ShippedQty>
<ShipCost>0</ShipCost>
</UploadShippingDetailsShipment>
</Shipment>
</UploadShippingDetails>
Response:
<SaveShipmentRecord>
<DateTime>09/09/2013 09:10:30</DateTime>
<Result>Success</Result>
</SaveShipmentRecord>
17
Request example 3
<?xml version="1.0"?>
<UploadShippingDetails xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Shipment>
<UploadShippingDetailsShipment>
<TrackingNumber>11223344556</TrackingNumber>
<ShipMethod>Standard</ShipMethod>
<ShipDate>2013-09-09T10:14:28.2555175-07:00</ShipDate>
<SCSaleID>405297467</SCSaleID>
<ShippedQty>0</ShippedQty>
<ShipCost>23.5</ShipCost>
</UploadShippingDetailsShipment>
</Shipment>
</UploadShippingDetails>
Response:
<SaveShipmentRecord>
<DateTime>09/09/2013 10:14:30</DateTime>
<Result>Success</Result>
</SaveShipmentRecord>
18