Перейти к содержанию

Получение входящих уведомлений на C++#

Установка#

Для сборки и подключения библиотеки в Ваш проект используйте инструкцию

Импорт#

Укажите директорию нахождения файла заголовка библиотеки GREEN-API

#include "greenapi.hpp"

Примеры#

Как инициализировать объект#

При инициализации объекта обязательно используйте параметры apiUrl и mediaUrl специально для экземпляра из Вашего личного кабинета, так вы получите наиболее стабильную работу API и минимальное время ответа методов.

greenapi::GreenApi instance1101000001{
    "https://api.green-api.com",
    "https://media.green-api.com",
    "1101123456",
    "87be9e9532fc49748f2a44b9242e55f2e89f4bf97ed6498f80"
    };

Как получать входящие уведомления#

Ссылка на пример: receiveIncomingNotifications.cpp.

while (1) {
    greenapi::Response receiveNotification = instance1101000001.receiving.receiveNotification(5);

    if (receiveNotification.error) {
        std::cout << "receiveNotification error: {status code: " << receiveNotification.status_code << ", request time: " << receiveNotification.total_time << ", body: " << receiveNotification.bodyStr << "}" << "\n" << std::endl;
    }
    else if(receiveNotification.bodyStr == "null") {
        std::cout << "All notifications received" << "\n" << std::endl;
        return 0;
    }
    else {
        std::cout << "\treceiptId: " << receiveNotification.bodyJson["receiptId"] << "\n" << std::endl;
        std::cout << "\tbody: " << receiveNotification.bodyJson["body"] << "\n" << std::endl;
    }

    greenapi::Response deleteNotification = instance1101000001.receiving.deleteNotification(receiveNotification.bodyJson["receiptId"]);

    if (deleteNotification.error) {
        std::cout << "deleteNotification error: {status code: " << deleteNotification.status_code << ", request time: " << deleteNotification.total_time << ", body: " << deleteNotification.bodyStr << "}" << "\n" << std::endl;
    }
    else {
        std::cout << "\tdeleteNotification result: " << deleteNotification.bodyJson["result"] << "\n" << std::endl;
    }
}

Обратите внимание, все методы библиотеки возвращают структуру типа greenapi::Response, для контроля работы программы обязательно проводите проверку выполнения метода, поле error.

Список примеров#

Описание Ссылка на пример
Как отправить сообщение main.cpp
Как отправить файл загрузкой с диска sendFileByUpload.cpp
Как отправить файл по ссылке sendFileByUrl.cpp
Как получать входящие уведомления receiveIncomingNotifications.cpp
Как создать группу createGroupAndSendMessage.go