View All Methods in this API

returnProducts

Version 1 This method is used to return a product or products to display on the site.

https://api.peoplevine.com/commerce.asmx/returnProducts

For non required fields, you can either omit from the JSON string or set it to a default value
(e.g. String = "", Integer/Double = 0, Boolean = false, DateTime = 1900-01-01T00:00:00.000Z)

INPUT

Name Type Description Required
{"auth": {"api_username": "", "api_password": "", "api_key": "", "company_no": 0, "username": "", "password": "", "timezone_offset": 0, "auth_type": "", "system_name": "", "system_company_no": 0 }, "productFields": {"category_no": 0, "includePhotos": false, "onlyChildProducts": false, "product_no": 0, "search_for": "", "business_no": 0, "availableToPurchase": false, "sortby": "", "includeHiddenProducts": false, "visibility": "", "flag": "", "includeStock": false, "includeAccessories": false, "includeSuggestions": false, "includePricing": false, "includeAttributes": false, "includeProductVariations": false, "returnTotal": 0, "company_no": 0 } }
{"auth": {"api_username": "", "api_password": "", "api_key": "", "company_no": 0, "username": "", "password": "" }, "productFields": {"category_no": 0, "includePhotos": false, "onlyChildProducts": false, "product_no": 0, "search_for": "", "business_no": 0, "availableToPurchase": false, "sortby": "", "includeHiddenProducts": false, "visibility": "", "flag": "", "includeStock": false, "includeAccessories": false, "includeSuggestions": false, "includePricing": false, "includeAttributes": false, "includeProductVariations": false, "returnTotal": 0, "company_no": 0 } }

OUTPUT

By default, every API call returns an object of returnMessage as either XML or JSON depending on your content-type of the request.  With in the returnMessage structure the returnObject is specified above and differs based on the API meth.

Name Type Description
responseCode String This identifies the error that occurred for additional handling. Response codes starting with "A" are a success or "E" are an error.
message String Additional minor details on the response to display to your customers.
isError Boolean True if an error. False if succesful.
methodFailed String If there's an error, this is the method it failed at for debugging purposes.
extendedMessage String Additional instructions on how you can fix the error or what you can do with the return object.
reason String Explains why this error occurred or what was completed.
reponseTime Double How long it took to respond in seconds.
returnObject ArrayOfcommerceProduct
attribute_assign_no double
business_name string
cascadeToVariations boolean
category_no double
inventory_no double
relation_type string
category_name string
media_no double
pricing_no double
product_flag string
product_sku string
reference_type string
description string
inventory_total double
media_title string
product_brief string
reference_no double
attribute_value string
inventory_type string
media_location string
product_no double
category_assign_no double
inventory double
main string
order_no double
price_type string
stock_date dateTime
attribute_no double
customer_type string
media_type string
product_long string
product_short string
attribute_name string
main_photo string
media_description string
product_description string
quantity_discount double
customer_no double
field_type string
price double
field_values string
msrp_price double
price_description string
field_help string
start_date dateTime
visibility string
end_date dateTime
flag_limited string
created_on dateTime
flag_backorders string
modified_on dateTime
product_type string
meta_keywords string
user_no double
company_no double
meta_description string
tax_rate double
product_weight double
product_above double
business_no double
{"responseCode": "", "message": "", "isError": false, "methodFailed": "", "extendedMessage": "", "reason": "", "responseTime": 0, "returnObject": [{"attribute_assign_no": 0, "business_name": "", "cascadeToVariations": false, "category_no": 0, "inventory_no": 0, "relation_type": "", "category_name": "", "media_no": 0, "pricing_no": 0, "product_flag": "", "product_sku": "", "reference_type": "", "description": "", "inventory_total": 0, "media_title": "", "product_brief": "", "reference_no": 0, "attribute_value": "", "inventory_type": "", "media_location": "", "product_no": 0, "category_assign_no": 0, "inventory": 0, "main": "", "order_no": 0, "price_type": "", "stock_date": "1/1/1900 12:00 AM", "attribute_no": 0, "customer_type": "", "media_type": "", "product_long": "", "product_short": "", "attribute_name": "", "main_photo": "", "media_description": "", "product_description": "", "quantity_discount": 0, "customer_no": 0, "field_type": "", "price": 0, "field_values": "", "msrp_price": 0, "price_description": "", "field_help": "", "start_date": "1/1/1900 12:00 AM", "visibility": "", "end_date": "1/1/1900 12:00 AM", "flag_limited": "", "created_on": "1/1/1900 12:00 AM", "flag_backorders": "", "modified_on": "1/1/1900 12:00 AM", "product_type": "", "meta_keywords": "", "user_no": 0, "company_no": 0, "meta_description": "", "tax_rate": 0, "product_weight": 0, "product_above": 0, "business_no": 0 }] }

Sample Code

This sample code is to generate a function leveraging existing core functions you've already built.

                
func getAPIKit() -> (url: String, dict: Dictionary<String, AnyObject>) {

    var category_no = 0
    var includePhotos = false
    var onlyChildProducts = false
    var product_no = 0
    var search_for = ""
    var business_no = 0
    var availableToPurchase = false
    var sortby = ""
    var includeHiddenProducts = false
    var visibility = ""
    var flag = ""
    var includeStock = false
    var includeAccessories = false
    var includeSuggestions = false
    var includePricing = false
    var includeAttributes = false
    var includeProductVariations = false
    var returnTotal = 0
    var company_no = 0

    let url = "https://api.peoplevine.com/commerce.asmx/returnProducts"
    
    let key = "productFields"
    let productFieldsDict: Dictionary<String, AnyObject> = ["category_no": category_no, "includePhotos": includePhotos, "onlyChildProducts": onlyChildProducts, "product_no": product_no, "search_for": search_for, "business_no": business_no, "availableToPurchase": availableToPurchase, "sortby": sortby, "includeHiddenProducts": includeHiddenProducts, "visibility": visibility, "flag": flag, "includeStock": includeStock, "includeAccessories": includeAccessories, "includeSuggestions": includeSuggestions, "includePricing": includePricing, "includeAttributes": includeAttributes, "includeProductVariations": includeProductVariations, "returnTotal": returnTotal, "company_no": company_no ]
    let finalDict = User.getAuthDict(dictToAdd: productFieldsDict, dictKey: key)
    
    return (url, finalDict)
  }

                
            

To get started we reccomend that you download the Alamofire project to simplify integration: https://github.com/Alamofire/Alamofire, in addition to SwiftyJSON: https://github.com/SwiftyJSON/SwiftyJSON

                
import Foundation

struct AUTH {
    static var api_username = <string>
    static var api_password = <string>
    static var api_key = <string>
    static var company_no = <double>
    static var username = <string>
    static var password = <string>
    static var timezone_offset = <double>
    static var auth_type = <string>
    static var system_name = <string>
    static var system_company_no = <double>}
    
struct PRODUCTFIELDS {
    static var category_no = <double>
    static var includePhotos = <boolean>
    static var onlyChildProducts = <boolean>
    static var product_no = <double>
    static var search_for = <string>
    static var business_no = <double>
    static var availableToPurchase = <boolean>
    static var sortby = <string>
    static var includeHiddenProducts = <boolean>
    static var visibility = <string>
    static var flag = <string>
    static var includeStock = <boolean>
    static var includeAccessories = <boolean>
    static var includeSuggestions = <boolean>
    static var includePricing = <boolean>
    static var includeAttributes = <boolean>
    static var includeProductVariations = <boolean>
    static var returnTotal = <double>
    static var company_no = <double>}
    
func returnProductsRequest() {
    
    var returnProductsObjects = [AnyObject]()
    let postsEndpoint: String = "https://api.peoplevine.com/commerce.asmx/returnProducts"

    let authAndFieldsDict = ["auth": ["api_username": AUTH.api_username, "api_password": AUTH.api_password, "api_key": AUTH.api_key, "company_no": AUTH.company_no, "username": AUTH.username, "password": AUTH.password, "timezone_offset": AUTH.timezone_offset, "auth_type": AUTH.auth_type, "system_name": AUTH.system_name, "system_company_no": AUTH.system_company_no ], "productFields": ["category_no": PRODUCTFIELDS.category_no, "includePhotos": PRODUCTFIELDS.includePhotos, "onlyChildProducts": PRODUCTFIELDS.onlyChildProducts, "product_no": PRODUCTFIELDS.product_no, "search_for": PRODUCTFIELDS.search_for, "business_no": PRODUCTFIELDS.business_no, "availableToPurchase": PRODUCTFIELDS.availableToPurchase, "sortby": PRODUCTFIELDS.sortby, "includeHiddenProducts": PRODUCTFIELDS.includeHiddenProducts, "visibility": PRODUCTFIELDS.visibility, "flag": PRODUCTFIELDS.flag, "includeStock": PRODUCTFIELDS.includeStock, "includeAccessories": PRODUCTFIELDS.includeAccessories, "includeSuggestions": PRODUCTFIELDS.includeSuggestions, "includePricing": PRODUCTFIELDS.includePricing, "includeAttributes": PRODUCTFIELDS.includeAttributes, "includeProductVariations": PRODUCTFIELDS.includeProductVariations, "returnTotal": PRODUCTFIELDS.returnTotal, "company_no": PRODUCTFIELDS.company_no ] ]

    Alamofire.request(.POST, postsEndpoint, parameters: authAndFieldsDict, encoding: .JSON).responseJSON { (request, response, data, error) in

      if let anError = error {

        println("error calling POST on /posts")
        println(error)

      } else if let jsonData: AnyObject = data {
        if let dataString = (jsonData.valueForKey("d") as! String).dataUsingEncoding(NSUTF8StringEncoding) {
            let json = JSON(data: dataString)  //use this object to parse data
            
            //SAMPLE PARSING
            let varData = json["returnObject"][0]["object"].stringValue

            // ----------
            // BELOW REPRESENTS AN EXAMPLE USING PURE SWIFT JSONSERIALIZATION INSTEAD OF SWIFTYJSON --------//

            //          if let returnProductsDict = NSJSONSerialization.JSONObjectWithData(encoString, options: .MutableContainers, error: nil) as? NSDictionary {
            //            if let returnObjectArray = returnProductsDict["returnObject"] as? NSArray {
            //
            //              for returnProductsObject in returnObjectArray {
            //                returnProductsObjects.append(returnProductsObject)
            //                if let item = returnProductsObject["object_name"] as? NSDictionary {
            //                  let varItem = item["field_name"] as! String
            //                }
            //              }
            //
            //              println("\n\(returnProductsObjects.count) Total")
            //            }
            //          }
        }
      }
    }
  }



            
<!DOCTYPE html>
<html>
<head>
<title>API Call - returnProducts</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript">
   $(function() {
      var dataValue = {
         
            "auth": {
                "api_username": "", 
                "api_password": "", 
                "api_key": "", 
                "company_no": 0, 
                "username": "", 
                "password": "", 
                "timezone_offset": 0, 
                "auth_type": "", 
                "system_name": "", 
                "system_company_no": 0, 
                },
            
            "productFields": {
                "category_no": 0, 
                "includePhotos": false, 
                "onlyChildProducts": false, 
                "product_no": 0, 
                "search_for": "", 
                "business_no": 0, 
                "availableToPurchase": false, 
                "sortby": "", 
                "includeHiddenProducts": false, 
                "visibility": "", 
                "flag": "", 
                "includeStock": false, 
                "includeAccessories": false, 
                "includeSuggestions": false, 
                "includePricing": false, 
                "includeAttributes": false, 
                "includeProductVariations": false, 
                "returnTotal": 0, 
                "company_no": 0, 
                },
            
      };
      
      $.ajax({
         url: 'https://api.peoplevine.com/commerce.asmx/returnProducts',
         type: 'POST',
         data: JSON.stringify(dataValue),
         contentType: 'application/json; charset=utf-8',
         dataType: 'json',
         error: function (XMLHttpRequest, textStatus, errorThrown) {
                alert("ERROR");
         },
         success: function (result) {
                var obj = JSON.parse(result.d).returnObject;

                $.each(obj, function(i) {
                    $("#divID").html(obj[i].field_name); //do something with the data
                })
         }
      })
   });
</script>
</body>
</html>
            
    
System.Net.HttpWebRequest req = System.Net.HttpWebRequest.Create("https://api.peoplevine.com/commerce.asmx/returnProducts");
req.Method = "POST";
req.ContentType = "application/json; charset=utf-8";

string dataValue = "{auth: {api_username: <string>, api_password: <string>, api_key: <string>, company_no: <double>, username: <string>, password: <string>, timezone_offset: <double>, auth_type: <string>, system_name: <string>, system_company_no: <double> },productFields: {category_no: <double>, includePhotos: <boolean>, onlyChildProducts: <boolean>, product_no: <double>, search_for: <string>, business_no: <double>, availableToPurchase: <boolean>, sortby: <string>, includeHiddenProducts: <boolean>, visibility: <string>, flag: <string>, includeStock: <boolean>, includeAccessories: <boolean>, includeSuggestions: <boolean>, includePricing: <boolean>, includeAttributes: <boolean>, includeProductVariations: <boolean>, returnTotal: <double>, company_no: <double> }}";

ASCIIEncoding encoding = new ASCIIEncoding();
byte[] bytes = encoding.GetBytes(dataValue);

req.ContentLength = bytes.Length;

System.IO.Stream strm = req.GetRequestStream();
strm.Write(bytes, 0, bytes.Length);
strm.Close();

System.Net.HttpWebResponse rsp = req.GetResponse();
System.IO.Stream data = rsp.GetResponseStream();
System.IO.StreamReader rdr = new System.IO.StreamReader(data);

string response = rdr.ReadToEnd();

Dim req As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create("https://api.peoplevine.com/commerce.asmx/returnProducts")
req.Method = "POST"
req.ContentType = "application/json; charset=utf-8"
        
Dim dataValue As String = "{auth: {api_username: <string>, api_password: <string>, api_key: <string>, company_no: <double>, username: <string>, password: <string>, timezone_offset: <double>, auth_type: <string>, system_name: <string>, system_company_no: <double> },productFields: {category_no: <double>, includePhotos: <boolean>, onlyChildProducts: <boolean>, product_no: <double>, search_for: <string>, business_no: <double>, availableToPurchase: <boolean>, sortby: <string>, includeHiddenProducts: <boolean>, visibility: <string>, flag: <string>, includeStock: <boolean>, includeAccessories: <boolean>, includeSuggestions: <boolean>, includePricing: <boolean>, includeAttributes: <boolean>, includeProductVariations: <boolean>, returnTotal: <double>, company_no: <double> }}"
        
Dim encoding As New ASCIIEncoding()
Dim bytes As Byte() = encoding.GetBytes(dataValue)
        
req.ContentLength = bytes.Length
        
Dim strm As System.IO.Stream = req.GetRequestStream()
strm.Write(bytes, 0, bytes.Length)
strm.Close()
        
Dim rsp As System.Net.HttpWebResponse = req.GetResponse()
Dim data As System.IO.Stream = rsp.GetResponseStream()
Dim rdr As New System.IO.StreamReader(data)

Dim response As String = rdr.ReadToEnd()
// This sample uses the Apache HTTP client from HTTP Components (http://hc.apache.org/httpcomponents-client-ga/)
import java.net.URI;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

public class JavaSample {

  public static void main(String[] args) {
   HttpClient httpclient = HttpClients.createDefault();

   try
   {
      URIBuilder builder = new URIBuilder("https://peoplevine.azure-api.net/customer/customer/registerCustomer");
      // Specify your subscription key
      builder.setParameter("subscription-key", "");
      URI uri = builder.build();
      HttpPost request = new HttpPost(uri);
      StringEntity reqEntity = new StringEntity("", ContentType.create("application/json"));
      request.setEntity(reqEntity);
      HttpResponse response = httpclient.execute(request);
      HttpEntity entity = response.getEntity();
      if (entity != null) {
         System.out.println(EntityUtils.toString(entity));
      }
   }
   catch (Exception e)
   {
      System.out.println(e.getMessage());
   }
  }
}
<?php

// This sample uses the HTTP_Request2 package. (for more information: http://pear.php.net/package/HTTP_Request2)
require_once 'HTTP/Request2.php';
$headers = array(
   'Content-Type' => 'application/json',
);

$query_params = array(
   // Specify your subscription key
   'subscription-key' => '',
);

$request = new Http_Request2('https://peoplevine.azure-api.net/customer/customer/registerCustomer');
$request->setMethod(HTTP_Request2::METHOD_POST);
// Basic Authorization Sample
// $request-setAuth('{username}', '{password}');
$request->setHeader($headers);

$url = $request->getUrl();
$url->setQueryVariables($query_params);
$request->setBody("");

try
{
   $response = $request->send();
   
   echo $response->getBody();
}
catch (HttpException $ex)
{
   echo $ex;
}

?>

    #import <Foundation/Foundation.h>
    
    NSDictionary *authDic = [NSDictionary dictionaryWithObjectsAndKeys:
            <string>, @"api_username",
            <string>, @"api_password",
            <string>, @"api_key",
            <double>, @"company_no",
            <string>, @"username",
            <string>, @"password",
            <double>, @"timezone_offset",
            <string>, @"auth_type",
            <string>, @"system_name",
            <double>, @"system_company_no", nil];
    
    NSDictionary *productFieldsDic = [NSDictionary dictionaryWithObjectsAndKeys:
            <double>, @"category_no",
            <boolean>, @"includePhotos",
            <boolean>, @"onlyChildProducts",
            <double>, @"product_no",
            <string>, @"search_for",
            <double>, @"business_no",
            <boolean>, @"availableToPurchase",
            <string>, @"sortby",
            <boolean>, @"includeHiddenProducts",
            <string>, @"visibility",
            <string>, @"flag",
            <boolean>, @"includeStock",
            <boolean>, @"includeAccessories",
            <boolean>, @"includeSuggestions",
            <boolean>, @"includePricing",
            <boolean>, @"includeAttributes",
            <boolean>, @"includeProductVariations",
            <double>, @"returnTotal",
            <double>, @"company_no", nil];
    
    NSDictionary *finalDic = [NSDictionary dictionaryWithObjectsAndKeys:
                authDic, @"auth",productFieldsDic, @"productFields", nil];
 
    NSMutableDictionary* jsonString = nil;
    jsonString = [NSJSONSerialization JSONObjectWithData: findalDic options:NSJSONReadingMutableContainers];
    
    NSMutableData *bodyData = [NSMutableData dataWithData:[jsonString dataUsingEncoding:NSUTF8StringEncoding]];
    
    NSString *urlString = @"https://api.peoplevine.com/commerce.asmx/returnProducts";
    
    ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:urlString]];    
    [request setTimeOutSeconds:250];    
    [request setRequestMethod:@"POST"];    
    [request addRequestHeader:@"Content-Type" value:@"application/json"];    
    [request addRequestHeader:[NSString stringWithFormat:@"%d",bodyData.length] value:@"Content-length"];    
    [request setPostBody:bodyData];    
    [request startSynchronous];

    NSDictionary *responseDic = (NSDictionary*)[request.responseString JSONValue];   
   
    if (responseDic || [responseDic objectForKey:@"d"])
    {
        NSMutableDictionary *dicSave=[responseDic objectForKey:@"d"];
        // -------------------------------------------------------------------
        // convert into the data and NSUTF8StringEncoding
        // -------------------------------------------------------------------
        NSString *strDic=[dicSave copy];
        NSMutableDictionary *dirJson;
        if (strDic)
        {
            NSData* dataFile=[strDic dataUsingEncoding:NSUTF8StringEncoding];
            NSString* newStr = [[NSString alloc] initWithData:dataFile
                                                     encoding:NSUTF8StringEncoding];
           
            dirJson = [newStr JSONValue] ;
        }
        // -------------------------------------------------------------------
        
        NSString *str=[[dirJson objectForKey:@"returnObject"]valueForKey:@"customer_no"];
    }
    else
    {
        UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Error" message:@"An Error Occurred" delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil];
        [alert show];
    }
require 'net/http'

uri = URI('https://peoplevine.azure-api.net/customer/customer/registerCustomer')

uri.query = URI.encode_www_form({
   # Specify your subscription key
   'subscription-key' => '',
})

request = Net::HTTP::Post.new(uri.request_uri)

# Basic Authorization Sample
# request.basic_auth 'username', 'password'
request['Content-type'] = 'application/json'

request.body = ""

response = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http|
    http.request(request)
end

puts response.body
########### Python 2.7 #############
import httplib, urllib, base64

headers = {
   # Basic Authorization Sample
   # 'Authorization': 'Basic %s' % base64.encodestring('{username}:{password}'),
   'Content-type': 'application/json',
}

params = urllib.urlencode({
   # Specify your subscription key
   'subscription-key': '',
})

try:
   conn = httplib.HTTPSConnection('peoplevine.azure-api.net')
   conn.request("POST", "/customer/customer/registerCustomer?%s" % params, "", headers)
   response = conn.getresponse()
   data = response.read()
   print(data)
   conn.close()
except Exception as e:
   print("[Errno {0}] {1}".format(e.errno, e.strerror))

####################################

########### Python 3.2 #############
import http.client, urllib.request, urllib.parse, urllib.error, base64

headers = {
   # Basic Authorization Sample
   # 'Authorization': 'Basic %s' % base64.encodestring('{username}:{password}'),
   'Content-type': 'application/json',
}

params = urllib.parse.urlencode({
   # Specify your subscription key
   'subscription-key': '',
})

try:
   conn = http.client.HTTPSConnection('peoplevine.azure-api.net')
   conn.request("POST", "/customer/customer/registerCustomer?%s" % params, "", headers)
   response = conn.getresponse()
   data = response.read()
   print(data)
   conn.close()
except Exception as e:
   print("[Errno {0}] {1}".format(e.errno, e.strerror))

####################################
@ECHO OFF

REM for Basic Authorization use: --user {username}:{password}
REM Specify values for path parameters (shown as {...}), your subscription key and values for query parameters
curl -v -X POST "https://peoplevine.azure-api.net/customer/customer/registerCustomer?subscription-key="^
 -H "Content-Type: application/json"