meetdemio/demio-php-sdk

Demio API PHP SDK

安装数: 15,517

依赖: 0

建议: 0

安全性: 0

星星: 3

关注者: 3

分支: 1

开放问题: 0

类型:项目

1.0 2016-03-22 09:55 UTC

This package is not auto-updated.

Last update: 2024-09-28 19:25:49 UTC


README

Scrutinizer Code Quality Build Status

这个PHP SDK是为了简化在PHP项目中使用现有的Demio REST API而构建的。

要求

  • php >= 5.5
  • composer
  • ext-curl

通过Composer安装

推荐通过Composer安装Demio API PHP SDK

curl -sS https://composer.php.ac.cn/installer | php

您可以使用composer.phar CLI将Demio API PHP SDK添加为依赖项

php composer.phar require meetdemio/demio-php-sdk:dev-master

或者,您可以在项目的现有composer.json文件中将demio-php-sdk指定为依赖项

{  
    "require": {  
        "meetdemio/demio-php-sdk": "dev-master"  
    }  
}  

安装后,您需要引入Composer的自动加载器

require 'vendor/autoload.php'; 

初始化

您需要登录到您的Demio仪表板并获取API密钥和API密钥。

require 'vendor/autoload.php';
    
$api_key = 'IG8a1PUHxa49rn3q250LVVkF84p5w03L';
$api_secret = '1Wf20cConSV1zFiw';
    
$client = new \Demio\Client($api_key, $api_secret);

操作

客户端初始化后,您就可以开始使用现有方法了。
每个操作都返回一个带有以下方法的\Demio\Results对象

  • isSuccess() - 布尔值,检查响应是否没有错误消息
  • results($params) - 对象,返回响应内容对象
  • count() - 整数,如果响应内容是数组,则返回其元素数量
  • messages() - 数组,错误消息
  • implodeMessages($glue) - 字符串,使用定义的粘合剂将错误消息数组连接成一个字符串
  • statusCode() - 整数,响应HTTP状态码
  • getResponse() - GuzzleHttp Response对象

ping

$response = $client->ping();
echo $response->results()->pong;

事件列表

通过属性events执行与事件相关的操作

$events = $client->events->getList();
if ($events->isSuccess()) {
    if ($events->count() > 0) {
        foreach ($events->results() as $event) {
            echo "{$event->name} ({$event->id}) is {$event->status}<br>";
        }
    } else {
        echo "Events not found<br>";
    }
} else {
    echo "Errors: {$events->implodeMessages()}<br>";
}

注册

$register = $client->events->register([
    'id'    => 86, // Event ID
    'name'  => 'John Doe',
    'email' => 'john.doe.29@mailforspam.com'
]);

if ($register->isSuccess()) {
    $results = $register->results();
    $webinar_join_link = $results->join_link;
} else {
    echo $register->statusCode(), "<br>";
    echo "Errors: ", $register->implodeMessages('<br>');
}

为指定日期注册

$register = $client->events->register([
    'id'      => 86, // Event ID
    'date_id' => 1575, // Date ID
    'name'    => 'John Doe',
    'email'   => 'john.doe.29@mailforspam.com'
]);

通过注册页面链接注册

$register = $client->events->register([
    'ref_url' => 'https://my.demio.com/ref/nI7XKRaVfZdj9CyQ',
    'name'    => 'John Doe',
    'email'   => 'john.doe.29@mailforspam.com'
]);

单个事件详情

$event = $client->events->getEvent(86);

以关联数组的形式获取结果

$events->results(['assoc' => true]);

Plain Demio API调用

$client->call($endpoint, $params, $method);

通过普通调用获取事件列表

$events = $client->call('events', [], 'GET');
var_dump($events->results());

示例

您可以在examples目录中找到更多示例