New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@financial-times/n-membership-sdk

Package Overview
Dependencies
Maintainers
0
Versions
373
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@financial-times/n-membership-sdk

A software development kit that centralises membership api calls

  • 54.0.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
0
decreased by-100%
Maintainers
0
Weekly downloads
 
Created
Source

Membership SDK

A software development kit that centralises Membership API calls.

CircleCI

const { ProductionConfiguration, Session } = require("n-membership-sdk");

// Use ProductionConfiguration defaults and set a key
const config = new ProductionConfiguration({
  sessionApiKey: "secret",
});

// Setup and use a service
const sessionSdk = new Session(config);
const sessionInfo = sessionSdk.fetchSessionInfo(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'
})
Methods
  • set Set the config properties using either a property string or config object
  • get Return the value of the property given

Service classes

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

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}

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}

FAQs

Package last updated on 16 Jan 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc