breinify/brein-engine-api

一个用于通过 Brein Engine API 交换数据的 PHP 库。

1.0.3 2017-01-19 21:28 UTC

README

Breinify API PHP Library

Breinify 的 DigitalDNA API 将基于动态行为、由人驱动的数据直接置于您的指尖。

分步介绍

Breinify 的 DigitialDNA 是什么?

Breinify 的 DigitalDNA API 将基于动态行为、由人驱动的数据直接置于您的指尖。我们认为,在许多情况下,优质用户体验的一个关键组成部分是个性化。在网络上可以轻松地提供独特的体验给每一位访客,但有时您可能会 wonder 为什么这么难。

感谢 Breinify 的 DigitalDNA,您现在能够根据访客的需求调整您的在线存在,并 提供独特的体验。让我们通过一个简单的例子一步一步来。

快速开始

步骤1:配置库

为了使用库,您需要一个有效的 API 密钥,您可以在 https://www.breinify.com 上免费获取。在这个例子中,我们假设您有以下 api-key

772A-47D7-93A3-4EA9-9D73-85B9-479B-16C6

// configure the library
$apiKey = "772A-47D7-93A3-4EA9-9D73-85B9-479B-16C6";
$breinify = new \Breinify\API\Breinify($apiKey);

现在 Breinify 对象已配置了有效的配置。

步骤2:开始使用库

放置活动触发器

支持 DigitalDNA API 的引擎提供了两个端点。第一个端点用于告知引擎关于您的网站访客所执行的活动。这些活动用于理解用户的当前兴趣并推断意图。随着收集到更多活动,它越来越准确,跨越不同的用户和垂直领域。应注意的是,任何个人信息都不会存储在引擎中,因此每个个人的隐私都得到了很好的保护。引擎理解用户执行的多项不同活动,例如,着陆、登录、搜索、项目选择或登出。

// create a user 
$user = new \Breinify\API\BreinUser();
$user.setFirstName("Diane");
$user.setLastName("Keng");
$user.setEmail("diane.keng@breinify.com");

// create an activity
$activity = new \Breinify\API\BreinActivity();
$activity.setUser($user);
$activity->addActivity("login");

// send a request
$breinify->sendActivity($activity);

这就完成了!

放置时间数据触发器

时间智能 API 提供时间触发器和可视化模式,使您能够预测访客的动态活动。目前这包括

  • 当前天气
  • 即将到来的假日
  • 时区
  • 区域事件

它们可以像这样请求

// create a user 
$user = new \Breinify\API\BreinUser();
$user.setEmail("diane.keng@breinify.com");
$user->setLocalDateTime("Sun Dec 25 2016 18:15:48 GMT-0800 (PST)");
$user->setTimezone("America/Los_Angeles");

// create temporalData object and invoke the request
$temporalData = new \Breinify\API\BreinTemporalData();
$result = $breinify->temporalData($temporalData);

更详细的介绍

要求

此库用于将 Brein Engine(更具体地说,API 的端点:活动和查找)集成到给定的基于 PHP 的 Web 平台。该库需要 PHP 5 或更高版本。

与 Brein Engine 通信

与 Brein Engine 的通信可以从后端执行,即

  • 使用文件流(例如,基于 URL 的文件流必须受支持,请参阅 环境和文件流),或
  • 使用 cURL(例如,PHP cURL 模块可用,请参阅 环境和 cURL)。

此外,通信还可以通过客户端注入的 JavaScript 完成。

在前一种情况下,PHP后端基础设施必须允许与Brein Engine通信(即,不应阻止出向的POST流量)。在后一种情况下,客户端可能会阻止与Brein Engine的通信。因此,我们建议使用基于文件流或cURL的后端到后端通信。

故障排除

使用基于文件流的后端调用

如果后端与Brein Engine之间的通信使用文件流,后端必须满足以下要求:

  • 向Brein Engine的POST调用不应被防火墙阻止(即,应该可能进行出向流量),
  • 函数stream_context_createfile_get_contents必须可用(从PHP 4.3.0开始默认可用,请参阅:PHP流上下文文档PHP文件获取内容文档),并且
  • php.ini中将ini参数allow_url_fopen设置为ON(这是默认设置,请参阅:PHP文件系统文档

使用基于cURL的后端调用

如果后端与Brein Engine之间的通信使用cURL,后端必须满足以下要求:

  • 向Brein Engine的POST调用不应被防火墙阻止(即,应该可能进行出向流量),并且
  • cURL模块必须可用,即,必须提供函数curl_initcurl_setoptcurl_execcurl_getinfocurl_close

IDE配置

有关IDE配置的更多信息,请参阅此处