Custom Subscriptions

API for managing Custom Subscription

List Custom Subscriptions

GET https://www.magloft.com/api/portal/v1/custom_subscriptions/:app_id

This endpoint returns a list of all custom subscriptions that belong to the magazine

Path Parameters

NameTypeDescription

app_id

String

App ID (Publication) to scope this request for.

{
  "id": 1234,
  "order_id": "sub-12345",
  "source": "custom",
  "user_id": "FF063C1C-C5F3-4749-A7FC-7DCF91B3278F",
  "active": true,
  "start_date": "2018-01-24",
  "end_date": "2018-01-24",
  "created_at": "2018-01-24 10:55:35",
  "reader": {
    "id": 12345,
    "email": "user@magloft.com",
    "custom_data": {
      "gender": "male"
    },
    "confirmed": true
  },
  "status": "updated",
  "password": "pass1234"
}

List Custom Subscriptions Page

GET https://www.magloft.com/api/portal/v1/custom_subscriptions/:app_id/page/:page

This endpoint returns a page list of all custom subscriptions that belong to the magazine

Path Parameters

NameTypeDescription

app_id

String

App ID (Publication) to scope this request for.

page

Integer

The page number to list

Query Parameters

NameTypeDescription

per_page

Integer

Number of items to show per page

order_by

Symbol

Field to sort results by

order_dir

Symbol

Direction (asc, desc) to sort results by

filter

String

Text filter to search results by

{
  "total": 1,
  "page": 1,
  "records": [
    {
      "id": 1234,
      "order_id": "sub-12345",
      "source": "custom",
      "user_id": "FF063C1C-C5F3-4749-A7FC-7DCF91B3278F",
      "active": true,
      "start_date": "2018-01-24",
      "end_date": "2018-01-24",
      "created_at": "2018-01-24 10:55:35",
      "reader": {
        "id": 12345,
        "email": "user@magloft.com",
        "custom_data": {
          "gender": "male"
        },
        "confirmed": true
      },
      "status": "updated",
      "password": "pass1234"
    }
  ]
}

Get Custom Subscription

GET https://www.magloft.com/api/portal/v1/custom_subscriptions/:app_id/(:email)(:id)

This endpoint returns a specific custom subscription by id

Path Parameters

NameTypeDescription

app_id

String

App ID (Publication) to scope this request for.

email

String

Email address of the reader account

id

Integer

Subscription ID

{
  "id": 1234,
  "order_id": "sub-12345",
  "source": "custom",
  "user_id": "FF063C1C-C5F3-4749-A7FC-7DCF91B3278F",
  "active": true,
  "start_date": "2018-01-24",
  "end_date": "2018-01-24",
  "created_at": "2018-01-24 10:55:35",
  "reader": {
    "id": 12345,
    "email": "user@magloft.com",
    "custom_data": {
      "gender": "male"
    },
    "confirmed": true
  },
  "status": "updated",
  "password": "pass1234"
}

Create Custom Subscription

POST https://www.magloft.com/api/portal/v1/custom_subscriptions/:app_id

This endpoint creates a new custom subscription and returns the saved custom subscription

Path Parameters

NameTypeDescription

app_id

String

App ID (Publication) to scope this request for.

Request Body

NameTypeDescription

email

String

Email address of the reader account

password

String

Plain-text password of Reader account shown only when creating a new subscription without specifying a password

start_date

Grape::ApiDate

Date from which the subscription should be valid (inclusive)

end_date

Grape::ApiDate

Date until which the subscription should be valid (inclusive)

active

Virtus::Attribute::Boolean

Boolean indicating whether the subscription is currently active

custom_data

Hash

Hash containing custom data (string key, string value) of a reader

firstname

String

First name of the Custom Subscription's reader

lastname

String

Last name of the Custom Subscription's reader

confirmation

Virtus::Attribute::Boolean

Boolean to indicate whether to send a confirmation email

upsert

Virtus::Attribute::Boolean

Boolean to indicate whether to update existing custom subscription if the email is registered

classification_ids

Array

{
  "id": 1234,
  "order_id": "sub-12345",
  "source": "custom",
  "user_id": "FF063C1C-C5F3-4749-A7FC-7DCF91B3278F",
  "active": true,
  "start_date": "2018-01-24",
  "end_date": "2018-01-24",
  "created_at": "2018-01-24 10:55:35",
  "reader": {
    "id": 12345,
    "email": "user@magloft.com",
    "custom_data": {
      "gender": "male"
    },
    "confirmed": true
  },
  "status": "updated",
  "password": "pass1234"
}

Update Custom Subscription

PUT https://www.magloft.com/api/portal/v1/custom_subscriptions/:app_id/:id

This endpoint updates a specific custom subscription by id and returns the updated custom subscription

Path Parameters

NameTypeDescription

app_id

String

App ID (Publication) to scope this request for.

id

Integer

Subscription ID

Request Body

NameTypeDescription

start_date

Grape::ApiDate

Date from which the subscription should be valid (inclusive)

end_date

Grape::ApiDate

Date until which the subscription should be valid (inclusive)

active

Virtus::Attribute::Boolean

Boolean indicating whether the subscription is currently active

custom_data

Hash

Hash containing custom data (string key, string value) of a reader

{
  "id": 1234,
  "order_id": "sub-12345",
  "source": "custom",
  "user_id": "FF063C1C-C5F3-4749-A7FC-7DCF91B3278F",
  "active": true,
  "start_date": "2018-01-24",
  "end_date": "2018-01-24",
  "created_at": "2018-01-24 10:55:35",
  "reader": {
    "id": 12345,
    "email": "user@magloft.com",
    "custom_data": {
      "gender": "male"
    },
    "confirmed": true
  },
  "status": "updated",
  "password": "pass1234"
}

Delete Custom Subscription

DELETE https://www.magloft.com/api/portal/v1/custom_subscriptions/:app_id/:id

This endpoint deletes a specific custom subscription by id and returns an empty response with status 204

Path Parameters

NameTypeDescription

app_id

String

App ID (Publication) to scope this request for.

id

Integer

Subscription ID

null

Export Custom Subscriptions

GET https://www.magloft.com/api/portal/v1/custom_subscriptions/:app_id/export.csv

This endpoint returns a csv document that contains a spreadsheet of all custom subscriptions

Path Parameters

NameTypeDescription

app_id

String

App ID (Publication) to scope this request for.

null

Last updated