@financial-times/n-membership-sdk v49.1.0
Membership SDK
A software development kit that centralises Membership API calls.
const { ProductionConfiguration, Graphql } = require('n-membership-sdk');
// Use ProductionConfiguration defaults and set a key
const config = new ProductionConfiguration({
graphqlApiKey: 'secret'
});
// Setup and use a service
const graphql = new Graphql(config);
const userDetails = graphql.getUserDetails(sessionId);
Table of Contents
Usage
Configuration
The Configuration class provides environment information for services, a Configuration instance needs to be provided when instantiating a service class.
const config = new Configuration({
// Provide environment information
})
There are two helper classes extend Configuration
and come with pre-populated environment information TestConfiguration
and ProductionConfiguration
. Non application specific configuration is defaulted (i.e. hosts) leaving only keys to be provided by the developer.
const config = new ProductionConfiguration({
userApiKey: 'secret'
})
For an example of the TestConfiguration setup click here.
Methods
set
Set the config properties using either a property string or config objectget
Return the value of the property given
Service classes
- Authorisation
- Graphql
- Subscription
- Suspension
- RedeemableTokenService
- Licence
- DigitalVoucherService
- CustomerSSOService
Models
Errors
Exposes all the error types the SDK could throw allowing the developer to test the error and handle things differently.
Usage
const { Errors } = require('@financial-times/n-membership-sdk');
try {
const gateway = await subscription.fetchGatewayName(type, country);
} catch (error) {
if (error instanceof Errors.NotFoundError) {
// Handle Gateway not being found
} else {
// Handle all other errors
}
}
Types
BadRequestError - HTTP response code 400 received from API
UnauthorizedError - HTTP response code 401 received from API
ForbiddenError - HTTP response code 403 received from API
NotFoundError - HTTP response code 404 received from API
ServerError - HTTP response code in 500 range or unhandled 400 range received from API
InvalidResponseError - Response from the API was invalid
EmptyResultError - No result to return after processing
ValidationError - Incorrect parameter supplied
Testing
Use the demo app to test individual methods within a given service. See the demo README for how to do this.
Services
These are the Membership endpoints that are currently being used by the SDK.
User
HEAD https://api.ft.com/users?email=${email}
POST https://api.ft.com/users/profile
PUT https://api.ft.com/users/${user.id}/profile
POST https://api.ft.com/login
POST https://api.ft.com/users/${userId}/credentials/change-password
Subscription
GET https://api.ft.com/subscriptions/${subscriptionId}
POST https://api.ft.com/subscriptions/actions/subscribe
GET https://api.ft.com/paymentpage2/config/${paymentType}/${appId}/${countryCode}
GET https://api.ft.com/payment-gateway/${paymentType}/${countryCode}
POST https://api.ft.com/paymentpage2/validation/signature
GET https://dd-mandate-svc-eu-test.memb.ft.com/mandate/${userId}
Graphql
POST https://api.ft.com/memb-query/api
Authorisation
POST https://api.ft.com/authorize?client_id=${clientId}&response_type=token&scope=${scope}
Invoice
GET https://api-t.ft.com/invoice/membership/invoices/v1?accountId=${accountId}
1 month ago
1 month ago
2 months ago
3 months ago
3 months ago
4 months ago
4 months ago
4 months ago
5 months ago
5 months ago
6 months ago
10 months ago
8 months ago
10 months ago
6 months ago
6 months ago
6 months ago
6 months ago
8 months ago
6 months ago
10 months ago
10 months ago
7 months ago
9 months ago
8 months ago
9 months ago
9 months ago
7 months ago
7 months ago
8 months ago
7 months ago
10 months ago
8 months ago
9 months ago
8 months ago
11 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago