> ## Documentation Index
> Fetch the complete documentation index at: https://docs.axisdata.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Access to our Systems

This site shows how the acess from an external system to our test and production APIs has to be defined.

## TEST Environment

Please contact our Integration Team of Axis Data who will provide you with the Test credentials.\
Once you have them put them in the POS Section of the XML Request:

```xml theme={null}
<POS>
  <Source>
    <RequestorID Type="22" ID="TEST" ID_Context="AxisData"/>
  </Source>
  <Source>
    <RequestorID Type="88" ID="TEST" MessagePassword="testpass"/>
  </Source>
</POS>
```

<Warning>
  Only HTTPS connections are supported.
</Warning>

<Warning>
  Use recognizable client references and pax names for filtering test bookings, since the access is not unique.
</Warning>

**Test URL:** `https://sintesb.axisdata.net/apu-test/ota`

## PRODUCTION Environment

Once you have been successfully testes and certified in our INTEGRATION environment, our integration team coordinates the go-live. \
Integration analysts will be in charge of creating and sharing your credentials for PRODUCTION.

You’ll receive a unique `<POS>` ID.

<Danger>
  **Important:** Never share credentials unless requested by an integration analyst. Use encrypted email for passwords.
</Danger>

* **Production URL:** `https://sxml.axisdata.net/apu/ota`

Furthermore the access to our production systems is protected by a firewall. \
Our partners must provide their external IPs to be whitelisted on our side.

Once this step is done you're ready to go live. Test the connectivity to the server by using this command:

`curl https://sxml.axisdata.net`

Or using the [OTA\_PingRQ](#checking-connectivity) described below.

### **Partner Identification**

Messages are being authenticated and authorized by using the POS tag of the XML Request.

**Example**:

```xml theme={null}
<POS>
  <Source>
    <RequestorID Type="22" ID="TEST" ID_Context="AxisData"/>
  </Source>
  <Source>
    <RequestorID Type="88" ID="TEST" MessagePassword="testpass"/>
  </Source>
</POS>
```

**RequestorID Types:**

The RequestorID represents your entity and will be given to you by AxisData when you are going to Production.

* `22` – Identifier of your organization
* `29` – Booking Agent (Brand/Sales Channel). If you have multiple brands within your organization we can identify them by using the Brand/Sales channel parameter
* `88` – Authentication (User & Password)

<Tip>
  You may repeat `<Source>` with different `RequestorID` types for additional identifiers.
</Tip>

**Extended Example**:

```xml theme={null}
<POS>
  <Source>
    <RequestorID Type="22" ID="TEST" ID_Context="AxisData"/>
  </Source>
  <Source>
    <RequestorID Type="88" ID="TEST" MessagePassword="testpass"/>
  </Source>
  <Source>
    <RequestorID Type="29" ID="BRAND" ID_Context="AxisData"/>
  </Source>
</POS>
```

* `ID`: Identifier
* `ID_Context`: Always “AxisData”
* `Instance`: Defines message format details

The main ID determines market, portfolio, and currency settings.

***

## **Checking Connectivity**

Use `OTA_PingRQ` to verify connectivity.

### Ping Request

```xml theme={null}
<OTA_PingRQ Version="1.003" TimeStamp="2011-02-09T12:00:00+01:00" EchoToken="12345" Target="TEST" PrimaryLangID="EN" xmlns="http://www.opentravel.org/OTA/2003/05">
  <EchoData>Connectivity test</EchoData>
</OTA_PingRQ>
```

**Response**:

```xml theme={null}
<OTA_PingRS EchoToken="12345" TimeStamp="2011-02-10T10:36:35+00:00" Target="TEST" Version="1.003" PrimaryLangID="EN" xmlns="http://www.opentravel.org/OTA/2003/05">
  <Success/>
  <EchoData>Connectivity test</EchoData>
</OTA_PingRS>
```

Use this to verify connectivity from new systems or endpoints.
