Custom Program
getHoldHistory()
This method allows you to receive a history of holds created for a specified account.
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.
accountNo Yes String

PAN or PRN

074103447228

Can be either a PAN (the 16 digit card number) or PRN (a unique 12 digit account identifier).
Status Codes
Status Code description
0 Success
2 Invalid parameter(s)
12 Invalid customer account
-1 Indicates that the application record failed to update or return.
Response
<?xml version="1.0" encoding="UTF-8"?>
<response>
   <status_code>0</status_code>
   <status>Success</status>
   <system_timestamp>2017-02-27 17:22:23</system_timestamp>
   <response_data>
     <active_holds>
       <active_hold>
         <hold_id>11</hold_id>
         <create_dt>2017-02-27 17:11:39</create_dt>
         <expiry_dt>2018-01-01 00:00:00</expiry_dt>
         <source_id>2016292</source_id>
         <change_dt>2017-02-27 17:11:39</change_dt>
         <hold_type>TH</hold_type>
         <ext_id>123123123123</ext_id>
         <dscr>test the hold description!</dscr>
         <originating_system_id>API</originating_system_id>
         <agent_id>n3ejFG-0043</agent_id>
         <amount>50</amount>
         <xid>250624</xid>
         <expiring_system_id/>
         <expiring_agent_id/>
       </active_hold>
     </active_holds>
     <expired_holds>
       <expired_hold>
         <hold_id>10</hold_id>
         <create_dt>2017-02-27 12:16:00</create_dt>
         <expiry_dt>2017-02-27 12:16:32</expiry_dt>
         <source_id>2016292</source_id>
         <change_dt>2017-02-27 12:16:00</change_dt>
         <hold_type>TH</hold_type>
         <ext_id>123123123123</ext_id>
         <dscr>test the hold description!</dscr>
         <originating_system_id>API</originating_system_id>
         <agent_id>n3ejFG-0043</agent_id>
         <amount>430</amount>
         <xid>250624</xid>
         <expiring_system_id>API</expiring_system_id>
         <expiring_agent_id>n3ejFG-0043</expiring_agent_id>
       </expired_hold>
     </expired_holds>
   </response_data>
   <processing_time>0.334</processing_time>
   <echo>
     <transaction_id>533511018</transaction_id>
     <provider_transaction_id>GAAP test</provider_transaction_id>
     <provider_timestamp>2017-02-27 17:15:58</provider_timestamp>
   </echo>
</response>
 
Response Description Example
active_holds Acts as a logical separator for active holds. <active_holds>
  <active_hold>
  <active_hold>
<active_holds>
expired_holds Acts as a logical separator for expired holds. <expired_holds>
  <expired_hold>
  <expired_hold>
<expired_holds>
hold_id A unique ID for the hold to be expired, as returned by getHoldHistory. 11
create_dt The date the hold was created. 2017-08-27 17:11:39
expiry_dt The date the hold will expire. 2018-01-01 00:00:00
source_id A code unique to the source of the activity (such as fees, adjustments, and so on). 2016292
change_dt The date the hold was last modified or created. 2017-08-27 17:11:39
hold_type The type of hold. TH
ext_id An external identifier associated with the hold. 123123123123
dscr The description associated with the hold. test-- some description text
originating_system_id The process that created the hold. API
agent_id The agent that created the hold. n3ejFG-0043
amount The financial sum being held. 50
xid The transaction ID associated with the hold. 250624
expiring_system_id The process that expired the hold. API
expiring_agent_id The agent that expired the hold. n3ejFG-0043
Code Snippet
                    # The following shell script will use cURL to call getHoldHistory
# and return the json response.

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

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

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

$endpoint = 'https://**your-full-implementation-url**/getHoldHistory';
$params = array('apiLogin'=>'AbC1234-9999', 'apiTransKey'=>'9845dk-39fdk3fj3-4483483478', 'transactionId'=>'45k-dk3fj3-44478', 'accountNo'=>'074103447228');

$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 getHoldHistory 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&accountNo=074103447228");
WebRequest request = WebRequest.Create("https://**your-full-implementation-url**/getHoldHistory");
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 getHoldHistory call
# and print the json response.

require 'uri'
require 'net/http'

uri = URI("https://**your-full-implementation-url**/getHoldHistory")
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', accountNo: '074103447228'}.to_json
response = https.request(request)
puts response