Hotel customer data can be easily ingested from property management systems with the Oracle OEPRA using HAPI OPERA Exchange Interface (OXI). This streaming import integration uses HAPI instead of requiring hotels to host their own on-premise server.
HAPI is a data integrations platform that improves the process of extracting, cleaning and normalizing event data being imported into Treasure Data.
- Basic Knowledge of Treasure Data.
- Basic knowledge of HAPI.
- TD API Write-only Key
- Each request should have Content-Length of 998 KB or less.
- There is a limit of 2 Source creations per account per connector type.
- Duplicate events are allowed.
- A database must be created before creating a new Source.
- At least one table must be created before creating a new Source. Any additional tables needed must be used before they can be used in an endpoint.
- The expected target latency for data to be available in Plazma is between 5 and 10 minutes.
- TD users are required to use the Write-only API key to create a HAPI Streaming Connector.
- There is a few seconds delay before the newly created source starts streaming data.
Your first step is to create a new authentication with a set of credentials.
Select Integrations Hub.
Select Catalog.

- Search for your Integration in the Catalog; hover your mouse over the icon and select Create Authentication.


- The New Authentication modal opens.

- Ensure that the Credentials tab is selected and then enter credential information for the integration.
| Field | Description |
|---|---|
| API ID (required) | API ID for this connection |
| TD API Key (required) | TD write-only API Key for access to the database. See Getting Your API Keys. |
Select Continue.
Enter a name for your authentication, and select Done.
Open TD Console.
Navigate to Integrations Hub > Authentications.
Locate your new authentication and select New Source.
Complete the following table for the source.
| Parameter | Description |
|---|---|
| Data Transfer Name | You can define the name of your transfer. |
| Authentication | The authentication name that is used to transfer. |
Type a source name in the Data Transfer Name field.
Select Next.
The Create Source page displays with the Data Settings tab selected.
Edit the following parameters.
| Parameter | Description |
|---|---|
| Datastore | Plazma is available option. |
| Tags (optional) | Tags can be used to find this source. |
| Database | Specify the database within Treasure Data for which you want to import data into. |
| Table | Specify the table within the database where you would like the data placed. |
Select Create.
Create the tables needed for each endpoint from HAPI. Examples are
- reservation
- inventory
- profile
- block
- room_stay
- rate
- guest
The source id (UUID v4) is issued when a Source is created. To prevent misuse, the Source Id should not be disclosed to any unauthorized persons. You need the source id to register the endpoint with HAPI.
- After creating the Source, you are automatically taken to the Sources listing page.
- Search for the source you created.
- Click on "..." in the same row and Click Copy Unique ID. This Unique ID is the Source ID required when registering an endpoint with HAPI.

To complete the endpoint registration, you need the TD API key (see Getting Your API Keys) and Source Id (see Copy the Source Id section). You need a secure channel with HAPI to transfer the two secrets using the following example configuration.
Replace TD API Key and Source Id with your TD API key and Source Id, respectively.
reservation, inventory, profile, block, room_stay, rate, guest are the example tables created in Define Data Settings.
App id: HAPI
API key: TD API Key
Auth endpoint: https://hapi-in-streaming-development.treasuredata.com/v1/authenticate
Message Type endpoints:
RESERVATION: https://hapi-in-streaming-development.treasuredata.com/v1/task/Source Id/table/reservation
INVENTORY: https://hapi-in-streaming-development.treasuredata.com/v1/task/Source Id/table/inventory
PROFILE: https://hapi-in-streaming-development.treasuredata.com/v1/task/Source Id/table/profile
BLOCK: https://hapi-in-streaming-development.treasuredata.com/v1/task/Source Id/table/block
ROOM_STAY: https://hapi-in-streaming-development.treasuredata.com/v1/task/Source Id/table/room_stay
RATE: https://hapi-in-streaming-development.treasuredata.com/v1/task/Source Id/table/rate
GUEST: https://hapi-in-streaming-development.treasuredata.com/v1/task/Source Id/table/guest
Event data ingestion into TD begins when the first event is triggered after the streaming data source is created.