Password Pusher API v2
BETADocumentație cuprinzătoare REST API pentru integrarea Password Pusher în fluxurile de lucru, aplicațiile și instrumentele dvs.
Aviz Beta: API v2 este în prezent în versiune beta. Deși am depus toate eforturile pentru a asigura stabilitatea, este posibil să existe modificări de ultimă oră înainte de lansarea finală. Feedback-ul dvs. este binevenit!
Prezentare generală
API-ul Password Pusher v2 oferă o interfață RESTful pentru crearea, recuperarea și gestionarea cererilor și transferurilor de parole securizate. Toate punctele finale API returnează răspunsuri JSON și utilizează coduri de stare HTTP standard.
Autentificare cu token purtător
Acces API securizat cu autentificare pe bază de token
Răspunsuri doar JSON
Format JSON consecvent în toate punctele finale
Proiectare RESTful
Puncte finale REST intuitive care respectă cele mai bune practici
Împingeri și solicitări
Suport pentru push-uri unidirecționale și cereri bidirecționale
Generator de parole
Creați parole, fraze de acces și coduri PIN prin metoda POST la /api/v2/generate
API v2 utilizează autentificarea Bearer token. Pentru autentificare, includeți tokenul API în Authorization antet:
Authorization: Bearer YOUR_API_TOKEN
Obținerea jetonului API
- Conectați-vă la contul dumneavoastră Password Pusher
- Navigați la pagina dvs. de token-uri API
- Generarea unui token API
- Copiați jetonul și utilizați-l în cererile API
Notă: Anumite acțiuni (cum ar fi preluarea unei notificări push sau a unei solicitări, sau generarea unei parole) pot fi efectuate în mod anonim. Crearea solicitărilor, accesarea jurnalelor de audit și gestionarea colecțiilor necesită autentificare. Includeți un token „Bearer” în solicitările de generare atunci când aveți nevoie de politica privind spațiul de lucru cu autentificare.
Toate punctele finale API sunt prefixate cu:
https://eu.pwpush.com/api/v2
Disponibilitate beta
API v2 este în prezent în versiune beta și este disponibil pe pwpush.com și edițiile Pro cu găzduire proprie. API-ul va fi adăugat la ediția open-source după ce aceasta va ieși din versiunea beta.
Pentru instanțele cu găzduire proprie, utilizați propriul domeniu. URL-ul de bază prezentat mai sus reflectă gazda curentă pe care o accesați.
GET /api/v2/version
Returnează versiunea curentă a API, detaliile aplicației și un hash al caracteristicilor care descrie ce capabilități sunt activate pe această instanță.
Exemplu de cerere
curl -X GET https://eu.pwpush.com/api/v2/version
Exemplu de răspuns
{
"application_version": "2.1.0",
"api_version": "2.1",
"edition": "commercial",
"features": {
"anonymous_access": true,
"api_token_authentication": true,
"password_generator": {
"enabled": true,
"languages": ["de", "en", "es", "fr", "it"]
},
"accounts": {
"enabled": true
},
"pushes": {
"enabled": true,
"email_auto_dispatch": true,
"file_attachments": {
"enabled": true,
"requires_authentication": true
}
},
"requests": {
"enabled": true,
"email_auto_dispatch": true,
"file_attachments": {
"enabled": true,
"requires_authentication": true
}
}
}
}
Caracteristici Hash
acces_anonim - Dacă este permisă utilizarea anonimă a API
api_token_authentication - Suport pentru autentificarea cu jeton purtător
password_generator.enabled - Dacă este activată generarea de parole, fraze de acces și coduri PIN
password_generator.limbi - Limbi acceptate pentru listele de cuvinte din frazele de acces
conturi.activate - Dacă lista spațiilor de lucru este disponibilă la /api/v2/workspaces (calea tradițională /api/v2/accounts este un alias)
împinge.activat - Crearea și gestionarea push-urilor prin API
pushes.email_auto_dispatch - Dacă această instanță poate trimite prin e-mail linkuri secrete la crearea mesajului. Doar detectarea funcționalității — utilizați parametrul `notify_recipients` la crearea mesajului pentru a dezactiva funcția „Auto-Dispatch”, menținând totuși setarea `notify_emails_to` pentru destinatarii autentificați.
pushes.file_attachments.activat - Fișiere atașate pe push-uri
pushes.file_attachments.requires_authentication - Fișierele atașate necesită autentificare
cereri.activate - Crearea și gestionarea cererilor prin API
cereri.email_auto_dispatch - Dacă această instanță poate trimite prin e-mail linkuri secrete la crearea mesajului. Doar detectarea funcționalității — utilizați parametrul `notify_recipients` la crearea mesajului pentru a dezactiva funcția „Auto-Dispatch”, menținând totuși setarea `notify_emails_to` pentru destinatarii autentificați.
requests.file_attachments.enabled - Fișiere atașate la cererile de răspuns
requests.file_attachments.requires_authentication - Fișierele atașate necesită autentificare
POST /api/v2/generate
Creează una sau mai multe parole, fraze de acces sau coduri PIN. Autentificarea este opțională. Cererile anonime utilizează politica spațiului de lucru principal (sau politica globală auto-găzduită). Trimiteți un token „Bearer” pentru a utiliza politica spațiului de lucru cu autentificare, inclusiv pe domenii personalizate.
Atunci când configurarea generatorului este dezactivată prin politică, suprascrierile opțiunilor sunt ignorate și se ia în considerare doar valoarea numărului.
Dacă generarea parolei este dezactivată, API-ul returnează codul de eroare 403 Forbidden.
Generarea este limitată la 30 de solicitări pe minut pentru fiecare adresă IP sau utilizator autentificat.
Corpul cererii (JSON)
Trimiteți parametrii la nivelul rădăcinii obiectului JSON. Câmpurile omise vor fi înlocuite cu valorile implicite ale politicii în vigoare.
| Parametru | Tip | Descriere |
|---|---|---|
workspace_id
opțional
|
string | Spațiu de lucru autentificat din care se aplică politica. Acceptă și parametrul „account_id”. Returnează codul de eroare 401 dacă apelantul nu este membru al acelui spațiu de lucru. |
type
opțional
|
string | parolă, frază de acces sau cod PIN |
count
opțional
|
integer (1-10) | Numărul de valori care trebuie generate |
language
opțional
|
string | Lista de cuvinte pentru fraze de acces: en, es, fr, de sau it |
word_count
opțional
|
integer (3-10) | Numărul de cuvinte dintr-o frază de acces |
separator
opțional
|
string | Șir inserat între cuvintele frazei de acces |
capitalize
opțional
|
boolean | Scrieți cu majusculă fiecare cuvânt din fraza de acces |
number
opțional
|
boolean | Adăugarea de cifre la o frază de acces |
symbol
opțional
|
boolean | Adăugarea unui simbol la o frază de acces |
length
opțional
|
integer | Lungimea parolei (4–128) sau lungimea codului PIN (4–12) |
uppercase
opțional
|
boolean | Includeți litere majuscule în parole |
lowercase
opțional
|
boolean | Includeți litere mici în parole |
digits
opțional
|
boolean | Includeți cifre în parole |
symbols
opțional
|
boolean | Includeți simboluri în parole |
avoid_ambiguous
opțional
|
boolean | Excludeți caracterele ambigue, cum ar fi 0, O, l și 1 |
min_digits
opțional
|
integer | Numărul minim de cifre dintr-o parolă |
min_symbols
opțional
|
integer | Numărul minim de caractere dintr-o parolă |
charset
opțional
|
string | Setare literă: ASCII, latină, chirilică sau greacă. Orice altă valoare este tratată ca un set de caractere personalizat. |
Câmpuri de răspuns
| Câmp | Descriere |
|---|---|
type |
parolă, frază de acces sau cod PIN |
language |
Prezență pentru fraze de acces. Lista de cuvinte utilizată pentru generarea rezultatului. |
entropy_bits |
Valoarea estimată a rezistenței a fost returnată în răspuns. A se vedea entropia ca măsură a puterii parolei. |
results |
Matrice de șiruri generate |
Exemplu de cerere
curl -X POST https://eu.pwpush.com/api/v2/generate \
-H "Content-Type: application/json" \
-d '{
"type": "passphrase",
"language": "en",
"word_count": 4,
"count": 2
}'
Exemplu de răspuns
{
"type": "passphrase",
"language": "en",
"entropy_bits": 51.7,
"results": ["Correct-Horse-Battery-Staple42", "River-Garden-Lantern-Anchor17"]
}
Exemplu de parolă
curl -X POST https://eu.pwpush.com/api/v2/generate \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"type": "password",
"length": 20,
"symbols": true
}'
Exemplu: Crearea și recuperarea unui Push
# Create a push
curl -X POST https://eu.pwpush.com/api/v2/pushes \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"push": {
"payload": "MySecretPassword123",
"expire_after_duration": 6,
"expire_after_views": 3
}
}'
# Retrieve the push
curl -X GET https://eu.pwpush.com/api/v2/pushes/fkwjfvhall92
Exemplu: Creați o cerere și răspundeți
# Create a request
curl -X POST https://eu.pwpush.com/api/v2/requests \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"request": {
"request": "Please provide the API key",
"close_after_duration": 8
}
}'
# Respond to the request
curl -X PATCH https://eu.pwpush.com/api/v2/requests/orpw2wkg00vpn0a/respond \
-H "Content-Type: application/json" \
-d '{
"request": {
"response": "The API key is: sk_live_1234567890"
}
}'
Solicitarea statelor
API utilizează coduri de stare HTTP standard:
200 OK
Cerere reușită
201 Created
Resursă creată
400 Bad Request
Parametri nevalabili
422 Unprocessable Entity
Erori de validare sau date de solicitare invalide
401 Unauthorized
Autentificare necesară
403 Forbidden
Acces refuzat
404 Not Found
Resursa nu a fost găsită
Limitarea vitezei este implementată pentru a proteja API de abuzuri și pentru a asigura o utilizare corectă pentru toți utilizatorii. Limitele de viteză sunt aplicate pentru fiecare adresă IP și variază în funcție de tipul de cerere și de punctul final.
Solicitările GET către jurnalul de audit sunt limitate la 15 solicitări pe minut per adresă IP, cu o limită de vârf de 5 solicitări la fiecare 10 secunde și 30 de solicitări pe minut per utilizator autentificat sau token API.
Răspunsuri la limita ratei
Atunci când o cerere depășește limita de viteză, API returnează un mesaj 429 Too Many Requests cu un cod de stare Retry-After care indică momentul în care puteți relua solicitarea.
Cele mai bune practici
- Implementați backoff-ul exponențial atunci când primiți un răspuns 429
- Respectați
Retry-Aftervaloarea antetului - Cache răspunsuri atunci când este cazul pentru a reduce apelurile API
- Operațiuni pe loturi, atunci când este posibil, în loc să faceți multe cereri individuale
- Monitorizați utilizarea API a aplicației dvs. pentru a evita atingerea limitelor
Notă: Limitele ratei sunt concepute pentru a preveni abuzurile, permițând în același timp utilizarea legitimă. Dacă vă confruntați în mod constant cu limite ale tarifelor, luați în considerare optimizarea integrării dvs. sau contactați asistența pentru a discuta cazul dvs. de utilizare.
Ultima actualizare: October 10, 2026