Custom Program
modifyLocation()
With this method the API consumer can update or modify key data elements related to the location. Only required parameters and parameters to be modified must be provided. Parameters that are not being modified can be left blank. The location and locationType parameters are used to identify the location to be modified.
Nullifying Data Elements
The following modifyLocation parameters allow for the value 'null' to passed: name, address1, address2, city, phone, and providerSpecifiedId. When passing the string 'null' as the value for any of the above parameters, the respective account data element will be updated to a value of null.
Parameters
Parameter Required Data type Pattern Notes Example value
apiLogin Yes String 50 characters or less Provider's Web Service Username as provided and authenticated by Galileo for the requesting IP Address. AbC123-9999
apiTransKey Yes String 15 characters or less Web Service Password as provided and authenticated by Galileo for the requesting IP Address. 4sb62fh6w4h7w34g
providerId Yes Integer 10 digits or less Galileo issued unique Provider identifier. 9999
transactionId Yes String 60 characters or less 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. 9845dk-39fdk3fj3-4483483478
location Yes String Must be a number if type is 0. Must be less than 15 if type is 1. Unique location identifier. See location types. a455-3483
locationType Yes Integer 0, 1, or 2
  • 0=Galileo Location ID
  • 1=Partner Location ID
  • 2=Don't Validate
1
name No String Alphanumberic string up to 22 characters. The name of the location. ABC Store #5
address1 No String Maximum length -- 40 characters. Cannot be a P.O. Box. Cardholder's address line 1 33 Maple Street
address2 No String Maximum length of 30 characters. Cardholder's address line 2 #4B
city No String Letters and spaces, maximum length 20 characters. Cardholder's city Salt Lake City
state No String Valid 2 character state abbreviation. Cardholder's state UT
postalCode No String 12345 or 12345-1234 (US), K1A-1A1 (CA) Cardholder's postal code (zip code) 84121
countryCode No Number Three digit country code. Three digit ISO numeric UN M49 country code; Example USA=840, Canada=124. 840
countryCode2 No Number Three digit country code Three digit ISO numeric UN M49 country code; Example USA=840, Canada=124. 840
phone No Integer 10 digit phone number Phone number to route outbound calls to. If passed, this number will supersede any account related phone numbers. 8013656060
providerSpecifiedId No String Alphanumeric string up to 15 characters. The provider specified ID is the partner or program identity for a location (referenced as location type 1). abc-123
creditLimit No Float Numbers with decimal place. The credit limit to set for this location. This parameter works in conjunction with the cycleInvoice parameter. 10000.00
cycleInvoice No Integer 1-28 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. 14
cycleType No String Date; daily, weekly, or monthly. The type of time period. This parameter works in conjunction with the cycleInvoice parameter. Weekly
centralBillFlag No Integer 0 or 1 Determines the central billing node. 1
Status Codes
Status Code description
0 Success
2 Invalid parameter(s)
-1 Indicates that the application record failed to update or return.
508-01 Invalid invoice value. The number passed in cycleInvoice did not work with the chosen cycleType.
508-02 Invalid cycleStart. (The number passed in cycleStart 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>
     <centralBillFlag>0</centralBillFlag>
     <creditLimit>2</creditLimit>
     <cycleType>Weekly</cycleType>
     <cycleInvoice>4</cycleInvoice>
   </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 Description Example
centralBillFlag Indicates a central corporate credit aggregate billing location. Allows one centralized billing location for all invoice records attached to the location. Works in conjunction with the cycleInvoice parameter. 1
creditLimit The credit limit for this location. Works in conjunction with the cycleInvoice parameter. 5000.00
cycleInvoice If cycleType is weekly, the value must be a day of the week with 0 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. 15
cycleType The type of time period. Works in conjunction with the cycleInvoice parameter. Monthly
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. 2018-02-06 10:10:10
provider_transaction_id Secondary transaction identifier (generated by a provider). GAAP test
response_data A structure for the response data. It can be empty but usually will contain information. .
status A status 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 modifyLocation
# and return the json response.

curl -d '{"apiLogin":"AbC1234-9999", "apiTransKey":"9845dk-39fdk3fj3-4483483478", "transactionId":"45k-dk3fj3-44478", "location":"a455-3483", "locationType":"1"}' \ 
-H "response-content-type: json" \ 
-X POST https://**your-full-implementation-url**/modifyLocation
                
                    // The following Java code will make a modifyLocation 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("location", "a455-3483");
           params.put("locationType", "1");
            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**/modifyLocation");

            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 modifyLocation
# and print the json response.

import requests
headers = {'response-content-type': 'json'}
payload = {'apiLogin': 'AbC1234-9999', 'apiTransKey': '9845dk-39fdk3fj3-4483483478', 'transactionId': '45k-dk3fj3-44478', 'location': 'a455-3483', 'locationType': '1'}
r = requests.post(url='https://**your-full-implementation-url**/modifyLocation', data=payload, headers=headers)
try:
    print(r.json())
except:
    print(r.status_code)
                
                    // The following PHP code will make a modifyLocation call
// and prints the json response.

$endpoint = 'https://**your-full-implementation-url**/modifyLocation';
$params = array('apiLogin'=>'AbC1234-9999', 'apiTransKey'=>'9845dk-39fdk3fj3-4483483478', 'transactionId'=>'45k-dk3fj3-44478', 'location'=>'a455-3483', 'locationType'=>'1');

$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 modifyLocation 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&location=a455-3483&locationType=1");
WebRequest request = WebRequest.Create("https://**your-full-implementation-url**/modifyLocation");
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 modifyLocation call
# and print the json response.

require 'uri'
require 'net/http'

uri = URI("https://**your-full-implementation-url**/modifyLocation")
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', location: 'a455-3483', locationType: '1'}.to_json
response = https.request(request)
puts response