Vés al contingut (premeu Retorn)

API del servei

Introducció

Per accedir al servei mylist.upc.edu des d'aplicacions o processos externs s'han facilitat la API del servei.

El servei de mylist.upc.edu està basat en el programari lliure "sympa", que proveeix una API basada en SOAP i que podreu consultar en detall al manual on-line de sympa: https://www.sympa.org/manual/soap(obriu en una finestra nova),  Aquesta API permet realitzar un conjunt limitat de funcionalitats del sympa i que es descriuen al següent punt.

Per facilitar la vida dels usuaris del servei, hem desenvolupat una API alternativa per poder accedir a aquesta API fent servir el protocol HTTPS en comptes de SOAP. Aquesta API permet executar les mateixes funcions, però amb una única URL.

Aquestes APIs requereixen autenticació del client que serà un usuari i una contrasenya. Les funcions s'executaran amb els permissos que tingui aquest usuari al servei.

API SOAP

La URL del servei API SOAP de mylist.upc.edu és: https://mylist.upc.edu/sympasoap

 

Les funcions que podem accedir-hi via API SOAP són:

  • login : Es validaran les credencials (usuari i contrasenya)
  • casLogin : Verifica un tiquet de proxy CAS contra el servidor CAS. En el servei de mylist.upc.edu encara no està integrat el servei amb el CAS de la UPC.
  • authenticateAndRun : Útil per clients SOAP que no poden guardar cookies HTTP; podran proveir la cookie de sessió i la comanda a executar en una única crida.
  • authenticateRemoteAppAndRun : Equivalent a l'anterior, però en un context de "trusted applications".
  • lists : Proveeix el llistat de llistes (segons els permisos de l'usuari)
  • complexLists : El mateix que l'anterior, però proveeix una estructura més complexa per a cada llista.
  • info : Proveeix informació descriptiva per una llista.
  • which : Proveeix el llistat de subscripcions per a un usuari
  • complexWhich : El mateix que l'anterior, però proveeix una estructura més complexa per a cada llista.
  • amI : Indica si un usuari és membre d'una llista.
  • review : Llista els membres d'una llista.
  • subscribe : subscriu l'usuari amb el què s'ha connectat a l'API a una llista.
  • signoff : de-subscriu l'usuari amb el què s'ha connectat a l'API d'una llista.
  • add : (per usuaris administradors) afegeix un usuari a una llista
  • del :(per usuaris administradors) de-subscriu un usuari d'una llista.
  • createList : (per a usuaris amb permís de creació de llistes) crea una nova llista de distribució
  • closeList :(per usuaris administradors) tanca una llista.

API HTTP(s)

La URL de l'API HTTP(s) és https://mylist.upc.edu/api/user_api.php 

 

Les funcions que es proveeixen via HTTPs són més limitades, i pot anar creixent durant la vida del servei segons les necessitats de la Universitat. Actualment, les funcions que podem accedir-hi via API HTTP són les que llistem a continuació.

Amb cada funció es mostra quins són els paràmetres. Els paràmetres amb un asterisc (*) al costat són obligatoris, la resta són opcionals.

  • lists (usuari*, contrasenya*, topic, subtopic): Proveeix el llistat de llistes (segons els permisos de l'usuari)
  • which (usuari*, contrasenya*, email*): Proveeix el llistat de subscripcions per a un usuari
  • review (usuari*, contrasenya*, nom_llista*): Llista els membres d'una llista.
  • info (usuari*, contrasenya*, nom_llista*): Proveeix informació descriptiva per una llista.
  • closeList (usuari*, contrasenya*, nom_llista*): (per usuaris administradors) tanca una llista.
  • add (usuari*, contrasenya*, nom_llista*, email*, gecos, quiet): (per usuaris administradors) afegeix un usuari a una llista
  • del (usuari*, contrasenya*, nom_llista*, email*, quiet*): (per usuaris administradors) de-subscriu un usuari d'una llista.
  • createList (usuari*, contrasenya*, nom_llista*, assumpte*, plantilla*, descripcio*, topic*): (per a usuaris amb permís de creació de llistes) crea una nova llista de distribució

Exemples:

https://mylist.upc.edu/api/user_api.php?username=el_meu_usuari&password=la_meva_contrasenya&action=lists

=> retornarà el següent codi json:

[{"homepage":"http:\/\/mylist.upc.edu\/wws\/info\/esistemes","subject":"","listAddress":"esistemes@mylist.upc.edu"},{"homepage":"http:\/\/mylist.upc.edu\/wws\/info\/interlocutorsticsg","subject":"[TICsg]","listAddress":"interlocutorsticsg@mylist.upc.edu"},{"homepage":"http:\/\/mylist.upc.edu\/wws\/info\/istw-upcbarcelona","subject":"Mailing list from ISTW-UPC Barcelona","listAddress":"istw-upcbarcelona@mylist.upc.edu"},{"homepage":"http:\/\/mylist.upc.edu\/wws\/info\/llistamixta","subject":"","listAddress":"llistamixta@mylist.upc.edu"},{"listAddress":"llistaperesborar@mylist.upc.edu","subject":"","homepage":"http:\/\/mylist.upc.edu\/wws\/info\/llistaperesborar"},{"homepage":"http:\/\/mylist.upc.edu\/wws\/info\/smartunivercity-fans","subject":"Llista de supporters de la SMART UniverCITY","listAddress":"smartunivercity-fans@mylist.upc.edu"},{"homepage":"http:\/\/mylist.upc.edu\/wws\/info\/ssi","subject":"[SSI] ","listAddress":"ssi@mylist.upc.edu"}]