Custom Program
createLocation()
This method creates a new store location, associates a provider specific ID, and nests it below a parent store. createLocation() requires an initial parent location to be set up via Galileo Processing Internal Operations team. This is then passed with the call (required value).
Parameters
Parameter Required Data type Pattern Notes
apiLogin Yes String

50 characters or less

AbC123-9999

Provider's Web Service Username as provided and authenticated by Galileo for the requesting IP Address.
apiTransKey Yes String

15 characters or less

4sb62fh6w4h7w34g

Web Service Password as provided and authenticated by Galileo for the requesting IP Address.
providerId Yes Integer

10 digits or less

9999

Galileo issued unique Provider identifier.
transactionId Yes String

60 characters or less

9845dk-39fdk3fj3-4483483478

A unique system generated ID number that identifies the API transaction with Galileo Processing systems. A UUID is preferred. This must be different for each transaction.
name Yes String

Alphanumeric string up to 85 characters in length.

ABC Store #5

The name of the location.
address1 Yes String

Maximum length -- 40 characters. Cannot be a P.O. box.

33 Maple Street

Cardholder's address line 1
address2 No String

Maximum length of 30 characters.

#4B

Cardholder's address line 2
city Yes String

Letters and spaces, maximum length 20 characters.

Salt Lake City

Cardholder's city
state Yes String

Valid 2 character state abbreviation.

UT

Cardholder's state
postalCode Yes String

12345 or 12345-1234 (US), K1A-1A1 (CA)

84121

Cardholder's postal code (zip code)
countryCode No Number

Three digit country code.

840

Three digit ISO numeric UN M49 country code; Example USA=840, Canada=124.
countryCode2 No Number

Three digit country code.

840

Three digit ISO numeric UN M49 country code; Example USA=840, Canada=124.
phone No Integer

10 digit phone number

8013656060

Phone number to route outbound calls to. If passed, this number will supersede any account related phone numbers.
parentLocation Yes String

Must be a number if type is 0; Must be less than 15 characters if type is 1.

5

Unique location identifier; see location types.
parentLocationType Yes Integer

0 or 1

0

0=Galileo Location ID, 1=Partner Location ID
providerSpecifiedId No String

Alphanumeric string up to 15 characters in length.

abc-123

The provider specified ID is the partner or program identity for a location -- referenced as location type 1.
creditLimit   Float

Numbers with decimal place.

10000.00

The credit limit to set for this location. This parameter works in conjunction with the cycleInvoice parameter.
cycleInvoice No Integer

1-28

6

If cycleType is weekly, the value must be a day of the week with 1 meaning Sunday. If cycleType is monthly, the value must be a day of the month from 1 to 28. If daily, the value is to be 1.
cycleType No String

Date; daily, weekly, or monthly.

Weekly

The type of time period. This parameter works in conjunction with the cycleInvoice parameter.
centralBillFlag No Integer

0 or 1

1

Determines the central billing node.
Status Codes
Status Code description
0 Success
2 Invalid parameter(s)
506-01 Invalid location ID
-1 Indicates that the application record failed to update or return.
506-2 Invalid invoice value. (The number passed in cycleInvoice did not work with the chosen cycleType).
Response
<?xml version="1.0" encoding="UTF-8"?>
<response>
   <status_code>0</status_code>
   <status>Success</status>
   <system_timestamp>2015-04-29 10:25:15</system_timestamp>
   <response_data>
     <location>6</location>
   </response_data>
   <processing_time>0.407</processing_time>
   <echo>
     <transaction_id>916171485</transaction_id>
     <provider_transaction_id>GAAP test</provider_transaction_id>
     <provider_timestamp>2015-04-29 10:24:15</provider_timestamp>
   </echo>
</response>

 

Response Code description Example
Location The numerical value assigned to the location. 6
processing_time The time elapsed in processing the transaction. 0.407
provider_timestamp Store a related timestamp for reporting and troubleshooting purposes. 2013-02-06 10:10:10
provider_transaction_id Secondary transaction identifier (generated by a provider). GAAP test
status The status of the response in human readable form. Success
status_code The status of the response. 0
system_timestamp A system generated timestamp. 2011-02-02 11:11:12
transaction_id A number that represents the transaction. 916171485
Code Snippet

                    # The following shell script will use cURL to call createLocation
# and return the json response.

curl -d '{"apiLogin":"AbC1234-9999", "apiTransKey":"9845dk-39fdk3fj3-4483483478", "transactionId":"45k-dk3fj3-44478", "name":"ABC Store #5", "address1":"33 Maple Street", "city":"Salt Lake City", "state":"UT", "postalCode":"84121", "parentLocation":"5", "parentLocationType":"0"}' \ 
-H "response-content-type: json" \ 
-X POST https://**your-full-implementation-url**/createLocation
                
                    // The following Java code will make a createLocation call
// and print the json response.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.Reader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
import java.util. *;

class GalileoAPICall
{
    public static void main(String[] args) {
        try {
            Map<String,Object> params = new LinkedHashMap<>();
           params.put("apiLogin", "AbC1234-9999");
           params.put("apiTransKey", "9845dk-39fdk3fj3-4483483478");
           params.put("transactionId", "45k-dk3fj3-44478");
           params.put("name", "ABC Store #5");
           params.put("address1", "33 Maple Street");
           params.put("city", "Salt Lake City");
           params.put("state", "UT");
           params.put("postalCode", "84121");
           params.put("parentLocation", "5");
           params.put("parentLocationType", "0");
            StringBuilder postData = new StringBuilder();
            for (Map.Entry<String,Object> param : params.entrySet()) {
                if (postData.length() != 0) postData.append('&');
                postData.append(URLEncoder.encode(param.getKey(), "UTF-8"));
                postData.append('=');
                postData.append(URLEncoder.encode(String.valueOf(param.getValue()), "UTF-8"));
            }
            byte[] postDataBytes = postData.toString().getBytes("UTF-8");

            URL url = new URL("https://**your-full-implementation-url**/createLocation");

            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("POST");
            conn.setRequestProperty("response-content-type", "json");
            conn.setRequestProperty("Content-Length", String.valueOf(postDataBytes.length));
            conn.setDoOutput(true);
            conn.getOutputStream().write(postDataBytes);

            String xmlOutput;

            Reader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
            for (int c; (c = in.read()) >= 0;) {
                System.out.print((char)c);
            }
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
                
                    # The following Python code will call createLocation
# and print the json response.

import requests
headers = {'response-content-type': 'json'}
payload = {'apiLogin': 'AbC1234-9999', 'apiTransKey': '9845dk-39fdk3fj3-4483483478', 'transactionId': '45k-dk3fj3-44478', 'name': 'ABC Store #5', 'address1': '33 Maple Street', 'city': 'Salt Lake City', 'state': 'UT', 'postalCode': '84121', 'parentLocation': '5', 'parentLocationType': '0'}
r = requests.post(url='https://**your-full-implementation-url**/createLocation', data=payload, headers=headers)
try:
    print(r.json())
except:
    print(r.status_code)
                
                    // The following PHP code will make a createLocation call
// and prints the json response.

$endpoint = 'https://**your-full-implementation-url**/createLocation';
$params = array('apiLogin'=>'AbC1234-9999', 'apiTransKey'=>'9845dk-39fdk3fj3-4483483478', 'transactionId'=>'45k-dk3fj3-44478', 'name'=>'ABC Store #5', 'address1'=>'33 Maple Street', 'city'=>'Salt Lake City', 'state'=>'UT', 'postalCode'=>'84121', 'parentLocation'=>'5', 'parentLocationType'=>'0');

$curl = curl_init();
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $params);
curl_setopt($curl, CURLOPT_URL, $endpoint);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('response-content-type: json'));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec($curl);
curl_close($curl);
$json = new json_decode($result, true);
print_r($json);

                
                    // The following C# code will make a createLocation call
// and print the json response.

using System;using System.IO;
using System.Net;
using System.Text;

byte[] data = Encoding.ASCII.GetBytes(
    "apiLogin=AbC1234-9999&apiTransKey=9845dk-39fdk3fj3-4483483478&transactionId=45k-dk3fj3-44478&name=ABC Store #5&address1=33 Maple Street&city=Salt Lake City&state=UT&postalCode=84121&parentLocation=5&parentLocationType=0");
WebRequest request = WebRequest.Create("https://**your-full-implementation-url**/createLocation");
request.Method = "POST"\;
request.ContentLength = data.Length;
request.Headers.Add("response-content-type", "json");
using (Stream stream = request.GetRequestStream())
{
    stream.Write(data, 0, data.Length);
}
string responseContent = null;
using (WebResponse response = request.GetResponse())
{
    using (Stream stream = response.GetResponseStream())
    {
        using (StreamReader sr = new StreamReader(stream))
        {
            responseContent = sr.ReadToEnd();
        }
    }
}
Console.WriteLine(responseContent);
                
                    # The following Ruby code will make a createLocation call
# and print the json response.

require 'uri'
require 'net/http'

uri = URI("https://**your-full-implementation-url**/createLocation")
https = Net::HTTP.new(uri.host, uri.port)
https.use_ssl = true
request = Net::HTTP::Post.new(uri.path)
request['response-content-type'] = 'json'
request.body = {apiLogin: 'AbC1234-9999', apiTransKey: '9845dk-39fdk3fj3-4483483478', transactionId: '45k-dk3fj3-44478', name: 'ABC Store #5', address1: '33 Maple Street', city: 'Salt Lake City', state: 'UT', postalCode: '84121', parentLocation: '5', parentLocationType: '0'}.to_json
response = https.request(request)
puts response