SOAP Service Examples

From CommerceV3 Docs

Jump to: navigation, search


CV3 Documentation Resources
COMMERCEV3 PUBLIC WEB SERVICE


1. TABLE OF CONTENTS


1. Table of Contents
2. Introduction
3. Sample PHP SOAP Client
4. Sample Product Import
5. Sample Product Export
6. Sample Order Export
7. Sample Order Status Update
8. Sample Category Import
9. Sample Category Export
10. Sample Catalog Request Export
11. Sample Customer Information Import
12. Sample Customer Information Export
13. Sample Customer Groups Import
14. Sample Customer Groups Export
15. Sample Pricing Import
16. Sample Pricing Export
17. Sample Shipping Import
18. Sample Shipping Export
19. Sample Reporting Export
20. Sample Gift Certificate Import


2. Introduction


The following samples will help you get started using the web service. We suggest that you read SOAP Service Spec and SOAP Service Schema - Version 2 before you begin. These samples are the most commonly used features of the web service and do not include all possible features. In the below examples you will need to use your CV3 username, password and service id. Please contact support@commercev3.com if you need this information or have any questions.


3. Sample PHP SOAP Client


NOTE: The XML must be base64 encoded before sending the request to the service

require_once(INSTALL_DIR.'lib/nusoap_0.7.2/nusoap.php');      // include NuSOAP libary
$client = new soapclient('https://service.commercev3.com');   // create client  
// NOTE: Some versions of the nusoap library require "new nusoap_client" instead of "new soapclient"

$tosend = base64_encode($xml);                                // where $xml is the request to the web service
$result = $client->call('CV3Data',array('data'=>$tosend));

print $client->getError();                                    // print errors
print $result;                                                // print result



4. Sample Product Import


The following example includes a regular product, a product with sub-products and a product with attributes:
Sample Product Import



5. Sample Product Export


There are several options for exporting products:
by range of product ids:

<?xml version="1.0" encoding="UTF-8"?>
<CV3Data version="2.0">
  <request>
    <authenticate>
      <user>****</user>
      <pass>****</pass>
      <serviceID>****</serviceID>
    </authenticate>
    <requests>
      <reqProducts>
        <reqProductRange start="1" end="5" />
        <reqProductRange start="15" end="25" />
      </reqProducts>
    </requests>
  </request>
</CV3Data> 

by product id:

<?xml version="1.0" encoding="UTF-8"?>
<CV3Data version="2.0">
  <request>
    <authenticate>
      <user>****</user>
      <pass>****</pass>
      <serviceID>****</serviceID>
    </authenticate>
    <requests>
      <reqProducts>
        <reqProductSingle>15</reqProductSingle>
        <reqProductSingle>906</reqProductSingle>
      </reqProducts>
    </requests>
  </request>
</CV3Data> 

by sku:

<?xml version="1.0" encoding="UTF-8"?>
<CV3Data version="2.0">
  <request>
    <authenticate>
      <user>****</user>
      <pass>****</pass>
      <serviceID>****</serviceID>
    </authenticate>
    <requests>
      <reqProducts>
        <reqProductSKU>s6-3234</reqProductSKU>
        <reqProductSKU>J7-987</reqProductSKU>
      </reqProducts>
    </requests>
  </request>
</CV3Data> 

by category id:

<?xml version="1.0" encoding="UTF-8"?>
<CV3Data version="2.0">
  <request>
    <authenticate>
      <user>****</user>
      <pass>****</pass>
      <serviceID>****</serviceID>
    </authenticate>
    <requests>
      <reqProductsByCategory limit="10">5</reqProductsByCategory>
    </requests>
  </request>
</CV3Data> 



6. Sample Order Export


To download new orders:

<?xml version="1.0" encoding="UTF-8"?>
<CV3Data version="2.0">
  <request>
    <authenticate>
      <user>****</user>
      <pass>****</pass>
      <serviceID>****</serviceID>
    </authenticate>
    <requests>
      <reqOrders>
        <reqOrderNew/>
      </reqOrders>
    </requests>
  </request>
</CV3Data>

To confirm orders were received:

<?xml version="1.0" encoding="UTF-8"?>
<CV3Data version="2.0">
  <request>
    <authenticate>
      <user>****</user>
      <pass>****</pass>
      <serviceID>****</serviceID>
    </authenticate>
  </request>
  <confirm>
    <orderConfirm>
      <orderConf>1</orderConf>
      <orderConf>2</orderConf>
    </orderConfirm>
  </confirm>
</CV3Data>



7. Sample Order Status Update


This allows you to update shipping status and add tracking codes for orders:

<?xml version="1.0" encoding="UTF-8"?>
<CV3Data version="2.0">
  <request>
    <authenticate>
      <user>****</user>
      <pass>****</pass>
      <serviceID>****</serviceID>
    </authenticate>
  </request>
  <orders>
    <status>
      <orderID>1</orderID>
      <status>Shipped</status>
      <tracking>432345243234,254906845903</tracking>
      <custNum>321</custNum>
    </status>
    <status>
      <orderID>2</orderID>
      <status>Complete</status>
      <tracking>2344324324,23432464560</tracking>
      <custNum>1234</custNum>
    </status>
  </orders>
</CV3Data> 



8. Sample Category Import


The following example includes a regular category with one sub category:
Sample Category Import



9. Sample Category Export


There are several options for exporting categories:
by range of category ids:

<?xml version="1.0" encoding="UTF-8"?>
<CV3Data version="2.0">
  <request>
    <authenticate>
      <user>****</user>
      <pass>****</pass>
      <serviceID>****</serviceID>
    </authenticate>
    <requests>
      <reqCategories>
        <reqCategoryRange start="1" end="6"/>
        <reqCategoryRange start="10" end="15"/>
      </reqCategories>
    </requests>
  </request>
</CV3Data>

by category id:

<?xml version="1.0" encoding="UTF-8"?>
<CV3Data version="2.0">
  <request>
    <authenticate>
      <user>****</user>
      <pass>****</pass>
      <serviceID>****</serviceID>
    </authenticate>
    <requests>
      <reqCategories>
        <reqCategorySingle>1</reqCategorySingle>
      </reqCategories>
    </requests>
  </request>
</CV3Data>

by url name:

<?xml version="1.0" encoding="UTF-8"?>
<CV3Data version="2.0">
  <request>
    <authenticate>
      <user>****</user>
      <pass>****</pass>
      <serviceID>****</serviceID>
    </authenticate>
    <requests>
      <reqCategories>
        <reqCategoryURLName>main_cat</reqCategoryURLName>
      </reqCategories>
    </requests>
  </request>
</CV3Data>



10. Sample Catalog Request Export


There are several options for exporting catalog requests:
download new requests:

<?xml version="1.0" encoding="UTF-8"?>
<CV3Data version="2.0">
  <request>
    <authenticate>
      <user>****</user>
      <pass>****</pass>
      <serviceID>****</serviceID>
    </authenticate>
    <requests>
      <reqCatalogRequests>
        <reqNew/>
      </reqCatalogRequests>
    </requests>
  </request>
</CV3Data>

by date range:

<?xml version="1.0" encoding="UTF-8"?>
<CV3Data version="2.0">
  <request>
    <authenticate>
      <user>****</user>
      <pass>****</pass>
      <serviceID>****</serviceID>
    </authenticate>
    <requests>
      <reqCatalogRequests>
        <reqDateRange start_date="2009-01-01" end_date="2009-05-07"/>
      </reqCatalogRequests>
    </requests>
  </request>
</CV3Data>

To confirm catalog requests were received:

<?xml version="1.0" encoding="UTF-8"?>
<CV3Data version="2.0">
  <request>
    <authenticate>
      <user>****</user>
      <pass>****</pass>
      <serviceID>****</serviceID>
    </authenticate>
  </request>
  <confirm>
    <catalogRequestConfirm>
      <CatalogRequestID>2</CatalogRequestID>
      <CatalogRequestID>3</CatalogRequestID>
    </catalogRequestConfirm>
  </confirm>
</CV3Data>



11. Sample Customer Groups Import


The following example updates customer information:
Sample Customer Information Import



12. Sample Customer Information Export


This allows you to export information about customers who have placed orders:

<?xml version="1.0" encoding="UTF-8"?>
<CV3Data version="2.0">
  <request>
    <authenticate>
      <user>****</user>
      <pass>****</pass>
      <serviceID>****</serviceID>
    </authenticate>
    <requests>
      <reqCustomerInformation members_only="false"/>
    </requests>
  </request>
</CV3Data>



13. Sample Customer Groups Import


The following example includes a customer group with one rule:
Sample Customer Groups Import



14. Sample Customer Groups Export


There are several options for exporting customer groups:
request all customer groups:

<?xml version="1.0" encoding="UTF-8"?>
<CV3Data version="2.0">
  <request>
    <authenticate>
      <user>****</user>
      <pass>****</pass>
      <serviceID>****</serviceID>
    </authenticate>
    <requests>
     <reqCustomerGroups include_inactive="false">
       <reqAllCustomerGroups include_rules="true" include_inactive_rules="true" include_members="true"/>
     </reqCustomerGroups>
    </requests>
  </request>
</CV3Data>

by id:

<?xml version="1.0" encoding="UTF-8"?>
<CV3Data version="2.0">
  <request>
    <authenticate>
      <user>****</user>
      <pass>****</pass>
      <serviceID>****</serviceID>
    </authenticate>
    <requests>
     <reqCustomerGroups include_inactive="false">
       <reqCustomerGroupByID include_rules="true" include_members="true">1</reqCustomerGroupByID>
       <reqCustomerGroupByID include_rules="true" include_members="true">2</reqCustomerGroupByID>
     </reqCustomerGroups>
    </requests>
  </request>
</CV3Data>

by name:

<?xml version="1.0" encoding="UTF-8"?>
<CV3Data version="2.0">
  <request>
    <authenticate>
      <user>****</user>
      <pass>****</pass>
      <serviceID>****</serviceID>
    </authenticate>
    <requests>
     <reqCustomerGroups include_inactive="false">
       <reqCustomerGroupByName include_rules="false" include_members="true">Orders</reqCustomerGroupByName>
       <reqCustomerGroupByName include_rules="false" include_members="true">Catalog Requests</reqCustomerGroupByName>
     </reqCustomerGroups>
    </requests>
  </request>
</CV3Data>



15. Sample Pricing Import


The following example includes price categories, product groups, and discount tables:
Sample Pricing Import



16. Sample Pricing Export


This is used to export price categories, product groups and discount tables. You can request them by name or by ID:

<?xml version="1.0" encoding="UTF-8"?>
<CV3Data version="2.0">
  <request>
    <authenticate>
      <user>****</user>
      <pass>****</pass>
      <serviceID>****</serviceID>
    </authenticate>
    <requests>
      <reqPricing>
        <reqPriceCategories>
          <ByName>
            <Name>Retail</Name>
          </ByName>
          <ByID>
            <ID>1</ID>
          </ByID>
        </reqPriceCategories>
        <reqDiscountTables>
          <ByName>
            <Name>Discount1</Name>
          </ByName>
          <ByID>
            <ID>1</ID>
          </ByID>
        </reqDiscountTables>
        <reqProductGroups>
          <ByName>
            <Name>Group1</Name>
          </ByName>
          <ByID>
            <ID>1</ID>
          </ByID>
        </reqProductGroups>
      </reqPricing>
    </requests>
  </request>
</CV3Data>



17. Sample Shipping Import


The following example includes price categories, product groups, and discount tables:
Sample Shipping Import



18. Sample Shipping Export


This is used to export shipping groups and shipping tables. You can request them by name or by ID:

<?xml version="1.0" encoding="UTF-8"?>
<CV3Data version="2.0">
  <request>
    <authenticate>
      <user>****</user>
      <pass>****</pass>
      <serviceID>****</serviceID>
    </authenticate>
    <requests>
     <reqShippingGroups>
      <reqShippingGroupsByID>
       <ID>1</ID>
       <ID>2</ID>
      </reqShippingGroupsByID>
      <reqShippingGroupsByName>
       <Name>Non-Perishable</Name>
       <Name>Perishable</Name>
      </reqShippingGroupsByName>
     </reqShippingGroups>
     <reqShippingTables>
      <reqShippingTablesByID>
       <ID>1</ID>
       <ID>2</ID>
      </reqShippingTablesByID>
      <reqShippingTablesByName>
       <Name>UPS Ground</Name>
       <Name>Default</Name>
      </reqShippingTablesByName>
     </reqShippingTables>
    </requests>
  </request>
</CV3Data>



19. Sample Reporting Export


This is used to export reporting data. This example requests the email blast report:

<?xml version="1.0" encoding="UTF-8"?>
<CV3Data version="2">
 <request>
  <authenticate>
    <user>*</user>
    <pass>*</pass>
    <serviceID>*</serviceID>
  </authenticate>
  <requests>
   <reqReports>
    <reqBlastReport start_date="2008-01-01" end_date="2010-05-14"/>
   </reqReports>
  </requests>
 </request>
</CV3Data>



20. Sample Gift Certificate Import


This is used to import gift certificates.

<?xml version="1.0" encoding="UTF-8"?>
<CV3Data version="2.0">
  <request>
    <authenticate>
      <user>*</user>
      <pass>*</pass>
      <serviceID>*</serviceID>
    </authenticate>
  </request>
  <giftCertificates>
    <GiftCertificate delete="false" one_time_use="false">
      <Code>rdkslal96izW</Code>
      <TotalAmount>250.00</TotalAmount>
      <RemainingAmount>250.00</RemainingAmount>
      <OrderID>98</OrderID>
      <Expiration>2011-05-14T14:15:16</Expiration>
      <History update_type="append">
        <Event>
          <Date>2011-04-28</Date>
          <Action>Created gift certificate for order 98</Action>
        </Event>
      </History>
    </GiftCertificate>
  </giftCertificates>
</CV3Data>
Personal tools