Eskup es el sistema de mensajería de ELPAIS.com con el que nos comunicaremos usando un API. Por ahora, podemos distinguir tres puntos de acceso a ese API:
Antes de empezar con el API en sí, es importante entender los conceptos que manejaremos porque, independientemente de cómo los llamemos de cara al usuario, son los que entenderán los parámetros de llamada al API.
Además, como acabamos de ver, cada objeto puede disponer de hasta 4 tablones:
Como ya sabes, en ELPAIS.com queremos escuchar los comentarios de nuestros usuarios pero, si cabe, aún más en Eskup. Es muy importante que cualquier duda que tengas, problema, sugerencia, etc. nos la envíes al tema *eskup, e intentaremos contestaros lo más rápido posible.
Es el handler encargado de procesar las peticiones relacionadas con los mensajes
http://eskup.elpais.com/Ineskup
id |
Clave pública del usuario (tal y como aparece en tu página "Opciones"). Es un parámetro obligatorio. | |
---|---|---|
c |
Comando a ejecutar sobre el mensaje. | Posibles valores:
Restricciones:
|
m |
Contenido del mensaje. | Indica el contenido del mensaje, tanto para mensajes
nuevos y reenvíos ( Restricciones:
|
t |
Destino del mensaje. | Indica el destino del mensaje. Se pueden indicar varios
destinos separando el nombre de los mismos con el carácter Posibles casos:
Restricciones:
|
x |
Datos extra. | Posibles valores:
Restricciones:
|
f |
Formato de respuesta a la petición. | Posibles valores:
|
p |
Imagen asociada al mensaje. | Para el envío de imágenes es necesario que la petición
sea por POST con Restricciones:
|
d |
Destinos externos del mensaje | Para indicar si hay que enviar el mensaje a Twitter ( |
Otros errores asociados al handler:
text |
ok [extra-info] <id-mensaje> |
---|---|
json |
{'status':'ok','info':'[extra-info]','idmsg':'<id-mensaje>'} |
xml |
<eskup> <status>ok</status> <info><![CDATA[[extra-info]]]></info> <idmsg><id-mensaje></idmsg> </eskup> |
html |
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html> <head> <title>Eskup</title> </head> <body> <h1 id="status">OK</h1> <p id="info">[extra-info]</p> <p id="idmsg"><id-mensaje></p> </body> </html> |
[extra-info]
contendrá información adicional sobre la
acción realizada
<id-mensaje>
contendrá el identificador del nuevo mensaje generado
Cuando la petición devuelve error se hace una redirección a la siguiente url, donde se especifica el error ocurrido:
http://eskup.elpais.com/Scripts/errors.html
text |
error <codigo_error> [info_error] |
---|---|
json |
{'status':'error','code':'<codigo_error>','info':'[info_error]'}<codigo_error> |
xml |
<eskup> <status>error</status> <code><codigo_error></code> <info><![CDATA[[info_error]]]></info> </eskup> |
html |
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html> <head> <title>Eskup</title> </head> <body> <h1 id="status">ERROR</h1> <p id="code"><codigo_error></p> <p id="info">[info_error]</p> </body> </html> |
[codigo_error]
código interno del error
[info_error]
información adicional sobre el error
http://eskup.elpais.com/Ineskup?id=<public_ID>&c=add&m=<mensaje> |
---|
Enviar un mensaje a 'Mis mensajes' |
http://eskup.elpais.com/Ineskup?id=<public_ID>&c=add&m=<mensaje>t=fulanito|menganito |
Enviar un mensaje privado a 'fulanito' y a 'menganito' |
http://eskup.elpais.com/Ineskup?id=<public_ID>&c=add&m=<mensaje>&t=*hartosdelcoche |
Enviar un mensaje al tema 'Hartos del coche' |
http://eskup.elpais.com/Ineskup?id=<public_ID>&c=add&m=<mensaje>&t=*eskup|*loquepasaporlatele |
Enviar un mensaje a los temas 'Eskup' y 'Lo que pasa por la tele' |
http://eskup.elpais.com/Ineskup?id=<public_ID>&c=reply&x=<id_mensaje_a_responder>&m=<mensaje_respuesta> |
Responder a un mensaje |
http://eskup.elpais.com/Ineskup?id=<public_ID>&c=del&x=<id_mensaje_a_borrar> |
Borrar un mensaje |
http://eskup.elpais.com/Ineskup?id=<public_ID>&c=del&x=<id_mensaje_a_borrar>&t=p |
Borrar un mensaje privado de mi tablón 'Privados' |
http://eskup.elpais.com/Ineskup?id=<public_ID>&c=edit&x=<id_mensaje_a_editar>&m=<nuevo_mensaje> |
Editar un mensaje |
http://eskup.elpais.com/Ineskup?id=<public_ID>&c=add&x=<id_mensaje_a_reenviar>&m=<mensaje_reenviado> |
Reenviar un mensaje |
Es el handler encargado de devolver los mensajes, agrupados según se pidan.
http://eskup.elpais.com/Outeskup
id |
Clave pública que identifica al usuario | |
---|---|---|
t |
Tablón solicitado. (Por defecto 2) |
Solo se pueden pedir si se está autenticado
|
f |
Formato. (Por defecto json) |
|
p |
Número de página. (Por defecto 1) | |
msg |
Identificador de un mensaje si lo que queremos es un hilo o un mensaje suelto. | |
th |
Quiero un hilo (1) o solo el mensaje (0) referenciado
por msg . |
|
ts |
Fecha de última actualización (en formato timestamp de unix). Si se envía este dato se utiliza para decidir si la información en el servidor es posterior o no a la fecha indicada. | |
nummsg |
Número de mensajes por página. (Por defecto 50, máximo 100) |
http://eskup.elpais.com/Outeskup?t=t1-<usuario> |
El tablón de un usuario |
---|---|
http://eskup.elpais.com/Outeskup?t=t4-<usuario> |
El tablón de referencias a un usuario |
http://eskup.elpais.com/Outeskup?msg=<id_mensaje> |
Un mensaje específico |
http://eskup.elpais.com/Outeskup?msg=<id_mensaje>&th=1 |
Hilo de conversación a la que pertenece un mensaje específico |
http://eskup.elpais.com/Outeskup?t=2&id=<public_ID> |
Mi tablón de suscripciones |
---|---|
http://eskup.elpais.com/Outeskup?t=3&id=<public_ID> |
Mis mensajes privados |
numMensajes |
Número de mensajes existentes en el tablón | |
---|---|---|
errorCode |
Código de error. Si está todo correcto es 0 | |
ts |
Timestamp pasado por parámetro. Si no se pasó nada, hora actual. | |
horaActual |
Timestamp de la hora actual. | |
ultimavisita |
Solo si la petición es de un usuario autenticado | |
updated |
Fecha de actualización |
Solo si la petición es de un usuario autenticado:
|
mensajes |
Lista de mensajes | Cada mensaje contiene:
Si incluye una imagen:
En caso de que forme parte de una conversación :
|
perfilesUsuarios |
Perfiles de todos los usuarios que aparezcan en los mensajes del listado de mensajes |
Si el perfil es público, se devuelven también:
|
perfilesEventos |
Perfiles de todos los eventos que aparezcan en los mensajes del listado de mensajes |
|
Petición:
http://eskup.elpais.com/Outeskup?t=ev-eskup&nummsg=2
Respuesta:
{ "numMensajes" : 5, "horaActual" : 1275327910, "errorCode" : 0, "ts" : "1275327910.05798292", "ultimaVisita" : 0, "updated" : { "ev-eskup" : 1275316378 }, "perfilesEventos" : { "eskup" : { "estado_seguimiento" : 0, "ts_ultimo_mensaje" : "1275316379.70689702", "tipo_suscripcion" : 1, "codigo_html_libre" : 0, "sub_automatica" : 0, "activo" : 1, "estado_escritura" : 0, "numero_caracteres_mensaje" : 280, "nombre" : "Eskup", "numero_seguidores_evento" : 0, "ts_inicio" : 1275316203, "ts_final" : 2147483647, "adm" : [], "prop" : [ "elpais" ], "pathfoto" : "", "refresco_automatico" : 0, "apoyos" : { "1" : { "tipo_apoyo" : "", "titulo_apoyo" : "", "enlace_apoyo" : "" }, "4" : { "tipo_apoyo" : "", "titulo_apoyo" : "", "enlace_apoyo" : "" }, "3" : { "tipo_apoyo" : "", "titulo_apoyo" : "", "enlace_apoyo" : "" }, "2" : { "tipo_apoyo" : "", "titulo_apoyo" : "", "enlace_apoyo" : "" } }, "clave_publicidad" : "", "numero_writers_evento" : 2, "nombreparamovil" : "", "descripcion" : "Aquí podrás debatir todo aquello relacionado con Eskup como herramienta, enviar tus dudas sobre el funcionamiento, etc.", "etiquetas" : [], "num_mensajes" : 2 } }, "mensajes" : [ { "tsMensaje" : 1275316378, "reenvio" : 0, "usuarioOrigen" : "oscar", "borrado" : 0, "autorMsgRespuesta" : 0, "level" : 0, "via" : "web", "idMsg" : "1275316378-2d88140357ba9cc6e545c01bf14be2d6", "hilo" : 0, "cont_adicional" : 0, "CopiaEnTablones" : "t1-oscar,ev-eskup", "idMsgRespuesta" : 0, "contenido" : "Tengo una duda sobre cómo funciona Eskup. ¿Es en este tema en el que se deben preguntar estas cosas?" }, { "tsMensaje" : 1275316331, "reenvio" : 0, "usuarioOrigen" : "oscar", "borrado" : 0, "autorMsgRespuesta" : 0, "level" : 0, "via" : "web", "idMsg" : "1275316331-aced01f435d25bb91535b13d5f8f234f", "hilo" : 0, "cont_adicional" : 0, "CopiaEnTablones" : "t1-oscar,ev-eskup", "idMsgRespuesta" : 0, "contenido" : "Esto de Eskup tiene buena pinta..." } ], "perfilesUsuarios" : { "oscar" : { "urltwitter" : "http://twitter.com/oscaretu", "seguido" : 0, "pathfoto" : "", "numero_eventos_escribe" : 1, "bloqueado" : 0, "activo" : 0, "apellidos" : "", "urlblog" : "", "urlwebpersonal" : "http://www.soitu.es/u/oscar", "descripcion" : "Mutante", "nombre" : "" } } }
Petición:
http://eskup.elpais.com/Outeskup?t=ev-eskup&nummsg=2&f=xml
Respuesta:
<xml> <numMensajes><![CDATA[2]]></numMensajes> <errorCode><![CDATA[0]]></errorCode> <ts><![CDATA[1275326221.3943181]]></ts> <perfilesEventos> <eskup> <estado_seguimiento><![CDATA[0]]></estado_seguimiento> <ts_ultimo_mensaje><![CDATA[1275316379.70689702]]></ts_ultimo_mensaje> <tipo_suscripcion><![CDATA[1]]></tipo_suscripcion> <codigo_html_libre><![CDATA[0]]></codigo_html_libre> <sub_automatica><![CDATA[0]]></sub_automatica> <activo><![CDATA[1]]></activo> <estado_escritura><![CDATA[0]]></estado_escritura> <numero_caracteres_mensaje><![CDATA[280]]></numero_caracteres_mensaje> <nombre><![CDATA[Eskup]]></nombre> <numero_seguidores_evento><![CDATA[0]]></numero_seguidores_evento> <ts_inicio><![CDATA[1275316203]]></ts_inicio> <ts_final><![CDATA[2147483647]]></ts_final> <adm></adm> <prop> <element><![CDATA[elpais]]></element> </prop> <pathfoto><![CDATA[]]></pathfoto> <refresco_automatico><![CDATA[0]]></refresco_automatico> <apoyos> <_4> <titulo_apoyo><![CDATA[]]></titulo_apoyo> <tipo_apoyo><![CDATA[]]></tipo_apoyo> <enlace_apoyo><![CDATA[]]></enlace_apoyo> </_4> <_1> <titulo_apoyo><![CDATA[]]></titulo_apoyo> <tipo_apoyo><![CDATA[]]></tipo_apoyo> <enlace_apoyo><![CDATA[]]></enlace_apoyo> </_1> <_3> <titulo_apoyo><![CDATA[]]></titulo_apoyo> <tipo_apoyo><![CDATA[]]></tipo_apoyo> <enlace_apoyo><![CDATA[]]></enlace_apoyo> </_3> <_2> <titulo_apoyo><![CDATA[]]></titulo_apoyo> <tipo_apoyo><![CDATA[]]></tipo_apoyo> <enlace_apoyo><![CDATA[]]></enlace_apoyo> </_2> </apoyos> <clave_publicidad><![CDATA[]]></clave_publicidad> <descripcion><![CDATA[Aquí podrás debatir todo aquello relacionado con Eskup como herramienta, enviar tus dudas sobre el funcionamiento, etc.]]></descripcion> <nombreparamovil><![CDATA[]]></nombreparamovil> <numero_writers_evento><![CDATA[2]]></numero_writers_evento> <num_mensajes><![CDATA[2]]></num_mensajes> <etiquetas></etiquetas> </eskup> </perfilesEventos> <perfilesUsuarios> <oscar> <urltwitter><![CDATA[http://twitter.com/oscaretu]]></urltwitter> <seguido><![CDATA[0]]></seguido> <pathfoto><![CDATA[]]></pathfoto> <numero_eventos_escribe><![CDATA[1]]></numero_eventos_escribe> <bloqueado><![CDATA[0]]></bloqueado> <activo><![CDATA[0]]></activo> <apellidos><![CDATA[]]></apellidos> <urlblog><![CDATA[]]></urlblog> <urlwebpersonal><![CDATA[http://www.soitu.es/u/oscar]]></urlwebpersonal> <descripcion><![CDATA[Mutante]]></descripcion> <nombre><![CDATA[]]></nombre> </oscar> </perfilesUsuarios> <mensajes> <element> <reenvio><![CDATA[0]]></reenvio> <tsMensaje><![CDATA[1275316378]]></tsMensaje> <usuarioOrigen><![CDATA[oscar]]></usuarioOrigen> <borrado><![CDATA[0]]></borrado> <autorMsgRespuesta><![CDATA[0]]></autorMsgRespuesta> <via><![CDATA[web]]></via> <idMsg><![CDATA[1275316378-2d88140357ba9cc6e545c01bf14be2d6]]></idMsg> <hilo><![CDATA[0]]></hilo> <level><![CDATA[0]]></level> <CopiaEnTablones><![CDATA[t1-oscar,ev-eskup]]></CopiaEnTablones> <cont_adicional><![CDATA[0]]></cont_adicional> <idMsgRespuesta><![CDATA[0]]></idMsgRespuesta> <contenido><![CDATA[Tengo una duda sobre cómo funciona Eskup. ¿Es en este tema en el que se deben preguntar estas cosas?]]></contenido> </element> <element> <reenvio><![CDATA[0]]></reenvio> <tsMensaje><![CDATA[1275316331]]></tsMensaje> <usuarioOrigen><![CDATA[oscar]]></usuarioOrigen> <borrado><![CDATA[0]]></borrado> <autorMsgRespuesta><![CDATA[0]]></autorMsgRespuesta> <via><![CDATA[web]]></via> <idMsg><![CDATA[1275316331-aced01f435d25bb91535b13d5f8f234f]]></idMsg> <hilo><![CDATA[0]]></hilo> <level><![CDATA[0]]></level> <CopiaEnTablones><![CDATA[t1-oscar,ev-eskup]]></CopiaEnTablones> <cont_adicional><![CDATA[0]]></cont_adicional> <idMsgRespuesta><![CDATA[0]]></idMsgRespuesta> <contenido><![CDATA[Esto de Eskup tiene buena pinta...]]></contenido> </element> </mensajes> <updated> <ev-eskup><![CDATA[1275316378]]></ev-eskup> </updated> <ultimavisita><![CDATA[0]]></ultimavisita> <horaActual>1275326221</horaActual> </xml>
Es el handler encargado de gestionar la información de los usuarios y de los temas.
http://eskup.elpais.com/Profileeskup
id |
Clave pública que identifica al usuario | |
---|---|---|
action |
Acción a realizar. | Posibles valores:
|
f |
Formato de la respuesta. | Posibles valores:
|
data |
Información a añadir/eliminar. Ej: lista de usuarios/eventos a añadir, borrar, listar | |
user |
Usuario sobre el que realizar la acción (las permitidas) si no es el identificado. | |
event |
Evento sobre el que realizar la acción. | |
msg |
Mensaje adjunto para los casos que se necesitan. (Cuando se pide escribir en un evento) | |
pag |
Número de página cuando las respuestas no caben en una sola página | (por defecto 1). |
maxResp |
Número máximo de respuestas por página | (por defecto 30, máximo 100. 33 en el caso de sort tipo 1). |
sort |
Hay dos tipos de ordenación. | Por orden inverso a la hora de apuntarse (tipo 0) y por actividad (tipo 1. No tiene paginación) |
http://eskup.elpais.com/Profileeskup?action=info_usuarios&user=<usuario> |
---|
Información de un usuario |
http://eskup.elpais.com/Profileeskup?action=info_eventos&event=<evento> |
Información de un evento |
http://eskup.elpais.com/Profileeskup?action=list_usuarios&user=<usuario> |
A quién sigue un usuario |
http://eskup.elpais.com/Profileeskup?action=list_eventos&user=<usuario> |
Lista de eventos que sigue un usuario |
http://eskup.elpais.com/Profileeskup?action=list_seguidores&user=<usuario> |
Seguidores de un usuario |
http://eskup.elpais.com/Profileeskup?action=list_seguidores&event=<evento> |
Seguidores de un evento |
http://eskup.elpais.com/Profileeskup?action=list_writers&event=<evento> |
Quién puede escribir en un evento |
http://eskup.elpais.com/Profileeskup?action=add_eventos&id=<public_ID>&data=<lista
de eventos separados por ,> |
---|
Seguir un evento |
http://eskup.elpais.com/Profileeskup?action=del_eventos&id=<public_ID>&data=<lista
de eventos separados por ,> |
Dejar de seguir un evento |
http://eskup.elpais.com/Profileeskup?action=add_usuarios&id=<public_ID>&data=<lista
usuarios separados por ,> |
Seguir a un usuario |
http://eskup.elpais.com/Profileeskup?action=del_usuarios&id=<public_ID>&data=<lista
usuarios separados por ,> |
Dejar de seguir a un usuario |
http://eskup.elpais.com/Profileeskup?action=add_denegaciones&id=<public_ID>&data=<lista
usuarios separados por ,> |
Bloquear un usuario para que no nos mande privados |
http://eskup.elpais.com/Profileeskup?action=del_denegaciones&id=<public_ID>&data=<lista
usuarios separados por ,> |
Desbloquear un usuario |
http://eskup.elpais.com/Profileeskup?action=list_denegaciones&id=<public_ID> |
Lista de usuarios bloqueados |
http://eskup.elpais.com/Profileeskup?action=add_writers&id=<public_ID>&data=<lista
de eventos separados por
,>&msg=<mensaje_de_peticion_si_es_un_evento_cerrado> |
Solicitar poder escribir en uno o varios eventos |
http://eskup.elpais.com/Profileeskup?action=del_writers&id=<public_ID>&data=<lista
de eventos separados por ,> |
Dejar de escribir en un evento |
http://eskup.elpais.com/Profileeskup?action=list_writers&id=<public_ID> |
Listado de los eventos en los que puede escribir un usuario |
pagina |
Número de página | |
---|---|---|
numeroUsuarios |
Número de usuarios ( si se pidió usuarios o seguidores ) | |
numeroEventos |
Número de eventos ( si se pidieron eventos ) | |
perfilesUsuarios |
Perfiles de todos los usuarios si se pidió usuarios o seguidores | Cada perfil está definido por el nombre del usuario y contiene:
Si quien hace la petición está autenticado:
Si el perfil es público, se devuelven también:
Si lo que pedí fue info y no un listado:
|
perfilesEventos |
Perfiles de todos los eventos si se pidieron eventos | Cada perfil está definido por el nombre del evento y contiene:
Si quien hace la petición está autenticado
|
Petición:
http://eskup.elpais.com/Profileeskup?action=info_eventos&event=eskup
Respuesta:
{ "ts_actual" : 1275385671, "perfilesEventos" : { "eskup" : { "estado_seguimiento" : 0, "ts_ultimo_mensaje" : "1275330816.43742609", "tipo_suscripcion" : 1, "codigo_html_libre" : 0, "sub_automatica" : 0, "activo" : 1, "estado_escritura" : 0, "numero_caracteres_mensaje" : 280, "nombre" : "Eskup", "numero_seguidores_evento" : 0, "ts_inicio" : 1275316203, "ts_final" : 2147483647, "adm" : [], "prop" : [ "elpais" ], "pathfoto" : "", "refresco_automatico" : 0, "apoyos" : { "1" : { "tipo_apoyo" : "", "titulo_apoyo" : "", "enlace_apoyo" : "" }, "4" : { "tipo_apoyo" : "", "titulo_apoyo" : "", "enlace_apoyo" : "" }, "3" : { "tipo_apoyo" : "", "titulo_apoyo" : "", "enlace_apoyo" : "" }, "2" : { "tipo_apoyo" : "", "titulo_apoyo" : "", "enlace_apoyo" : "" } }, "clave_publicidad" : "", "numero_writers_evento" : 2, "nombreparamovil" : "", "descripcion" : "Aquí podrás debatir todo aquello relacionado con Eskup como herramienta, enviar tus dudas sobre el funcionamiento, etc.", "etiquetas" : [], "num_mensajes" : 5 } } }
Petición:
http://eskup.elpais.com/Profileeskup?action=info_eventos&event=eskup&f=xml
Respuesta:
<xml> <ts_actual><![CDATA[1275385696]]></ts_actual> <perfilesEventos> <eskup> <estado_seguimiento><![CDATA[0]]></estado_seguimiento> <ts_ultimo_mensaje><![CDATA[1275330816.43742609]]></ts_ultimo_mensaje> <tipo_suscripcion><![CDATA[1]]></tipo_suscripcion> <codigo_html_libre><![CDATA[0]]></codigo_html_libre> <sub_automatica><![CDATA[0]]></sub_automatica> <activo><![CDATA[1]]></activo> <estado_escritura><![CDATA[0]]></estado_escritura> <numero_caracteres_mensaje><![CDATA[280]]></numero_caracteres_mensaje> <nombre><![CDATA[Eskup]]></nombre> <numero_seguidores_evento><![CDATA[0]]></numero_seguidores_evento> <ts_inicio><![CDATA[1275316203]]></ts_inicio> <ts_final><![CDATA[2147483647]]></ts_final> <adm></adm> <prop> <element><![CDATA[elpais]]></element> </prop> <pathfoto><![CDATA[]]></pathfoto><refresco_automatico><![CDATA[0]]></refresco_automatico> <apoyos> <_4> <titulo_apoyo><![CDATA[]]></titulo_apoyo> <tipo_apoyo><![CDATA[]]></tipo_apoyo> <enlace_apoyo><![CDATA[]]></enlace_apoyo> </_4> <_1> <titulo_apoyo><![CDATA[]]></titulo_apoyo> <tipo_apoyo><![CDATA[]]></tipo_apoyo> <enlace_apoyo><![CDATA[]]></enlace_apoyo> </_1> <_3> <titulo_apoyo><![CDATA[]]></titulo_apoyo> <tipo_apoyo><![CDATA[]]></tipo_apoyo> <enlace_apoyo><![CDATA[]]></enlace_apoyo> </_3> <_2> <titulo_apoyo><![CDATA[]]></titulo_apoyo> <tipo_apoyo><![CDATA[]]></tipo_apoyo> <enlace_apoyo><![CDATA[]]></enlace_apoyo> </_2> </apoyos> <clave_publicidad><![CDATA[]]></clave_publicidad> <descripcion><![CDATA[Aquí podrás debatir todo aquello relacionado con Eskup como herramienta, enviar tus dudas sobre el funcionamiento, etc.]]></descripcion> <nombreparamovil><![CDATA[]]></nombreparamovil> <numero_writers_evento><![CDATA[2]]></numero_writers_evento><num_mensajes><![CDATA[5]]> </num_mensajes><etiquetas></etiquetas> </eskup> </perfilesEventos> </xml>