PPV Object

monetization
password
api

Methods: create | update | delete | list | addmedia | deletemedia | listmedia | addbuyer | updatebuyer | deletebuyer | listbuyers | contacts | updatecontacts

create

Create subscription

Input parameters

Required parameters:

  • String apikey (API key)
  • String name (Subscription name)
  • String subscription_type (Options: subscription - pay per view access, password - password access, collection - registration form)

Required parameters (partly optional):

  • Integer period (Period of subscription in days)
  • Date access_expire (Access expiration date as YYYY-MM-DD, e.g., 2018-12-31. You can also send exact time as YYYY-MM-DD H:i:s)

Optional parameters:

  • String type (Subscription type) Options: single, group. Default: single
  • String description (Description of subscription)
  • String collection_type (Only for subscription_type=collection. Options: collect - allow access when viewer fills in the form, protect - check viewer in Customer list)
  • Double cost (Subscription cost)
  • Date access_start (Access start date as YYYY-MM-DD, e.g., 2018-12-31)
  • Integer activation (Number of password activations)
  • String materials (Additional materials)
  • String buy_redirect_url (URL where user redirects after purchasing)
  • String custom_url (Link for email letter)
  • Boolean ip_recovery (Recover session by IP)
  • Boolean device_ban (Ban concurrent multi-device access)
  • Boolean buyer_commission (Set commission of payment gateway to customer)
  • Boolean downloadable_origin (Allow to download video at the end. Allowed only with DRM)
  • Integer preview (Preview time before payment request. Allowed only with DRM)
  • Boolean watermark (Turn on watermark. Allowed only with DRM)
  • Boolean watermark_email (Show customer email as watermark. Allowed only with DRM)
  • Boolean watermark_name (Show customer name as watermark. Allowed only with DRM)
  • Boolean watermark_ip (Show customer IP address as watermark. Allowed only with DRM)

Output parameters

  • String Code (Subscription code)
  • String Name (Subscription name)
  • String Type (Subscription type)
  • Double Cost (Subscription cost)
  • Integer Period (Period of subscription)
  • DateTime AccessExpirationDate (Access expiration date)
  • String Description (Description of subscription)

Example request:

Text
https://boomstream.com/api/ppv/create?apikey=[API_KEY]&name=ppv&type=group&cost=100.00&period=1&description=some%20text

Example response:

XML
<Response>
  <Items>
    <Item>
      <Code>X150Kl1d</Code>
      <Name>ppv</Name>
      <Type>group</Type>  
      <Cost>100.00</Cost>
      <Period>1</Period>
      <AccessExpirationDate>2018-12-12 23:59:00</AccessExpirationDate>
      <Description>some text</Description>
    </Item>
  </Items>
  <Status>Success</Status>
</Response>

update

Update information about subscription

Input parameters

Required parameters:

  • String apikey (API key)
  • String code (Subscription code)

Optional parameters:

  • String name (Subscription name)
  • Double cost (Subscription cost)
  • String collection_type (Only for subscription_type=collection. Options: collect, protect)
  • Integer period (Period of subscription)
  • Date access_expire (Access expiration date as YYYY-MM-DD)
  • Date access_start (Access start date as YYYY-MM-DD)
  • String description (Description of subscription)
  • Integer activation (Number of password activations)
  • String materials (Additional materials)
  • String buy_redirect_url (URL where user redirects after purchasing)
  • String custom_url (Link for email letter)
  • Boolean ip_recovery (Recover session by IP)
  • Boolean device_ban (Ban concurrent multi-device access)
  • Boolean buyer_commission (Set commission of payment gateway to customer)
  • Boolean downloadable_origin (Allow to download video at the end)
  • Integer preview (Preview time before payment request)
  • Boolean watermark (Turn on watermark)
  • Boolean watermark_email (Show email as watermark)
  • Boolean watermark_name (Show name as watermark)
  • Boolean watermark_ip (Show IP as watermark)

Output parameters

  • String Name (Subscription name)
  • Double Cost (Subscription cost)
  • Integer Period (Period of subscription)
  • DateTime AccessExpirationDate (Access expiration date)
  • String Description (Description of subscription)

Example request:

Text
https://boomstream.com/api/ppv/update?apikey=[API_KEY]&code=X150Kl1d&name=payperview&cost=500.00&period=10&description=text

Example response:

XML
<Response>
  <Items>
    <Item>
      <Code>X150Kl1d</Code>
      <Name>payperview</Name>
      <Cost>500.00</Cost>
      <Period>10</Period>
      <AccessExpirationDate>2018-12-12 23:59:00</AccessExpirationDate>
      <Description>text</Description>
    </Item>
  </Items>
  <Status>Success</Status>
</Response>

delete

Delete subscription

Input parameters

Required parameters:

  • String apikey (API key)
  • String code (Subscription code)

Example request:

Text
https://boomstream.com/api/ppv/delete?apikey=[API_KEY]&code=X150Kl1d

Example response:

XML
<Response>
  <Status>Success</Status>
</Response>

list

Get list of subscriptions

Input parameters

Required parameters:

  • String apikey (API key)

Output parameters

  • String Name (Subscription name)
  • String Code (Subscription code)
  • Double Cost (Subscription cost)
  • Integer Period (Period of subscription)
  • DateTime AccessExpirationDate (Access expiration date)
  • Integer AmountFiles (Number of files)
  • String Type (Subscription type)
  • String AddedDate (Creation date)
  • String Description (Description)

Example request:

Text
https://boomstream.com/api/ppv/list?apikey=[API_KEY]

Example response:

XML
<Response>
  <Items>   
    <Item>
      <Name>ppv</Name>
      <Code>X150Kl1d</Code>
      <Cost>100.00</Cost>
      <Period>100.00</Period>
      <AccessExpirationDate>2018-12-12 23:59:00</AccessExpirationDate>
      <AmountFiles>4</AmountFiles>
      <Type>group</Type>
      <AddedDate>2015-12-12 23:23:23</AddedDate>
      <Description>Test</Description>
    </Item>
  </Items>  
  <Status>Success</Status>
</Response>

addmedia

Add media file to subscription

Input parameters

Required parameters:

  • String apikey (API key)
  • String code (Subscription code)
  • String media (Media code)

Output parameters

  • String Title (Media title)
  • String Code (Media code)
  • String Type (Media type)
  • Integer Width (Video width)
  • Integer Height (Video height)
  • String MediaStatus (Media processing status)
  • Integer Duration (Media duration)
  • String PlayerCode (Player HTML code)
  • String DownloadLink (Download link)
  • Object Poster (Poster information)
  • Array Transcodes (List of transcoded versions)
  • Object Adaptive (Adaptive streaming URLs)
  • Array Screenshots (List of screenshots)

Example request:

Text
https://boomstream.com/api/ppv/addmedia?apikey=[API_KEY]&code=X150Kl1d&media=xxxxxxxx

Example response:

XML
<Response>
  <Medias>
    <Item>
      <Title>Test video</Title>
      <Code>xxxxxxxx</Code>
      <PublishKey></PublishKey>
      <OnlineStatus>False</OnlineStatus>
      <RecordStatus>False</RecordStatus>
      <Concurrent>0</Concurrent>
      <CreationDate>2015-01-29 15:05:58</CreationDate>
      <Type>video</Type>
      <Width>640</Width>
      <Height>480</Height>
      <MediaStatus>Done</MediaStatus>
      <Duration>14</Duration>
      <PlayerCode>&amp;lt;iframe ...... &amp;lt;/iframe&amp;gt;</PlayerCode>
      <DownloadLink>https://bs.boomstream.com/balancer/hash:1234567890/xxxxxxxx.orig</DownloadLink>
      <Poster>
        <Code>xxxxxxxx-a1</Code>
        <Width>640</Width>
        <Height>480</Height>
        <Url>https://bs.boomstream.com/balancer/xxxxxxxx-a1.jpg</Url>
      </Poster>
      <Transcodes>
        <Item>
          <Code>xxxxxxxx-f33ubar5</Code>
          <Title>240p</Title>
          <Width>320</Width>
          <Height>240</Height>
          <PseudoMP4>https://bs.boomstream.com/balancer/xxxxxxxx-f33ubar5.mp4</PseudoMP4>
          <AppleHLS>https://bs.boomstream.com/balancer/xxxxxxxx-f33ubar5/playlist.m3u8</AppleHLS>
        </Item>
      </Transcodes>
      <Adaptive>
        <AppleHLS>https://bs.boomstream.com/adaptive/xxxxxxxx/playlist.m3u8</AppleHLS>
      </Adaptive>
      <Screenshots>
        <Item>
          <Code>xxxxxxxx-a1</Code>
          <Width>640</Width>
          <Height>480</Height>
          <Url>https://bs.boomstream.com/balancer/xxxxxxxx-a1.jpg</Url>
        </Item>
      </Screenshots>
    </Item>
  </Medias>
  <Status>Success</Status>
</Response>

deletemedia

Delete media from subscription

Input parameters

Required parameters:

  • String apikey (API key)
  • String code (Subscription code)
  • String media (Media-file code)

Example request:

Text
https://boomstream.com/api/ppv/deletemedia?apikey=[API_KEY]&code=X150Kl1d&media=xxxxxxxx

Example response:

XML
<Response>
  <Status>Success</Status>
</Response>

listmedia

Get list of media files from subscription

Input parameters

Required parameters:

  • String apikey (API key)
  • String code (Subscription code)

Optional parameters:

  • Integer limit (Items count)
  • Integer offset (Items offset)

Output parameters

Structure identical to addmedia.

Example request:

Text
https://boomstream.com/api/ppv/listmedia?apikey=[API_KEY]&code=X150Kl1d

addbuyer

Add customer to subscription

Input parameters

Required parameters:

  • String apikey (API key)
  • String code (Subscription code)
  • String media (Media-file code)
  • Boolean notification (Send notification to email)

Alternative parameters (one of these is required):

  • String email (Customer's email)
  • String phone (Customer's phone)

Optional parameters:

  • String name (Customer's name)
  • Integer activation (Number of password activations)
  • Date access_start (Access start date as YYYY-MM-DD)
  • Date access_expire (Access expiration date as YYYY-MM-DD)
  • String custom_url (Link for email letter)
  • Boolean use_subscription_custom_url (Use link for email used in subscription)

Output parameters

  • String Email (Customer's email)
  • String Hash (Access password)
  • Integer Period (Subscription period)
  • DateTime AccessStartDate (Access start date)
  • DateTime AccessExpirationDate (Access expiration date)
  • DateTime DatePurchase (Purchase date)

Example request:

Text
https://boomstream.com/api/ppv/addbuyer?apikey=[API_KEY]&code=X150Kl1d&media=xxxxxxxx&email=example@example.com&notification=1

Example response:

XML
<Response>
<Items>
    <Item>
      <Email>example@example.com</Email>
      <Hash>123456789</Hash>
      <Period>30</Period>
      <AccessStartDate>2018-12-11 23:59:00</AccessStartDate>
      <AccessExpirationDate>2018-12-12 23:59:00</AccessExpirationDate>
      <DatePurchase>2015-01-29 15:05:58</DatePurchase>
    </Item>
  </Items>
  <Status>Success</Status>
</Response>

updatebuyer

Update access password

Input parameters

Required parameters:

  • String apikey (API key)
  • String code (Subscription code)
  • String hash (Access password)

Optional parameters:

  • String name (Customer's name)
  • Date access_start (Access start date as YYYY-MM-DD)
  • Date access_expire (Access expiration date as YYYY-MM-DD)
  • Integer activation (Number of password activations)

Example request:

Text
https://boomstream.com/api/ppv/updatebuyer?apikey=[API_KEY]&code=X150Kl1d&hash=12345678&activation=4&access_expire=2018-12-31

Example response:

XML
<Response>
    <Message>Recovery code is updated</Message>
    <Status>Success</Status>
</Response>

deletebuyer

Delete access password

Input parameters

Required parameters:

  • String apikey (API key)
  • String code (Subscription code)
  • String hash (Access password)

Example request:

Text
https://boomstream.com/api/ppv/deletebuyer?apikey=[API_KEY]&code=X150Kl1d&hash=12345678

Example response:

XML
<Response>
    <Message>Recovery code is deleted</Message>
    <Status>Success</Status>
</Response>

listbuyers

List of all customers of subscription

Note: Current version is 1.1. Use &ver=1.1 in the request.

Input parameters

Required parameters:

  • String apikey (API key)
  • String code (Subscription code)
  • String media (Media-file code)

Optional parameters:

  • String email (Filter by email field)

Output parameters

  • String Email (Customer's email)
  • String Hash (Access password)
  • Integer Period (Subscription period)
  • DateTime AccessExpirationDate (Access expiration date)
  • DateTime DatePurchase (Purchase date)

Example request:

Text
https://boomstream.com/api/ppv/listbuyers?apikey=[API_KEY]&code=X150Kl1d&media=xxxxxxxx&email=buyer@example.com&ver=1.1

Example response:

XML
<Response>
  <Items>
    <Item>
      <Email>example@example.com</Email>
      <Hash>123456789</Hash>
      <Period>30</Period>
      <AccessExpirationDate>2018-12-12 23:59:00</AccessExpirationDate>
      <DatePurchase>2015-01-29 15:05:58</DatePurchase>
    </Item>
  </Items>
  <Status>Success</Status>
</Response>

contacts

Show seller's contacts

Input parameters

Required parameters:

  • String apikey (API key)

Output parameters

  • String name (Name of seller)
  • String phone (Phone of seller)
  • String email (Email of shop)
  • String site (Site of shop)
  • String description (Description of shop)

Example request:

Text
https://boomstream.com/api/ppv/contacts?apikey=[API_KEY]

Example response:

XML
<Response>
  <Name>Alex</Name>
  <Phone>+0 000 000 000</Phone>
  <Email/>
  <Site/>
  <Description/>
  <Status>Success</Status>
</Response>

updatecontacts

Update seller's contacts

Input parameters

Required parameters:

  • String apikey (API key)
  • String name (Seller's name)

Required parameters (partly optional):

  • String phone (Phone of seller)
  • String email (Email of seller)

Optional parameters:

  • String site (Site of shop)
  • String description (Description of shop)

Output parameters

  • String name (Name of seller)
  • String phone (Phone of seller)
  • String email (Email of shop)
  • String site (Site of shop)
  • String description (Description of shop)

Example request:

Text
https://boomstream.com/api/ppv/updatecontacts?apikey=[API_KEY]&name=Alex&phone=+0%20000%20000%20000

Example response:

XML
<Response>
  <Name>Alex</Name>
  <Phone>+0 000 000 000</Phone>
  <Email/>
  <Site/>
  <Description/>
  <Message>Updated success</Message>
  <Status>Success</Status>
</Response>