Skip to content

Instantly share code, notes, and snippets.

@icqparty
Last active February 28, 2016 18:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save icqparty/8fd8189ea4365858d2ad to your computer and use it in GitHub Desktop.
Save icqparty/8fd8189ea4365858d2ad to your computer and use it in GitHub Desktop.
  1. Внесение Лида в СЛГ через АПИ приема Лидов

Для внесения Лида в СЛГ через АПИ приема Лидов, необходимо отправить POST-запрос на URL:

http://leadroi.ru/api/lead/add

В теле запроса должен содержаться JSON-массив параметров, сформированный по следующему шаблону:

{
    "auth":{
        "key":"[key]",
        "token":"[token]"
    },    
    "fields":{
        "[name1]":"[value1]",
        "[name2]":"[value2]",
        "[name3]":"[value3]",
        …
        "[nameN]":"[valueN]"
    }
}

В шаблоне используются следующие ключи:

[key] - УИД тематики Лида – выдается вашим менеджером [token] - ваш уникальный идентификатор (УИД) – выдается вашим менеджером при подключении вас к системе

[nameN] - наименование параметра Лида

[valueN]- значение параметра Лида

В случае успешного внесения Лида в СЛГ, будет возвращен ответ вида:

{
    "status":0,
    "message":"Ваша заявка принята",
    "id":"45443"
}

В случае ошибки при указании УИД, вернется ответ вида:

{
    "status":1,
    "message":"Ключ не верен"
}

В случае ошибки валидации какого-либо поля, вернется ответ вида:

{
    "status":1,
    "message":"Электронная почта: Заполнено не верно"
}

Пример внесения Лида в СЛГ через АПИ приема Лидов на PHP

<?php

  $key=2;  
  $token=234;
  
  $array_post=array(
    'auth'=]array(
        'key'=>$key,
        'token'=>$token
    ),
    'fields'=>array(
        'fio'=>'Иванов Иван Иванович',
        'phone'=>'+7(920)9809939',
        'email'=>'example@site.com'
    )
  );
   
  $body_post=json_encode($array_post);
  
  $url='http://leadroi.ru/api/lead/add';
  
  if( $curl = curl_init() ) {
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $body_post);
    $result = json_decode(curl_exec($curl));
   
    if($result['status']>0){
        echo "Ошибка";
    }else{
         echo "Успешно: ID лида:".$result['id'];         
    }
    
    curl_close($curl);
  }
?>

2.Получение списка полей Лида в СЛГ через АПИ

Для получения списка полей Лида, необходимо выполнить GET-запрос с параметрами auth[key] и auth[service_id] на URL:

http://leadroi.ru/api/lead/fileds?auth[key]=23423&auth[token]=0pbds9n8sgtvp09d8

Все возвращенные в списке поля обязательны к указанию в запросе на внесение Лида в СЛГ. В случае отсутствия данных, при условии, что это не противоречит условиям валидации, допускается не указывать значение параметра Лида.

Пример запроса получения списка полей Лида

<?php

$response=file_get_content('http://leadroi.ru/api/lead/fields?auth[key]=3&auth[token]=0pdms98yhvd09f8gt');

file_get_content(json_decode($response));

?>

Пример ответа на запрос получения списка полей Лида:

{
"fio":{
    "type":"text",
    "placeholder":"Фио",
    "title":"Фио",
    "mask":null,
    "value":null,
    "validator":{
    "required":true
},
"autocomplete":null
},
    "email":{
    "type":"text",
    "placeholder":"Элетронная почта",
    "title":"Элетронная почта",
    "mask":null,
    "value":null,
    "validator":{
    "required":true
},
"autocomplete":null
},
"phone":{
    "type":"text",
    "placeholder":"Телефон",
    "title":"Телефон",
    "mask":"+79999999999",
    "value":null,
    "validator":{
    "required":true
},
"autocomplete":null
},
"city_id":{
    "type":"text",
    "placeholder":"Город",
    "title":"Город",
    "mask":null,
    "value":null,
    "validator":{
    "required":true
},
"autocomplete":"/location/city"
},
"region_id":{
    "type":"text",
    "placeholder":"Регион",
    "title":"Регион",
    "mask":null,
    "value":null,
    "validator":{
    "required":true
},
"autocomplete":"/location/region"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment