Logo de Password Pusher
Password Pusher Go Ahead. Email Another Password.

Password Pusher API v2

Documentation complète de l'API JSON pour la création, la récupération et la gestion des notifications push dans l'édition open-source.

Authentification

Authentifiez les requêtes avec un jeton Bearer dans l'en-tête Authorization.

Créez un jeton API dans les paramètres de votre compte à l'adresse suivante : /users/token.

Authorization: Bearer YOUR_API_TOKEN
  • Points d'accès publics : GET /api/v2/version, GET /api/v2/pushes/:url_token, GET /api/v2/pushes/:url_token/preview
  • Points de terminaison authentifiés : GET /api/v2/pushes/:url_token/audit, GET /api/v2/pushes/active, GET /api/v2/pushes/expired
  • Paramètre d'accès anonyme : Lorsque les envois anonymes sont désactivés, les points de terminaison de l'API nécessitent une authentification.

URL de base

Tous les points de terminaison sont relatifs à votre hôte d'installation :

https://pwpush.rural-it.org/api/v2

Point de terminaison de version

GET /api/v2/version

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

Exemple cURL :

curl -X GET https://pwpush.rural-it.org/api/v2/version
{
  "application_version": "2.6.1",
  "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)

Points de terminaison Push

POST /api/v2/pushes

Créer une nouvelle poussée.

Format du corps : { "push": { ... } }

Paramètres Taper Requis Description
payloadstringOuiContenu textuel secret pour les envois par SMS, URL ou QR code.
filesarrayNonFichiers à joindre. Le type de transfert est « fichier » sauf si un type spécifique est indiqué.
kindstringNonType de notification push : texte, fichier, URL ou QR Code. Par défaut, le format texte est utilisé si aucune valeur n’est spécifiée.
expire_after_daysintegerNonDélai d'expiration en jours. Si cette valeur est omise, les valeurs par défaut de l'instance seront utilisées.
expire_after_viewsintegerNonNombre maximal de récupérations autorisé. Si cette valeur est omise, les valeurs par défaut de l'instance sont utilisées.
deletable_by_viewerbooleanNonPermet au destinataire de faire expirer la notification.
retrieval_stepbooleanNonAjoute une étape supplémentaire de confirmation de récupération.
passphrasestringNonCette phrase secrète est requise pour récupérer la charge utile.
namestringNonÉtiquette facultative présentée au propriétaire.
notestringNonNote facultative réservée au propriétaire.
{
  "push": {
    "payload": "my-secret",
    "expire_after_days": 1,
    "expire_after_views": 5,
    "passphrase": "optional-passphrase",
    "deletable_by_viewer": true,
    "retrieval_step": true
  }
}

Exemple cURL (corps JSON) :

curl -X POST https://pwpush.rural-it.org/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

Récupérer une donnée push à partir d'un jeton. Cette opération est comptabilisée comme une vue et peut entraîner l'expiration de la notification push lorsque les limites sont atteintes.

Paramètres de la requête : passphrase (facultatif, requis lorsque la notification push est protégée par une phrase de passe)

Exemple cURL :

curl -X GET https://pwpush.rural-it.org/api/v2/pushes/YOUR_URL_TOKEN

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

Renvoie l'URL secrète complète d'une requête push sans récupérer sa charge utile.

Exemple cURL :

curl -X GET https://pwpush.rural-it.org/api/v2/pushes/YOUR_URL_TOKEN/preview

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

Retournez les entrées du journal d'audit pour une envoi. L'authentification et la propriété sont requises.

Paramètres de la requête : page (facultatif, entier, valeur par défaut 1, plage valide de 1 à 200)

Exemple cURL :

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

DELETE /api/v2/pushes/:url_token

Supprimer immédiatement une notification push. Autorisé pour les propriétaires (après authentification) ou pour les destinataires lorsque la notification a été créée avec l'option « supprimable par le lecteur » activée.

Exemple cURL :

curl -X DELETE https://pwpush.rural-it.org/api/v2/pushes/YOUR_URL_TOKEN \
  -H "Authorization: Bearer YOUR_API_TOKEN"

GET /api/v2/pushes/active

Liste des notifications push actives pour l'utilisateur authentifié.

Paramètres de la requête : page (facultatif, entier, valeur par défaut 1, plage valide de 1 à 200)

Exemple cURL :

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

GET /api/v2/pushes/expired

Liste des notifications expirées pour l'utilisateur authentifié.

Paramètres de la requête : page (facultatif, entier, valeur par défaut 1, plage valide de 1 à 200)

Exemple cURL :

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

Codes d'état HTTP

  • 200 - Requête réussie
  • 201 - Push créé
  • 400 - Paramètres de requête invalides
  • 401 - Authentification requise ou jeton invalide
  • 403 - Interdit à l'utilisateur actuel
  • 404 - Ressource non trouvée
  • 422 - Erreur de validation

Pour la documentation de l'API v1 héritée, voir /api.