wladoseid/gainnet-api

Service for interacting with gainnet.ru and onenet.ru APIs

1.0.8 2022-02-04 10:12 UTC

This package is auto-updated.

Last update: 2024-06-04 15:16:21 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