Logo Przekazywacza Haseł
Password Pusher Go Ahead. Email Another Password.

Password Pusher API v2

Pełna dokumentacja interfejsu API JSON dotycząca tworzenia, pobierania i zarządzania powiadomieniami push w edycji open source.

Uwierzytelnianie

Uwierzytelniaj żądania za pomocą tokena Bearer w nagłówku Authorization.

Utwórz token API w ustawieniach swojego konta na stronie /users/token.

Authorization: Bearer YOUR_API_TOKEN
  • Publiczne punkty końcowe: GET /api/v2/version, GET /api/v2/pushes/:url_token, GET /api/v2/pushes/:url_token/preview
  • Uwierzytelnione punkty końcowe: GET /api/v2/pushes/:url_token/audit, GET /api/v2/pushes/active, GET /api/v2/pushes/expired
  • Ustawienia dostępu anonimowego: Po wyłączeniu anonimowych powiadomień punkty końcowe interfejsu API wymagają uwierzytelnienia.

Podstawowy adres URL

Wszystkie punkty końcowe są względne w stosunku do hosta instalacji:

https://pwpush.dynx.pl/api/v2

Wersja punktu końcowego

GET /api/v2/version

Returns API version, application details, and a features hash describing which capabilities are enabled on this instance.

Przykład cURL:

curl -X GET https://pwpush.dynx.pl/api/v2/version
{
  "application_version": "2.5.4",
  "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
    }
  }
}

Features Hash

  • anonymous_access - Whether anonymous API usage is allowed (Settings.allow_anonymous)
  • api_token_authentication - Bearer token authentication support
  • accounts.enabled - Accounts API availability (not available in OSS)
  • pushes.enabled - Push creation and management via API
  • pushes.file_attachments.enabled - File attachments on pushes (Settings.enable_file_pushes)
  • pushes.url_pushes.enabled - URL push type (Settings.enable_url_pushes)
  • pushes.qr_code_pushes.enabled - QR code push type (Settings.enable_qr_pushes)
  • requests.enabled - Requests API availability (not available in OSS)

Punkty końcowe push

POST /api/v2/pushes

Utwórz nowy push.

Format treści: { "push": { ... } }

Parametr Typ Wymagany Opis
payloadstringTakTajny ładunek tekstowy do przesyłania tekstu, adresu URL lub kodu QR.
filesarrayNiePliki do dołączenia. Jeśli są obecne, typem push staje się plik, chyba że typ zostanie wyraźnie określony.
kindstringNieTyp pliku: tekst, plik, adres URL lub kod QR. Domyślnie tekst, jeśli nie zostanie podany.
expire_after_daysintegerNieOkno wygaśnięcia w dniach. Jeśli pominięte, używane są wartości domyślne instancji.
expire_after_viewsintegerNieMaksymalna dozwolona liczba pobrań. Jeśli pominięto, używane są wartości domyślne instancji.
deletable_by_viewerbooleanNieUmożliwia odbiorcy wygaśnięcie powiadomienia push.
retrieval_stepbooleanNieDodaje dodatkowy krok potwierdzenia pobierania.
passphrasestringNieWymaga podania tego hasła w celu pobrania ładunku.
namestringNieEtykieta opcjonalna pokazywana właścicielowi.
notestringNieOpcjonalna notatka tylko dla właściciela.
{
  "push": {
    "payload": "my-secret",
    "expire_after_days": 1,
    "expire_after_views": 5,
    "passphrase": "optional-passphrase",
    "deletable_by_viewer": true,
    "retrieval_step": true
  }
}

Przykład cURL (treść JSON):

curl -X POST https://pwpush.dynx.pl/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

Pobierz ładunek push za pomocą tokena. Jest to traktowane jako widok i może spowodować wygaśnięcie pushu po osiągnięciu limitów.

Parametry zapytania: passphrase (opcjonalny, wymagany, gdy push jest chroniony hasłem)

Przykład cURL:

curl -X GET https://pwpush.dynx.pl/api/v2/pushes/YOUR_URL_TOKEN

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

Zwraca w pełni kwalifikowany tajny adres URL dla powiadomienia push bez pobierania jego treści.

Przykład cURL:

curl -X GET https://pwpush.dynx.pl/api/v2/pushes/YOUR_URL_TOKEN/preview

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

Zwraca wpisy z dziennika audytu dla pushu. Wymagane jest uwierzytelnienie i własność.

Parametry zapytania: page (opcjonalny, liczba całkowita, domyślnie 1, prawidłowy zakres od 1 do 200)

Przykład cURL:

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

DELETE /api/v2/pushes/:url_token

Natychmiastowe wygaśnięcie pushu. Dozwolone dla właścicieli (po uwierzytelnieniu) lub dla odbiorców, jeśli push został utworzony z włączoną opcją deletable_by_viewer.

Przykład cURL:

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

GET /api/v2/pushes/active

Wyświetl listę aktywnych powiadomień dla uwierzytelnionego użytkownika.

Parametry zapytania: page (opcjonalny, liczba całkowita, domyślnie 1, prawidłowy zakres od 1 do 200)

Przykład cURL:

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

GET /api/v2/pushes/expired

Wyświetl listę wygasłych powiadomień dla uwierzytelnionego użytkownika.

Parametry zapytania: page (opcjonalny, liczba całkowita, domyślnie 1, prawidłowy zakres od 1 do 200)

Przykład cURL:

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

Kody stanu HTTP

  • 200 - Pomyślne żądanie
  • 201 - Utworzono push
  • 400 - Nieprawidłowe parametry żądania
  • 401 - Wymagane uwierzytelnienie lub nieprawidłowy token
  • 403 - Zabronione dla bieżącego użytkownika
  • 404 - Nie znaleziono zasobu
  • 422 - Błąd walidacji

Aby zapoznać się z dokumentacją starszego interfejsu API v1, zobacz /api.