service-direct/php-partners-sdk

一个简单的PHP库,用于与服务直接合作伙伴API集成

v1.1.1 2024-07-10 19:35 UTC

README

概述

该SDK的目的是简化我们使用PHP的合作伙伴的集成过程。

有关我们API的完整文档请在此处查看

使用Composer安装此库

composer require service-direct/php-partners-sdk

响应代码

API使用不同的HTTP状态码来更好地反映调用结果。这些响应代码包括200、400、404等。如果您的系统对不同的响应代码敏感,则可以在每个响应URL中添加suppress_response_codes变量(例如/partners/request?suppress_response_codes),以始终返回一个200 HTTP状态码。

预期的HTTP状态码将在x-original-status-code头中返回。

端点

SDK集成了以下API端点

  • 电话

    • POST /partners/request - 请求电话竞标
    • POST /partners/request/{request_id}/accept - 接受电话竞标
      • 只有当电话号码打算被拨打时,才应请求此API端点。
    • POST /partners/request/{request_id}/sold_price - 报告由不同买家(除服务直接之外)支付的售价
  • 表格

    • POST /partners/forms/ping - 请求表格竞标
    • POST /partners/forms/{lead_token}/post - 接受表格竞标
    • POST /partners/forms/{lead_token}/sold_price - 报告丢失的竞标获胜价格

以及以下动态变化的公开端点,以获取服务直接最新的可用性

示例

SDK包括6个示例文件,以帮助您完成集成。在示例文件中,将占位符值替换为您的私钥以开始测试。

use ServiceDirect\Partners\PartnersClient;

$key = '[YOUR_KEY_HERE]';

$client = new PartnersClient($key);
  • 请联系服务直接以获取您的私钥。
  • 此字符串必须保持隐藏,并像处理任何其他私钥或密码一样处理。
  • 您的密钥在电话和表格端点是必需的
  • 在所有示例文件中,test_mode的可选值设置为true

电话

使用此SDK,生成电话并希望将其卖给服务直接的发布合作伙伴可以通过向POST /partners/request提交包含服务类别和ZIP代码的请求来向服务直接的客户请求竞标。

参见[1] examples/request-bid.php

然后,如果我们的客户的竞标令人满意,合作伙伴可以接受竞标,并通过向POST /partners/request/{request_id}/accept发送请求来接收一个转发跟踪电话号码,该号码将呼叫者路由到获胜的客户。

参见[2] examples/request-accept.php

然而,如果除了服务直接之外的其他购买(服务直接)赢得了您的潜在客户,您可以通过发送请求至POST /partners/request/{request_id}/sold_price来通知服务直接售价。

参见[3] examples/request-sold-price.php

表格

使用此API,生成表单潜在客户的发布合作伙伴,并希望将这些潜在客户出售给服务直接,可以通过提交带有服务类别、邮政编码和TCPA同意的请求至POST /partners/forms/ping来向服务直接客户请求报价。

参见[4] examples/form-ping.php

然后,如果我们的客户的报价令人满意,合作伙伴可以通过发送请求至POST /partners/forms/{lead_token}/post接受报价并收到确认消息。

参见[5] examples/form-post.php

如果我们的客户报价不满意,合作伙伴可以通过发送请求至POST /partners/forms/{lead_token}/post报告获胜报价并收到确认消息。

参见[6] examples/form-sold-price.php

通用

发布合作伙伴可以使用我们的支持端点来确定他们的最佳集成选项

响应(两种选项)的格式如下

{
  "data": {
    "service_categories": [
      {
        "id":"20",
        "industry_master_id":"4",
        "name":"Plumbing"
      },
      {
        "id":"2",
        "industry_master_id":"1",
        "name":"Air Conditioning"
      },
      ...
    ],
    "master_service_categories": [
      /* not for this SDK purposes */
      ...
    ]
  }
}
  • 您在这个邮政编码范围内有当前覆盖吗?在这个邮政编码中可用的最大CPL是多少?
    • 发送API请求至https://api.servicedirect.com/cpl/industry/{service_category_id}

服务类别2 - 空调的响应

{
  "data": {
    "industry_name": "Air Conditioning",
    "zip_codes": [
      {
        "zip_code":"32957",
        "max_cpl":"65.00"
      },
      {
        "zip_code":"32958",
        "max_cpl":"65.00"
      },
      {
        "zip_code":"32962",
        "max_cpl":"65.00"
      },
      ...
    ]
  }
}

如需进一步帮助,请联系support@servicedirect.com