Документация API Flimb

Вам необходимо зарегистрироваться чтобы получить данные для доступа к API.

API Flimb работает через HTTP протокол с использованием (GET/POST/PUT/DELETE) запросов и является обычным REST-интерфейсом. Референс-имплементация для Ruby, основанная на ActiveResource, доступна на GitHub.

Авторизация

API Flimb использует HTTP Basic авторизацию. Вам необходимо зарегистрироваться чтобы получить логин и пароль. Для доступа к API необходимо использовать следующий URL: https://user:password@flimb.com/api.

Формат данных

Данные передаются в JSON-формате. Соответственно все запросы должны содержать заголовок Content-Type: application/json. При работе с объектами нужно учитывать что id является 128-битным числом (hex-encoded).

Ошибки

Используются стандартные Коды ответов HTTP.

Website 

Работа с сайтами из личного кабинета.

Website 

Объект website содержит все настройки доступные в личном кабинете, а так же количество неразрешенных уведомлений alerts_count.

Мониторинг

Аттрибут
enable_monitoring Включить мониторинг сайта (глобальный свитч)
enable_availability_monitoring Включить мониторинг доступности сайта
availability_notification_period Задержка перед уведомлением о недоступности сайта (в минутах)
enable_dnsbl Включить DNSBL мониторинг
enable_extended_dnsbl Включить проверки по всем DNSBL спискам
delegation_notification_days Число дней для нотификации об истечении домена

Настройка бэкапов

Аттрибут
enable_backups Включить бэкапы (глобальный свитч)
enable_backup_sources Включить бэкап файлов
enable_backup_database Включить бэкап базы данных
conn_addr Бэкап файлов: адрес сервера для бэкапа
conn_type Бэкап файлов: тип соединения, SSH или FTP
login Бэкап файлов: пользователь
password Бэкап файлов: пароль (обязателен для FTP, опционально для SSH)
document_root Бэкап файлов: директория с вебсайтом
db_addr Бэкап базы: адрес сервера
db_type Бэкап базы: тип соединения, MySQL или Postgres
db_login Бэкап базы: пользователь
db_password Бэкап базы: пароль
Получить вебсайт
/websites/{id}.json
  • Parameters
  • id
    string (required) 

    id вебсайта, может содержать буквы и цифры

  • Response  200Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
      "id": "F250FE9FD1FF4A62A31B69144F94749E",
      "name": "example.com",
      "alerts_count": 0,
      "conn_addr": null,
      "conn_type": "SSH",
      "db_addr": null,
      "db_login": null,
      "db_name": null,
      "db_password": null,
      "db_type": "MySQL",
      "delegation_notification_days": 7,
      "document_root": null,
      "enable_availability_monitoring": true,
      "enable_backup_database": false,
      "enable_backup_database_tunnel": false,
      "enable_backup_sources": false,
      "enable_dnsbl": true,
      "enable_extended_dnsbl": false,
      "enable_monitoring": true,
      "login": null,
      "password": null,
      "plan": "basic"
    }
    
Обновить вебсайт
/websites/{id}.json

Чтобы обновить вебсайт можно послать только изменённые аттрибуты.

  • Parameters
  • id
    string (required) 

    id вебсайта, может содержать буквы и цифры

  • Response  200Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
      "id": "F250FE9FD1FF4A62A31B69144F94749E",
      "name": "example.com",
      "alerts_count": 0,
      "conn_addr": null,
      "conn_type": "SSH",
      "db_addr": null,
      "db_login": null,
      "db_name": null,
      "db_password": null,
      "db_type": "MySQL",
      "delegation_notification_days": 7,
      "document_root": null,
      "enable_availability_monitoring": true,
      "enable_backup_database": false,
      "enable_backup_database_tunnel": false,
      "enable_backup_sources": false,
      "enable_dnsbl": true,
      "enable_extended_dnsbl": false,
      "enable_monitoring": true,
      "login": null,
      "password": null,
      "plan": "basic"
    }
    
Удалить вебсайт
/websites/{id}.json
  • Parameters
  • id
    string (required) 

    id вебсайта, может содержать буквы и цифры

  • Response  200

Websites Collection 

Список всех вебсайтов из личного кабинета.

Получить список вебсайтов
/websites.json
  • Response  200Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    [
        {
            "id": "F250FE9FD1FF4A62A31B69144F94749E",
            "alerts_count": 0,
            "plan": "basic"
        },
        {
            "id": "F250FE9FD1FF4A62A31B69144F94749D",
            "alerts_count": 2,
            "plan": "basic"
        }
    ]
    
Создать вебсайт
/websites.json

Для создания нового вебсайта достаточно передать его имя.

  • RequestToggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
        "name": "example.com",
    }
    
  • Response  200Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
      "id": "F250FE9FD1FF4A62A31B69144F94749E",
      "name": "example.com",
      "alerts_count": 0,
      "conn_addr": null,
      "conn_type": "SSH",
      "db_addr": null,
      "db_login": null,
      "db_name": null,
      "db_password": null,
      "db_type": "MySQL",
      "delegation_notification_days": 7,
      "document_root": null,
      "enable_availability_monitoring": true,
      "enable_backup_database": false,
      "enable_backup_database_tunnel": false,
      "enable_backup_sources": false,
      "enable_dnsbl": true,
      "enable_extended_dnsbl": false,
      "enable_monitoring": true,
      "login": null,
      "password": null,
      "plan": "basic"
    }
    

Alert 

Работа с уведомлениями вебсайтов.

Alert 

Получить уведомление по id.

Аттрибут
title Заголовок уведомления
description Краткое описание уведомления
html Подробное описание уведомления в HTML-формате
url Ссылка на уведомление

Описание аттрибута status

Значение
unresolved Уведомление является активным
ignored Активное но проигнорированное уведомление. Не показывается в списке.
processing Активное уведомление по которому была запрошена поддержка
resolved Разрешенное уведомление

Описание аттрибута source

Значение
Antivirus При бэкапе сайта обнаружен вирус
Availability Проблемы с доступностью сайта
BackupSources Проблемы с бэкапом сайта
BackupDatabase Проблемы с бэкапом базы
Content На сайте обнаружен подозрительный контент
Delegation Домен скоро истекает
Dnsbl Сайт найден в блеклистах DNSBL
Phishtank Сайт найден в списке Phishtank
Safebrowsing Сайт найден в списке подозрительных сайтов Google или Яндекс
Ssl Найдена проблема в SSL конфигурации
Webscan При сканировании сайта обнаружена уязвимость
Zapret Сайт найден в одном из списков Роскомнадзора
Получить уведомление
/alerts/{id}.json
  • Parameters
  • id
    string (required) 

    id алёрта, может содержать буквы и цифры

  • Response  200Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
        "id": "38000000000000000000000000000000",
        "website_id": "F250FE9FD1FF4A62A31B69144F94749E",
        "title": "Сайт заблокирован поисковыми системами",
        "source": "Safebrowsing",
        "description": "example.com / Yandex",
        "url": "https://flimb.com/dashboard/alerts/38000000-0000-0000-0000-000000000000",
        "html": "html-formatted description",
        "created_at": "2014-07-14T16:56:57.000Z",
        "status": "unresolved",
    }
    
Изменить статус
/alerts/{id}.json

При обновлении уведомления учитывается только аттрибут status. Таким образом, уведомления можно игнорировать, изменяя статус с unresolved в ignored.

  • Parameters
  • id
    string (required) 

    id алёрта, может содержать буквы и цифры

  • Response  200Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
        "id": "38000000000000000000000000000000",
        "website_id": "F250FE9FD1FF4A62A31B69144F94749E",
        "title": "Сайт заблокирован поисковыми системами",
        "source": "Safebrowsing",
        "description": "example.com / Yandex",
        "url": "https://flimb.com/dashboard/alerts/38000000-0000-0000-0000-000000000000",
        "html": "html-formatted description",
        "created_at": "2014-07-14T16:56:57.000Z",
        "status": "unresolved",
    }
    

Alerts Collection 

Список неразрешённых уведомлений из личного кабинета. Список уведомлений конкретного вебсайта можно так же получить через /websites/{website_id}/alerts.json.

Получить список уведомлений
/alerts.json?website_id={website_id}
  • Parameters
  • website_id
    string (optional) 

    id вебсайта

  • Response  200Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    [
        {
            "id": "F250FE9FD1FF4A62A31B69144F94749E",
            "alerts_count": 0,
            "plan": "basic"
        },
        {
            "id": "F250FE9FD1FF4A62A31B69144F94749E",
            "alerts_count": 2,
            "plan": "basic"
        }
    ]