Gränssnitt för applikationsprogrammering (API)

Gränssnittet för applikationsprogrammering (API) erbjuder tillgång till grundfunktionerna och möjliggör integration mellan Passwork och din infrastruktur eller utveckling av en egen klient.

Allmänt
  1. Data skickas med hjälp av HTTP POST-förfrågningar
  2. Gränssnittets adress — https://passwork.me/api2/
  3. Gränssnittet använder JSON-format
  4. Vi rekommenderar starkt att du använder en HTTPS-anslutning
Bibliotek
  1. Javascript API Connector
  2. .Net API Connector
Serverns svar

{
    'response' : { ... },
    'errorCode' : '...',
    'errorMessage' : '...'
}
                    

Vid fel är response falsk.

Alla ytterligare exempel gäller fältet response.

Öppna en session

/api2/openSession

Skapar en ny session. Returnerar en sessionskod, vilken måste skickas med varje förfrågan. Sessionen avslutas automatiskt efter några minuter.

Parametrar:

email
Användarens e-postadress (användarnamn)

password
Auktoriseringslösenord

Serverns svar:

Success

{
    'code' : '...', // sessionskod
    'hash' : '...'  // md5-hash av Master-lösenordet
}
                    

Fältet сode måste ingå i varje påföljande förfrågning till gränssnittet.
Fältet hash används för att kontrollera Master-lösenordets riktighet.


Fel:

response = false

Fel användarnamn eller lösenord.

errorCode = ban

På grund av upprepade misslyckade försök, är användaren inte tillåten att öppna en ny session.

Hämta data

/api2/getData

Hämtar alla lösenord

Parametrar:

session
Sessionskod

Serverns svar:

Data

{
    'user' : '...', // användarens id
    'groups' : [{  // vektor bestående av valv
        'id' : '...', // valvets id
        'name' : '...', // valvets namn
        'passwordCrypted' : '...',  // krypterad inbjudningskod till valvet
        'folders' :[{  // vektor bestående av mappar
            'id' : '...',  // mappens id
            'name' : '...', // mappens namn
            'passwords' : [{ // vektor bestående av lösenord
                'id' : '...', // lösenordets id
                'categoryId' : '...', // mappens id
                'groupId' : '...', // valvets id
                'name' : '...', // lösenordets namn
                'login' : '...',
                'url', : '...',
                'description' : '...',
                'cryptedPassword' : '...', // krypterat lösenord
                }]
            }]
        }],
        'passwords' : [{ // vektor bestående av lösenord
            'id' : '...', // lösenordets id
            'categoryId' : '...', // mappens id
            'groupId' : '...', // valvets id,
            'name' : '...', // lösenordets namn
            'login' : '...',
            'url', : '...',
            'description' : '...',
            'cryptedPassword' : '...', // krypterat lösenord
            }]
        }]
}
                    

Fel:

{
    'response' : false,
    'errorCode' : 'expired',
    'errorMessage' : 'Session expired'
}
                    

Sessionen har gått ut. En ny session bör öppnas med hjälp av openSession.

Uppdatera och lägga till

Dessa gränssnittsfunktioner befinner sig i teststadiet och kommer att publiceras inom kort.

Exempel

  1. Öppna en ny session med hjälp av openSession
  2. Hämta allt data med hjälp av getData
  3. Be användaren ange sitt Master-lösenord
  4. Avkryptera valvets inbjudningskod (med hjälp av Master-lösenordet) groups[X].passwordCrypted
  5. Avkryptera datat (med hjälp av valvets inbjudningskod) groups[X].folders[Y].passwords[Z].cryptedPassword