developer:soap-1.6:methods:searchproductscustom

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

developer:soap-1.6:methods:searchproductscustom [2012/08/04 11:24] (current)
tem created
Line 1: Line 1:
 +<embed ..:​contents/>​
  
 +====== searchProductsCustom ======
 +
 +Search products and return specific fields in csv, tab or xml format.
 +
 +===== Description =====
 +
 +Like [[searchProducts]] this function allows for the searching of the product database. ​ Instead of return all data about each product in [[..:​objects:​Product]] object form,  it takes a FieldList parameter which specifies which fields should be returned. ​  The results can be returned in a csv, tab or xml format. ​ In all cases  the data is base64 encoded. ​ Developer must decode the data before using.
 +
 +The following fields may be used to search the database and return transaction details: ​
 +
 +  * ProductID ​
 +  * ProductRefNum ​
 +  * SKU 
 +  * CategoryID ​
 +  * Enabled ​
 +  * Name 
 +  * Description ​
 +  * Model 
 +  * Weight ​
 +  * ShipWeight ​
 +  * Price 
 +  * WholesalePrice ​
 +  * ListPrice ​
 +  * DateAvailable ​
 +  * Manufacturer ​
 +  * Type 
 +  * MinQuantity ​
 +  * MaxQuantity ​
 +  * ImageURL ​
 +  * URL
 +
 +See also [[searchProducts]] and [[searchProductsCount]]
 +
 +
 +===== Syntax =====
 +
 +[[..:​objects:​ProductSearchResult]] **searchProducts** ( [[..:​objects:​ueSecurityToken]] Token, [[..:​objects:​SearchParam]] Search, boolean MatchAll, integer Start, integer Limit, string[] FieldList, string Format, ​ string Sort)
 +
 +===== Arguments =====
 +
 +^Type   ​^Name ​  ​^Description ​  ^
 +|[[..:​objects:​ueSecurityToken]] |Token |Merchant security token: used to identify merchant and validate transaction.|
 +|[[..:​objects:​SearchParam]] |Search |Array of search parameters (ProductSearchParam objects) available.|
 +|boolean |MatchAll |If set to "​true,"​ only results matching all search criteria will be returned, if set to "​false,"​ results matching any of the search criteria will be returned.|
 +|integer |Start |Record number to start returning from (ie if 1,000 were found and you only want to receive the last 200 you would set Start=800 and Limit=200) |
 +|integer |Limit |Maximum number of product to return in result set. |
 +| string ​ | FieldList | String Array of fields to return in search. |
 +| string ​ | Format | Specify format of return data. Possible formats include: csv, tab, xml. |
 +|string |Sort |Comma separated list of fields to sort by. |
 +
 +
 +===== Return Value =====
 +
 +| string | Base64 encode result set. Returns all of the fields from any transactions matching your search parameters. | 
 +
 +
 +===== Examples =====
 +
 +
 +
 +
 +==== PHP 5 ====
 +For directions on how to set up the WSDL link, create "​$token"​ and "​$client",​ go to [[developer:​soap:​howto:​php|PHP Soap How-to]].
 +
 +<code php>
 +
 +<?​php ​
 +
 +try { 
 +
 +  // Create search parameter list 
 +  $search=array( ​
 +    array( ​
 +      '​Field'​=>'​name', ​  
 +      '​Type'​=>'​eq', ​
 +      '​Value'​=>'​A Great Product'​)
 +    ); 
 +  $start=0; ​
 +  $limit=100; ​
 +  $matchall=true; ​
 +  $sort='​created';​
 +
 +  $res=$client->​searchProducts($token,​$search,​$matchall,​$start,​$limit,​$sort); ​
 +
 +  print_r($res); ​
 +             
 +
 +catch(SoapFault $e) { 
 +  echo $client->​__getLastResponse(); ​
 +  die("​Search Products Failed :"​.$e->​getMessage()); ​
 +
 +
 +?> 
 +</​code>​
 +
 +==== PHP 4 (NuSOAP) ====
 +
 +<code php>
 +<?​php ​
 +
 +include '​./​nusoap.php'; ​
 +
 +// Create Soap Client ​
 +$s=new soapclient("​./​usaepay.wsdl",'​wsdl'​); ​
 +$tran=$s->​getProxy(); ​
 +
 +// Source Key Setting ​
 +$sourcekey='​yQbOFkjD8wwlkZ3AhY248k3Lc9PH1l14'; ​
 +$pin='​1234'; ​
 +
 +// Prep source key 
 +$seed=mktime() . rand(); ​
 +$tmp=$sourcekey . $seed . $pin; 
 +$hash=sha1($tmp); ​
 +$token=array('​SourceKey'​=>​$sourcekey,​ '​PinHash'​=>​array('​Type'​=>'​sha1',​ '​Seed'​=>​$seed,'​HashValue'​=>​$hash)); ​
 +
 +
 +// Prep Request data 
 +$search=array( ​
 +      array('​Field'​=>'​title',​ '​Type'​=>'​eq','​Value'​=>'​A Great Product'​)
 +); 
 +$start=0; ​
 +$limit=10; ​
 +$matchall=true; ​
 +$sort='​created';​
 +
 +$res=$tran->​searchProducts($token,​$search,​$matchall,​$start,​$limit,​$sort); ​
 +
 +if(!$err=$tran->​getError()) { 
 +        print_r($res); ​
 +} else { 
 +
 +        echo "​Error:​ $err\n"; ​
 +        echo $tran->​request;  ​
 +
 +
 +</​code>​
 +
 +==== VB ====
 +<code vb>
 +  Dim search(0 To 1) As usaepay.SearchParam
 +        search(0) = New usaepay.SearchParam()
 +
 +        search(0).Field = "​Created"​
 +        search(0).Type = "​Contains"​
 +        search(0).Value = "​2010-09-07"​
 +
 +        Dim matchAll As Boolean
 +        matchAll = True
 +        Dim start As String
 +        start = "​0"​
 +        Dim limit As String
 +        limit = "​10"​
 +
 +        Dim FieldList(0 To 2) As String
 +        ​
 +        FieldList(0) = "​ProductRefNum"​
 +        FieldList(1) = "​Name"​
 +        FieldList(2) = "​Price"​
 +
 +        Dim format As String
 +        format = "​csv"​
 +        Dim sort As String
 +        sort = "​created"​
 +        Dim result As String
 +
 +        result = client.searchProductsCustom(token,​ search, matchAll, start, limit, FieldList, format, sort)
 +        Dim binaryData() As Byte
 +        binaryData = Convert.FromBase64String(result)
 +
 +        MsgBox(Encoding.UTF8.GetString(binaryData))
 +</​code>​
 +
 +
 +
 +==== Coldfusion ====
 +
 +//NOTE//: this example has not been tested and is provided as is 
 +
 +<code cfm>
 +<​cfscript> ​
 +Start = 0; 
 +Limit = 10; 
 +MatchAll=1; ​
 +Sort='​created';​
 +Search=ArrayNew(1); ​
 +Search[1]=structnew(); ​
 +Search[1].Field='​created'; ​
 +Search[1].Type='​gt'; ​
 +Search[1].Value='​2006-09-01'; ​
 +
 +ws = createObject("​webservice",​ "​https://​www.usaepay.com/​soap/​gate/​3213EA2A/​usaepay.wsdl"​); ​
 +Output = ws.searchTransactions(Token,​ Search, MatchAll, Start, Limit, Sort); ​
 +</​cfscript> ​
 +</​code>​
 +
 +
 +==== .NET C# ====
 +<code c>
 +            usaepay.SearchParam[] search = new usaepay.SearchParam[1];​
 +            search[0] = new usaepay.SearchParam();​
 +
 +            search[0].Field = "​Created";​
 +            search[0].Type = "​Contains";​
 +            search[0].Value = "​2010-08-12";​
 +
 +            Boolean matchAll = true;
 +            string start = "​0";​
 +            string limit = "​10";​
 +
 +            string[] FieldList = new string[3];
 +            FieldList[0] = "​ProductRefNum";​
 +            FieldList[1] = "​Name";​
 +            FieldList[2] = "​Price";​
 +
 +            string format = "​csv";​
 +            string sort = "​created";​
 +
 +            string result;
 +
 +            try
 +            {
 +                result = client.searchProductsCustom(token,​ search, matchAll, start, limit, FieldList, format, sort);
 +                Byte[] binaryData = new Byte[3];
 +                binaryData = Convert.FromBase64String(result);​
 +
 +                MessageBox.Show(Encoding.UTF8.GetString(binaryData));​
 +
 +            }
 +            catch (Exception err)
 +            {
 +                MessageBox.Show(err.Message);​
 +            }
 +</​code>​
 +
 +==== XML ====
 +
 +<code xml>
 +<?xml version="​1.0"​ encoding="​UTF-8"?> ​
 +<​SOAP-ENV:​Envelope xmlns:​SOAP-ENV="​http://​schemas.xmlsoap.org/​soap/​envelope/" ​
 +xmlns:​ns1="​urn:​usaepay"​ xmlns:​xsd="​http://​www.w3.org/​2001/​XMLSchema" ​
 +xmlns:​xsi="​http://​www.w3.org/​2001/​XMLSchema-instance" ​
 +xmlns:​SOAP-ENC="​http://​schemas.xmlsoap.org/​soap/​encoding/" ​
 +SOAP-ENV:​encodingStyle="​http://​schemas.xmlsoap.org/​soap/​encoding/"> ​
 +<​SOAP-ENV:​Body> ​
 +<​ns1:​searchTransactions> ​
 +<Token xsi:​type="​ns1:​ueSecurityToken"> ​
 +<​ClientIP xsi:​type="​xsd:​string">​192.168.0.1</​ClientIP> ​
 +<PinHash xsi:​type="​ns1:​ueHash"> ​
 +<​HashValue xsi:​type="​xsd:​string">​34108e1b91894ab1da5ecdc213341c6d757217c1</​HashValue> ​
 +<Seed xsi:​type="​xsd:​string">​11936961311067412713</​Seed> ​
 +<Type xsi:​type="​xsd:​string">​sha1</​Type> ​
 +</​PinHash> ​
 +<​SourceKey xsi:​type="​xsd:​string">​HB4P7C4K2w2ZCQQQXRqrxDj6agrS2NIT</​SourceKey> ​
 +</​Token> ​
 +<Search SOAP-ENC:​arrayType="​ns1:​SearchParam[1]"​ xsi:​type="​ns1:​SearchParamArray"> ​
 +<item xsi:​type="​ns1:​SearchParam"> ​
 +<Field xsi:​type="​xsd:​string">​amount</​Field> ​
 +<Type xsi:​type="​xsd:​string">​eq</​Type> ​
 +<Value xsi:​type="​xsd:​string">​29.00</​Value> ​
 +</​item> ​
 +</​Search> ​
 +<​MatchAll xsi:​type="​xsd:​boolean">​true</​MatchAll> ​
 +<Start xsi:​type="​xsd:​integer">​0</​Start> ​
 +<Limit xsi:​type="​xsd:​integer">​10</​Limit> ​
 +<Sort xsi:​type="​xsd:​string">​created</​Sort> ​
 +</​ns1:​searchTransactions> ​
 +</​SOAP-ENV:​Body> ​
 +</​SOAP-ENV:​Envelope> ​
 +</​code>​
 +
 +
 +
 +===== Change History =====
 +
 +^Version ^Change ^
 +|[[developer:​soap-1.3:​methods:​searchproductscustom|1.3]] | Added method |
developer/soap-1.6/methods/searchproductscustom.txt ยท Last modified: 2012/08/04 11:24 by tem

Page Tools