View Source Reydenx.Order (Reyden-X v0.1.1)

Provides methods for working with orders

Summary

Functions

All Orders

Detailed Information about Clicks

Detailed Order Information

View statistics for multiple orders. Click-through statistics for multiple orders.

Detailed Information about Users Online

Order Payments

Detailed Information about Sites

Detailed Information about Views

Types

@type res() ::
  {:error,
   %Reydenx.Model.ResponseError{
     message: term(),
     path: term(),
     status_code: term()
   }}
  | {:ok,
     %Reydenx.Model.Result{
       cache_expires_at: term(),
       cached: term(),
       cursor: term(),
       request_id: term(),
       result: term()
     }}
@type t() :: %Reydenx.Model.Token{
  access_token: term(),
  expires_in: term(),
  token_type: term()
}

Functions

Link to this function

all(token)

View Source (since 0.1.0)
@spec all(token :: t()) :: res()

All Orders

API Documentation

Examples:

### Success:

iex> {:ok, token} = Reydenx.new()
iex> Reydenx.Order.all(token)
{:ok, %Reydenx.Model.Result{
  request_id: "aeB9_Wdm_dnt43gKSU_WXQ1720074136.561463",
  cached: true,
  cache_expires_at: "2024-01-01T10:00:00.049560+00:00",
  cursor: "XXX",
  result: [
    %Reydenx.Model.Order{
      id: 123456,
      created_at: ~U[2024-01-01T10:00:00.049560Z],
      updated_at: ~U[2024-01-01T10:00:00.049560Z],
      uuid: "4f2ba79b-8c36-4651-84ca-ca6cc0df42cf",
      status: "closed",
      ordered_view_qty: 10000,
      price_per_view: 0.1,
      is_autostart: true,
      online_users_limit: 1000,
      tariff_id: 123456,
      platform: "twitch",
      content_type: "stream",
      parameters: %{
        "delay" => false,
        "delay_time" => 0,
        "even_distribution" => false,
        "even_distribution_time" => 0,
        "launch_mode" => "auto",
        "work_mode" => "with-stream"
      },
      extras: %{
        "game_name" => nil,
        "image_url" => "XXX",
        "twitch_channel" => "channel",
        "twitch_id" => 123456
      },
      statistics: nil,
      content_classification_labels: [
        "MatureGame",
        "ViolentGraphic"
      ]
    }
  ]
}}

### Fail:

iex> {:ok, token} = Reydenx.new()
iex> Reydenx.Order.all(token)
{:error, %Reydenx.Model.ResponseError{
  path: "/",
  status_code: 404,
  message: "Not Found"
}}
Link to this function

all(token, cursor)

View Source (since 0.1.0)
@spec all(token :: t(), cursor :: String.t()) :: res()
Link to this function

clicks(token, order_id)

View Source (since 0.1.0)
@spec clicks(token :: t(), order_id :: pos_integer()) :: res()

Detailed Information about Clicks

API Documentation

Examples:

### Success:

iex> {:ok, token} = Reydenx.new()
iex> Reydenx.Order.clicks(token, 123456)
{:ok, %Reydenx.Model.Result{
  request_id: "aE4SaOdwC1to94KdLpnOdA1720076109.665816",
  cached: false,
  cache_expires_at: "2024-01-01T10:00:00.049560+00:00",
  cursor: nil,
  result: [
    %Reydenx.Model.DateQuantity{
      date: "2022-05-30",
      quantity: 30
    }
  ]
}}

### Fail:

iex> {:ok, token} = Reydenx.new()
iex> Reydenx.Order.clicks(token, 123456)
{:error, %Reydenx.Model.ResponseError{
  path: "/",
  status_code: 404,
  message: "Not Found"
}}
Link to this function

details(token, order_id)

View Source (since 0.1.0)
@spec details(token :: t(), order_id :: pos_integer()) :: res()

Detailed Order Information

API Documentation

Examples:

### Success:

iex> {:ok, token} = Reydenx.new()
iex> Reydenx.Order.details(token, 123456)
{:ok, %Reydenx.Model.Result{
  request_id: "DvXr4OjdKgHHrH0NNkmvzw1720075199.128009",
  cached: true,
  cache_expires_at: "2024-01-01T10:00:00.049560+00:00",
  cursor: nil,
  result: %Reydenx.Model.Order{
    id: 123456,
    created_at: ~U[2024-01-01T10:00:00.049560Z],
    updated_at: ~U[2024-01-01T10:00:00.049560Z],
    uuid: "e67d9c84-bced-4a8e-b448-00bbf5c49d29",
    status: "closed",
    ordered_view_qty: 1000,
    price_per_view: 0.2,
    is_autostart: true,
    online_users_limit: 100,
    tariff_id: 123456,
    platform: "twitch",
    content_type: "stream",
    parameters: %{
      "delay" => false,
      "delay_time" => 0,
      "even_distribution" => false,
      "even_distribution_time" => 0,
      "launch_mode" => "manual",
      "work_mode" => "with-stream"
    },
    extras: %{
      "game_name" => nil,
      "image_url" => "XXX",
      "twitch_channel" => "channel",
      "twitch_id" => 123456
    },
    statistics: %{
      "active_time_in_seconds" => 0,
      "average" => %{
        "online" => %{"in_fact" => 0, "in_settings" => 0},
        "session_in_seconds" => 0
      },
      "clicks" => 23,
      "ctr" => 2.1,
      "views" => 1091
    },
    content_classification_labels: []
  }
}}

### Fail:

iex> {:ok, token} = Reydenx.new()
iex> Reydenx.Order.details(token, 123456)
{:error, %Reydenx.Model.ResponseError{
  path: "/",
  status_code: 404,
  message: "Not Found"
}}
Link to this function

multiple(token, stat_type, identifiers)

View Source (since 0.1.0)
@spec multiple(token :: t(), stat_type :: atom(), identifiers :: [pos_integer()]) ::
  res()

View statistics for multiple orders. Click-through statistics for multiple orders.

API Documentation (Views)

API Documentation (Clicks)

Examples:

### Success:

Views:

iex> {:ok, token} = Reydenx.new()
iex> Reydenx.Order.multiple(token, :views, [123456])
{:ok, %Reydenx.Model.Result{
  request_id: "aE4SaOdwC1to94KdLpnOdA1720076109.665816",
  cached: false,
  cache_expires_at: "2024-01-01T10:00:00.049560+00:00",
  cursor: nil,
  result: [
    %Reydenx.Model.IdQuantity{
      id: 123456,
      quantity: 1000
    }
  ]
}}

Clicks:

iex> {:ok, token} = Reydenx.new()
iex> Reydenx.Order.multiple(token, :clicks, [123456])
{:ok, %Reydenx.Model.Result{
  request_id: "aE4SaOdwC1to94KdLpnOdA1720076109.665816",
  cached: false,
  cache_expires_at: "2024-01-01T10:00:00.049560+00:00",
  cursor: nil,
  result: [
    %Reydenx.Model.IdQuantity{
      id: 123456,
      quantity: 35
    }
  ]
}}

### Fail:

iex> {:ok, token} = Reydenx.new()
iex> Reydenx.Order.multiple(token, :views, [123456])
{:error, %Reydenx.Model.ResponseError{
  path: "/",
  status_code: 404,
  message: "Not Found"
}}
Link to this function

online(token, order_id)

View Source (since 0.1.0)
@spec online(token :: t(), order_id :: pos_integer()) :: res()

Detailed Information about Users Online

API Documentation

Examples:

### Success:

iex> {:ok, token} = Reydenx.new()
iex> Reydenx.Order.online(token, 123456)
{:ok, %Reydenx.Model.Result{
  request_id: "aE4SaOdwC1to94KdLpnOdA1720076109.665816",
  cached: false,
  cache_expires_at: "2024-01-01T10:00:00.049560+00:00",
  cursor: nil,
  result: [
    %Reydenx.Model.Online{
      created_at: ~U[2024-01-01T10:00:00.049560Z],
      in_settings: 1000,
      in_fact: 998
    }
  ]
}}

### Fail:

iex> {:ok, token} = Reydenx.new()
iex> Reydenx.Order.online(token, 123456)
{:error, %Reydenx.Model.ResponseError{
  path: "/",
  status_code: 404,
  message: "Not Found"
}}
Link to this function

payments(token, order_id)

View Source (since 0.1.0)
@spec payments(token :: t(), order_id :: pos_integer()) :: res()

Order Payments

API Documentation

Examples:

### Success:

iex> {:ok, token} = Reydenx.new()
iex> Reydenx.Order.payments(token, 123456)
{:ok, %Reydenx.Model.Result{
  request_id: "aE4SaOdwC1to94KdLpnOdA1720076109.665816",
  cached: false,
  cache_expires_at: "2024-01-01T10:00:00.049560+00:00",
  cursor: nil,
  result: [
    %Reydenx.Model.Payment{
      id: 123456,
      created_at: ~U[2024-01-01T10:00:00.049560Z],
      updated_at: ~U[2024-01-01T10:00:00.049560Z],
      payed_at: ~U[2024-01-01T10:00:00.049560Z],
      order_id: 123456,
      amount: 1000.0,
      external_id: "XXX",
      uuid: "e67d9c84-bced-4a8e-b448-00bbf5c49d29",
      receipt: nil
    }
  ]
}}

### Fail:

iex> {:ok, token} = Reydenx.new()
iex> Reydenx.Order.payments(token, 123456)
{:error, %Reydenx.Model.ResponseError{
  path: "/",
  status_code: 404,
  message: "Not Found"
}}
Link to this function

payments(token, order_id, cursor)

View Source (since 0.1.0)
@spec payments(token :: t(), order_id :: pos_integer(), cursor :: String.t()) :: res()
Link to this function

sites(token, order_id)

View Source (since 0.1.0)
@spec sites(token :: t(), order_id :: pos_integer()) :: res()

Detailed Information about Sites

API Documentation

Examples:

### Success:

iex> {:ok, token} = Reydenx.new()
iex> Reydenx.Order.sites(token, 123456)
{:ok, %Reydenx.Model.Result{
  request_id: "aE4SaOdwC1to94KdLpnOdA1720076109.665816",
  cached: false,
  cache_expires_at: "2024-01-01T10:00:00.049560+00:00",
  cursor: nil,
  result: [
    %Reydenx.Model.DomainStat{
      domain: "example.com",
      views: 100,
      clicks: 3,
      ctr: 3.0
    }
  ]
}}

### Fail:

iex> {:ok, token} = Reydenx.new()
iex> Reydenx.Order.sites(token, 123456)
{:error, %Reydenx.Model.ResponseError{
  path: "/",
  status_code: 404,
  message: "Not Found"
}}
Link to this function

views(token, order_id)

View Source (since 0.1.0)
@spec views(token :: t(), order_id :: pos_integer()) :: res()

Detailed Information about Views

API Documentation

Examples:

### Success:

iex> {:ok, token} = Reydenx.new()
iex> Reydenx.Order.views(token, 123456)
{:ok, %Reydenx.Model.Result{
  request_id: "aE4SaOdwC1to94KdLpnOdA1720076109.665816",
  cached: false,
  cache_expires_at: "2024-01-01T10:00:00.049560+00:00",
  cursor: nil,
  result: [
    %Reydenx.Model.DateQuantity{
      date: "2022-05-30",
      quantity: 1000
    }
  ]
}}

### Fail:

iex> {:ok, token} = Reydenx.new()
iex> Reydenx.Order.views(token, 123456)
{:error, %Reydenx.Model.ResponseError{
  path: "/",
  status_code: 404,
  message: "Not Found"
}}