API Quejas y Sugerencias

El objetivo de este documento es, detallar las operaciones y métodos que se encuentran disponibles en el API de quejas y sugerencias.

Operaciones disponibles para Quejas y Sugerencias

Lista de Servicios Disponibles

GET http://www.zaragoza.es/api/recurso/open311/services.json

[
    {
        "service_code": "188088321",
        "service_name": "Oficina Infraestructuras",
        "description": "Reforma integral calles",
        "metadata": false,
        "type": "realtime"
    },
    {
        "service_code": "4849672",
        "service_name": "Limpieza Publica",
        "description": "Gestión de Residuos,Limpieza de calles,contenedores,Puntos Limpios",
        "metadata": false,
        "type": "realtime"
    },
    {
        "service_code": "4849673",
        "service_name": "Medio ambiente",
        "description": "Medio Ambiente, malos olores, Agenda 21, Sostenibilidad, Educación ambiental,Voluntariado,Galacho de Juslibol",
        "metadata": false,
        "type": "realtime"
    }, 
    ...
]

GET http://www.zaragoza.es/api/recurso/open311/services.xml

<services>
    <service>
        <service_code>188088321</service_code>
        <service_name>Oficina Infraestructuras</service_name>
        <description>Reforma integral calles</description>
        <metadata>false</metadata>
        <type>realtime</type>
    </service>
    <service>
    <service_code>4849672</service_code>
        <service_name>Limpieza Pública</service_name>
        <description>
            Gestión de Residuos,Limpieza de calles,contenedores,Puntos Limpios
        </description>
        <metadata>false</metadata>
        <type>realtime</type>
    </service>
    <service>
        <service_code>4849673</service_code>
        <service_name>Medioambiente</service_name>
        <description>
            Medio Ambiente, malos olores, Agenda 21, Sostenibilidad, Educación ambiental,Voluntariado,Galacho de Juslibol
        </description>
        <metadata>false</metadata>
        <type>realtime</type>
    </service>
    ...
</services>

Definición del servicio

GET http://www.zaragoza.es/api/recurso/open311/services/188088321.json

{
    "service_code": "188088321",
    "attributes": [
        {
            "variable": true,
            "code": "account_id",
            "datatype": "number",
            "required": true,
            "datatype_description": "ID Usuario",
            "order": 1,
            "description": "Identificador del usuario que realiza la queja"
        },
        {
            "variable": true,
            "code": "first_name",
            "datatype": "string",
            "required": false,
            "datatype_description": "Nombre",
            "order": 2,
            "description": ""
        },
        {
            "variable": true,
            "code": "last_name",
            "datatype": "string",
            "required": false,
            "datatype_description": "Apellidos",
            "order": 3,
            "description": ""
        },
        {
            "variable": true,
            "code": "phone",
            "datatype": "string",
            "required": false,
            "datatype_description": "Teléfono",
            "order": 4,
            "description": ""
        },
        {
            "variable": true,
            "code": "email",
            "datatype": "string",
            "required": false,
            "datatype_description": "Correo electrónico",
            "order": 5,
            "description": "Correo Electrónico donde enviarle la confirmación de recepción de sus datos así como la respuesta a su sugerencia"
        },
        {
            "variable": true,
            "code": "user_address",
            "datatype": "string",
            "required": false,
            "datatype_description": "Dirección",
            "order": 6,
            "description": "Dirección del usuario que realiza la queja/sugerencia"
        },
        {
            "variable": true,
            "code": "title",
            "datatype": "string",
            "required": true,
            "datatype_description": "Asunto",
            "order": 7,
            "description": "Descripción  breve de la sugerencia"
        },
        {
            "variable": true,
            "code": "description",
            "datatype": "text",
            "required": true,
            "datatype_description": "Descripción",
            "order": 8,
            "description": "Introduzca la descripción de la queja/sugerencia de la forma más detallada posible"
        },
        {
            "variable": true,
            "code": "address",
            "datatype": "string",
            "required": false,
            "datatype_description": "Dirección",
            "order": 9,
            "description": "Descripción de la localización de la queja/sugerencia"
        },
        {
            "variable": true,
            "code": "lat",
            "datatype": "number",
            "required": false,
            "datatype_description": "Latitud",
            "order": 10,
            "description": "Sistema de referencia wgs84"
        },
        {
            "variable": true,
            "code": "lon",
            "datatype": "number",
            "required": false,
            "datatype_description": "Longitud",
            "order": 11,
            "description": "Sistema de referencia wgs84"
        },
        {
            "variable": true,
            "code": "public",
            "datatype": "singlevaluelist",
            "required": true,
            "datatype_description": "Publicar",
            "order": 12,
            "description": "Desea que la sugerencia se publique en www.zaragoza.es",
            "values": [
                {
                    "key": "S",
                    "name": "Sí"
                },
                {
                    "key": "N",
                    "name": "No"
                }
            ]
        },
        {
            "variable": true,
            "code": "media_url",
            "datatype": "string",
            "required": false,
            "datatype_description": "Adjunto",
            "order": 13,
            "description": "URL del documento asociado a la queja/sugerencia"
        }
    ]
}

GET http://www.zaragoza.es/api/recurso/open311/services/188088321.xml

<service_definition>
   <service_code>188088321</service_code>
   <attributes>
      <attribute>
         <variable>true</variable>
         <code>account_id</code>
         <datatype>number</datatype>
         <required>true</required>
         <datatype_description>ID Usuario</datatype_description>
         <order>1</order>
         <description>Identificador del usuario que realiza la queja</description>
      </attribute>
      <attribute>
         <variable>true</variable>
         <code>first_name</code>
         <datatype>string</datatype>
         <required>false</required>
         <datatype_description>Nombre</datatype_description>
         <order>2</order>
         <description />
      </attribute>
      <attribute>
         <variable>true</variable>
         <code>last_name</code>
         <datatype>string</datatype>
         <required>false</required>
         <datatype_description>Apellidos</datatype_description>
         <order>3</order>
         <description />
      </attribute>
      <attribute>
         <variable>true</variable>
         <code>phone</code>
         <datatype>string</datatype>
         <required>false</required>
         <datatype_description>Teléfono</datatype_description>
         <order>4</order>
         <description />
      </attribute>
      <attribute>
         <variable>true</variable>
         <code>email</code>
         <datatype>string</datatype>
         <required>false</required>
         <datatype_description>Correo electrónico</datatype_description>
         <order>5</order>
         <description>Correo Electrónico donde enviarle la confirmación de recepción de sus datos así como la respuesta a su sugerencia</description>
      </attribute>
      <attribute>
         <variable>true</variable>
         <code>user_address</code>
         <datatype>string</datatype>
         <required>false</required>
         <datatype_description>Dirección</datatype_description>
         <order>6</order>
         <description>Dirección del usuario que realiza la queja/sugerencia</description>
      </attribute>
      <attribute>
         <variable>true</variable>
         <code>title</code>
         <datatype>string</datatype>
         <required>true</required>
         <datatype_description>Asunto</datatype_description>
         <order>7</order>
         <description>Descripción breve de la sugerencia</description>
      </attribute>
      <attribute>
         <variable>true</variable>
         <code>description</code>
         <datatype>text</datatype>
         <required>true</required>
         <datatype_description>Descripción</datatype_description>
         <order>8</order>
         <description>Introduzca la descripción de la queja/sugerencia de la forma más detallada posible</description>
      </attribute>
      <attribute>
         <variable>true</variable>
         <code>address</code>
         <datatype>string</datatype>
         <required>false</required>
         <datatype_description>Dirección</datatype_description>
         <order>9</order>
         <description>Descripción de la localización de la queja/sugerencia</description>
      </attribute>
      <attribute>
         <variable>true</variable>
         <code>lat</code>
         <datatype>number</datatype>
         <required>false</required>
         <datatype_description>Latitud</datatype_description>
         <order>10</order>
         <description>Sistema de referencia wgs84</description>
      </attribute>
      <attribute>
         <variable>true</variable>
         <code>lon</code>
         <datatype>number</datatype>
         <required>false</required>
         <datatype_description>Longitud</datatype_description>
         <order>11</order>
         <description>Sistema de referencia wgs84</description>
      </attribute>
      <attribute>
         <variable>true</variable>
         <code>public</code>
         <datatype>singlevaluelist</datatype>
         <required>true</required>
         <datatype_description>Publicar</datatype_description>
         <order>12</order>
         <description>Desea que la sugerencia se publique en www.zaragoza.es</description>
         <values>
            <value>
               <key>S</key>
               <name>Sí</name>
            </value>
            <value>
               <key>N</key>
               <name>No</name>
            </value>
         </values>
      </attribute>
      <attribute>
         <variable>true</variable>
         <code>media_url</code>
         <datatype>string</datatype>
         <required>false</required>
         <datatype_description>Adjunto</datatype_description>
         <order>13</order>
         <description>URL del documento asociado a la queja/sugerencia</description>
      </attribute>
   </attributes>
</service_definition>

Creación de una queja nueva

GET: https://www.zaragoza.es/api/recurso/open311/requests.[json,xml]

HEADERS:
clientID = <Identificador de la aplicación>
HmacSHA1 = Clave HMAC generado de la siguiente forma Hmac(clientId + "GET|POST|PUT|DELETE" + uri + body, clavePrivada)
BODY: 
&service_code=001
&address_string=1234+5th+street
&email=smit333%40sfgov.edu
&device_id=tt222111
&account_id=123456
&first_name=john
&last_name=smith
&phone=111111111
&title=Titulo
&description=Descripcion de la queja
&media_name=fichero.png
&media_body=<Contenido del fichero codificado en Base64>

Listado de quejas

GET: http://www.zaragoza.es/api/recurso/open311/requests.[json,xml]

El servicio permite utilizar los siguientes parámetros.

service_request_id
Para obtener varias quejas en una sola petición, se pueden incluir los identificadores separados por comas.
service_code
Se puede consultar por múltiples servicios separando por comas los identificadores
start_date
Formato, ej 2010-01-01T00:00:00Z.
end_date
Formato, ej 2010-01-01T00:00:00Z.
status
Valores admitidos: open, closed

Por ejemplo, para obtener todas las quejas abiertas:

GET: http://www.zaragoza.es/api/recurso/open311/requests.json?status=open

[
    {
        "service_request_id": 324292,
        "status": "open",
        "service_code": 4849669,
        "service_name": "Infraestructuras:Conservacion",
        "title": "Baches en el paseo María Agustín",
        "description": "Hay varios baches en el paseo María Agustín con la calle Boggiero.\nSolicito la reparación de los baches.",
        "requested_datetime": "2013-02-18T01:00:00Z",
        "updated_datetime": "2013-02-18T00:00:00Z",
        "long": -1.4062670561491153,
        "lat": 40.44693585111653
    },
    {
        "service_request_id": 324719,
        "status": "open",
        "service_code": 4849669,
        "service_name": "Infraestructuras:Conservacion",
        "title": "Baches en el Coso",
        "description": "Hay varios baches en el Coso entre la calle Santa Catalina y la calle Rufas.\nSolicito la reparación de los baches.",
        "requested_datetime": "2013-02-19T01:00:00Z",
        "updated_datetime": "2013-02-19T00:00:00Z",
        "long": -1.4062670561491153,
        "lat": 40.44693585111653
    },
    ...
]

GET: http://www.zaragoza.es/api/recurso/open311/requests.xml?status=open

<service_requests>
   <request>
      <service_request_id>324292</service_request_id>
      <status>open</status>
      <service_code>4849669</service_code>
      <service_name>Infraestructuras:Conservacion</service_name>
      <title>Baches en el paseo María Agustín</title>
      <description>Hay varios baches en el paseo María Agustín con la calle Boggiero. Solicito la reparación de los baches.</description>
      <requested_datetime>2013-02-18T01:00:00Z</requested_datetime>
      <updated_datetime>2013-02-18T00:00:00Z</updated_datetime>
      <long>-1.4062670561491153</long>
      <lat>40.44693585111653</lat>
   </request>
   <request>
      <service_request_id>324719</service_request_id>
      <status>open</status>
      <service_code>4849669</service_code>
      <service_name>Infraestructuras:Conservacion</service_name>
      <title>Baches en el Coso</title>
      <description>Hay varios baches en el Coso entre la calle Santa Catalina y la calle Rufas. Solicito la reparación de los baches.</description>
      <requested_datetime>2013-02-19T01:00:00Z</requested_datetime>
      <updated_datetime>2013-02-19T00:00:00Z</updated_datetime>
      <long>-1.4062670561491153</long>
      <lat>40.44693585111653</lat>
   </request>
   ...
</service_requests>

Detalle de una queja

GET: http://www.zaragoza.es/api/recurso/open311/requests/service_request_id.json

{
    "service_request_id": 321770,
    "status": "closed",
    "service_code": 5144587,
    "service_name": "Urbanismo",
    "title": "muestra de disconformidad",
    "description": "esta comunidad muestra su total repulsa ante la peticion realizada",
    "requested_datetime": "2013-02-04T01:00:00Z",
    "updated_datetime": "2013-02-15T00:00:00Z",
    "long": -1.4062670561491153,
    "lat": 40.44693585111653
}

GET: http://www.zaragoza.es/api/recurso/open311/requests/service_request_id.xml

<request>
   <service_request_id>321770</service_request_id>
   <status>closed</status>
   <service_code>5144587</service_code>
   <service_name>Urbanismo</service_name>
   <title>muestra de disconformidad</title>
   <description>esta comunidad muestra su total repulsa ante la peticion realizada</description>
   <requested_datetime>2013-02-04T01:00:00Z</requested_datetime>
   <updated_datetime>2013-02-15T00:00:00Z</updated_datetime>
   <long>-1.4062670561491153</long>
   <lat>40.44693585111653</lat>
</request>

Operaciones para la gestión de usuarios

Login de usuario

POST: https://www.zaragoza.es/api/recurso/users/open311/

HEADERS:
clientID = <Identificador_de_la_aplicación>
HmacSHA1 = Clave HMAC generado de la siguiente forma Hmac(clientId + "GET|POST|PUT|DELETE" + uri + body, clavePrivada)
BODY:
email=correo@prueba.es&password=contraseña
Respuesta:
{
  "account_id" : 2147483275,
  "first_name" : "Nombre",
  "last_name" : "Apellido",
  "email" : "correo@prueba.es"
}

Creación de usuario

POST: https://www.zaragoza.es/api/recurso/users/open311/new

HEADERS:
clientID = <Identificador_de_la_aplicación>
HmacSHA1 = Clave HMAC generado de la siguiente forma Hmac(clientId + "GET|POST|PUT|DELETE" + uri + body, clavePrivada)
BODY: 
{
    "first_name": "Nombre",
    "last_name": "Apellido",
    "phone": "9767214521",
    "email": "123141@zaragoza.es",
    "password": "prueba",
    "user_address": "Direcciónpostal",
    "city": "Zaragoza",
    "country": "España",
    "zipcode": "50071",
    "nif": "123763248E"
}
Respuesta:
{
  "account_id" : 2847480330,
  "first_name" : "Nombre",
  "last_name" : "Apellido",
  "phone" : "9767214521",
  "email" : "123141@zaragoza.es",
  "user_address" : "Dirección postal",
  "city" : "Zaragoza",
  "country" : "España",
  "zipcode" : "50071",
  "nif" : "124763248E"
}

Modificación de datos usuario

POST: https://www.zaragoza.es/api/recurso/users/open311/account_id

PUT: https://www.zaragoza.es/api/recurso/users/open311/account_id
HEADERS:
clientID = <Identificador_de_la_aplicación>
HmacSHA1 = Clave HMAC generado de la siguiente forma Hmac(clientId + "GET|POST|PUT|DELETE" + uri + body, clavePrivada)
BODY: 
{
    "first_name": "NombreModificado",
    "last_name": "Apellido",
    "phone": "9767214521",
    "email": "prueba@zaragoza.es",
    "password": "prueba",
    "user_address": "Direcciónpostal",
    "city": "Zaragoza",
    "country": "España",
    "zipcode": "50071",
    "nif": "123763248E"
}
Respuesta:
{
  "account_id" : 2847480347,
  "first_name" : "NombreModificado",
  "last_name" : "Apellido",
  "phone" : "9767214521",
  "email" : "prueba@zaragoza.es",
  "password" : "prueba",
  "user_address" : "Dirección postal",
  "city" : "Zaragoza",
  "country" : "España",
  "zipcode" : "50071",
  "nif" : "123763248E"
}