Примеры РНР для нашего API

Материал из wiki app24.online
Перейти к навигации Перейти к поиску


Сама интеграция через АПИ - https://api.app24.online/docs/

Разработчики должны создать APP ID для своих приложений

PUT - Запрос для получения токена (getTokens)

$link = 'https://api.app24.online/tokens'; //Формируем URL для запроса

/** Соберем данные для запроса */

$data = [

'email' => 'myemail@mydomain.ru',

'password' => '1298um230er98w',

'app_id' => 'app_1234_1',

];

$ch = curl_init($url);

// отправка PUT запроса.

curl_setopt_array($curl, array(

    CURLOPT_URL => $link.'?'.http_build_query($data),
    
    CURLOPT_RETURNTRANSFER => true,
    
    CURLOPT_CUSTOMREQUEST => 'PUT',
));

$response = curl_exec($ch);

curl_close($curl);

/**


* Данные получаем в формате JSON, поэтому, для получения читаемых данных,

* нам придётся перевести ответ в формат, понятный PHP

*/

$response = json_decode($response, true);

$cabinet_user_id = $response['cabinet_user_id']; //ID пользователя в ЛК

$access_token = $response['access_token']; //Access токен

$access_token_end_time = $response['access_token_end_time']; // окончание времени жизни Access токена

$refresh_token = $response['refresh_token']; //Refresh токен

$refresh_token_end_time = $response['refresh_token_end_time']; // окончание времени жизни Refresh токена

# ---------------------------------------------------------------------------

PUT - Запрос на обновление access, refresh токенов (refreshToken)

$url_to = curl_init('https://api.app24.online/refresh-tokens/user/912/type/app_912_1');

$refresh_token = '2y$10qeCKubxGyPanuONchMMUe7MiQos6GcLXFk8gmmUfLzwPobQTP1C';

curl_setopt($url_to, CURLOPT_HTTPHEADER,

    array(

        "Refresh: {$refresh_token}",

    )

);

// отправка PUT запроса.

curl_setopt($ch, CURLOPT_PUT, true);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));

$response = curl_exec($ch);

curl_close($curl);

/**

* Данные получаем в формате JSON, поэтому, для получения читаемых данных, * нам придётся перевести ответ в формат, понятный PHP

*/

$response = json_decode($response, true);

$cabinet_user_id = $response['cabinet_user_id']; //ID пользователя в ЛК

$access_token = $response['access_token']; //Access токен

$access_token_end_time = $response['access_token_end_time']; // окончание времени жизни Access токена

$refresh_token = $response['refresh_token']; //Refresh токен

$refresh_token_end_time = $response['refresh_token_end_time']; // окончание времени жизни Refresh токена

# ---------------------------------------------------------------------------

GET - Запрос на проверку валидности токенов (checkToken)

$url_to = curl_init('https://api.app24.online/me');

$access_token = '2y$10qeCKubxGyPanuONchMMUe7MiQos6GcLXFk8gmmUfLzwPobQTP1C';

curl_setopt($url_to, CURLOPT_HTTPHEADER,

    array(

        "Authorization: {$access_token}",

    )

);

curl_setopt($url_to, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($url_to);

curl_close($curl);

/**

* Данные получаем в формате JSON, поэтому, для получения читаемых данных, * нам придётся перевести ответ в формат, понятный PHP

*/

$response = json_decode($response, true);

$cabinet_user_id = $response['cabinet_user_id']; //ID пользователя в ЛК

$access_token = $response['access_token']; //Access токен

$access_token_end_time = $response['access_token_end_time']; // окончание времени жизни Access токена

$refresh_token = $response['refresh_token']; //Refresh токен

$refresh_token_end_time = $response['refresh_token_end_time']; // окончание времени жизни Refresh токена

# ---------------------------------------------------------------------------

GET - Запрос на получение списка инстансов (clientInstances)

$link = 'https://api.app24.online/instances/912'; //Формируем URL для запроса

$access_token = '2y$10qeCKubxGyPanuONchMMUe7MiQos6GcLXFk8gmmUfLzwPobQTP1C';

/** Соберем данные для запроса */

$curl = curl_init($link);

curl_setopt($curl, CURLOPT_HTTPHEADER,

    array(

        "Authorization: {$access_token}",

    )

);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($curl);

curl_close($curl);

/**

* Данные получаем в формате JSON, поэтому, для получения читаемых данных, * нам придётся перевести ответ в формат, понятный PHP

*/

$response = json_decode($response, true);

$instances = $response['instances'];

# ---------------------------------------------------------------------------

GET - Запрос на проверку существования телефона (checkPhone)

$link = 'https://api.app24.online/user/912/instance/123456/phone/79220000001'; //Формируем URL для запроса

$access_token = '2y$10qeCKubxGyPanuONchMMUe7MiQos6GcLXFk8gmmUfLzwPobQTP1C';

/** Соберем данные для запроса */

$curl = curl_init($link);

curl_setopt($curl, CURLOPT_HTTPHEADER,

    array(

        "Authorization: {$access_token}",

    )

);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($curl);

curl_close($curl);

/**


* Данные получаем в формате JSON, поэтому, для получения читаемых данных,

* нам придётся перевести ответ в формат, понятный PHP

*/

$response = json_decode($response, true);

$instances = $response['status'];

# ---------------------------------------------------------------------------

PUT - Запрос на установку языка системных сообщений (setLocale)

$link = 'https://api.app24.online/set-locale'; //Формируем URL для запроса

/** Соберем данные для запроса */

$data = [

'locale' => 'ru',

];

$ch = curl_init($link);

// отправка PUT запроса.

curl_setopt($ch, CURLOPT_PUT, true);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));

$response = curl_exec($ch);

curl_close($curl);

/**

* Данные получаем в формате JSON, поэтому, для получения читаемых данных, * нам придётся перевести ответ в формат, понятный PHP

*/

$response = json_decode($response, true);

$locale = $response['locale']; // Установленный язык [en или ru]

# ---------------------------------------------------------------------------

GET - Запрос на уточнение о текущем языке системных сообщений (getLocale)

$link = 'https://api.app24.online/get-locale'; //Формируем URL для запроса

/** Соберем данные для запроса */

$curl = curl_init();

curl_setopt($curl, CURLOPT_URL, $link);

curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);

$response = curl_exec($curl);

curl_close($curl);

/**

* Данные получаем в формате JSON, поэтому, для получения читаемых данных, * нам придётся перевести ответ в формат, понятный PHP

*/

$response = json_decode($response, true);

$locale = $response['locale']; // Установленный язык [en или ru]

# ---------------------------------------------------------------------------

GET - Запрос на получение списка диалогов (getDialogs)

$link = 'https://api.app24.online/user/912/dialogs/112233/limit/2/page/1'; //Формируем URL для запроса

$access_token = '2y$10qeCKubxGyPanuONchMMUe7MiQos6GcLXFk8gmmUfLzwPobQTP1C';

/** Соберем данные для запроса */

$curl = curl_init($link);

curl_setopt($curl, CURLOPT_HTTPHEADER,

    array(

        "Authorization: {$access_token}",

    )

);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($curl);

curl_close($curl);

/**


* Данные получаем в формате JSON, поэтому, для получения читаемых данных,

* нам придётся перевести ответ в формат, понятный PHP

*/

$response = json_decode($response, true);

$instances = $response['dialogs']; // Массив с диалогами текущего инстанса

# ---------------------------------------------------------------------------

GET - Запрос на получение диалога (getDialog)

$link = 'https://api.app24.online/user/912/dialog/112233/79220000001@c.us'; //Формируем URL для запроса

$access_token = '2y$10qeCKubxGyPanuONchMMUe7MiQos6GcLXFk8gmmUfLzwPobQTP1C';

/** Соберем данные для запроса */

$curl = curl_init($link);

curl_setopt($curl, CURLOPT_HTTPHEADER,

    array(

        "Authorization: {$access_token}",

    )

);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($curl);

curl_close($curl);

/**

* {

*   "id": "79220000001@c.us",

*   "name": "+7 922 000-00-01",

*   "metadata": {

*      "isGroup": false,

*      "participants": [],

*      "admins": [],

*      "participantsInfo": [],

*      "groupInviteLink": null

*   },

*   "last_time": 1620746639,

*   "image": "https:\/\/pps.whatsapp.net\/v\/t61.2000-24\/1.jpg"

* }

* Данные получаем в формате JSON, поэтому, для получения читаемых данных, * нам придётся перевести ответ в формат, понятный PHP

*/

$response = json_decode($response, true);

# ---------------------------------------------------------------------------

GET - Запрос на установку статуса ПРОЧИТАНО для всех непрочитанных сообщений текущего пользователя (markNewMessagesAsRead)

$link = 'https://api.app24.online/user/912/instance/112233/reset-chat/79221111112@c.us/author/79220000001@c.us'; //Формируем URL для запроса

$access_token = '2y$10qeCKubxGyPanuONchMMUe7MiQos6GcLXFk8gmmUfLzwPobQTP1C';

/** Соберем данные для запроса */

$curl = curl_init($link);

curl_setopt($curl, CURLOPT_HTTPHEADER,

    array(

        "Authorization: {$access_token}",

    )

);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($curl);

curl_close($curl);

/**

* Данные получаем в формате JSON, поэтому, для получения читаемых данных, * нам придётся перевести ответ в формат, понятный PHP

*/

$response = json_decode($response, true);

$instances = $response['dialogs']; // Массив с диалогами текущего инстанса
# ---------------------------------------------------------------------------

GET - Запрос на установку статуса ПРОЧИТАНО для всех непрочитанных сообщений выбранного контакта (markNewMessagesAsRead)

$link = 'https://api.app24.online/user/912/instance/112233/reset-chat/79220000001@c.us/author/79221111112@c.us'; //Формируем URL для запроса

$access_token = '2y$10qeCKubxGyPanuONchMMUe7MiQos6GcLXFk8gmmUfLzwPobQTP1C';

/** Соберем данные для запроса */

$curl = curl_init($link);

curl_setopt($curl, CURLOPT_HTTPHEADER,

    array(

        "Authorization: {$access_token}",

    )

);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($curl);

curl_close($curl);

/**

* Данные получаем в формате JSON, поэтому, для получения читаемых данных, * нам придётся перевести ответ в формат, понятный PHP

*/

$response = json_decode($response, true);

$instances = $response['dialogs']; // Массив с диалогами текущего инстанса

# ---------------------------------------------------------------------------

GET - Запрос на получение списка сообщений заданного диалога (getMessages)

$type = 'text'; # один из [text, file, image, ptt, link, location, contact, read, typing, record]

$link = "https://api.app24.online/user/912/instance/112233/messages/79220000002/{$type}"; //Формируем URL для запроса

$access_token = '2y$10qeCKubxGyPanuONchMMUe7MiQos6GcLXFk8gmmUfLzwPobQTP1C';

/** Соберем данные для запроса */

$fields = array(

    'body' => 'Текст сообщения',

);

$curl = curl_init();

// отправка PUT запроса.

curl_setopt_array($curl, array(

    CURLOPT_URL => $link,

    CURLOPT_RETURNTRANSFER => true,

    CURLOPT_CUSTOMREQUEST => 'PUT',

    CURLOPT_POSTFIELDS => http_build_query($fields),

    CURLOPT_HTTPHEADER => array(

        'Authorization: ' . $access_token

    ),

));

$response = curl_exec($curl);

curl_close($curl);

/**

* {

*   "sent": true,

*   "message": "Sent to 79220000001@c.us",

*   "id": "true_79220000001@c.us_3EB0A79D45C44643F165",

*   "queueNumber": 1089,

*   "status_chat": "existing"

* }


* Данные получаем в формате JSON, поэтому, для получения читаемых данных,

* нам придётся перевести ответ в формат, понятный PHP

*/

$response = json_decode($response, true);

# ---------------------------------------------------------------------------

GET - Запрос на получение списка сообщений заданного диалога с пагинацией (getMessagesHistory)

$link = 'https://api.app24.online/user/912/instance/112233/messages/79220000002@c.us/page/1/count/3'; //Формируем URL для запроса

$access_token = '2y$10qeCKubxGyPanuONchMMUe7MiQos6GcLXFk8gmmUfLzwPobQTP1C';

/** Соберем данные для запроса */

$curl = curl_init($link);

curl_setopt($curl, CURLOPT_HTTPHEADER,

    array(

        "Authorization: {$access_token}",

    )

);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($curl);

curl_close($curl);

/**

* Данные получаем в формате JSON, поэтому, для получения читаемых данных, * нам придётся перевести ответ в формат, понятный PHP

*/

$response = json_decode($response, true);

$instances = $response['messages']; // Массив с сообщениями заданного диалога

$lastMessageNumber = $response['lastMessageNumber']; // Номер последнего сообщения в чате

# ---------------------------------------------------------------------------

PUT - Запрос на отправку нового сообщения (sendMessages)

$type = 'text'; # один из [text, file, image, ptt, link, location, contact, read, typing, record]

$link = "https://api.app24.online/user/912/instance/112233/messages/79220000002/{$type}"; //Формируем URL для запроса

$access_token = '2y$10qeCKubxGyPanuONchMMUe7MiQos6GcLXFk8gmmUfLzwPobQTP1C';

/** Соберем данные для запроса */

$curl = curl_init($link);

curl_setopt($curl, CURLOPT_HTTPHEADER,

    array(

        "Authorization: {$access_token}",

    )

);

// отправка PUT запроса.

curl_setopt($curl, CURLOPT_PUT, true);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($curl);

curl_close($curl);

/**

* {

*   "sent": true,

*   "message": "Sent to 79220000001@c.us",

*   "id": "true_79220000001@c.us_3EB0A79D45C44643F165",

*   "queueNumber": 1089,

*   "status_chat": "existing"

* }

*

* Данные получаем в формате JSON, поэтому, для получения читаемых данных, * нам придётся перевести ответ в формат, понятный PHP

*/

$response = json_decode($response, true);

# ---------------------------------------------------------------------------

PUT - Запрос на установку статуса ПРОЧИТАНО для непрочитанных входящих сообщений (readMessages)

$link = 'https://api.app24.online/user/912/instance/112233/read/79220000002'; // Формируем URL для запроса

$access_token = '2y$10qeCKubxGyPanuONchMMUe7MiQos6GcLXFk8gmmUfLzwPobQTP1C';

/** Соберем данные для запроса */

$curl = curl_init($link);

curl_setopt($curl, CURLOPT_HTTPHEADER,

    array(

        "Authorization: {$access_token}",

    )

);

// отправка PUT запроса.

curl_setopt($curl, CURLOPT_PUT, true);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($curl);

curl_close($curl);

/**

* {

*   "read": true,

*   "message": null,

*   "chatId": "79220000002@c.us"

* }

*

* Данные получаем в формате JSON, поэтому, для получения читаемых данных, * нам придётся перевести ответ в формат, понятный PHP

*/

$response = json_decode($response, true);

# ---------------------------------------------------------------------------

DELETE - Запрос на удаление сообщения (deleteMessages)

$link = 'https://api.app24.online/user/912/instance/112233/messages/79220000002/true_79220000002@c.us_3EB0A79D45C44643F165'; // Формируем URL для запроса

$access_token = '2y$10qeCKubxGyPanuONchMMUe7MiQos6GcLXFk8gmmUfLzwPobQTP1C';

$curl = curl_init($link);

curl_setopt($curl, CURLOPT_HTTPHEADER,

    array(

        "Authorization: {$access_token}",
        "Refresh: {$refresh_token}"
    )

);

curl_setopt($curl, CURLOPT_URL, $link);

curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "DELETE");

$response = curl_exec($curl);

curl_close($curl);

/**

* {

*   "sent": true,

*   "message": "message deleted"

* }

*

* Данные получаем в формате JSON, поэтому, для получения читаемых данных, * нам придётся перевести ответ в формат, понятный PHP

*/

$response = json_decode($response, true);

# ---------------------------------------------------------------------------

POST - Запрос на создание группы (addGroup)

$link = "https://api.app24.online/user/912/instance/112233/group"; //Формируем URL для запроса

$access_token = '2y$10qeCKubxGyPanuONchMMUe7MiQos6GcLXFk8gmmUfLzwPobQTP1C';

/** Соберем данные для запроса */

$curl = curl_init($link);

curl_setopt($curl, CURLOPT_HTTPHEADER,

    array(

        "Authorization: {$access_token}",

    )

);

$fields = array(

    'groupName' => 'Test 1',

    'phones' => array('79220000001', '79220000002'),

    'messageText' => 'Text'

);

// отправка POST запроса.

curl_setopt($curl, CURLOPT_POST, true);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($fields));

$response = curl_exec($curl);

curl_close($curl);

/**

* {

*   "created": true,

*   "message": "ok",

*   "chatId": "1493046918@g.us-13216468942@c.us",

*   "groupInviteLink": "string"

* }

*

* Данные получаем в формате JSON, поэтому, для получения читаемых данных, * нам придётся перевести ответ в формат, понятный PHP

*/

$response = json_decode($response, true);

# ---------------------------------------------------------------------------

DELETE - Запрос на удаление группы (deleteGroup)

$link = 'https://api.app24.online/user/912/instance/112233/group/1493046918@g.us-13216468942@c.us'; // Формируем URL для запроса

$access_token = '2y$10qeCKubxGyPanuONchMMUe7MiQos6GcLXFk8gmmUfLzwPobQTP1C';

/** Соберем данные для запроса */

$curl = curl_init($link);

curl_setopt($curl, CURLOPT_HTTPHEADER,

    array(

        "Authorization: {$access_token}"

    )

);

// отправка DELETE запроса.

curl_setopt($curl, CURLOPT_URL, $link);

curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "DELETE");

$response = curl_exec($curl);

curl_close($curl);

/**

* {

*  "result": {

*    "message": "Group deleted"

*  }

* }

*

* Данные получаем в формате JSON, поэтому, для получения читаемых данных, * нам придётся перевести ответ в формат, понятный PHP

*/

$response = json_decode($response, true);

# ---------------------------------------------------------------------------

PUT - Запрос на добавление участника в группу (addGroupParticipant)

$link = 'https://api.app24.online/user/912/instance/112233/group/1493046918@g.us-13216468942@c.us/add-participant/79220000002'; // Формируем URL для запроса

$access_token = '2y$10qeCKubxGyPanuONchMMUe7MiQos6GcLXFk8gmmUfLzwPobQTP1C';

/** Соберем данные для запроса */

$curl = curl_init($link);

curl_setopt($curl, CURLOPT_HTTPHEADER,

    array(

        "Authorization: {$access_token}",

    )

);

// отправка PUT запроса.

curl_setopt($curl, CURLOPT_PUT, true);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($curl);

curl_close($curl);

/**

* {

*   "add": true,

*   "message": "Added to 1493046918@g.us",

*   "groupId": "1493046918@g.us-13216468942@c.us"

* }

*

* Данные получаем в формате JSON, поэтому, для получения читаемых данных, * нам придётся перевести ответ в формат, понятный PHP

*/

$response = json_decode($response, true);

# ---------------------------------------------------------------------------

GET - Запрос на получение статуса инстанса (getInstanceStatus)

$link = 'https://api.app24.online/user/912/instance/122332/status/full/wakeup'; //Формируем URL для запроса

$access_token = '2y$10qeCKubxGyPanuONchMMUe7MiQos6GcLXFk8gmmUfLzwPobQTP1C';

/** Соберем данные для запроса */

$curl = curl_init($link);

curl_setopt($curl, CURLOPT_HTTPHEADER,

    array(

        "Authorization: {$access_token}",

    )

);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($curl);

curl_close($curl);

/**

* {

*   "accountStatus": "authenticated",

*   "statusData": {

*   "title": "Не отключайте свой телефон",

*   "msg": "WhatsApp подключается к вашему телефону, чтобы синхронизировать сообщения. Чтобы снизить трафик данных, подключите телефон к Wi-Fi.",

*   "substatus": "normal",

*   "actions": {}

* }

* Данные получаем в формате JSON, поэтому, для получения читаемых данных, * нам придётся перевести ответ в формат, понятный PHP

*/

$response = json_decode($response, true);

# ---------------------------------------------------------------------------