This library allows you to access the Podium Client REST API for building client applications.
npm install podium-sdk
import { Podium, PodiumPaginator, PodiumFilter, PodiumSettings } from 'podium-sdk'
let podiumSettings = new PodiumSettings().setEndpoint('https://api.podiumrewards.com/')
let podium = new Podium(podiumSettings)
podium.Auth.login(email, password, slug).then(rsp => {
console.log(rsp.message)
}).catch(error => {
console.log(error.message)
})
let filter = new PodiumFilter()
filter.setValues({ customer_id: 1, search: 'Dan' })
let paginator = new PodiumPaginator()
paginator.setPerPage(5)
paginator.setSortField('last_name')
paginator.setSortDirection('asc')
podium.Users.List(filter, paginator).then((rsp) => {
console.log(rsp)
})
Settings can be passed into the Podium constructor as a PodiumSettings
class.
Name | Type | Default | Description |
---|---|---|---|
setEndpoint | url | https://api.podiumrewards.com/ | The Podium endpoint URL. |
setLocale | API_LOCALE | en-US | The Podium endpoint URL. |
setOnRequestError | function(IPodiumErrorResponse) | Callback when an API error is encountered. | |
setVersion | number | 1 | Version of Podium API to use. |
Log in with a username and password and receive an API token to interact with other resources available via the API. The logout endpoint deletes the authentication token.
Podium.Auth.Login(email, password, slug)
Podium.Auth.LoginAs(userAccount, token, slug)
Podium.Auth.SSO(token)
Podium.Auth.GetToken()
Podium.Auth.SetToken(string)
Podium.Auth.HasToken()
Podium.Auth.logout()
Log in with a username and password and receive an API token to interact with other resources available via the API. The logout endpoint deletes the authentication token.
Name | Type | Required? | Description |
---|---|---|---|
id | number/string | yes | ID of Resource. |
Name | Type | Required? | Description |
---|---|---|---|
arg1 | Filter/Paginator | no | Filter or Paginator Object. |
paginator | Paginator | no | Paginator if first parameter is filter. |
Name | Type | Required? | Description |
---|---|---|---|
object | object | no | Object to be created. |
Name | Type | Required? | Description |
---|---|---|---|
id | number/string | yes | ID of Resource. |
object | object | no | Object to be deleted. |
Name | Type | Required? | Description |
---|---|---|---|
id | number/string | yes | ID of object to be delete. |
Podium.Discretionary.DirectReports
Podium.Discretionary.Discretionary
Podium.Discretionary.Ledger
Podium.Discretionary.Transactions
Podium.Ecards.Categories
Podium.Ecards.Templates
Podium.Permissions
Podium.Shop.Cart
Podium.Shop.Orders
Podium.Shop.Products
Podium.Shop.Wishlist
Podium.User.Address
Podium.User.Profile
Podium.Users
Podium.Accounts.GetTravelUrl(AccountID)
Podium.Accounts.GetTransactions(AccountID, Filter, Paginator)
Podium.Accounts.Transfer(AccountID, ReceiverAccountID, Amount, SenderTransactionDescription, ReceiverTransactionDescription)
Podium.Ecards.Ecards.GetReceived(Paginator)
Podium.Ecards.Ecards.GetSent(Paginator)
Podium.Ecards.Ecards.GetPending(Paginator)
Podium.Ledgers.GetTransactions(LedgerID, Filter, Paginator)
Podium.LRG.GetUrl(redirectUrl)
Podium.LRG.Redirect(redirectUrl)
Podium.Orders.Cancel(orderId: number | string)
Podium.Shop.Cart.Confirm(cartId, addressId, ledgerId)
Podium.Shop.Cart.Checkout(cartId, addressId, ledgerId)
Podium.Terms.Accept(termsId)
Podium.Utils.isRequesting - Property of boolean if SDK is currently making a request
Podium.Utils.RequestsInProgress - array of request URL's SDK is currently making
The following set properties are chainable:
PodiumPaginator.setPage(number)
PodiumPaginator.setPerPage(number)
PodiumPaginator.setSortField(field)
PodiumPaginator.setSortDirection([asc|desc])
PodiumPaginator.setSortDesc(boolean)
PodiumPaginator.toParams()
The following set properties are chainable:
PodiumFilter.getFacets()
PodiumFilter.setFacets(object)
PodiumFilter.setValues(object)
PodiumFilter.getValues(number)
PodiumFilter.toParams()