SHIFT72 API Documentation

Services

The SHIFT72 API is grouped into a number of areas of use. Developers can use this reference page to navigate to areas of interest.

  • User API - User login and registration
  • Meta API - Provides descriptions for films and TV
  • Geo API - Provides geo location information
  • Pricing API - Provides multi currency pricing and region controls
  • Shopping API - Provides a transactional shopping service
  • Content API - Provides content ingestion and playback services
  • Reporting API - Provides sales reporting services
  • License API - Provides license authorization services
  • Webhooks API - Set up integrations which subscribe to certain events from your SHIFT72 platform.

OpenAPI

We’re starting to move toward using OpenAPI for documentation. This is a work in progress, at the moment only a few APIs are documented.

Authentication

Authentication is achieved using the domain of the site that you own. For example, our demo site https://store.shift72.com is the endpoint used for api access. Think of this domain name as a ‘username’ when it comes to using the api. You also need to supply an api key, this will authenticate the requests as needed. Not all requests require authentication.

Example Request


curl -i 'https://store.shift72.com/services/users/auth/sign_up' \
     -d 'user[email]=me@email.com' \
     -d 'user[password]=password' \
     -X POST
curl -i 'https://store.shift72.com/services/users/auth/sign_in' \
     -H 'Content-Type: application/json;charset=UTF-8' \
     -d '{ "user": {
            "email":"user@example.com",
            "password":"123",
            "remember_me":false }
        }'

Response

HttpStatus: 200
{  
  "auth_token":"3007b63f9947fad76cfc3347b1d47a",
  "account":{  
    "user_id":2,
    "email":"admin@store.shift72.com",
    "name":"Admin User",
    "users":[  
      {  
        "id":2,
        "email":"admin@store.shift72.com",
        "name":"Admin User",
        "avatar_url":null,
        "access_code":null,
        "account_admin":null,
        "dob":null
      }
    ],
    "bypass_cache":true
  }
}

Error Handling

Errors will use HTTP status codes. In some cases a reason will be supplied.