pabon / freshsales-sdk
Requires
- php: ^7.4 | ^8.0
- ext-json: *
- placetopay/base: ^0.2.157
- placetopay/tangram: ^0.5.2
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- nesbot/carbon: ^2.53
- phpunit/phpunit: ^9.5
- symfony/var-dumper: ^5.3
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。