NAV
json

Authentication

An service expects for the credential to be included in all API requests to the server in a header that looks like the following:

X-API-KEY: XXXXXX

API Document

Get Services GET

{
  "facebook-live/singular": {
    "30mins": 1
  },
  "facebook-live/subscriptions": {
    "3days-3": 1
  }
}

HTTP Request

GET /integrate/services

Response Description

Name Type
facebook-live/singular map[string]number
facebook-live/subscriptions map[string]number

Add Facebook Live Singular Order POST

HTTP Request

POST /integrate/facebook-live/singular

Request Body

Name Type Compulsory Description
link string Y Link to live video
package string Y Package ID (ex: 30mins)
amount number Y Number of needed views (min: 10)

Response Description

Task Object

Add Facebook Live Subscriptions POST

HTTP Request

POST /integrate/facebook-live/subscriptions

Request Body

Name Type Compulsory Description
link string Y Link to facebook profile
package string Y Package ID (ex: 3days-3)
amount number Y Number of needed views (min: 10)

Response Description

Subscription Object

HTTP Request

GET /integrate/facebook-live/subscriptions/:subscriptionID

Parameter Description

Name Type Compulsory Description
subscriptionID number Y Unique subscription id

Response Description

Subscription Object

Get Facebook Live Subscriptions GET

HTTP Request

GET /integrate/facebook-live/subscriptions

{
  "data": [...],
  "pagination": {
    "rows": 10,
    "limit": 5,
    "pageSize": 2
  }
}

Parameter Description

Name Type Compulsory Description
status active, expired N Filter subscription status (default: 'active')
sort createdAt-desc, expireAt-desc, expireAt-asc N Sort subscription results
page number N Number of page (default: 1)
limit number N Number of result limit (default: 25)

Response Description

Name Type Description
data Subscription[] Array of subscriptions
pagination Pagination Pagination result

Update Facebook Live Subscriptions PATCH

HTTP Request

PATCH /integrate/facebook-live/subscriptions/:subscriptionID

Parameter Description

Name Type Compulsory Description
subscriptionID number Y Unique subscription id

Request Body

Name Type Compulsory Description
enabled bool Y Enable / disable subscription
views number Y Number of needed views (min: 1, max: maxViews)
delay number Y Number of needed delay in seconds (min: 60, max: 900)

Response Description

Subscription Object

Get Subscription GET

HTTP Request

GET /integrate/facebook-live/subscriptions/:subscriptionID

Parameter Description

Name Type Compulsory Description
subscriptionID number Y Unique subscription id

Fetch multiple subscriptions by ID(s)

The API allow users to retrieve data from multiple subscriptions by specifying their ID(s) seperated by commas. The response returns details of each subscription in an array format.

Response Description

Subscription Object

Update Facebook Live Subscriptions PATCH

HTTP Request

PATCH /integrate/facebook-live/subscriptions/:subscriptionID

Parameter Description

Name Type Compulsory Description
subscriptionID number Y Unique subscription id

Request Body

Name Type Compulsory Description
enabled bool Y Enable / disable subscription
views number Y Number of needed views (min: 1, max: maxViews)
delay number Y Number of needed delay in seconds (min: 60, max: 900)

Response Description

Subscription Object

Renew Facebook Live Subscriptions POST

HTTP Request

POST /integrate/facebook-live/subscriptions/:subscriptionID/renew

Parameter Description

Name Type Compulsory Description
subscriptionID number Y Unique subscription id

Response Description

Subscription Object

Get Facebook Live Subscriptions Tasks GET

{
  "data": [...],
  "pagination": {
    "rows": 10,
    "limit": 5,
    "pageSize": 2
  }
}

HTTP Request

GET /integrate/facebook-live/subscriptions/:subscriptionID/tasks?page=1&limit=5

Parameter Description

Name Type Compulsory Description
subscriptionID number Y Unique subscription id
page number N Number of page
limit number N Number of result limit

Response Description

Name Type Description
data Task[] Array of tasks
pagination Pagination Pagination result

Get Task GET

HTTP Request

GET /integrate/tasks/:taskID

Parameter Description

Name Type Compulsory Description
taskID number Y Unique task id

Fetch multiple tasks by ID(s)

The API allow users to retrieve data from multiple tasks by specifying their ID(s) seperated by commas. The response returns details of each task in an array format.

Response Description

Task Object

Webhooks

Webhooks are requests from RUSHH servers to an HTTP(s) endpoint of your choice sent when certain events have occurred on your account. These requests POST an event object containing a data payload for the triggering action to an endpoint URL.

Verify events are sent from RUSHH

To ensure the authenticity of incoming webhook requests, our service provides an X-Signature header in each webhook payload.

  1. Extract the X-Signature header from the incoming request and capture the raw request body.
  2. Using the API Key from website as the key, compute the HMAC SHA-256 hash of the request body.

Webhook Request

POST {WEBHOOK_ENDPOINT}

{
  "event": "task.create",
  "data": {
    // ...
  },
  "timestamp": 1690000000
}
Name Type Description
event string Event name
data object Object associated with the triggered event.
timestamp number The unix timestamp the request was sent.

Supported events

Event Name Trigger Data
task.create Task has been created Task Object
task.update Task has been updated Task Object

API Reference

Task Object

{
  "taskID": 100,
  "subscriptionID": 0,
  "facebookID": "4",
  "facebookName": "Mark Zuck",
  "description": "Hello world",
  "link": "https://www.facebook.com/4/xxxxx",
  "currentViews": 25,
  "views": 50,
  "charges": 50,
  "status": "LIVE",
  "createdAt": "2022-04-01 00:00:00",
  "updatedAt": "2022-04-01 00:00:00"
}
Name Type Description
taskID number Unique task id
subscriptionID number Subscription id (return 0 if value does not exists)
facebookID string Facebook ID
facebookName string Facebook Name
description string Live video description
link string Link to live video
currentViews string Numer of current views
views string Number of order views
charges string Number of charges
status string LIVE, LIVE_STOPPED, LIVE_DELETED, TIMEOUT
createdAt string Creation date and time in YYYY-MM-DD HH:mm:ss format
updatedAt string Updation date and time in YYYY-MM-DD HH:mm:ss format

Subscription Object

{
  "subscriptionID": 100,
  "enabled": true,
  "facebookID": "4",
  "facebookName": "Mark Zuck",
  "views": 50,
  "maxViews": 50,
  "livePerDay": 3,
  "liveCount": 1,
  "isLive": false,
  "charges": 300,
  "expireAt": "2022-01-04 00:00:00",
  "createdAt": "2022-01-01 00:00:00",
  "updatedAt": "2022-01-01 00:00:00"
}

Response Description

Name Type Description
subscriptionID number Unique subscription id
enabled bool Subscription status
facebookID string Facebook id
facebookName string Facebook name
views number Number of views
maxViews number Number of maximum views
livePerDay number Number of maximum live per day
liveCount number Number of live count today
isLive boolean Facebook live status
charges number Number of charges
expireAt string Expiration date and time in YYYY-MM-DD HH:mm:ss
createdAt string Creation date and time in YYYY-MM-DD HH:mm:ss
updatedAt string Updation date and time in YYYY-MM-DD HH:mm:ss

Pagination Object

{
  "rows": 100,
  "pageSize": 10,
  "limit": 10
}

Response Description

Name Type Description
rows number Number of rows
pageSize number Number of page size
limit number Number of result limit