Podium Client JavaScript SDK
This library allows you to access the Podium Client REST API for building client applications.
Installation
npm install podium-sdk
Usage
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
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. |
API methods
Authentication
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()
Podium Resource
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.
Get
Name | Type | Required? | Description |
---|---|---|---|
id | number/string | yes | ID of Resource. |
List
Name | Type | Required? | Description |
---|---|---|---|
arg1 | Filter/Paginator | no | Filter or Paginator Object. |
paginator | Paginator | no | Paginator if first parameter is filter. |
Create
Name | Type | Required? | Description |
---|---|---|---|
object | object | no | Object to be created. |
Update
Name | Type | Required? | Description |
---|---|---|---|
id | number/string | yes | ID of Resource. |
object | object | no | Object to be deleted. |
Delete
Name | Type | Required? | Description |
---|---|---|---|
id | number/string | yes | ID of object to be delete. |
Methods that extend Resource
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
Methods with additional functions
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
Paginator properties
The following set properties are chainable:
PodiumPaginator.setPage(number)
PodiumPaginator.setPerPage(number)
PodiumPaginator.setSortField(field)
PodiumPaginator.setSortDirection([asc|desc])
PodiumPaginator.setSortDesc(boolean)
PodiumPaginator.toParams()
Filter properties
The following set properties are chainable:
PodiumFilter.getFacets()
PodiumFilter.setFacets(object)
PodiumFilter.setValues(object)
PodiumFilter.getValues(number)
PodiumFilter.toParams()