tremendous
v3.8.0
Published
A node.js client for the Tremendous API
Downloads
3,376
Readme
A node.js client library for the Tremendous API.
[!NOTE] This branch includes the v3 version of the Tremendous Node.JS client, a new version based on our API schema docs. If you are using the v2 versions, please check our
UPGRADING
guide
Installation
$ npm install tremendous
Getting started
All API requests require an access token. A sandbox access token is assigned upon signup through the Tremendous Sandbox Environment. Once you are ready to move to production, you will be assigned a production access token.
Authentication
Getting started
All endpoints require a Configuration
object with a basePath
and an accessToken
for either your
Production or Sandbox account:
import { Configuration, Environments } from "tremendous";
// when you are testing your code with the sandbox environment:
const configuration = new Configuration({
basePath: Environments.testflight,
accessToken: "YOUR-TESTFLIGHT-TOKEN",
});
// when you are ready to use the API:
const configuration = new Configuration({
basePath: Environments.production,
accessToken: "YOUR-PRODUCTION-TOKEN",
});
Examples
Submitting an order:
import { OrdersApi, CreateOrderRequest } from "tremendous";
const orders = new OrdersApi(configuration);
const params: CreateOrderRequest = {
payment: {
funding_source_id: "[FUNDING SOURCE ID HERE]",
},
reward:
{
delivery: {
method: "EMAIL"
},
recipient: {
name: "Recipient Name",
email: "recipient@domain"
},
value: {
denomination: 5.0,
currency_code: "USD",
},
campaign_id: "[CAMPAIGN_ID]",
}
};
const { data } = await orders.createOrder(params);
console.log(`Order created! ID: ${data.order.id}`);
Retrieving an Order and a Reward
import { OrdersApi, RewardsApi } from "tremendous";
const orders = new OrdersApi(configuration);
const rewards = new RewardsApi(configuration);
const { order } = (await orders.getOrder("[ORDER_ID]")).data;
const { reward } = (await rewards.getReward("[REWARD_ID]")).data;
console.log(`The order status is ${order.status}`);
console.log(`The reward was delivered to ${reward.recipient.email}`);
Listing products:
import { ProductsApi } from "tremendous";
const client = new ProductsApi(configuration);
const { data } = await client.listProducts();
data.products.forEach(product => { /* */ });
Listing funding sources:
import { FundingSourcesApi } from "tremendous";
const client = new FundingSourcesApi(configuration);
const { data } = await client.listFundingSources();
data.fundingSources.forEach(product => { /* */ });