pabon/freshsales-sdk

V1.0 2022-11-28 16:01 UTC

This package is not auto-updated.

Last update: 2024-09-17 23:20:17 UTC


README

用于连接 Freshsale API 的软件开发套件

安装

您应该添加 PlacetoPay 仓库

{
    "repositories": [
        {
            "type": "composer",
            "url": "https://dev.placetopay.com/repository"
        }
    ]
}

然后,您可以通过 composer 安装此包

composer require placetopay/freshsales-sdk

使用方法

第一件事是创建 Gateway 类的实例,并将凭据(令牌、URL)作为数组传递到参数中。示例

return new Gateway([
    'token' => 'mdwkdwkdwkwnk123',
    'url' => 'https://placetopay...',
]);

可用方法

createLead()

要创建线索,您必须从 Gateway 类的实例调用 createLead() 方法,并将 LeadTransaction 类的实例作为参数传递,该实例接收包含请求字段的数组。示例

$response = $gateway->createLead(new LeadTransaction([
    'full_name' => 'juan doe',
    'email' => 'juan.doe@test.com',
    'mobile_number' => '3006719234',
    'company' => ['name' => 'Evertec Inc'],
    'job_title' => 'TI',
    'medium' => 'Portal autogestión',
    'id_lead' => '8019988769',
    'emails' => [],
    'work_number' => '3053347566',
    'address' => 'Cll 45 #50',
    'city' => 'Medellin',
    'state' => 'Antioquia',
    'zipcode' => '04',
    'subscription_status' => ['Correct'],
    'country' => 'Colombia',
    'lead_stage_id' => 2,
    'lead_reason_id' => 2,
    'lead_source_id' => 2,
    'campaign_id' => 1,
    'keyword' => 'example',
    'time_zone' => 'UTF USD',
    'facebook' => 'JuanPa...',
    'twitter' => '@juan.pa',
    'linkedin' => 'no se',
    'territory_id' => '3',
    ])
);

viewLead()

要查看线索,您必须从 Gateway 类的实例调用 viewLead() 方法,并将 LeadTransaction 类的实例作为参数传递,该实例接收包含 'id_lead' 以查看的数组以及可选的 'include' 以查看附加信息。示例

$data = new LeadTransaction([
    'id_lead' => 8019986178,
    'include' => 'creater',
]);

$response = $gateway->viewLead($data);

deleteLead()

要删除线索,您必须从 Gateway 类的实例调用 deleteLead() 方法,并将 LeadTransaction 类的实例作为参数传递,该实例接收包含要删除的 'id_lead' 的数组。示例

$data = new LeadTransaction([
    'id_lead' => 8019986178,
]);

$response = $gateway->deleteLead($data);

forgetLead()

要忘记线索,您必须从 Gateway 类的实例调用 forgetLead() 方法,并将 LeadTransaction 类的实例作为参数传递,该实例接收包含要忘记的 'id_lead' 的数组。示例

$data = new LeadTransaction([
    'id_lead' => 8019986178,
]);

$response = $gateway->forgetLead($data);

bulkDeleteLeads()

要批量删除线索,您必须从 Gateway 类的实例调用 bulkDeleteLeads() 方法,并将 LeadTransaction 类的实例作为参数传递,该实例接收包含要删除的 'selected_ids' 的数组。示例

$data = new LeadTransaction([
    'selected_ids' => [8020036255, 8020036256],
]);

$response = $gateway->bulkDeleteLeads($data);

cloneLead()

要克隆线索,您必须从 Gateway 类的实例调用 cloneLead() 方法,并将 LeadTransaction 类的实例作为参数传递,该实例接收包含要克隆的 'id_lead' 的数组。示例

$data = new LeadTransaction([
    'id_lead' => 8019986178,
]);

$response = $gateway->cloneLead($data);

updateLead()

要更新线索,您必须从 Gateway 类的实例调用 updateLead() 方法,并将 LeadTransaction 类的实例作为参数传递,该实例接收包含请求字段和要更新的 'id_lead' 的数组。示例

$response = $gateway->updateLead(new LeadTransaction([
    'id_lead' => '8019988769',
    'full_name' => 'juan doe',
    'email' => 'juan.doe@test.com',
    'mobile_number' => '3006719234',
    'company' => ['name' => 'Evertec Inc'],
    'job_title' => 'TI',
    'medium' => 'Portal autogestión',
    'emails' => [],
    'work_number' => '3053347566',
    'address' => 'Cll 45 #50',
    'city' => 'Medellin',
    'state' => 'Antioquia',
    'zipcode' => '04',
    'subscription_status' => ['Correct'],
    'country' => 'Colombia',
    'lead_stage_id' => 2,
    'lead_reason_id' => 2,
    'lead_source_id' => 2,
    'campaign_id' => 1,
    'keyword' => 'example',
    'time_zone' => 'UTF USD',
    'facebook' => 'JuanPa...',
    'twitter' => '@juan.pa',
    'linkedin' => 'no se',
    'territory_id' => '3',
    ])
);

convertLead()

重要:您还必须为此操作获得授权。

要转换线索,您必须从 Gateway 类的实例调用 convertLead() 方法,并将 LeadTransaction 类的实例作为参数传递,该实例接收包含请求字段和要转换的 'id_lead' 的数组。示例

$response = $gateway->convertLead(new LeadTransaction([
    'id_lead' => '8019988769',
    'first_name' => 'Juan',
    'last_name' => 'Pabon',
    'email' => 'juan.pabon@evertecinc.com',
    'mobile_number' => '3006719234',
    'company' => ['name' => 'Evertec Inc'],
    'job_title' => 'TI',
    'medium' => 'Portal autogestión',
]));

listAllLeads()

重要:您还必须为此操作获得授权。

要列出所有线索,您必须从 Gateway 类的实例调用 listAllLeads() 方法,并将 LeadTransaction 类的实例作为参数传递,该实例接收包含 'id_view' 以克隆的数组。示例

$data = new LeadTransaction([
    'id_view' => 4,
]);

$response = $gateway->listAllLeads($data);

listAllLeadFields()

重要:目前必须将 LeadTransaction 实例作为参数传递,即使它没有定义的值。

要列出所有线索字段,您必须从 Gateway 类的实例调用 listAllLeadFields() 方法,并将 LeadTransaction 类的实例作为参数传递,该实例接收可选的包含 'include' 以查看附加信息的数组。示例

$data = new LeadTransaction([
    'include' => 'field_group',
]);

$response = $gateway->listAllLeadFields($data);

listAllActivities()

要列出所有活动,您必须从 Gateway 类的实例调用 listAllActivities() 方法,并将 LeadTransaction 类的实例作为参数传递,该实例接收包含要列出所有活动的 'id_lead' 的数组。示例

$data = new LeadTransaction([
    'id_lead' => 8020040473,
]);

$response = $gateway->listAllActivities($data);

响应

使用每种可用方法获得的结果都属于一个“状态”类型的实体,该实体被整合了Placetopay 'Base'包的项目所理解。它包括:状态、原因、消息和日期。

{
  +status: "OK"
  +reason: "00"
  +message: "{"message":"0 clientes potenciales eliminados."}"
  +date: "2022-11-24T16:25:39+00:00"
}

要获取只状态

$response->status

要获取只原因

$response->reason

要获取只消息

$response->message

要获取只日期

$response->date

要从消息中获取某些特定数据,必须解码消息属性的JSON并访问所需的数据属性。

示例

json_decode($response->message)->lead->id   //To get the id of a created lead

重要

  • 某些功能需要授权才能使用,即账户管理员必须允许账户用户提供的令牌使用它们。
  • 请记住,必须将LeadTransaction实例作为参数传递给可用方法,以避免异常或错误。
  • 在请求数据中可以单独传递first_name和last_name字段,或者定义full_name字段,该字段以第一个单词作为first_name,以最后一个单词作为last_name。

有关Freshsale的API的更多信息,请参阅文档这里