TypeScript type definitions for Lootably's Offers API.
For detailed information about the Lootably Offers API, including request parameters and response structures, please refer to the Lootably API Guide.
This package provides TypeScript types for Lootably's Offers API, allowing you to easily type our API's responses to ensure type safety in your application.
npm install lootably-offers-api-types
For a complete list of available types, please refer to the index.ts file.
You can import these types as needed in your TypeScript project. For example:
import type {
APIResponse,
Device,
Category,
} from 'lootably-offers-api-types';
Here's how you can use the provided types to ensure type safety when working with responses from the Lootably Offers API:
// Types
import type { SuccessfulAPIResponse, FailedAPIResponse } from 'lootably-offers-api-types';
const API_URL = 'https://api.lootably.com/api/v2/offers/get';
async function fetchOffers(): Promise<void> {
const requestBody = {
placementID: process.env.PLACEMENT_ID,
apiKey: process.env.API_KEY,
userData: {
userID: 'exampleUserID',
userAgentHeader: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)',
ipAddress: '192.0.2.1',
},
categories: ['app', 'game'],
devices: ['windows', 'android'],
countries: ['US', 'CA'],
};
const response = await fetch(API_URL, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(requestBody),
});
const data: SuccessfulAPIResponse | FailedAPIResponse = await response.json();
if (data.success) {
console.log('Request ID:', data.data.requestID);
console.log('Offers:', data.data.offers);
data.data.offers.forEach((offer) => {
if (offer.type === 'singlestep') {
// Handle single-tep offer
console.log('Singlestep Offer:', offer.name);
} else if (offer.type === 'multistep') {
// Handle multistep offer
console.log('Multistep Offer:', offer.name);
}
});
} else {
console.error(`Error: ${data.message}`);
console.error('Request ID:', data.data.requestID);
}
}
fetchOffers().catch((error) => {
console.error('An error occurred while fetching offers:', error);
});
Note: Ensure that the environment variables PLACEMENT_ID
and API_KEY
are properly set before running the script.
If you have any questions or need assistance, please email us at business@lootably.com or reach out to your Lootably contact.