
Copyright 2009-2010, Desert Dog Marketing LLC
This manual documents the calling conventions and functionality provided by the Pinnacle Cart API. This document is provided as a courtesy for Pinnacle Cart clients and developers who wish to integrate the software with their existing business operations or other software applications. It is intended for qualified software developers and assumes that the reader has some level of experience with HTTP, XML, JSON and other web-based technologies. We regret that we cannot provide support or assistance with the Pinnacle Cart API as part of our support services.
The Pinnacle Cart Unified API currently supports the following protocols: XML RPC, SOAP, and JSON. The API is permission based and allows access to product, order, and customer data. To use the API you need to create a username, password and generate an api security token. This is done through the control panel at the following location: Marketing » Cart Plugins » Data Export » Cart API.
You can also login to the control panel (administrative area) and direct your browser to: http://www.yoursitename.com/admin.php?p=plugin&plugin_id=openapi
The Pinnacle Cart Unified API meets the requirements necessary to maintain PA-DSS / PCI compliance as set forth by the PCI Security Standards Council. More detailed information about this standard can be found at: https://www.pcisecuritystandards.org/security_standards/pci_pa_dss.shtml
SOAP, or Simple Object Access Protocol, is a protocol for exchanging information. It is a widely adopted standard for communication between web services and consumers. Support for SOAP is built into almost every major IDE and/or framework upon which components expected to communicate with the web are built. WSDL, or Web Services Description Language (WSDL, pronounced 'wiz-dəl'), is an XML-based language that provides a model for describing Web services. SOAP Web-services are often described using WSDL. The advantage of SOAP is its wide acceptence and strong-typing and predefined call description, which makes integration nearly automatic in many frameworks. The disadvantage is, compared to XML or JSON, it is a bit more difficult for the average developer to use.
The pinnacle WSDL file can be found at: https://www.YourSiteName.com/content/admin/plugins/openapi/index.php?username=YourApiUserName&password=YourApiPassword&token=YourApiToken&apiType=soap&wsdl=1
XML, or eXtensible Markup Language, is a widely-used language for exhanging information. Every major modern language/framework has an XML parser. The advantage of XML is its wide acceptence and ease of use.
JSON, or Javascript Object Notation, is a widely-used language for exhanging information, usually bewteen web-clients and servers via AJAX.
https://www.YourSiteName.com/content/admin/plugins/openapi/index.php?username=<YourApiUserName>&password=<YourApiPassword>&token=<YourApiToken>&apiType=<xml|soap|json>&call=<CallName>&<Arg1>=<Arg1Value>&<Arg2>=<Arg2Value>&<Arg3>=<Arg3Value>...
This section lists the API calls currently available within the Pinnacle Cart API. The calls are documented in a general sense, and not for any particular format or protocol. Examples will be provided for specific protocols for your reference.
For most protocols, the inputs will be passed to the API via HTTP POST or GET headers. For some protocols, such as SOAP, the inputs will be encapsulated in a typed object and passed via some other method (SOAP headers in the case of SOAP).
In the example below, the call is named GetFoo. It has 2 inputs, Bar (a string) and Baz (an integer). It has 2 outputs, FooOut1 (a string) and FooOut2 (a string). Note that the input and output descriptions describe "request" and "response" types, which are only used for typed protocols that support encapsulated objects.
<Response>
<FooOut>
<FooOut1>This is the fooout1 value</FooOut1>
<FooOut2>This is the fooout2 value</FooOut2>
</FooOut>
</Response>
<Response>
<Customer>
<UserId>1</UserId>
<UserName>John</UserName>
<BillingInfo>
<FullName>John Doe</FullName>
<FirstName>John</FirstName>
<LastName>Doe</LastName>
<Email>johndoe@johnsdomain.com</Email>
<Company></Company>
<Phone>6025551212</Phone>
<Address>
<Name></Name>
<Street1>786876 West test Street</Street1>
<Street2></Street2>
<City>Phoenix</City>
<State>AZ</State>
<Zip>85050</Zip>
<Country>US</Country>
</Address>
</BillingInfo>
<AddressBook>
<Address>
<Name>John Doe</Name>
<Street1>786876 West test Street</Street1>
<Street2></Street2>
<City>Phoenix</City>
<State>AZ</State>
<Zip>85050</Zip>
<Country>US</Country>
</Address>
</AddressBook>
</Customer>
<Customer>
<UserId>2</UserId>
<UserName>Jane</UserName>
<BillingInfo>
<FullName>Jane Doe</FullName>
<FirstName>Jane</FirstName>
<LastName>Doe</LastName>
<Email>janedoe@janesdomain.com</Email>
<Company></Company>
<Phone>6025551212</Phone>
<Address>
<Name></Name>
<Street1>5452 East test Lane</Street1>
<Street2></Street2>
<City>Phoenix</City>
<State>AZ</State>
<Zip>85050</Zip>
<Country>US</Country>
</Address>
</BillingInfo>
<AddressBook>
<Address>
<Name>Jane Doe</Name>
<Street1>PO Box 5565</Street1>
<Street2></Street2>
<City>Phoenix</City>
<State>AZ</State>
<Zip>85050</Zip>
<Country>US</Country>
</Address>
</AddressBook>
</Customer>
</Response>
<Response>
<Product>
<Price>23.00000</Price>
<Cost>12.00000</Cost>
<Taxable>Yes</Taxable>
<Weight>23.30</Weight>
<UPC>12312313</UPC>
<Title>Widget1</Title>
<URL>
http://www.YourSiteName.com/evan/index.php?p=product&id=1</URL>
<ThumbnailImageUrl>
http://www.YourSiteName.com/evanimages/products/thumbs/widget1.jpg</ThumbnailImageUrl>
<ImageUrl>
http://www.YourSiteName.com/evanimages/products/widget1.jpg</ImageUrl>
<Discontinued>No</Discontinued>
<Options>
<ProductOption>
<Title>sdfgsdfg</Title>
<Caption>sdfg sdfgsdg</Caption>
<OptionId>1</OptionId>
<Type>select</Type>
<Price>0</Price>
<Cost>0</Cost>
<Weight></Weight>
<Priority>5</Priority>
<Options>
<ProductOption>
<Title>Small</Title>
<Caption></Caption>
<OptionId>1-Small</OptionId>
<Type></Type>
<Price>-25.00</Price>
<Cost>-25.00</Cost>
<Weight>-0.25</Weight>
<Priority>1</Priority>
<Options></Options>
</ProductOption>
<ProductOption>
<Title>Medium</Title>
<Caption></Caption>
<OptionId>1-Medium</OptionId>
<Type></Type>
<Price>-2.30</Price>
<Cost>-2.30</Cost>
<Weight>1.00</Weight>
<Priority>2</Priority>
<Options></Options>
</ProductOption>
<ProductOption>
<Title>Large</Title>
<Caption></Caption>
<OptionId>1-Large</OptionId>
<Type></Type>
<Price>0.00</Price>
<Cost>0.00</Cost>
<Weight>2.00</Weight>
<Priority>3</Priority>
<Options></Options>
</ProductOption>
<ProductOption>
<Title>X-Large</Title>
<Caption></Caption>
<OptionId>1-X-Large</OptionId>
<Type></Type>
<Price>10.00</Price>
<Cost>10.00</Cost>
<Weight>0.00</Weight>
<Priority>4</Priority>
<Options></Options>
</ProductOption>
</Options>
</ProductOption>
</Options>
<PID>1</PID>
<ProductId>Widget1</ProductId>
<Qoh>343</Qoh>
</Product>
</Response>
Pinnacle cart is eCommerce Shopping Cart Software that helps you sell more online. © 2013