imagex / apexedge-client
Requires
- php: ^8.1
- guzzlehttp/guzzle: ^6.5.8
- juststeveking/http-status-code: ^2.0
- nesbot/carbon: 3.x-dev
Requires (Dev)
- pestphp/pest: 2.x-dev
This package is auto-updated.
Last update: 2023-07-29 02:34:02 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