Help

Eskup API

Eskup is basically ELPAIS.com's messaging system and we'll use the API to communicate with it. We can distinguish three points of access to the API:

  • Ineskup: used to inject messages in Eskup.
  • Outeskup: just the opposite of Ineskup, it is used to recover messages and related information.
  • Profileeskup: manages objects' preferences (users and events) in Eskup (users following others, profiles, whom a user follows, etc.).

Before we start our approach to the API itself, it is important to understand the concepts from API's view, no matter how we name them from the user's point of view. Now we need understand the API calling parameters.

Type of objetcs

  • Users: all of us :). There are 4 boards or panels available (see section below). We must authenticate ourselves before the API through the public key available in your "Opciones" (Options) link.
  • Events or topics: a simple way of considering them might be summarized as "users who only have a t1 where other users may write". In fact it is much more complex as there are other functionalities, for example, managing functions, permissions, subscriptions, etc.

BOARDS

In addition, as we have just seen, each object may have up to 4 boards or panels:

  • t1: from the user's point of view it is a board where he/she writes all public messages, the destination of which may be also another one but all the messages will be injected here as well. For an event, it is where all messages sent by users who write on it will be inserted. It is public and everyone can see it. In eskup.com it is the equivalent of the "mensajes enviados" (sent messages) tab of "mis mensajes" (my messages). ".
  • t2: it is the board where messages from those users and topics we follow will be inserted. It only makes sense to users, now topics cannot follow any other object. It is only visible for the user himself and so the requests for recovering it must be authenticated. In eskup.com it is the equivalent to "lo que sigo" (what I follow) tab.
  • t3: it is the board of private messages and once more it makes sense only to users. It is only visible for the user himself and so the requests for recovering it must be authenticated. In eskup.com it is the equivalent to the "en privado" (in private) tab.
  • t4: it is also related with users and will store messages in connection with him/her, either because he/she is mentioned or because those messages are replies to a message posted by he/she. In eskup.com it is the equivalent to "menciones"" (mentions) in "mis mensajes" (my messages) tab.

Concepts it is advisable to get straight:

  • A user may follow other objects and these will appear on his/her board t2. However, as to topics, it must be clear that this does not imply being able to write on them: we can read what has been writen on the topic eskup but do not intend to actively participate on it (write).
  • A user may write on topics but not follow them: following the example above, we can write on the topic eskup but, if we do not follow it, messages will not be shown on our t2 board.
  • t1 boards are always public and we cannot prevent a user from following us. What we can avoid is the injection of messages from other users in our board t3 using the black list, but we can do nothing about the possible tracking of other public objects.
  • It makes no sense sending messages to public and private targets (for instance to the mentioned eskup board and to a user's t3 ) as the fact that a message is public invalidates the supposed privacy, in the event of which Ineskup will discard private destinations.

Limitations to the number of requests

  • Ineskup: there is a limitation of 10 messages each 60 seconds per user. That means one message each 6 seconds or 360 per hour, this is more than sufficient for a reasonable use of Eskup. Anyway, if you think you might need more, please let us know.
  • There is no other limitation or rate-limit. Make a reasonable use of Eskup and there will be no need of reconsidering this issue at all :)

Queries, suggestions, bugs, etc.:

As you may already know, we want your feedback in ELPAIS.com and, if possible, even more with Eskup. It is very important for us that you post any problem, question, suggestion, etc. you may send it to the *eskup topic. We will do our best to answer you as soon as possible.

Ineskup

It's the handler used to process requests related with messages.

Request's format

http://eskup.elpais.com/Ineskup

Parameters:

id User's public key (as it appears in your "Opciones" (Options) link). It is a mandatory parameter.
c Command to be executed over the message.
Possible values:
  • add create a new message (default value when parameter is omitted)
  • del delete a message
  • edit modify a message
  • reply reply to a message
Restrictions:
  • You can only delete your own messages, or if you are the administrator of the topic.
  • You can only edit your own messages.
m Message content.

Indicates the message content, both regarding new and forwarded messages (c=add), replies ( c=reply ) and edits ( c=edit ). It is a mandatory parameter, except when a message is deleted ( c=del ), in which case it is ignored. It allows HTML tags <b> </b> and <i> </i> in order to put text in bold and/or italics.

Restrictions:
  • It cannot exceed the maximum number of characters
  • It cannot be empty (except if the command is del )
  • After deleting non allowed characters the message can't be empty
t Message destination.

Indicates the destination of the message. Several destinations can be indicated by separating their name by the character | .

Possible cases:
  • If this parameter is omitted, the message destination will be 'mis mensajes' (my messages) tab of the user's board.
  • In order to send the message to one or several topics, their name must be indicated preceded by the character * and separated by the character |. E. g.: t=*eskup|*demiscasillas
  • In order to indicate one or several users as destination (as private message), their nickname separated by the character | must be indicated. E. g.: t=john|harry
  • If the command is different than add a single destination must be indicated
  • To delete a private message (del command), the value t=p must be indicated
Restrictions:
  • The user can only write on the topics he/she has requested and where he/she is authorized and they must be available at that very moment.
  • The user can only send private messages to users who have not blocked him/her.
  • Private messages can't be sent to users and topics at the same time, because when a message is sent to a topic the content becomes public and thus, sending it also as private message, would be inconsistent
  • Messages can only be edited (edit command ) when specifying 'mis mensajes' (my messages) as destination
  • Messages on topics can only be deleted with the necessary permission. If the user is the moderator of a topic he/she can delete other user's messages on that topic but can't delete them from "mis mensajes" (my messages) tab of the message's author.
x Extra data.
Possible values:
  • If the command is add, the message will be treated as if it had been forwarded (FWD) and the value will be the identifier of the message to be forwarded
  • If the command is del, the value of this parameter will be the identifier of the message to be deleted
  • If the command is edit, the value of this parameter will be the identifier of the message to be edited
  • If the command is reply, the value of this parameter will be the identifier of the message to be replied
Restrictions:
  • If the command is other than 'add' this parameter will always have to contain a certain value
f Reply to the request's format
Possible values:
  • text plain text (default value)
  • json
  • xml
  • html
p Image associated with the message.

In order to send images the request must be done by POST with enctype="multipart/form-data" .

Restrictions:
  • The maximum size must not be exceeded
d External targets

In order to send the message to Twitter (d=1), Facebook (d=2) or to both of them (d=1|2).

Other errors in connection with the handler:

  • When exceeding the maximum number of allowed requests per minute

Reply's format (when the request is correct):

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] will contain additional information on the performed action

<id-mensaje> will contain the new message id generated

Reply's format (when the request returns an error):

When the request returns an error it is redirected to the following url, where the occurred error is specified:

http://eskup.elpais.com/Scripts/errors.html

text
error <error_code>
[error_info]
json
{'status':'error','code':'<error_code>','info':'[error_info]'}
xml
<eskup>
<status>error</status>
<code><error_code></code>
<info><![CDATA[[error_info]]]></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"><error_code></p>
      <p id="info">[error_info]</p>
   </body>
</html>

[error_code] error's internal code

[error_info] additional information on the error

Examples

http://eskup.elpais.com/Ineskup?id=<public_ID>&c=add&m=<message>
Send a message to 'mis mensajes' (my messages)
http://eskup.elpais.com/Ineskup?id=<public_ID>&c=add&m=<message>t=john|mary
Send a private message to 'john' and 'mary'
http://eskup.elpais.com/Ineskup?id=<public_ID>&c=add&m=<message>&t=*hartosdelcoche
Send a message to the topic 'Hartos del coche' (Fed up with the car)
http://eskup.elpais.com/Ineskup?id=<public_ID>&c=add&m=<message>&t=*eskup|*loquepasaporlatele
Send a message to the topics 'Eskup' and 'Lo que pasa por la tele' (What goes on tv)
http://eskup.elpais.com/Ineskup?id=<public_ID>&c=reply&x=<messageID_to_reply>&m=<reply_message>
Reply to a message
http://eskup.elpais.com/Ineskup?id=<public_ID>&c=del&x=<messageID_to_delete>
Delete a message
http://eskup.elpais.com/Ineskup?id=<public_ID>&c=del&x=<messageID_to_delete>&t=p
Delete a private message from my board 'en privado' (in private)
http://eskup.elpais.com/Ineskup?id=<public_ID>&c=edit&x=<messageID_to_edit>&m=<new_message>
Edit a message
http://eskup.elpais.com/Ineskup?id=<public_ID>&c=add&x=<messageID_to_forward>&m=<forwarded_message>
Forward a message

Outeskup

It's the handler used to return messages, grouped as requested.

Request's format:

http://eskup.elpais.com/Outeskup

Parameters:

id Public key identifying the user
t Requested board
(2 by default)
  • t1-user Board with messages sent by <user>
  • t4-user Board with messages sent to <user>

The following can be requested only while authenticated

  • 2 Board of users/events followed by the user identified by id.
  • 3 Board of private messages received/sent by a user identified by id.
f Format. (json by default)
  • json Default format. It's the preferred choice for javascript.
  • xml Strict XML that can me easily parsed in any language.
  • rss Format that allows you to read your board in any standard RSS reader.
p Page number (1 by default)
msg Message identifier if what you want is a thread or an individual message.
th I want a thread (1) or just the message (0) referenced by msg.
ts Last update's date (in unix timestamp format).  If this is sent, it's used to decide if the information in the server is later or not to the indicated date
nummsg Number of messages per page. (50 by default, 100 maximum)

Examples of PUBLIC INFORMATION REQUESTS:

http://eskup.elpais.com/Outeskup?t=t1-<user> flecha A user's board
http://eskup.elpais.com/Outeskup?t=t4-<user> flecha The board with references to a certain user
http://eskup.elpais.com/Outeskup?msg=<messageID> flecha A specific message
http://eskup.elpais.com/Outeskup?msg=<messageID>&th=1 flecha Conversation thread to which a certain message belongs

Examples of PRIVATE INFORMATION REQUESTS:

http://eskup.elpais.com/Outeskup?t=2&id=<public_ID> flecha My subscribed boards
http://eskup.elpais.com/Outeskup?t=3&id=<public_ID> flecha My private messages

REPLY'S FORMAT:

numMensajes Number of messages in the board
errorCode Error code. If everything is ok, then it is 0
ts Timestamp passed by parameter. When not passed, current time.
horaActual Timestamp of the current time.
ultimavisita Only if the request comes from an authenticated user
updated Update's date
  • [requested_board] timestamp of the last update of the requested board

Only if the request comes from an authenticated user:

  • t2-<authenticated_user> timestamp of the last update of board 2 of the authenticated user
  • t3-<authenticated_user> timestamp of the last update of board 3 of the authenticated user
messages Messages list

Each message contains:

  • idMsg Unique message identifier.
  • usuarioOrigen Message author.
  • contenido Message text.
  • CopiaEnTablones Board where the message is. At least when being in the author's one.
  • tsMensaje Message date creation.
  • borrado If the message has been deleted but it was not deleted from the DB if will be 1. The content is deleted.
  • via Method for sending the message. Up until now it can be web or sms (the sms field is reserved for future use)
  • reenvio When the message is being forwarded: forwarded message identifier.

If includes an image:

  • cont_adicional Image's path, if the message includes one. 0 when there is no image.
  • cont_adicional_tipo Type of content. For the moment, "IMAGE"
  • cont_adicional_dimx x size of the image.
  • cont_adicional_dimy y size of the image.

When it is part of a conversation:

  • hilo Message starting the conversation identifier.
  • idMsgRespuesta Message identifier to which it's replying.
  • autorMsgRespuesta Message author to which it's replying.
  • level Level of message indentation in relation to the complete thread.
perfilesUsuarios Profiles of every user appearing in the messages list
  • pathfoto Photo's url
  • descripcion Description
  • urlwebpersonal Personal website url
  • urltwitter Twitter url
  • urlblog Personal blog url

  If the profile is public, it returns next fields, too:

  • nombre Name
  • apellidos Surname
perfilesEventos Profile of every event appearing in messages in the messages list
  • nombre Name of the event.
  • pathfoto Url of the photo associated to the event.
  • descripcion Description of the event
  • num_mensajes Number of messages in the event.
  • numero_seguidores_evento Number of followers it has.
  • numero_writers_evento Number of users who can write on the event.
  • ts_ultimo_mensaje timestamp of the last message sent to the board.
  • sub_automatica If the subscription is automatic or if it is necessary to ask permission.
  • activo If it is active or closed.
  • nombreparamovil (Reserved for future use) Text chain identifying the event for sms sends.
  • adm Event's moderator/s
  • prop Event's owner/s.
  • etiquetas Tags associated with the event.
  • ts_inicio Timestamp of start of the event.
  • ts_final Timestamp of end of the event.

Example of reply in JSON

Petición:

http://eskup.elpais.com/Outeskup?t=ev-eskup&nummsg=2

Reply:

{
   "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" : ""
      }
   }
}

                      

Example of reply in XML

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>

 

Profileeskup

It's the handler used for managing user's information.

Request format:

http://eskup.elpais.com/Profileeskup

Parameters:

id Public key identifying the user
action Action to perform:
Possible values:
  • add_usuarios
  • add_eventos
  • add_denegaciones
  • add_writers
  • del_usuarios
  • del_eventos
  • del_denegaciones
  • del_writers
  • list_usuarios
  • list_eventos
  • list_seguidores
  • list_writers
  • list_denegaciones
  • info_usuarios
  • info_eventos
f Reply's format.
Possible values::
  • json
  • xml
data Information to be added/deleted. E. g., list of users/events to add, delete, list
user User on whom to perform the action (the ones allowed) when he/she is not the identified one.
event Event on which to perform the action.
msg Message attached for the required cases (when asked to write on an event)
pag Number of pages when the replies do not fit in a single page (1 by default).
maxResp Maximum number of replies per page (30 by default, 100 maximum. 33 in case the case of sorting type 1).
sort There are two sorting types. By inverse order to the moment of adding that user to the list (type 0) and by activity (type 1. Only first page available)

EXAMPLES of public information requests

http://eskup.elpais.com/Profileeskup?action=info_usuarios&user=<user>
Information about a user
http://eskup.elpais.com/Profileeskup?action=info_eventos&event=<event>
Information on an event
http://eskup.elpais.com/Profileeskup?action=list_usuarios&user=<user>
Whom does a user follow
http://eskup.elpais.com/Profileeskup?action=list_eventos&user=<user>
List of events followed by a user
http://eskup.elpais.com/Profileeskup?action=list_seguidores&user=<user>
A user's followers
http://eskup.elpais.com/Profileeskup?action=list_seguidores&event=<event>
An event' followers
http://eskup.elpais.com/Profileeskup?action=list_writers&event=<event>
Who can write on/in&& an event

EXAMPLES OF PUBLIC INFORMATION REQUESTS

http://eskup.elpais.com/Profileeskup?action=add_eventos&id=<public_ID>&data=<list of events separated by ,>
To follow an event
http://eskup.elpais.com/Profileeskup?action=del_eventos&id=<public_ID>&data=<list of events separated by ,>
To stop following an event
http://eskup.elpais.com/Profileeskup?action=add_usuarios&id=<public_ID>&data=<list of events separated by ,>
To follow a user
http://eskup.elpais.com/Profileeskup?action=del_usuarios&id=<public_ID>&data=<list of events separated by ,>
To stop following a user
http://eskup.elpais.com/Profileeskup?action=add_denegaciones&id=<public_ID>&data=<list of events separated by ,>
To block a user to prevent him from sending us private messages
http://eskup.elpais.com/Profileeskup?action=del_denegaciones&id=<public_ID>&data=<list of events separated by ,>
To unblock a user
http://eskup.elpais.com/Profileeskup?action=list_denegaciones&id=<public_ID>
Blocked users list
http://eskup.elpais.com/Profileeskup?action=add_writers&id=<public_ID>&data=<list of events separated by ,>&msg=<mensaje_de_peticion_si_es_un_evento_cerrado>
Request having the possibility of writing in/on one or several events
http://eskup.elpais.com/Profileeskup?action=del_writers&id=<public_ID>&data=<list of events separated by ,>
Stop writing on/in an event
http://eskup.elpais.com/Profileeskup?action=list_writers&id=<public_ID>
List of all the events where a user can write on

REPLY'S FORMAT

pagina Page number
numeroUsuarios Number of users (if users or followers were requested)
numeroEventos Number of events (if events were requested)
perfilesUsuarios Profiles of every user if users or followers were requested

Each profile is defined by the user's name and it contains:

  • pathfoto Photo's url.
  • descripcion Description
  • urlwebpersonalPersonal website url
  • urltwitterTwitter url
  • urlblogPersonal blog url

If the one who requests is authenticated:

  • seguido If the user making the request follows him/her or not.
  • bloqueado If the user making the request has him/her bloqued or not.

If the profile is public:

  • nombre Name
  • apellidos Surname

If what he/she requested was info and not a list:

  • numero_usuarios Number of users he/she follows.
  • numero_seguidores Number of users who follow him/her.
  • numero_eventos Number of events he/she follows
  • numero_mensajes_referenciados Number of messages in which he/she is mentioned and/or he/she replies to them.
  • numero_mensajes_propios Number of messages sent.
perfilesEventos Profile of every event if they were requested

Each profile is defined by the event's name and contains:

  • nombre Name of the event.
  • pathfoto Url of the photo associated with the event.
  • descripcion Event's description.
  • num_mensajes Number of messages on the event.
  • numero_seguidores_evento Number of followers it has.
  • numero_writers_evento Number of users who can write on the event.
  • ts_ultimo_mensaje timestamp of the last message sent to the board.
  • sub_automatica If suscription is authomatic or if it is necessary to ask permission.
  • activo If it is active or closed
  • nombreparamovil (Reserved for future use) Text chain identifying the event for sms sendings.
  • adm Event's administrator/s.
  • prop Event's owner.
  • etiquetas Tags associated with the event.
  • ts_inicio Timestamp of start of the event.
  • ts_final Timestamp of end of the event.

If who is making the request is authenticated

  • estado_seguimiento If the user who is making the request follows the event or not.
  • estado_escritura If the user who is making the request can write on that event.

EXAMPLE OF REPLY IN JSON

Request:

http://eskup.elpais.com/Profileeskup?action=info_eventos&event=eskup

Reply:


{
   "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
      }
   }
}

   

EXAMPLE OF REPLY IN XML

Request:

http://eskup.elpais.com/Profileeskup?action=info_eventos&event=eskup&f=xml

Reply:


<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>