api-video/statuspage-php

api.video 的 StatusPage.io 客户端

1.0.0 2019-07-31 08:56 UTC

This package is auto-updated.

Last update: 2024-09-20 16:56:55 UTC


README

badge

badge

badge

api.video 是一个即时编码的 API,便于即时播放,提升观众在多设备和平台上的观看体验。您可以在几分钟内在线直播或点播视频。

apivideo/statuspage-php

StatusPage php 客户端由 api.video 提供。

安装

此软件包可通过 Composer 安装和自动加载。

$ composer require apivideo/statuspage-php

快速开始

找到您的 StatusPage 账户页面,以查找您的 API 密钥和其他 ID。

代码自动补全适用于库中的每个对象,以简化开发。

<?php

use ApiVideo\StatusPage\Client;

$client = new Client('2c04e0b2-8c4a-b941-de65-012a61b7f6ea'); // User API key 

foreach ($client->components as $component) {
    echo $component->id.': '.$component->name."\n";
}
$client->components->setStatus('7mst16b00d59', 'partial_outage');

foreach ($client->metrics as $metric) {
    echo $metric->id.': '.$metric->name."\n";
}
$client->metrics->addPoint('gu1kkk8qe0dl', 12.5);

完整 API

如果您在 StatusPage 账户中有多个页面,在操作指标或组件之前,您需要选择页面。

最好设置默认页面 ID,以避免 API 请求猜测。

客户端实例化

<?php

use ApiVideo\StatusPage\Client;

$client = new Client(
    '2c04e0b2-8c4a-b941-de65-012a61b7f6ea', // User API key
    [
        'page-id' => 'zujkhu4kgivg',        // (optional) Default page ID
    ]
);

// You can also set the default page later.
$client->setDefaultPageId('zujkhu4kgivg');

组件 API

<?php

use ApiVideo\StatusPage\Client;
use ApiVideo\StatusPage\Model\Component;

$client = new Client(/*..*/);

foreach ($client->components as $component) {
    // Available properties:
    echo $component->id;
    echo $component->name;
    echo $component->description;
    echo $component->created_at;
    echo $component->status;
    echo $component->updated_at;
    echo $component->group;
    echo $component->group_id;
    echo $component->automation_email;
    echo $component->only_show_if_degraded;
    echo $component->page_id;
    echo $component->position;
    echo $component->showcase;
}

$component = $client->components->create([
    'name'        => 'Component name',
    'description' => 'This is an example component',
]);
echo $component->id; // a5xc8i1a03ki
$component = $client->components->update('a5xc8i1a03ki', ['description' => 'Another description']);
$component = $client->components->setStatus('a5xc8i1a03ki', Component::STATUS_MAINTENANCE); // Avoid using magic strings
$client->components->delete('a5xc8i1a03ki');

指标 API

<?php

use ApiVideo\StatusPage\Client;

$client = new Client(/*..*/);

foreach ($client->metrics as $metric) {
    echo $metric->id;
    echo $metric->name;
    echo $metric->created_at;
    echo $metric->updated_at;
    echo $metric->most_recent_data_at;
    echo $metric->backfilled;
    echo $metric->decimal_places;
    echo $metric->metrics_display_id;
    echo $metric->suffix;
    echo $metric->tooltip_description;
    echo $metric->y_axis_hidden;
    echo $metric->y_axis_max;
    echo $metric->y_axis_min;
}

$metric = $client->metrics->create([
    'name'        => 'Component name',
    'description' => 'This is an example component',
]);
echo $metric->id; // 9zwc0v70t29n
$metric = $client->metrics->update('9zwc0v70t29n', ['description' => 'Another description']);

// Metric points
$client->metrics->addPoint('9zwc0v70t29n', random_int(0, 100));
$metric = $client->metrics->get('9zwc0v70t29n');
echo $metric->name.' (last updated on '.date(DATE_ATOM, $metric->most_recent_data_at).')';
print_r($client->metrics->getPoints('9zwc0v70t29n'));

$client->metrics->delete('9zwc0v70t29n');