wladoseid / gainnet-api

与 gainnet.ru 和 onenet.ru API 交互的服务

1.0.8 2022-02-04 10:12 UTC

This package is auto-updated.

Last update: 2024-09-04 15:49:01 UTC


README

由 Wladoseid(wladoseid@gmail.com) 开发,该公司为“中心互联网申请”有限责任公司

安装

执行命令

composer require wladoseid/gainnet-api:1.0.8

适用于网站管理员

获取服务实例

$gainnet = new \Gainnet\API\GainnetService();
$httpClient = $gainnet->webmaster();

如果您需要指定特殊的主机

$gainnet = new \Gainnet\API\GainnetService();
$httpClient = $gainnet->setOnenetHost('https://onenet.ru')->webmaster();

为了添加线索,需要调用以下函数之一:1) 传递对象

// Заполняем объект
$addLeadObject = new \Gainnet\API\Webmaster\AddLeadObject();
$addLeadObject->setId(1); // Иднтификатор (API) вашей учетной записи
$addLeadObject->setName('Борис Грачевский');
$addLeadObject->setPhone('+7 987 654-32-10');
$addLeadObject->setText('Как разделить квартиру на троих?');
$addLeadObject->setSource('https://my.site');
// Передаем объект в функцию,
// используйте try {} cache() {}
// так как в случае ошибки со стороны сервера будет выбрашена ошибка
try {
    $httpClient->addLeadFromObject($addLeadObject);
} catch (\Gainnet\API\Exceptions\GainnetHttpException $exception) {
    echo 'Error: ' . $exception->getMessage(); die();
}
// в случае успеха вернется true

2) 传递数组

// Заполняем объект
$addLeadArray = [
    'id' => 1, // Иднтификатор (API) вашей учетной записи
    'name' => 'Борис Грачевский',
    'phone' => '+7 987 654-32-10',
    'text' => 'Как разделить квартиру на троих?',
    'source' => 'https://my.site',
];
// Передаем массив в функцию,
// используйте try {} cache() {}
// так как в случае ошибки со стороны сервера будет выбрашена ошибка
try {
    $httpClient->addLeadFromArray($addLeadArray);
} catch (\Gainnet\API\Exceptions\GainnetHttpException $exception) {
    echo 'Error: ' . $exception->getMessage(); die();
}
// в случае успеха вернется true

适用于拍卖参与者

获取服务实例

$gainnet = new \Gainnet\API\GainnetService();
$httpClient = $gainnet->client()->setApiKey('...');

如果您需要指定特殊的主机

$gainnet = new \Gainnet\API\GainnetService();
$httpClient = $gainnet->setGainnetHost('https://gainnet.ru')->client()->setApiKey('...');

函数

1) 获取余额

try {
    $balance = $httpClient->balance();
}  catch (\Gainnet\API\Exceptions\GainnetHttpException $exception) {
    echo 'Error: ' . $exception->getMessage(); die();
}

2) 设置价格 [demo]

try {
    $httpClient->setPrice(
        1, // идентификатор лида
        100 // цена (целое число) 
    );
}  catch (\Gainnet\API\Exceptions\GainnetHttpException $exception) {
    echo 'Error: ' . $exception->getMessage(); die();
}
// В случае успеха вернет true

3) 获取线索列表

try {
    $leads = $httpClient->leads(
        100, // Статус лидов [опционально]
        '2021-10-10 22:10:15', // Дата от какого числа [опционально]
        '2021-10-11 22:10:15', // Дата до какого числа [опционально]
        50 // лимит записей [опционально]
    );
}  catch (\Gainnet\API\Exceptions\GainnetHttpException $exception) {
    echo 'Error: ' . $exception->getMessage(); die();
}

响应

array(1) {
  [0]=>
  array(12) {
    ["id"]=>
    int(123456)
    ["phone"]=>
    string(11) "79998765432"
    ["name"]=>
    string(14) "Татьяна"
    ["text"]=>
    string(117) "Как оплатить долг по капитальному ремонту?"
    ["sold_price"]=>
    int(160)
    ["reason"]=>
    NULL
    ["status"]=>
    string(17) "Новый лид"
    ["type"]=>
    string(8) "Фикс"
    ["region"]=>
    string(18) "Краснодар"
    ["sold_date"]=>
    string(27) "2020-12-30T13:38:45.000000Z"
    ["route_show"]=>
    string(34) "https://gainnet.ru/my/lead/123456"
    ["is_test"]=>
    bool(false)
  }
}

4) 更新线索状态(可能的状态 101 - 新线索,102 - 工作线索)

try {
    $httpClient->update(
        1, // id лида
        101, // статус лида
        'Не отвечает на звонки' // причина [указывать в случае 900 статуса]
    );
}  catch (\Gainnet\API\Exceptions\GainnetHttpException $exception) {
    echo 'Error: ' . $exception->getMessage(); die();
}
// В случае успеха вернет true