Authentication

Each endpoint request to Galileo’s Program API must be authenticated with these four parameters:

  • apiLogin
  • apiTransKey
  • providerId
  • transactionId

The table below describes the required authentication parameters, as well as two optional parameters that you can use for your internal reporting purposes.

ParameterRequiredDescriptionAdditional info
apiLoginXGalileo-issued username for the requesting IP address.Data type: String
Pattern: Max 50 characters
Example: "AbC123-9999"
apiTransKeyXGalileo-issued password for the requesting IP address.Data type: String
Pattern: Max 15 characters
Example: "4sb62fh6w4h7w34g"
providerIdXGalileo-issued provider identifier.Data type: Integer
Pattern: Max 10 digits
Example: 9999
transactionIdXAn ID that you provide that is unique to each API request. A UUID is preferred.Data type: String
Pattern: Max 60 characters
Example: "9845dk-39fdk3fj3-4483483478"
providerTransactionIdAn optional ID that you provide for the API request.Data type: String
Pattern: Max 60 characters
Example: 2017-05-01 13:01:01
providerTimestampAn optional timestamp that you provide for the API request.Data type: Date-time
Pattern: YYYY-MM-DD hh:mm:ss
Example: "47823438032233777"

Authentication setup

📘

Note

If you are connecting to the Program API for the first time, see our Quickstart guide before you start here.

During onboarding, Galileo will give you the apiLogin, apiTransKey, and providerId for the IP address that you send requests from. You provide the transactionId, which must be unique for each request (UUID is preferred). Optionally, you can use providerTransactionId and providerTimestamp for your own internal records.

Along with the four parameters above, when you send an endpoint request, you also send:

  • The endpoint URL for the environment you are using, provided by Galileo
  • The request type (POST)
  • Any additional parameters for the request
  • The format in which you will accept response data (application/json or application/xml)
  • The content type for the response data (application/x-www-form-urlencoded)

Authentication steps

The steps below describe setup and authentication for a Ping endpoint request.

  1. You obtain authentication credentials from Galileo and generate a unique transactionId for the request.
ParameterValue
apiLoginaaaa-bbbb
apiTransKey1212
providerId9988
transactionId777-777-777
  1. You build and post your endpoint request with:
  • The endpoint URL
  • The request type (POST)
  • The four authentication parameters from step 1
  • The Accept field, with your preferred response data format
  • The Content-Type field, with application/x-www-form-urlencoded
import requests

url = "https://sandbox-api.gpsrv.com/intserv/4.0/ping"

payload = "apiLogin=aaaa-bbbb&apiTransKey=1212&providerId=9988&transactionId=777-777-777"
headers = {
    "Accept": "application/json",
    "Content-Type": "application/x-www-form-urlencoded"
}

response = requests.request("POST", url, data=payload, headers=headers)

print(response.text)
curl --request POST \
     --url https://sandbox-api.gpsrv.com/intserv/4.0/ping \
     --header 'Accept: application/json' \
     --header 'Content-Type: application/x-www-form-urlencoded' \
     --data apiLogin=aaaa-bbbb \
     --data apiTransKey=1212 \
     --data providerId=9988 \
     --data transactionId=777-777-777
  1. Galileo sends you response data in your requested format.
{
  "status_code": 0,
  "status": "Success",
  "processing_time": 0.022,
  "response_data": {},
  "echo": {
    "provider_transaction_id": "",
    "provider_timestamp": null,
    "transaction_id": "A43ZQ5ZMR4XALONBW1G3"
  },
  "rtoken": "8cc16de0-5eda-4e2a-968e-3b08fce6f778",
  "system_timestamp": "2020-07-13 10:48:07"
}