View All Methods in this API

createPass

Version 1 This method allows you to create new passes.

https://api.peoplevine.com/coupon.asmx/createPass

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 }, "passes": [{"pass_field_no": 0, "wait_time": 0, "expires_in": 0, "field_type": "", "serialNumber": "", "field_key": "", "redemption_process": "", "field_label": "", "pass_no": 0, "field_value": "", "pass_graphic": "", "field_order": 0, "pass_type": "", "data_type": "", "pass_name": "", "certificate_no": 0, "text_alignment": 0, "company_no": 0, "pass_description": "", "redemption_type": "", "foregroundColor": "", "backgroundColor": "", "scan_format": "", "locations": "", "created_on": "1/1/1900 12:00 AM", "updated_on": "1/1/1900 12:00 AM", "status": "", "display": "", "quantity_restriction": "", "limited_to": 0, "date_cutoff": "1/1/1900 12:00 AM", "pass_code": "", "pass_keyword": "", "survey_no": 0, "bar_code_type": "", "bar_code_value": "" }] }
{"auth": {"api_username": "", "api_password": "", "api_key": "", "company_no": 0, "username": "", "password": "" }, "passes": [{"pass_field_no": 0, "wait_time": 0, "expires_in": 0, "field_type": "", "serialNumber": "", "field_key": "", "redemption_process": "", "field_label": "", "pass_no": 0, "field_value": "", "pass_graphic": "", "field_order": 0, "pass_type": "", "data_type": "", "pass_name": "", "certificate_no": 0, "text_alignment": 0, "company_no": 0, "pass_description": "", "redemption_type": "", "foregroundColor": "", "backgroundColor": "", "scan_format": "", "locations": "", "created_on": "1/1/1900 12:00 AM", "updated_on": "1/1/1900 12:00 AM", "status": "", "display": "", "quantity_restriction": "", "limited_to": 0, "date_cutoff": "1/1/1900 12:00 AM", "pass_code": "", "pass_keyword": "", "survey_no": 0, "bar_code_type": "", "bar_code_value": "" }] }

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 Double Returns pass_no
{"responseCode": "", "message": "", "isError": false, "methodFailed": "", "extendedMessage": "", "reason": "", "responseTime": 0, "returnObject": {} }

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 pass_field_no = 0
    var wait_time = 0
    var expires_in = 0
    var field_type = ""
    var serialNumber = ""
    var field_key = ""
    var redemption_process = ""
    var field_label = ""
    var pass_no = 0
    var field_value = ""
    var pass_graphic = ""
    var field_order = 0
    var pass_type = ""
    var data_type = ""
    var pass_name = ""
    var certificate_no = 0
    var text_alignment = 0
    var company_no = 0
    var pass_description = ""
    var redemption_type = ""
    var foregroundColor = ""
    var backgroundColor = ""
    var scan_format = ""
    var locations = ""
    var created_on = "1/1/1900 12:00 AM"
    var updated_on = "1/1/1900 12:00 AM"
    var status = ""
    var display = ""
    var quantity_restriction = ""
    var limited_to = 0
    var date_cutoff = "1/1/1900 12:00 AM"
    var pass_code = ""
    var pass_keyword = ""
    var survey_no = 0
    var bar_code_type = ""
    var bar_code_value = ""

    let url = "https://api.peoplevine.com/coupon.asmx/createPass"
    
    let key = "passes"
    let passesDict: Dictionary<String, AnyObject> = [["pass_field_no": pass_field_no, "wait_time": wait_time, "expires_in": expires_in, "field_type": field_type, "serialNumber": serialNumber, "field_key": field_key, "redemption_process": redemption_process, "field_label": field_label, "pass_no": pass_no, "field_value": field_value, "pass_graphic": pass_graphic, "field_order": field_order, "pass_type": pass_type, "data_type": data_type, "pass_name": pass_name, "certificate_no": certificate_no, "text_alignment": text_alignment, "company_no": company_no, "pass_description": pass_description, "redemption_type": redemption_type, "foregroundColor": foregroundColor, "backgroundColor": backgroundColor, "scan_format": scan_format, "locations": locations, "created_on": created_on, "updated_on": updated_on, "status": status, "display": display, "quantity_restriction": quantity_restriction, "limited_to": limited_to, "date_cutoff": date_cutoff, "pass_code": pass_code, "pass_keyword": pass_keyword, "survey_no": survey_no, "bar_code_type": bar_code_type, "bar_code_value": bar_code_value ] ]
    let finalDict = User.getAuthDict(dictToAdd: passesDict, 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 PASSES {[
    static var pass_field_no = <double>
    static var wait_time = <double>
    static var expires_in = <double>
    static var field_type = <string>
    static var serialNumber = <string>
    static var field_key = <string>
    static var redemption_process = <string>
    static var field_label = <string>
    static var pass_no = <double>
    static var field_value = <string>
    static var pass_graphic = <string>
    static var field_order = <double>
    static var pass_type = <string>
    static var data_type = <string>
    static var pass_name = <string>
    static var certificate_no = <double>
    static var text_alignment = <double>
    static var company_no = <double>
    static var pass_description = <string>
    static var redemption_type = <string>
    static var foregroundColor = <string>
    static var backgroundColor = <string>
    static var scan_format = <string>
    static var locations = <string>
    static var created_on = <dateTime>
    static var updated_on = <dateTime>
    static var status = <string>
    static var display = <string>
    static var quantity_restriction = <string>
    static var limited_to = <double>
    static var date_cutoff = <dateTime>
    static var pass_code = <string>
    static var pass_keyword = <string>
    static var survey_no = <double>
    static var bar_code_type = <string>
    static var bar_code_value = <string>]}
    
func createPassRequest() {
    
    var createPassObjects = [AnyObject]()
    let postsEndpoint: String = "https://api.peoplevine.com/coupon.asmx/createPass"

    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 ], "passes": [["pass_field_no": PASSES.pass_field_no, "wait_time": PASSES.wait_time, "expires_in": PASSES.expires_in, "field_type": PASSES.field_type, "serialNumber": PASSES.serialNumber, "field_key": PASSES.field_key, "redemption_process": PASSES.redemption_process, "field_label": PASSES.field_label, "pass_no": PASSES.pass_no, "field_value": PASSES.field_value, "pass_graphic": PASSES.pass_graphic, "field_order": PASSES.field_order, "pass_type": PASSES.pass_type, "data_type": PASSES.data_type, "pass_name": PASSES.pass_name, "certificate_no": PASSES.certificate_no, "text_alignment": PASSES.text_alignment, "company_no": PASSES.company_no, "pass_description": PASSES.pass_description, "redemption_type": PASSES.redemption_type, "foregroundColor": PASSES.foregroundColor, "backgroundColor": PASSES.backgroundColor, "scan_format": PASSES.scan_format, "locations": PASSES.locations, "created_on": PASSES.created_on, "updated_on": PASSES.updated_on, "status": PASSES.status, "display": PASSES.display, "quantity_restriction": PASSES.quantity_restriction, "limited_to": PASSES.limited_to, "date_cutoff": PASSES.date_cutoff, "pass_code": PASSES.pass_code, "pass_keyword": PASSES.pass_keyword, "survey_no": PASSES.survey_no, "bar_code_type": PASSES.bar_code_type, "bar_code_value": PASSES.bar_code_value ] ] ]

    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 createPassDict = NSJSONSerialization.JSONObjectWithData(encoString, options: .MutableContainers, error: nil) as? NSDictionary {
            //            if let returnObjectArray = createPassDict["returnObject"] as? NSArray {
            //
            //              for createPassObject in returnObjectArray {
            //                createPassObjects.append(createPassObject)
            //                if let item = createPassObject["object_name"] as? NSDictionary {
            //                  let varItem = item["field_name"] as! String
            //                }
            //              }
            //
            //              println("\n\(createPassObjects.count) Total")
            //            }
            //          }
        }
      }
    }
  }



            
<!DOCTYPE html>
<html>
<head>
<title>API Call - createPass</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, 
                },
            
            "passes": {
                ["pass_field_no": 0, 
                "wait_time": 0, 
                "expires_in": 0, 
                "field_type": "", 
                "serialNumber": "", 
                "field_key": "", 
                "redemption_process": "", 
                "field_label": "", 
                "pass_no": 0, 
                "field_value": "", 
                "pass_graphic": "", 
                "field_order": 0, 
                "pass_type": "", 
                "data_type": "", 
                "pass_name": "", 
                "certificate_no": 0, 
                "text_alignment": 0, 
                "company_no": 0, 
                "pass_description": "", 
                "redemption_type": "", 
                "foregroundColor": "", 
                "backgroundColor": "", 
                "scan_format": "", 
                "locations": "", 
                "created_on": "1/1/1900 12:00 AM", 
                "updated_on": "1/1/1900 12:00 AM", 
                "status": "", 
                "display": "", 
                "quantity_restriction": "", 
                "limited_to": 0, 
                "date_cutoff": "1/1/1900 12:00 AM", 
                "pass_code": "", 
                "pass_keyword": "", 
                "survey_no": 0, 
                "bar_code_type": "", 
                "bar_code_value": "", 
                ]},
            
      };
      
      $.ajax({
         url: 'https://api.peoplevine.com/coupon.asmx/createPass',
         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/coupon.asmx/createPass");
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> },passes: {[pass_field_no: <double>, wait_time: <double>, expires_in: <double>, field_type: <string>, serialNumber: <string>, field_key: <string>, redemption_process: <string>, field_label: <string>, pass_no: <double>, field_value: <string>, pass_graphic: <string>, field_order: <double>, pass_type: <string>, data_type: <string>, pass_name: <string>, certificate_no: <double>, text_alignment: <double>, company_no: <double>, pass_description: <string>, redemption_type: <string>, foregroundColor: <string>, backgroundColor: <string>, scan_format: <string>, locations: <string>, created_on: <dateTime>, updated_on: <dateTime>, status: <string>, display: <string>, quantity_restriction: <string>, limited_to: <double>, date_cutoff: <dateTime>, pass_code: <string>, pass_keyword: <string>, survey_no: <double>, bar_code_type: <string>, bar_code_value: <string> ]}}";

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/coupon.asmx/createPass")
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> },passes: {[pass_field_no: <double>, wait_time: <double>, expires_in: <double>, field_type: <string>, serialNumber: <string>, field_key: <string>, redemption_process: <string>, field_label: <string>, pass_no: <double>, field_value: <string>, pass_graphic: <string>, field_order: <double>, pass_type: <string>, data_type: <string>, pass_name: <string>, certificate_no: <double>, text_alignment: <double>, company_no: <double>, pass_description: <string>, redemption_type: <string>, foregroundColor: <string>, backgroundColor: <string>, scan_format: <string>, locations: <string>, created_on: <dateTime>, updated_on: <dateTime>, status: <string>, display: <string>, quantity_restriction: <string>, limited_to: <double>, date_cutoff: <dateTime>, pass_code: <string>, pass_keyword: <string>, survey_no: <double>, bar_code_type: <string>, bar_code_value: <string> ]}}"
        
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 *passesDic = [NSDictionary dictionaryWithObjectsAndKeys:
            <double>, @"pass_field_no",
            <double>, @"wait_time",
            <double>, @"expires_in",
            <string>, @"field_type",
            <string>, @"serialNumber",
            <string>, @"field_key",
            <string>, @"redemption_process",
            <string>, @"field_label",
            <double>, @"pass_no",
            <string>, @"field_value",
            <string>, @"pass_graphic",
            <double>, @"field_order",
            <string>, @"pass_type",
            <string>, @"data_type",
            <string>, @"pass_name",
            <double>, @"certificate_no",
            <double>, @"text_alignment",
            <double>, @"company_no",
            <string>, @"pass_description",
            <string>, @"redemption_type",
            <string>, @"foregroundColor",
            <string>, @"backgroundColor",
            <string>, @"scan_format",
            <string>, @"locations",
            <dateTime>, @"created_on",
            <dateTime>, @"updated_on",
            <string>, @"status",
            <string>, @"display",
            <string>, @"quantity_restriction",
            <double>, @"limited_to",
            <dateTime>, @"date_cutoff",
            <string>, @"pass_code",
            <string>, @"pass_keyword",
            <double>, @"survey_no",
            <string>, @"bar_code_type",
            <string>, @"bar_code_value", nil];
    
    NSDictionary *finalDic = [NSDictionary dictionaryWithObjectsAndKeys:
                authDic, @"auth",passesDic, @"passes", nil];
 
    NSMutableDictionary* jsonString = nil;
    jsonString = [NSJSONSerialization JSONObjectWithData: findalDic options:NSJSONReadingMutableContainers];
    
    NSMutableData *bodyData = [NSMutableData dataWithData:[jsonString dataUsingEncoding:NSUTF8StringEncoding]];
    
    NSString *urlString = @"https://api.peoplevine.com/coupon.asmx/createPass";
    
    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"