49.1.0 • Published 1 month ago

@financial-times/n-membership-sdk v49.1.0

Weekly downloads
141
License
ISC
Repository
github
Last release
1 month ago

Membership SDK

A software development kit that centralises Membership API calls.

CircleCI

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 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

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}
49.1.0

1 month ago

49.0.0

1 month ago

48.10.0

2 months ago

48.9.1

3 months ago

48.9.0

3 months ago

48.8.0

4 months ago

48.7.1

4 months ago

48.7.0

4 months ago

48.6.0

5 months ago

48.5.1

5 months ago

48.5.0

6 months ago

44.5.1

10 months ago

47.0.0

8 months ago

44.6.0

10 months ago

48.4.1

6 months ago

48.4.0

6 months ago

48.4.3

6 months ago

48.4.2

6 months ago

46.0.0

8 months ago

48.3.0

6 months ago

44.4.1

10 months ago

44.4.0

10 months ago

48.2.0

7 months ago

44.9.0

9 months ago

47.4.0

8 months ago

45.0.1

9 months ago

45.0.0

9 months ago

48.1.0

7 months ago

48.1.1

7 months ago

47.3.0

8 months ago

48.0.0

7 months ago

44.7.0

10 months ago

47.2.0

8 months ago

44.8.0

9 months ago

47.1.0

8 months ago

44.3.1

11 months ago

44.3.0

12 months ago

44.1.1

1 year ago

44.2.0

1 year ago

43.0.0

1 year ago

44.1.0

1 year ago

43.1.0

1 year ago

44.0.1

1 year ago

44.0.0

1 year ago

42.0.1

1 year ago

42.0.0

1 year ago

40.0.0

1 year ago

41.0.1

1 year ago

41.0.0

1 year ago

40.1.0

1 year ago

39.0.2

1 year ago

36.0.0

2 years ago

36.1.0

2 years ago

36.1.1

2 years ago

35.3.0

2 years ago

36.2.0

2 years ago

37.0.1

2 years ago

38.0.0

1 year ago

38.1.0

1 year ago

38.2.0

1 year ago

39.0.1

1 year ago

39.0.0

1 year ago

35.2.0

2 years ago

35.0.2

2 years ago

35.0.3

2 years ago

35.0.1

2 years ago

35.1.1

2 years ago

35.1.0

2 years ago

31.0.0

2 years ago

31.0.1

2 years ago

29.0.0

2 years ago

30.0.0

2 years ago

34.0.1

2 years ago

34.0.2

2 years ago

34.0.0

2 years ago

34.0.3

2 years ago

33.0.0

2 years ago

33.0.1

2 years ago

33.0.2

2 years ago

35.0.0

2 years ago

32.0.0

2 years ago

32.0.1

2 years ago

28.1.0

2 years ago

28.0.0

2 years ago

28.0.1

2 years ago

26.6.5

2 years ago

27.1.0

2 years ago

27.0.0

2 years ago

27.0.1

2 years ago

27.2.0

2 years ago

26.6.4

2 years ago

26.6.3

2 years ago

26.6.2

2 years ago

26.6.1

2 years ago

26.6.0

2 years ago

26.5.0

2 years ago

26.1.0

2 years ago

26.0.1

2 years ago

26.3.2

2 years ago

26.3.1

2 years ago

26.3.0

2 years ago

26.2.0

2 years ago

26.4.0

2 years ago

23.4.2

2 years ago

25.1.0

2 years ago

25.0.0

2 years ago

25.3.1

2 years ago

25.3.0

2 years ago

26.0.0

2 years ago

25.2.0

2 years ago

24.1.0

2 years ago

24.0.0

2 years ago

23.4.0

3 years ago

23.4.1

2 years ago

23.3.1

3 years ago

23.3.0

3 years ago

23.2.2

3 years ago

23.2.1

3 years ago

23.1.1

3 years ago

23.1.0

3 years ago

23.2.0

3 years ago

23.0.0

3 years ago

22.0.0

3 years ago

21.1.1

3 years ago

21.1.0

3 years ago

21.0.4

3 years ago

21.0.5

3 years ago

21.0.3

3 years ago

21.0.2

3 years ago

21.0.1

3 years ago

21.0.0

3 years ago

20.11.0

3 years ago

20.10.0

3 years ago

20.9.0

3 years ago

20.8.1

3 years ago

20.6.0

3 years ago

20.7.0

3 years ago

20.8.0

3 years ago

20.2.2

3 years ago

20.2.1

3 years ago

20.3.0

3 years ago

20.4.0

3 years ago

20.5.0

3 years ago

20.2.0

3 years ago

19.0.0

3 years ago

20.0.1

3 years ago

20.0.0

3 years ago

20.1.0

3 years ago

18.2.2

3 years ago

18.2.1

3 years ago

18.2.0

3 years ago

18.1.0

3 years ago

18.0.1

3 years ago

18.0.0

3 years ago

17.6.0

3 years ago

17.5.0

3 years ago

17.5.1

3 years ago

17.4.1

3 years ago

17.4.0

3 years ago

17.3.0

3 years ago

17.2.0

3 years ago

17.1.0

3 years ago

17.0.1

3 years ago

17.0.0

3 years ago

16.1.5

4 years ago

16.1.4

4 years ago

16.1.3

4 years ago

16.1.2

4 years ago

16.1.1

4 years ago

16.1.0

4 years ago

16.0.0

4 years ago

15.2.0

4 years ago

15.1.0

4 years ago

15.0.0

4 years ago

14.6.4

4 years ago

15.0.0-beta.0

4 years ago

14.6.3

4 years ago

14.6.2

4 years ago

14.6.1

4 years ago

14.6.0

4 years ago

14.5.5

4 years ago

14.5.4

4 years ago

14.5.3

4 years ago

14.5.2

4 years ago

14.5.1

4 years ago

14.5.0

4 years ago

14.4.1

4 years ago

14.4.0

4 years ago

14.3.1

4 years ago

14.2.3

4 years ago

14.2.2

4 years ago

14.2.1

4 years ago

4.2.1

4 years ago

14.2.0

4 years ago

14.1.0

4 years ago

14.0.0

4 years ago

14.0.0-beta.1

4 years ago

14.0.0-beta.0

4 years ago

13.18.3

4 years ago

13.18.2

4 years ago

13.18.1

4 years ago

13.18.0

4 years ago

13.17.2

4 years ago

13.17.1

4 years ago

13.17.0

4 years ago

13.16.5

4 years ago

13.16.4

4 years ago

13.16.3

4 years ago

13.16.2

4 years ago

13.16.1

4 years ago

13.16.0

4 years ago

13.15.0

4 years ago

13.14.0

4 years ago

13.13.2

4 years ago

13.13.1

4 years ago

13.13.0

4 years ago

13.12.1

4 years ago

13.12.0

4 years ago

13.11.0

4 years ago

13.10.0

4 years ago

13.9.0

4 years ago

13.8.0

4 years ago

13.7.0

4 years ago

13.6.0

4 years ago

13.4.2

4 years ago

13.5.0

4 years ago

13.4.1

4 years ago

13.4.0

4 years ago

13.3.0

4 years ago

13.2.1

4 years ago

13.2.0

4 years ago

13.1.0

4 years ago

13.0.2

4 years ago

13.0.1

4 years ago

13.0.0

4 years ago

13.0.0-beta.1

4 years ago

12.22.5

4 years ago

12.22.0

4 years ago

12.23.0

4 years ago

12.21.5

4 years ago

12.20.5

4 years ago

12.20.4

4 years ago

12.20.3

4 years ago

12.20.2

4 years ago

12.20.1

4 years ago

12.20.0

4 years ago

12.19.0

4 years ago

12.18.5

4 years ago

12.18.4

4 years ago

12.18.3

4 years ago

12.18.2

4 years ago

12.18.1

4 years ago

12.17.1

4 years ago

12.17.0

4 years ago

12.16.0

4 years ago

12.15.0

4 years ago

12.14.0

4 years ago

12.13.1

4 years ago

12.13.0

4 years ago

12.12.5

4 years ago

12.12.6

4 years ago

12.12.4

4 years ago

12.12.3

4 years ago

12.12.1

4 years ago

12.12.2

4 years ago

12.11.3

5 years ago

12.12.0

5 years ago

12.11.2

5 years ago

12.11.1

5 years ago

12.11.0

5 years ago

12.10.1

5 years ago

12.10.0

5 years ago

12.9.0

5 years ago

12.8.1

5 years ago

12.8.0

5 years ago

12.7.0

5 years ago

12.6.1

5 years ago

12.5.0

5 years ago

12.6.0

5 years ago

12.4.0

5 years ago

12.2.1

5 years ago

12.3.0

5 years ago

12.2.0

5 years ago

12.1.1

5 years ago

12.1.0

5 years ago

12.0.0

5 years ago

11.2.0

5 years ago

11.1.1

5 years ago

11.1.0

5 years ago

11.0.0

5 years ago

10.9.0

5 years ago

10.8.0

5 years ago

10.7.0

5 years ago

10.6.2

5 years ago

10.6.1

5 years ago

10.6.0

5 years ago

10.5.0

5 years ago

10.4.0

5 years ago

10.3.0

5 years ago

10.2.0

5 years ago

10.1.0

5 years ago

10.0.0

5 years ago

9.1.2

5 years ago

9.1.1

5 years ago

9.1.0

5 years ago

9.0.0

5 years ago

8.2.0

5 years ago

8.1.0

5 years ago

8.0.0

5 years ago

7.0.0

5 years ago

6.1.0-beta.1

5 years ago

6.1.0-beta.0

5 years ago

6.0.0

5 years ago

5.13.0

5 years ago

5.12.0

5 years ago

5.11.0

5 years ago

5.10.0

5 years ago

5.9.1

5 years ago

5.8.1

5 years ago

5.9.0

5 years ago

5.8.0

5 years ago

8.5.0

5 years ago

5.7.0

5 years ago

5.6.0

5 years ago

5.5.0

5 years ago

5.4.1

5 years ago

5.4.0

5 years ago

5.3.0

5 years ago

5.2.0

5 years ago

5.1.0

5 years ago

5.0.0

5 years ago

4.0.0

5 years ago

3.2.3

5 years ago

3.3.3

5 years ago

3.2.2

5 years ago

3.2.1

5 years ago

3.2.0

5 years ago

3.1.0

5 years ago

3.0.1

5 years ago

3.0.0

5 years ago

2.3.1

5 years ago

2.3.0

5 years ago

2.2.0

5 years ago

2.1.2

5 years ago

2.1.1

5 years ago

2.1.0

5 years ago

2.0.0

5 years ago

1.2.0

5 years ago

1.1.0

5 years ago

1.0.10

5 years ago

1.0.9

5 years ago

1.0.8

5 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago

0.0.1

5 years ago