imagex/apexedge-client

Apexedge 库

v1.0.4-beta 2022-11-29 14:03 UTC

README

ApexEdge 是一家构建订阅管理和财务倡导解决方案的公司,旨在帮助人们过上更好的财务生活。您可以在此处阅读完整的API文档 here

可用产品

ApexEdge 提供不同类型的API,每种产品对应一种。此库是为了与 Negotiate 产品一起使用而创建的。

安装

composer require imagex/apexedge-client

快速入门

$client = new \GuzzleHttp\Client([...]);
$apexEdge = new \Apexedge\ApexedgeClient($client, 'api-key');

Negotiate

为了处理协商服务请求,以下API调用作为集成过程的一部分是必需的

获取账单方

“列出所有账单方及所需数据”API将返回

  • 可用于协商的账单方列表
  • 当您附上账单时,处理协商服务请求所需的数据。
$apexEdge->listAllBillers();

您可能希望将返回的响应缓存到您的一侧以减少API调用。因为可取消的账单方和用于处理服务请求所需的数据可能会更改,因此您可能希望每月/每季度进行此API调用以获取最新信息。

获取概率

为了提供最佳的客户体验(有针对性的、有意义的参与和转化),应基于有意义的协商成功概率向您的客户展示行动呼吁。获取概率API调用将提供您进行战略决策所需的数据。

  • 节省率(%)= 平均/预期每月节省的金额,协商到当前账单金额
  • 成功率(%)= 协商成功的概率
  • 平均节省长度(月)= 协商节省的平均持续时间

您的决定:如果比率或节省太低,则不会展示“协商”行动呼吁。

建议每季度调用一次获取概率API,并将结果缓存。您可以选择

  • 按账单方和账单金额获取概率。您提供账单方ID和账单金额(由于效率问题不推荐)
  • 按账单方获取概率。您提供账单方ID。返回概率范围。
  • 所有账单方的概率。为所有账单方返回概率范围。(注意此API还返回“获取账单方”中的所有字段)

    $apexEdge->listAllBillersProbabilities();
    # OR
    $apexEdge->getBillerProbability(biller_id: $biller_id, original_monthly_amount: 1000, );
    

    创建服务请求

    为了创建服务请求,我们必须分两步进行此过程

  • 创建客户账户API。使用此API调用,您将提交一般客户联系信息(姓名、地址等)以建立特定的客户账户。API将返回一个客户ID,用于服务请求。

  • 创建服务请求API

    创建客户账户API

    $account_params = new CustomerAccountParams(...);
    $customer = $apexEdge->createCustomerAccount($account_params);
    

    创建服务请求API

    $service_request_params = new ServiceRequestParams(...);
    $service_request = $apexEdge->createServiceRequest($customer->id, $service_request_params);
    

    服务请求状态

    选项1。API请求检查服务请求的状态

  • 获取状态 - 获取服务请求API

    $service_request = $apexEdge->getServiceRequest($customer_id, $service_request_id);
    

选项2。订阅并通过Webhook接收状态

有关配置Webhook的信息,请参阅以下部分

提交缺少的信息

您可以提交需要完成相关服务请求的信息或数据。

$apexEdge->submitMissingInformation($customer_id, $service_request_id,$missing_information_array);

Webhooks

Webhooks可用来通知您在我们Apexedge平台中发生更改或事件。

您可以在此处阅读有关ApexEdge Webhooks的完整文档。

创建Webhook

$webhook_params = new WebhookParams(...);
$webhook = $apexEdge->createWebhook($webhook_params);

检索Webhook

$webhook = $apexEdge->getWebhook($webhook_id);

更新Webhook

$webhook_params = new WebhookParams(...);
$updated_webhook = $apexEdge->updateWebhook($webhook_id, $webhook_params);

列出所有Webhook

$webhooks = $apexEdge->listAllWebhooks();

删除特定的Webhook

$webhooks = $apexEdge->deleteWebhook($webhook_id);

解析接收到的Webhook

$webhook = new ApexedgeWebhook($received_request_body);
$parsed_webhook = ApexedgeWebhookParser::parse($webhook);

贡献

运行单元测试

./vendor/bin/pest