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

Password Pusher API v2

Повна документація JSON API для створення, отримання та управління пушами у відкритій версії.

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

Автентифікуйте запити за допомогою токена пред'явника в заголовку авторизації.

Створіть токен 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://pwpusher.it.hm.edu/api/v2

Версія Кінцева точка

GET /api/v2/version

Повертає версію API, деталі програми та хеш функцій, що описує, які можливості увімкнені на цьому екземплярі.

приклад cURL:

curl -X GET https://pwpusher.it.hm.edu/api/v2/version
{
  "application_version": "2.7.2",
  "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 (Settings.enable_url_pushes)
  • pushes.qr_code_pushes.enabled - Тип натискання QR-коду (Settings.enable_qr_pushes)
  • requests.enabled - Запитує доступність API (недоступно в OSS)

Кінцеві пункти Push

POST /api/v2/pushes

Створіть новий поштовх.

Тілесний формат: { "push": { ... } }

Параметр Type Потрібно Опис
payloadstringТакТаємне текстове навантаження для текстових, URL або QR-пуш-повідомлень.
filesarrayНіФайли для прикріплення. Якщо присутній, тип push стає файлом, якщо не вказано тип явно.
kindstringНіТип push: текст, файл, 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://pwpusher.it.hm.edu/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, коли будуть досягнуті ліміти.

Параметри запиту: passphrase (необов'язковий, необхідний, якщо push захищений парольною фразою)

приклад cURL:

curl -X GET https://pwpusher.it.hm.edu/api/v2/pushes/YOUR_URL_TOKEN

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

Повертає повністю кваліфіковану секретну URL-адресу для push без отримання її корисного навантаження.

приклад cURL:

curl -X GET https://pwpusher.it.hm.edu/api/v2/pushes/YOUR_URL_TOKEN/preview

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

Повернути записи журналу аудиту для push. Потрібна автентифікація та право власності.

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

приклад cURL:

curl -X GET "https://pwpusher.it.hm.edu/api/v2/pushes/YOUR_URL_TOKEN/audit?page=1" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

DELETE /api/v2/pushes/:url_token

Негайно видалити пуш. Дозволяється для власників (коли вони автентифіковані) або для отримувачів, якщо пуш було створено з увімкненим параметром deletable_by_viewer.

приклад cURL:

curl -X DELETE https://pwpusher.it.hm.edu/api/v2/pushes/YOUR_URL_TOKEN \
  -H "Authorization: Bearer YOUR_API_TOKEN"

GET /api/v2/pushes/active

Перелік активних push-повідомлень для авторизованого користувача.

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

приклад cURL:

curl -X GET "https://pwpusher.it.hm.edu/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://pwpusher.it.hm.edu/api/v2/pushes/expired?page=1" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

Коди стану HTTP

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

Застарілу документацію по API v1 див /api.