Authentication

Endpoint requests to Galileo’s Program API should be sent over HTTPS using TLS. Galileo supports TLS v1.2.

Each endpoint request 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, except for Create Adjustment, which requires a 64-bit integer). Optionally, you can pass 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 (always POST)
    • Any additional parameters for the request
    • The format in which you will accept response data (json or 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 (always POST)
    • The four authentication parameters from step 1
    • The response-content-type field, with your preferred response data format: json or xml
    • 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 = {
    	"response-content-type": "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 'response-content-type: 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"
    }