# Примеры реализации API интеграций

{% content-ref url="/pages/xezinyLKmXQezqaRKnGk" %}
[Основы](/dlya-razrabotchikov/javascript-api/osnovy.md)
{% endcontent-ref %}

Token - Токен для взаимодействия с API (Получить можно в разделе <https://app.cleverapp.pro/settings>)

**Дополнительные данные**

*bot\_id* - внутренний ID бота&#x20;

*contact\_id* - ID контакта в списке "Контакты"&#x20;

*tag* - значение тега value - значение переменной&#x20;

<mark style="color:red;">\*</mark>*name* - имя переменной&#x20;

<mark style="color:red;">\*</mark>**применяется для переменных пользователя**

## Получение данных списка контактов

{% hint style="info" %}
**Применяется GET-запрос**
{% endhint %}

```javascript
<? 
function removegetContacts($token) {
  global $token; // доступ к глобальной переменной $token
  $apiUrl = 'https://watbot.ru/api/v1/getContacts?api_token=' . $token . '';
    // Создаем новый cURL ресурс
    $ch = curl_init();
    // Устанавливаем настройки cURL
    curl_setopt($ch, CURLOPT_URL, $apiUrl);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    // Выполняем запрос
    $response = curl_exec($ch);
    // Закрываем cURL ресурс
    curl_close($ch);
    // Обрабатываем ответ
    if ($response === false) {
        // В случае ошибки
        echo 'Ошибка при получении контактов.';
    } else {
        // В случае успеха
        // Преобразуем полученные данные из JSON в ассоциативный массив
        $contacts = json_decode($response, true);
        
        // Выводим данные в формате JSON
        echo json_encode($contacts);
    }
}
// Вызываем функцию removeTagFromContact
removegetContacts($token);
?> 
```

## Удаление тега для контакта

{% hint style="warning" %}
**Применяется POST-запрос**
{% endhint %}

```javascript
<?
function removeTagFromContact($token, $contact_id, $tag) {
  global $token; // доступ к глобальной переменной
  $apiUrl = 'https://watbot.ru/api/v1/detachTagFromContact?api_token=' . $token . '&contact_id=' . $contact_id . '&name=' .$tag.'';
    // Создаем новый cURL ресурс
    $ch = curl_init();
    // Устанавливаем настройки cURL
    curl_setopt($ch, CURLOPT_URL, $apiUrl);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    // Выполняем запрос
    $response = curl_exec($ch);
    // Закрываем cURL ресурс
    curl_close($ch);
    // Обрабатываем ответ
    if ($response === false) {
        // В случае ошибки
        echo 'Ошибка при удалении тега контакта.';
    } else {
        // В случае успеха
        // Преобразуем полученные данные из JSON в ассоциативный массив
        $contacts = json_decode($response, true);
        
        // Выводим данные в формате JSON
        echo json_encode($contacts);
    }
}
// Вызываем функцию removeTagFromContact
removeTagFromContact($token, $contact_id, $tag);
?>
```

## Получение списка тегов контакта

{% hint style="info" %}
**Применяется GET-запрос**
{% endhint %}

```javascript
<?
function getContactTags($token, $contact_id) {
  global $token; //доступ к глобальной переменной
  $apiUrl = 'https://watbot.ru/api/v1/getContactTags?contact_id=' . $contact_id . '&api_token=' . $token . '';
    // Создаем новый cURL ресурс
   $ch = curl_init();
    // Устанавливаем настройки cURL
    curl_setopt($ch, CURLOPT_URL, $apiUrl);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    // Выполняем запрос
  $response = curl_exec($ch);
    // Закрываем cURL ресурс
    curl_close($ch);
    // Обрабатываем ответ
    if ($response === false) {
        // В случае ошибки
        echo 'Ошибка при получении тегов контакта.';
    } else {
        // В случае успеха
        // Преобразуем полученные данные из JSON в ассоциативный массив
       $contact = json_decode($response, true);
        
        // Выводим данные в формате JSON
        echo json_encode($contact);
    }
}
// Вызываем функцию getContactTags
getContactTags($token, $contact_id);
?>
```

## Получение списка переменных пользователя

{% hint style="info" %}
**Применяется GET-запрос**
{% endhint %}

```javascript
<?
function getContactVariables($contact_id) {
global $token; //доступ к глобальной переменной
  $apiUrl = "https://watbot.ru/api/v1/getContactVariables?api_token=" . $token . "&contact_id=" . $contact_id;
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $apiUrl);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($ch);
  curl_close($ch);
  if ($response === false) {
      echo 'Ошибка при получении списка переменных пользователя.';
  } else {
      $variables = json_decode($response, true);
  }
}
//Вызываем функцию getContactVariables
getContactVariables($contact_id);
?>
```

## Создание или обновление переменной

{% hint style="warning" %}
**Применяется POST-запрос**
{% endhint %}

```javascript
<?
function setContactVariable($contact_id, $name, $value) {
global $token; //доступ к глобальной переменной
  $apiUrl = "https://watbot.ru/api/v1/setContactVariable?api_token=" . $token . "&contact_id=" . $contact_id."&name=".$name."&value=".$value;
  $data = array(
    "contact_id" => $contact_id,
    "name" => $name,
    "value" => $value);
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $apiUrl);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_POST, true);
  curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
  $response = curl_exec($ch);
  curl_close($ch);
  if ($response === false) {
      echo 'Ошибка при обновлении или создании переменной пользователя.';
  } else {
      $result = json_decode($response, true);
  }
}
//Вызываем функцию setContactVariables 
setContactVariable($contact_id, $name, $value);
?>
```

## Удаление переменной

{% hint style="warning" %}
**Применяется POST-запрос**
{% endhint %}

```javascript
<?
function deleteContactVariable($contact_id, $name) {
global $token; //доступ к глобальной переменной
  $apiUrl = "https://watbot.ru/api/v1/deleteContactVariable?api_token=" . $token . "&contact_id=" . $contact_id . "&name=" . $name;
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $apiUrl);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
  $response = curl_exec($ch);
  curl_close($ch);
  if ($response === false) {
      echo 'Ошибка при удалении переменной пользователя.';
  } else {
      $result = json_decode($response, true);
  }
}
//Вызываем функцию deleteContactVariables
deleteContactVariable($contact_id, $name);
?>
```

{% hint style="success" %}
**Раздел будет дополняться**
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.cleverapp.pro/dlya-razrabotchikov/dokumentaciya-i-rabota-s-api/primery-realizacii-api-integracii.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
