tunr/slimsurveys-api-php

本软件包最新版本(v1.0.1)的许可证信息不可用。

是SlimSurveys API的REST客户端。

v1.0.1 2013-09-03 14:17 UTC

This package is not auto-updated.

Last update: 2024-09-24 05:00:10 UTC


README

##SlimSurveys API PHP客户端

SlimSurveys是一个微调查平台,帮助人们通过30秒或更短的调查提高调查完成率和放弃率。

此存储库包含用于与SlimSurveys API接口的PHP客户端库。

API密钥

首先,访问SlimSurveys网站请求API密钥。

https://slimsurveys.com/developer

安装

在您的composer.json文件中需要SlimSurveys客户端。

"tunr/slimsurveys-api-php": "1.0.*"

然后运行composer install以获取代码并更新自动加载器。

创建客户端

现在有了您可靠的API密钥,创建客户端实例。

$key = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX';

$slimClient = new \SlimSurveys\Client($key);

然后可以在客户端实例上调用API方法。

$response = $slimClient->getMySurveys();

身份验证

仅仅将API密钥传递给客户端构造函数只能让你走这么远,因为大多数API请求都需要一个身份验证令牌。使用您的SlimSurveys用户账户电子邮件和密码,您可以请求一个身份验证令牌,如下所示...

$email    = 'lamehandle@somewhere.com';
$password = 'XXXXXXXX';

$response = $slimClient->getAuthToken($email, $password);

$data  = $response->getData();
$token = $data->token;

目前身份验证令牌没有过期,因此它可以存储并用于多个请求。一旦您有了令牌,它可以通过构造函数传递给客户端。

$key   = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX';
$token = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX';

$slimClient = new \SlimSurveys\Client($key, $token);

您还可以使用令牌设置器将令牌传递给现有的客户端,如果客户端创建时不可用。

$slimClient->setToken($token);

响应

以下方法可用于检查API方法的响应。

$response->getInfo();
$response->getCode();
$response->isCode($expectedCode);

示例

$response = $slimClient->getAuthToken($email, $password);

if ($response->isCode(200))
{
    $data  = $response->getData();
    $token = $data->token;
}
else
{
    // things might not be as awesome as you expected
}

数据

数据获取器允许您返回由SlimSurveys API返回的JSON数据的格式化版本。数据默认返回为对象,但可以通过传递true给数据获取器以返回关联数组。

$data = $response->getData(true);

$token = $data['token'];

调试

由于每个API方法都返回整个客户端实例,因此简单的var_dump($response)可以提供有关API请求配置的一些可见性。

$response = $slimClient->getMySurveys();

var_dump($response);

API方法

以下API方法可用。它们的顺序与API文档中相同,因此您可以轻松地将方法与官方文档匹配起来。

身份验证
getAuthToken($email, $password)
答案
getSurveyAnswers($surveyId, $uvid = null)

getSurveyAnswersByUid($surveyUid, $uvid = null)

getQuestionAnswers($questionId)

createQuestionAnswer($questionId, $answer, $milestone = '', $uvid = '')
身份
createSurveyIdentity($surveyId, $uvid, $data)

createSurveyIdentityByUid($surveyUid, $uvid, $data)
图片
getImage($imageId)

createQuestionImage($questionId, $file, $position = 0)

deleteImage($imageId)
选项
getOption($optionId)

createQuestionOption($questionId, $value = null, $position = 0)

updateOption($optionId, $value, $position = 0)

deleteOption($optionId)
问题
getQuestion($questionId)

createSurveyQuestion($surveyId, $type, $text = '', $position = 0)

createSurveyQuestionByUid($surveyUid, $type, $text = '', $position = 0)

updateQuestion($questionId, $text = '', $position = 0)

deleteQuestion($questionId)
结果
getSurveyResults($surveyId)

getSurveyResultsByUid($surveyUid)

getQuestionResults($questionId)
调查
getSurvey($surveyId)

getSurveyByUid($surveyUid)

getSurveyEmbed($surveyId)

getSurveyEmbedByUid($surveyUid)

getUserSurveys($userId)

getUserSurveysByUsername($username)

getMySurveys()

createSurvey(
    $name, 
    $description = null,
    $refresh     = false,
    $repeat      = false,
    $metadata    = null,
    $callback    = null
)

updateSurvey(
    $surveyId,
    $name, 
    $description = null,
    $refresh     = false,
    $repeat      = false,
    $metadata    = null,
    $callback    = null
)

updateSurveyByUid(
    $surveyUid,
    $name, 
    $description = null,
    $refresh     = false,
    $repeat      = false,
    $metadata    = null,
    $callback    = null
)

copySurvey($surveyId)

copySurveyByUid($surveyUid)

deleteSurvey($surveyId)
用户
me()

register($email, $password, $notifications = true)

getPasswordResetToken($email)

resetPassword($token, $password, $confirm)

updateSurveyTab($surveyId)

updateSurveyTabByUid($surveyUid)

updateVanityName($name)

updatePrivacy($flag)

updateEmail($email)

updateThanks($facebookUrl = null, $twitterUrl = null, $websiteUrl = null)

updatePassword($password, $confirm)

deleteSurveyTab()

需求

  • PHP 5.3+
  • cURL

注意:如果使用类前缀而不是命名空间,则PHP < 5.3的版本也可以工作。