Tutte le api di MeetMe sono disponibili previa autenticazione.
Login
Il login può essere eseguito tramite la normale procedura di login, nel caso non si abbia a disposizione un token valido, oppure si può eseguire un qualunque richiesta inserendo l'header authorization con l'indice "token".
Il token ha sempre una lunghezza di 40 caratteri.
Login tramite credenziali
Il login viene eseguito tramite POST alla url "user/login-api" e con i parametri LoginForm[email] e LoginForm[password].
Nel caso di login errato viene restituito un json con indice "success" = false.
Se il login va a buon fine, viene restituito un json con due indici: "success"=true e "data" contenente i dati dell'utente, tra cui il token.
Login tramite token
Per eseguire il login tramite token basta accedere direttamente alla route interessata inserendo però l'header authorization con valore "token=xxxxxxxxxxxxxx".
Richieste GET
Di seguito sono elencate le entità per le quali è disponibile una chiamata GET:
Entità | Route di base | Azione | Dati restituiti |
---|---|---|---|
Badge | badge | index | |
Contatti | contact | index | |
Eventi | event | index | |
Eventi | event | get-parent-events | Ritorna tutti gli eventi genitori dell'utente attuale |
Liste | list | index | |
Luoghi | hall | index | |
Mailing | mailing | index | |
Partecipanti | participant | index | |
Postazioni | location | index | |
Timbratori | timestamper | index |
Funzionamento delle richieste GET
Le richieste GET devono specificare il formato di risposta desiderato. Il parametro deve avere indice "type" e deve essere passato in GET. Per ora è disponibile solo il formato json.
SOLO le azioni "index" permettono di utilizzare i filtri e le relazioni.
Filtri
Il filtro è un parametro GET che specifica il campo su cui applicare il filtro e il suo valore.
Per comporre il filtro, si usa il seguente formato: {route di base}Search[{campo}]=valore.
IMPORTANTE: la route di base deve essere con la prima lettera maiuscola.
Esempi:
ListSearch[id]=6 ritorna solo la lista con id = 6
ContactSearch[name]=paolo&ContactSearch[surname]=rossi ritorna solo i contatti con nome "paolo" e cognome "rossi".
Relazioni
È possibile specificare le relazioni da ottenere insieme al modello richiesto. Il parametro deve avere indice "relations" e deve essere passato in GET.
Esempio:
relations[]=customer ritorna il modello cliente dell'entità ricercata
relations[]=customer&relations[]=contacts ritorna il modello cliente e i modelli contatti dell'entità ricercata.
Esempi completi di richieste
/list/index?accessToken=xxxxxxxxxxxxxxxxxxxxxxxxx&type=json
/list/index?accessToken=xxxxxxxxxxxxxxxxxxxxxxxxx&type=json&ListSearch%5Bid%5D=6
/list/index?accessToken=xxxxxxxxxxxxxxxxxxxxxxxxx&type=json&ListSearch%5Bid%5D=6&relations[]=customer
/list/index?accessToken=xxxxxxxxxxxxxxxxxxxxxxxxx&type=json&ListSearch%5Bid%5D=6&relations[]=customer&relations[]=contacts
Richieste POST
Le richieste POST devono essere inviate con due header http:
Content-Type: application/x-www-form-urlencoded
Authorization: token=xxxxxxxxxxxxxxxxxxxxxxxxx
Di seguito sono elencate le url disponibili:
URL | Parametri | Azione eseguita |
---|---|---|
customer/change-default-event | default_event_id (int) | Imposta l'evento di default per l'utente attualmente loggato. |
registrations/register | contact_id (int) event_id (int) registration_time (int) non obbligatorio | Accredita il contatto per l'evento. Se si invia anche il parametro registration_time, questo viene utilizzato per impostare il registration_time del partecipante. Quindi questo parametro deve essere inviato solo nel caso si esegua un accredito quando il server non è raggiungibile. |