lootably-offers-api-types v2.1.1
Lootably Offers API Types
TypeScript type definitions for Lootably's Offers API.
API Documentation
For detailed information about the Lootably Offers API, including request parameters and response structures, please refer to the Lootably API Guide.
Description
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.
Installation
npm install lootably-offers-api-types
Usage
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';
Example: Fetching Offers from the Lootably Offers API
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.
Contact
If you have any questions or need assistance, please email us at business@lootably.com or reach out to your Lootably contact.