Логотип Password Pusher
Password Pusher Go Ahead. Email Another Password.

Password Pusher API v2

Полная документация по JSON API для создания, получения и управления пушами в версии с открытым исходным кодом.

Аутентификация

Аутентификация запросов с помощью маркера Bearer в заголовке Authorization.

Создайте токен API в настройках вашей учетной записи по адресу /users/token.

Authorization: Bearer YOUR_API_TOKEN
  • Общественные конечные пункты: GET /api/v2/version, GET /api/v2/pushes/:url_token, GET /api/v2/pushes/:url_token/preview
  • Аутентифицированные конечные точки: GET /api/v2/pushes/:url_token/audit, GET /api/v2/pushes/active, GET /api/v2/pushes/expired
  • Настройка анонимного доступа: Если анонимные проталкивания отключены, конечные точки API требуют аутентификации.

Базовый URL

Все конечные точки указаны относительно узла установки:

https://pwpush.leerinc.com/api/v2

Версия Конечная точка

GET /api/v2/version

Возвращает версию API, сведения о приложении и хэш характеристик, описывающий, какие возможности включены в данном экземпляре.

пример cURL:

curl -X GET https://pwpush.leerinc.com/api/v2/version
{
  "application_version": "2.6.6",
  "api_version": "2.1",
  "edition": "oss",
  "features": {
    "anonymous_access": true,
    "api_token_authentication": true,
    "accounts": {
      "enabled": false
    },
    "pushes": {
      "enabled": true,
      "email_auto_dispatch": false,
      "file_attachments": {
        "enabled": true,
        "requires_authentication": true
      },
      "url_pushes": {
        "enabled": true
      },
      "qr_code_pushes": {
        "enabled": true
      }
    },
    "requests": {
      "enabled": false
    }
  }
}

Особенности Хаш

  • anonymous_access - Разрешено ли анонимное использование API (Settings.allow_anonymous)
  • api_token_authentication - Поддержка аутентификации с помощью маркера носителя
  • accounts.enabled - Доступность API учетных записей (недоступно в OSS)
  • pushes.enabled - Создание и управление пушами через API
  • pushes.file_attachments.enabled - Прикрепление файлов при проталкивании (Settings.enable_file_pushes)
  • pushes.url_pushes.enabled - Тип URL push (Settings.enable_url_pushes)
  • pushes.qr_code_pushes.enabled - Тип нажатия на QR-код (Settings.enable_qr_pushes)
  • requests.enabled - Запрашивает доступность API (недоступно в OSS)

Конечные точки Push

POST /api/v2/pushes

Создайте новый толчок.

Формат тела: { "push": { ... } }

Параметр Тип Требуется Описание
payloadstringДаСекретная текстовая полезная нагрузка для текстовых, URL или QR-передач.
filesarrayНетФайлы для прикрепления. Если присутствует, то тип push становится файлом, если тип не указан явно.
kindstringНетТип ввода: текст, файл, url или qr. По умолчанию используется текст, если он не указан.
expire_after_daysintegerНетОкно истечения срока действия в днях. Если это значение опущено, используются значения по умолчанию экземпляра.
expire_after_viewsintegerНетМаксимально допустимое количество извлечений. Если это значение опущено, используются значения по умолчанию экземпляра.
deletable_by_viewerbooleanНетПозволяет получателю истечь срок действия push.
retrieval_stepbooleanНетДобавляет дополнительный шаг подтверждения извлечения.
passphrasestringНетДля получения полезной нагрузки требуется эта парольная фраза.
namestringНетДополнительная наклейка, показываемая владельцу.
notestringНетДополнительное примечание, предназначенное только для владельца.
{
  "push": {
    "payload": "my-secret",
    "expire_after_days": 1,
    "expire_after_views": 5,
    "passphrase": "optional-passphrase",
    "deletable_by_viewer": true,
    "retrieval_step": true
  }
}

пример cURL (тело в формате JSON):

curl -X POST https://pwpush.leerinc.com/api/v2/pushes \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "push": {
      "payload": "my-secret",
      "expire_after_days": 1,
      "expire_after_views": 5
    }
  }'

GET /api/v2/pushes/:url_token

Получение полезной нагрузки push по маркеру. Это считается просмотром и может привести к истечению срока действия push при достижении лимитов.

Параметры запроса: passphrase (необязательно, требуется, если push защищен парольной фразой)

пример cURL:

curl -X GET https://pwpush.leerinc.com/api/v2/pushes/YOUR_URL_TOKEN

GET /api/v2/pushes/:url_token/preview

Возвращает полный секретный URL-адрес для push без получения его полезной нагрузки.

пример cURL:

curl -X GET https://pwpush.leerinc.com/api/v2/pushes/YOUR_URL_TOKEN/preview

GET /api/v2/pushes/:url_token/audit

Возвращает записи журнала аудита для толчка. Требуется аутентификация и право собственности.

Параметры запроса: page (необязательно, целое число, по умолчанию 1, допустимый диапазон от 1 до 200)

пример cURL:

curl -X GET "https://pwpush.leerinc.com/api/v2/pushes/YOUR_URL_TOKEN/audit?page=1" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

DELETE /api/v2/pushes/:url_token

Немедленное истечение срока действия push. Разрешено для владельцев (при аутентификации) или для получателей, если push был создан с включенной функцией deletable_by_viewer.

пример cURL:

curl -X DELETE https://pwpush.leerinc.com/api/v2/pushes/YOUR_URL_TOKEN \
  -H "Authorization: Bearer YOUR_API_TOKEN"

GET /api/v2/pushes/active

Список активных толчков для аутентифицированного пользователя.

Параметры запроса: page (необязательно, целое число, по умолчанию 1, допустимый диапазон от 1 до 200)

пример cURL:

curl -X GET "https://pwpush.leerinc.com/api/v2/pushes/active?page=1" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

GET /api/v2/pushes/expired

Список истекших пушей для аутентифицированного пользователя.

Параметры запроса: page (необязательно, целое число, по умолчанию 1, допустимый диапазон от 1 до 200)

пример cURL:

curl -X GET "https://pwpush.leerinc.com/api/v2/pushes/expired?page=1" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

Коды состояния HTTP

  • 200 - Успешный запрос
  • 201 - Созданный толчок
  • 400 - Недопустимые параметры запроса
  • 401 - Требуется аутентификация или недействительный токен
  • 403 - Запрещено для текущего пользователя
  • 404 - Ресурс не найден
  • 422 - Ошибка валидации

Документацию по устаревшему API v1 см /api.