qualiaanalytics / php-api
PHP 封装库,用于与 Qualia 分析 API 交互
1.0.3
2017-12-18 11:06 UTC
Requires
- php: ^5.3|^7.0
- ext-curl: *
- nategood/httpful: *
Requires (Dev)
- phpunit/phpunit: ^4.8 || ^5.0
This package is not auto-updated.
Last update: 2024-09-29 03:47:06 UTC
README
Qualia 分析
PHP 封装库,用于与 Qualia 分析 API 交互
先决条件
- PHP 5.3+
- Composer
安装
Composer
composer require qualiaanalytics/php-api
// Import library from composer require __DIR__ . '/vendor/autoload.php';
使用方法
创建客户端
$client = new \Qualia\Client("YOUR_SURVEY_ID", "API_KEY");
请向客户端构造函数提供 SURVEY_ID 和 API_KEY 参数。
构建请求并提交
$response = \Qualia\Submission\Entry::build($client) ->name("QUESTION_ID", "First Name", "Last Name") ->email("QUESTION_ID", "email@example.com") ->date("QUESTION_ID", "2020-01-02") ->response("QUESTION_ID", "RESPONSE") ->send();
请为每个字段提供问题标识符。可以使用 此辅助方法 获取问题标识符的完整列表
提供唯一的标识符(推荐,可选)
为确保您不发送重复条目,如果您在系统中具有该特定条目的某种标识符,请提供该标识符。这可以是任何东西:订单号、客户号、用户号等。
$response = \Qualia\Submission\Entry::build($client) ->uniqueId("123") ... ->send();
提供条目的语言(推荐,可选)
如果调查启用了多种语言,您可以使用以下语法设置条目的语言,具体取决于您网站的语言。
$response = \Qualia\Submission\Entry::build($client) ... ->language("en") ->send();
如果没有提供,系统将分配默认的调查语言。请注意,如果提供的语言不在调查语言的列表中,将分配默认的调查语言。
允许重复的电子邮件
默认情况下,我们将拒绝重复的电子邮件并抛出 EmailExistsException。但是,如果您想允许提交重复的电子邮件,您可以调用 allowDuplicates() 方法。 请确保您不会太频繁地提交重复的电子邮件,因为这会导致向相同的电子邮件地址发送重复的电子邮件。
$response = \Qualia\Submission\Entry::build($client) ->allowDuplicates() ... ->send();
检索调查的问题标识符
如果您不确定要提供哪些字段,请检索调查中使用的所有问题的完整列表。注意:这将检索所有可用的问题,通常您应该只提供电子邮件、姓名、可能是一次访问的日期以及其他您已收集的相关字段。
$questions = \Qualia\Configuration\Questions::get($client); var_dump($questions); /* [ "surveys": [ [ "name": "Enrollment Survey","key": "enrollment"], [ "name": "Initial Survey","key": "initial_survey"], ], [ key: "QUESTION_ID", name: "Question Name" type: "Question Type", options: [ OPTION_ID: "Option #1 name", OPTION_ID: "Option #2 name", ... ], help: "guidance which method to use" ], [ key: "q_BFmVBf1TSb11xAU0", name: "What's your date of Visit?" type: "date", options: [ ], help: "use date("q_BFmVBf1TSb11xAU0", "2020-01-02") method in API Client. Date Value must be provided in Y-m-d." ], ... ] */
完整示例
这是一个通用的完整配置示例,在大多数情况下都适用。您需要替换大写字母中的字符串。
// Import library from composer require __DIR__ . '/vendor/autoload.php'; // Initialize client $client = new \Qualia\Client("YOUR_SURVEY_ID", "API_KEY"); try { // Create entry $response = \Qualia\Submission\Entry::build($client) ->uniqueId("SOME_ID") ->name("QUESTION_ID", "First Name", "Last Name") ->email("QUESTION_ID", "email@example.com") ->date("QUESTION_ID", "2020-01-02") ->response("QUESTION_ID", "RESPONSE") ->send(); } catch (\Qualia\Exceptions\ConnectionErrorException $e) { // unable to connect to server } catch (\Qualia\Exceptions\EmailExistsException $e) { // echo $e->getEntryId(); // The submitted email already exists in the server. // You may or may not need to handle this in your code.. // By default, we are preventing duplicate submissions, // if you would like to submit it otherwise, call // allowDuplicates() method when building an entry } catch (\Qualia\Exceptions\RequestException $e) { // some other unexpected error // echo $e->getMessage(); }