26.01.2017 Views

API-v2.1.0

Transform your PDFs into Flipbooks and boost your revenue!

Leverage SEO-optimized Flipbooks, powerful backlinks, and multimedia content to professionally showcase your products and significantly increase your reach.

URI: /auth<br />

Versión: 2.0<br />

Estructura URL: http://api.v2.betalocales.com/v2/auth<br />

Método HTTP: POST /auth/login (ORIGIN_WEB)<br />

Descripción: Realiza el login con un usuario.<br />

Notas: Cada vez que se realiza el login, se genera un token nuevo para el usuario.<br />

URL ejemplo: http://api.v2.betalocales.com/v2/auth/login<br />

Request:<br />

POST /v2/auth/login HTTP/1.1<br />

Host: api.v2.betalocales.com<br />

Control­Cap­Is­App: force­true<br />

Cache­Control: no­cache<br />

Content­Type: application/x­www­form­urlencoded<br />

Parámetros:<br />

Nombre Descripción Requerido Tipo Valor<br />

grant_type Tipo de acceso Sí String Password<br />

origin Tipo de origen Sí String ORIGIN_WEB<br />

client_id Identificador del cliente Sí String ­<br />

client_secret Llave privada Si String ­<br />

scope Scope Sí String subscriber<br />

username Usuario Sí String ­<br />

password Contrseña Sí String ­<br />

Response:<br />

HTTP/1.1 200 OK<br />

Content­Type: application/json; charset=utf­8<br />

{<br />

"first_name": "Judit",<br />

"surname": "Ipad ­ TLF",<br />

"email": "judit.borderia@tuslocalesfavoritos.com",<br />

"email_verified": 1,<br />

"profile_completed": 1,<br />

"token": {<br />

"access_token": "kz7O8meqtkehydQ6V98No8KHjZKl1sriQs1e9zK5",<br />

"token_type": "Bearer",<br />

"expires_in": 3600,<br />

"refresh_token": "CJFvGoYdM1tZEXebltW2UkJVirnhWEgQXTpILusm"<br />

}<br />

}


Descripción de la respuesta:<br />

Nombre Descripción Tipo<br />

first_name Nombre del usuario String<br />

surname Apellidos del usuario String<br />

email Email del usuario String<br />

email_verified Indica si el email está verificado. Boolean<br />

profile_completed Indica si el perfil del usuario está completo Boolean<br />

token Nodo con la información de acceso Object<br />

Descripción del nodo token:<br />

Nombre Descripción Tipo<br />

access_token Token de acceso String<br />

token_type Tipo de token String<br />

expires_in Tiempo de expiración del token de acceso en segundos String<br />

refresh_token Token de refresco String<br />

Posibles HTTP Status:<br />

HTTP Status<br />

Descripción<br />

200 OK OK<br />

400 Bad Request Petición incorrecta<br />

401 Unauthorized Credenciales incorrectas


Método HTTP: POST /auth/login (ORIGIN_FACEBOOK)<br />

Descripción: Realiza el login con facebook.<br />

Notas: Cada vez que se realiza el login, se genera un token nuevo para el usuario.<br />

URL ejemplo: http://api.v2.betalocales.com/v2/auth/login<br />

Request:<br />

POST /v2/auth/login HTTP/1.1<br />

Host: api.v2.betalocales.com<br />

Control­Cap­Is­App: force­true<br />

Cache­Control: no­cache<br />

Content­Type: application/x­www­form­urlencoded<br />

Parámetros:<br />

Nombre Descripción Requerido Tipo Valor<br />

grant_type Tipo de acceso Sí String Password<br />

origin Tipo de origen Sí String ORIGIN_FACEBOOK<br />

client_id Identificador del cliente Sí String ­<br />

client_secret Llave privada Si String ­<br />

scope Scope Sí String subscriber<br />

access_token Token de acceso de Facebook Sí String ­<br />

Response:<br />

HTTP/1.1 200 OK<br />

Content­Type: application/json; charset=utf­8<br />

{<br />

"first_name": "Judit",<br />

"surname": "Ipad ­ TLF",<br />

"email": "judit.borderia@tuslocalesfavoritos.com",<br />

"email_verified": 1,<br />

"profile_completed": 1,<br />

"token": {<br />

"access_token": "kz7O8meqtkehydQ6V98No8KHjZKl1sriQs1e9zK5",<br />

"token_type": "Bearer",<br />

"expires_in": 3600,<br />

"refresh_token": "CJFvGoYdM1tZEXebltW2UkJVirnhWEgQXTpILusm"<br />

}<br />

}<br />

Descripción de la respuesta:<br />

Nombre Descripción Tipo<br />

first_name Nombre del usuario String<br />

surname Apellidos del usuario String<br />

email Email del usuario String<br />

email_verified Indica si el email está verificado. Boolean<br />

profile_completed Indica si el perfil del usuario está completo Boolean<br />

token Nodo con la información de acceso Object<br />

Descripción del nodo token:


Nombre Descripción Tipo<br />

access_token Token de acceso String<br />

token_type Tipo de token String<br />

expires_in Tiempo de expiración del token de acceso en segundos String<br />

refresh_token Token de refresco String<br />

Posibles HTTP Status:<br />

HTTP Status<br />

Descripción<br />

200 OK OK<br />

400 Bad Request Petición incorrecta<br />

401 Unauthorized Credenciales incorrectas


Método HTTP: POST /auth/logout<br />

Descripción: Realiza el logout de un usuario.<br />

Notas: Cuando se realiza el logout de un usuario el token queda revocado, deberá hacerse login para obtener un nuevo<br />

token válido.<br />

URL ejemplo: http://api.v2.betalocales.com/v2/auth/logout<br />

Request:<br />

POST /v2/auth/logout HTTP/1.1<br />

Host: api.v2.betalocales.com<br />

Control­Cap­Is­App: force­true<br />

Authorization: Bearer qDMSCgwsNNF3EDbQzAUJz4TsD7GW9Cu2Jd8ki8aU<br />

Cache­Control: no­cache<br />

Content­Type: application/x­www­form­urlencoded<br />

Parámetros: Sin parámetros.<br />

Response:<br />

HTTP/1.1 200 OK<br />

Content­Type: application/json; charset=utf­8<br />

Posibles HTTP Status:<br />

HTTP Status<br />

200 OK OK<br />

Descripción<br />

401 Unauthorized No autorizado a hacer logout con el token suministrado


Método HTTP: POST /auth/signup (ORIGIN_FACEBOOK)<br />

Descripción: Realiza el registro de un usuario nuevo a través de facebook<br />

Notas: Tras el registro, se envía al usuario un email de bienvenida. Se puede acceder a la aplicación desde el momento<br />

en que se completa el registro.<br />

URL ejemplo: http://api.v2.betalocales.com/v2/auth/signup<br />

Request:<br />

POST /v2/auth/signup HTTP/1.1<br />

Host: api.v2.betalocales.com<br />

Control­Cap­Is­App: force­true<br />

Cache­Control: no­cache<br />

Content­Type: application/x­www­form­urlencoded<br />

Parámetros:<br />

Nombre Descripción Requerido Tipo Valor<br />

origin Tipo de origen Sí String ORIGIN_FACEBOOK<br />

client_id Identificador del cliente Sí String ­<br />

client_secret Llave privada Si String ­<br />

scope Scope Sí String subscriber<br />

access_token Token de acceso facilitado por Facebook Sí String ­<br />

Response:<br />

HTTP/1.1 200 OK<br />

Content­Type: application/json; charset=utf­8<br />

{<br />

"first_name": "Judit",<br />

"surname": "Ipad ­ TLF",<br />

"email": "judit.borderia@tuslocalesfavoritos.com",<br />

"email_verified": 1,<br />

"profile_completed": 1,<br />

"token": {<br />

"access_token": "kz7O8meqtkehydQ6V98No8KHjZKl1sriQs1e9zK5",<br />

"token_type": "Bearer",<br />

"expires_in": 3600,<br />

"refresh_token": "CJFvGoYdM1tZEXebltW2UkJVirnhWEgQXTpILusm"<br />

}<br />

}<br />

Descripción de la respuesta:<br />

Nombre Descripción Tipo<br />

first_name Nombre del usuario String<br />

surname Apellidos del usuario String<br />

email Email del usuario String<br />

email_verified Indica si el email está verificado. Boolean<br />

profile_completed Indica si el perfil del usuario está completo Boolean<br />

token Nodo con la información de acceso Object<br />

Descripción del nodo token:


Nombre Descripción Tipo<br />

access_token Token de acceso String<br />

token_type Tipo de token String<br />

expires_in Tiempo de expiración del token de acceso en segundos String<br />

refresh_token Token de refresco String<br />

Posibles HTTP Status:<br />

HTTP Status<br />

Descripción<br />

200 OK OK<br />

400 Bad Request Parámetros incorrectos.<br />

409 Conflict El email ya está en uso.<br />

500 Internal Server Error Error interno.


Método HTTP: POST /auth/login (REFRESH TOKEN)<br />

Descripción: Refresca el token de acceso a partir del token de refresco facilitado en el login.<br />

Notas: Se generarán un token de acceso y de refresco nuevos.<br />

URL ejemplo: http://api.v2.betalocales.com/v2/auth/login<br />

Request:<br />

POST /v2/auth/login HTTP/1.1<br />

Host: api.v2.betalocales.com<br />

Control­Cap­Is­App: force­true<br />

Cache­Control: no­cache<br />

Content­Type: application/x­www­form­urlencoded<br />

Parámetros:<br />

Nombre Descripción Requerido Tipo Valor<br />

grant_type Tipo de acceso Sí String refresh_token<br />

client_id Identificador del cliente Sí String ­<br />

client_secret Llave privada Si String ­<br />

refresh_token Token de refresco Sí String ­<br />

Response:<br />

HTTP/1.1 200 OK<br />

Content­Type: application/json; charset=utf­8<br />

{<br />

"first_name": "Judit",<br />

"surname": "Ipad ­ TLF",<br />

"email": "judit.borderia@tuslocalesfavoritos.com",<br />

"email_verified": 1,<br />

"profile_completed": 1,<br />

"token": {<br />

"access_token": "kz7O8meqtkehydQ6V98No8KHjZKl1sriQs1e9zK5",<br />

"token_type": "Bearer",<br />

"expires_in": 3600,<br />

"refresh_token": "CJFvGoYdM1tZEXebltW2UkJVirnhWEgQXTpILusm"<br />

}<br />

}<br />

Descripción de la respuesta:<br />

Nombre Descripción Tipo<br />

first_name Nombre del usuario String<br />

surname Apellidos del usuario String<br />

email Email del usuario String<br />

email_verified Indica si el email está verificado. Boolean<br />

profile_completed Indica si el perfil del usuario está completo Boolean<br />

token Nodo con la información de acceso Object<br />

Descripción del nodo token:


Nombre Descripción Tipo<br />

access_token Token de acceso String<br />

token_type Tipo de token String<br />

expires_in Tiempo de expiración del token de acceso en segundos String<br />

refresh_token Token de refresco String<br />

Posibles HTTP Status:<br />

HTTP Status<br />

Descripción<br />

200 OK OK<br />

400 Bad Request Petición incorrecta<br />

401 Unauthorized Credenciales incorrectas


Método HTTP: POST /auth/device­token<br />

Descripción: Actualiza el “device token” de un usuario.<br />

Notas: Se pueden actualizar los datos de plataforma, modelo y versión del teléfono.<br />

URL ejemplo: http://api.v2.betalocales.com/v2/auth/device­token<br />

Request:<br />

POST /v2/auth/device­token HTTP/1.1<br />

Host: api.v2.betalocales.com<br />

Control­Cap­Is­App: force­true<br />

Authorization: Bearer qDMSCgwsNNF3EDbQzAUJz4TsD7GW9Cu2Jd8ki8aU<br />

Cache­Control: no­cache<br />

Content­Type: application/x­www­form­urlencoded<br />

Parámetros:<br />

Nombre Descripción Requerido Tipo Valor<br />

device_token Device token Sí String ­<br />

platform Plataforma / sistema operativo No String ­<br />

model Modelo del teléfono No String ­<br />

version Versión del sistema operativo No String ­<br />

maker Fabricante No String ­<br />

Response<br />

HTTP/1.1 200 OK<br />

Content­Type: application/json; charset=utf­8<br />

Posibles Status HTTP:<br />

Http Status<br />

Descripción<br />

200 OK OK.<br />

400 Bad Request Petición incorrecta.<br />

401 Unauthorized No autorizado.<br />

500 Internal Server Error Error interno.


URI: /profile<br />

Versión: 2.0<br />

Estructura URL: http://api.v2betalocales.com/v2/profile<br />

Método HTTP: GET /profile<br />

Descripción: Recupera la información del perfil de un usuario.<br />

Notas: ­<br />

URL ejemplo: http://api.v2.betalocales.com/v2/profile<br />

Request:<br />

POST /v2/profile HTTP/1.1<br />

Host: api.v2.betalocales.com<br />

Control­Cap­Is­App: force­true<br />

Authorization: Bearer qDMSCgwsNNF3EDbQzAUJz4TsD7GW9Cu2Jd8ki8aU<br />

Cache­Control: no­cache<br />

Parámetros: Sin parámetros.<br />

Response<br />

HTTP/1.1 200 OK<br />

Content­Type: application/json; charset=utf­8<br />

{<br />

"first_name": "Judit",<br />

"surname": "Ipad ­ TLF",<br />

"genre": "W",<br />

"birthdate": "1983­10­09",<br />

"email": "judit.borderia@tuslocalesfavoritos.com",<br />

"postal_code": "28003",<br />

"mobile_prefix": "34",<br />

"mobile_number": "664326445",<br />

"not_interested_in": {<br />

"soccer": 1,<br />

"kids": 1,<br />

"singles": 1,<br />

"smokers": 1<br />

}<br />

}<br />

Descripción de la respuesta:<br />

Nombre Descripción Tipo<br />

first_name Nombre del usuario String<br />

surname Apellidos del usuario String<br />

genre Sexo (M – hombre, W ­ mujer) Char<br />

birthdate Fecha de nacimiento String<br />

postal_code Código postal Boolean<br />

mobile_prefix Prefijo país del teléfono móvil String<br />

mobile_number Número de teléfono móvil String<br />

not_interested_in Temas en los que el usuario no está interesado Array<br />

Atributos del Array not_interested_in


Nombre Descripción Tipo<br />

soccer Fútbol (1 ­ No está interesado, 0 – Está interesado) Boolean<br />

kids Infantil (1 ­ No está interesado, 0 – Está interesado) Boolean<br />

singles Singles (1 ­ No está interesado, 0 – Está interesado) Boolean<br />

smokers Fumadores (1 ­ No está interesado, 0 – Está interesado) Boolean<br />

Posibles Status HTTP:<br />

HTTP Status<br />

Descripción<br />

200 OK OK.<br />

401 Unauthorized No autorizado.<br />

500 Internal Server Error Error interno.


Método HTTP: PUT /profile<br />

Descripción: Actualiza la información del perfil de un usuario.<br />

Notas: ­<br />

URL ejemplo: http://api.v2.betalocales.com/v2/profile<br />

Request:<br />

PUT /v2/profile HTTP/1.1<br />

Host: api.v2.betalocales.com<br />

Control­Cap­Is­App: force­true<br />

Authorization: Bearer qDMSCgwsNNF3EDbQzAUJz4TsD7GW9Cu2Jd8ki8aU<br />

Cache­Control: no­cache<br />

Content­Type: application/x­www­form­urlencoded<br />

Parámetros:<br />

Nombre Descripción Requerido Tipo Valor<br />

first_name Nombre del usuario Sí String ­<br />

surname Contraseña No String ­<br />

genre Género (M – hombre, W ­ mujer) Sí String ­<br />

birthdate Fecha de nacimiento Sí String ­<br />

postal_code Código postal No String ­<br />

mobile_prefix Prefijo país del teléfono móvil No String ­<br />

mobile_number Número de teléfono móvil No String ­<br />

not_interested_in Temas en los que el usuario no está interesado Sí Array ­<br />

Parámetros del Array not_interested_in<br />

Nombre Descripción Requerido Tipo Valor<br />

soccer Fútbol (1 ­ No está interesado, 0 – Está interesado) Sí Boolean ­<br />

kids Infantil (1 ­ No está interesado, 0 – Está interesado) Sí Boolean ­<br />

singles Singles (1 ­ No está interesado, 0 – Está interesado) Sí Boolean ­<br />

smokers Fumadores (1 ­ No está interesado, 0 – Está interesado) Sí Boolean ­<br />

Response<br />

HTTP/1.1 200 OK<br />

Content­Type: application/json; charset=utf­8<br />

Posibles Status HTTP:<br />

HTTP Status<br />

Descripción<br />

200 OK OK.<br />

400 Bad Request Petición incorrecta.<br />

401 Unauthorized No autorizado.<br />

500 Internal Server Error Error interno.


Método HTTP: PATCH /profile<br />

Descripción: Actualiza la contraseña del usuario.<br />

Notas: ­<br />

URL ejemplo: http://api.v2.betalocales.com/v2/profile<br />

Request:<br />

PATCH /v2/profile HTTP/1.1<br />

Host: api.v2.betalocales.com<br />

Control­Cap­Is­App: force­true<br />

Authorization: Bearer qDMSCgwsNNF3EDbQzAUJz4TsD7GW9Cu2Jd8ki8aU<br />

Cache­Control: no­cache<br />

Content­Type: application/x­www­form­urlencoded<br />

Parámetros:<br />

Nombre Descripción Requerido Tipo Valor<br />

attribute Nombre del atributo Sí String password<br />

value Valor del atributo (nueva contraseña) Sí String ­<br />

Response<br />

HTTP/1.1 200 OK<br />

Content­Type: application/json; charset=utf­8<br />

Posibles Status HTTP:<br />

HTTP Status<br />

Descripción<br />

200 OK OK.<br />

400 Bad Request Petición incorrecta.<br />

401 Unauthorized No autorizado.<br />

500 Internal Server Error Error interno.


Método HTTP: GET /profile/reasons<br />

Descripción: Permite recuperar un listado con los motivos para cuando un usuario quiere darse de baja de la<br />

plataforma.<br />

Notas: ­<br />

URL ejemplo: http://api.v2.betalocales.com/v2/profile/reasons<br />

Request:<br />

GET /v2/profile HTTP/1.1<br />

Host: api.v2.betalocales.com<br />

Control­Cap­Is­App: force­true<br />

Authorization: Bearer qDMSCgwsNNF3EDbQzAUJz4TsD7GW9Cu2Jd8ki8aU<br />

Cache­Control: no­cache<br />

Parámetros: Sin parámetros<br />

Response<br />

HTTP/1.1 200 OK<br />

Content­Type: application/json; charset=utf­8<br />

[<br />

{<br />

"id": 1,<br />

"name": "No uso la aplicación"<br />

},<br />

{<br />

"id": 2,<br />

"name": "La aplicación no me resulta interesante"<br />

},<br />

{<br />

"id": 3,<br />

"name": "No encuentro mis locales favoritos"<br />

},<br />

{<br />

"id": 4,<br />

"name": "Los locales me mandan demasiada información"<br />

}<br />

]<br />

Atributos del Array data<br />

Nombre Descripción Tipo<br />

id Identificador del motivo (se usará como parámetro al darse de baja) Int<br />

text Texto del motivo. String<br />

Posibles Status HTTP:<br />

HTTP Status Descripción<br />

200 OK<br />

401 Unauthorized<br />

500 Internal Server Error


Método HTTP: DELETE /profile (/profile)<br />

Descripción: Permite dar de baja a un usuario de la plataforma<br />

Notas: El listado de motivos de baja puede ser recuperado de GET /profile/reasons<br />

URL ejemplo: http://api.v2.betalocales.com/v2/profile<br />

Request:<br />

DELETE /v2/profile HTTP/1.1<br />

Host: api.v2.betalocales.com<br />

Control­Cap­Is­App: force­true<br />

Authorization: Bearer qDMSCgwsNNF3EDbQzAUJz4TsD7GW9Cu2Jd8ki8aU<br />

Cache­Control: no­cache<br />

Parámetros:<br />

Nombre Descripción Requerido Tipo Valor<br />

reason_id Identificador del motivo por el que se da de baja. Sí Int ­<br />

Response<br />

HTTP/1.1 200 OK<br />

Content­Type: application/json; charset=utf­8<br />

Posibles Status HTTP:<br />

HTTP Status Descripción<br />

204 OK<br />

400 Bad Request<br />

401 Unauthorized<br />

500 Internal Server Error


URI: /diary<br />

Versión: 2.0<br />

Estructura URL: http://api.v2.betalocales.com/v2/diary<br />

Método HTTP: GET /diary<br />

Descripción: Recupera un listado de locales que estén en la agenda del usuario.<br />

Notas: Por defecto el número de registros por página se establece en 10.<br />

URL ejemplo: http://api.v2.betalocales.com/v2/diary?filters[page]=1<br />

Request:<br />

GET /v2/diary HTTP/1.1<br />

Host: api.v2.betalocales.com<br />

Control­Cap­Is­App: force­true<br />

Authorization: Bearer qDMSCgwsNNF3EDbQzAUJz4TsD7GW9Cu2Jd8ki8aU<br />

Cache­Control: no­cache<br />

Parámetros:<br />

Nombre Descripción Requerido Tipo Valor<br />

filters[] Filtros del listado No Array<br />

Atributos del Array filters[]<br />

Nombre Descripción Requerido Tipo Valor<br />

page Número de página No Int ­<br />

limit Número de registros por página No Int ­<br />

latitude Posición del usuario No Decimal ­<br />

longitude Posición del usuario No Decimal ­


Response:<br />

HTTP/1.1 200 OK<br />

Content­Type: application/json; charset=utf­8<br />

{<br />

"pagination": {<br />

"current_page": 1,<br />

"total_pages": 1,<br />

"total_items": 1<br />

},<br />

"items": [<br />

{<br />

"id": 297,<br />

"name": "Tome Vinos",<br />

"street_type": "Calle",<br />

"city": "Madrid",<br />

"address": "General Rodrigo, 2",<br />

"latitude": 40.443,<br />

"longitude": ­3.71404,<br />

"distance": "A 137 m de ti",<br />

"thumbnail":<br />

"http://media.betalocales.com/place/2/9/7/pictures/front/297_841114333599fcf36bbf72f0174e14c8_20151022.jpg",<br />

"favorite": 0,<br />

"diary": 1,<br />

"share": {<br />

"url": "http://web.betalocales.com/locales/tome­vinos",<br />

"subject": "Añade Tome Vinos a tuslocalesfavoritos.com, el único sitio donde tú eliges quién te envía información."<br />

}<br />

}<br />

]<br />

}<br />

Atributos del objeto pagination<br />

Nombre Descripción Tipo<br />

current_page Página actual Int<br />

total_pages Páginas totales int<br />

Atributos del Array items<br />

Nombre Descripción Tipo<br />

id Identificador del local Int<br />

name Nombre del local String<br />

street_type Tipo de calle String<br />

address Dirección del local String<br />

city Ciudad String<br />

thumbnail Url al thumbnail del local String<br />

favorite Indica si el local está en favoritos Boolean<br />

diary Indica si el local está en la agenda Boolean


Atributos del Array share<br />

Nombre Descripción Tipo<br />

url Url al local String<br />

subject Texto para el asunto del email String<br />

Posibles Status HTTP:<br />

HTTP Status<br />

Descripción<br />

200 OK OK.<br />

401Unauthorized<br />

No autorizado.<br />

500 Internal Server Error Error interno.


Método HTTP: POST /diary/:place_id<br />

Descripción: Añade un local a la agenda del usuario.<br />

Notas: ­<br />

URL ejemplo: http://api.v2.betalocales.com/v2/diary/34<br />

Request:<br />

POST /v2/diary/34 HTTP/1.1<br />

Host: api.v2.betalocales.com<br />

Control­Cap­Is­App: force­true<br />

Authorization: Bearer qDMSCgwsNNF3EDbQzAUJz4TsD7GW9Cu2Jd8ki8aU<br />

Cache­Control: no­cache<br />

Content­Type: application/x­www­form­urlencoded<br />

Parámetros: Sin parámetros.<br />

Response:<br />

HTTP/1.1 201 Created<br />

Content­Type: application/json; charset=utf­8<br />

Posibles Status http:<br />

http Status<br />

Descripción<br />

201 Created OK.<br />

400 Bad Request No se ha recibido el identificador del local.<br />

401 Unauthorized No autorizado.<br />

404 Not Found No se ha encontrado el local.<br />

409 Conflict El local ya está en la agenda o es favorito.<br />

500Internal Server Error<br />

Error interno.


Método HTTP: DELETE /diary/:place_id<br />

Descripción: Elimina un local de la agenda del usuario<br />

Notas: ­<br />

URL ejemplo: http://api.v2.betalocales.com/v2/diary/34<br />

Request:<br />

DELETE /v2/diary/34 HTTP/1.1<br />

Host: api.v2.betalocales.com<br />

Control­Cap­Is­App: force­true<br />

Authorization: Bearer qDMSCgwsNNF3EDbQzAUJz4TsD7GW9Cu2Jd8ki8aU<br />

Cache­Control: no­cache<br />

Content­Type: application/x­www­form­urlencoded<br />

Parámetros: Sin parámetros.<br />

Response:<br />

HTTP/1.1 204 No content<br />

Content­Type: application/json; charset=utf­8<br />

Posibles Status http:<br />

http Status<br />

Descripción<br />

204 No Content OK.<br />

400 Bad Request No se ha recibido el identificador del local.<br />

401 Unauthorized No autorizado.<br />

404 Not Found No se ha encontrado el local.<br />

412 Precondition Failed El local no está en la agenda.<br />

500 Internal Server Error Error interno.


URI: /diary/favorites<br />

Versión: 2.0<br />

Estructura URL: http://api.v2.betalocales.com/v2/diary/favorites<br />

Método HTTP: GET /diary/favorites<br />

Descripción: Recupera un listado de locales favoritos del usuario.<br />

Notas: Por defecto el número de registros por página se establece en 10.<br />

URL ejemplo: http://api.v2.betalocales.com/v2/diary/favorites?filters[page]=1<br />

Request:<br />

GET /v2/diary/favorites HTTP/1.1<br />

Host: api.v2.betalocales.com<br />

Control­Cap­Is­App: force­true<br />

Authorization: Bearer qDMSCgwsNNF3EDbQzAUJz4TsD7GW9Cu2Jd8ki8aU<br />

Cache­Control: no­cache<br />

Parámetros:<br />

Nombre Descripción Requerido Tipo Valor<br />

filters[] Filtros del listado No Array<br />

Atributos del Array filters[]<br />

Nombre Descripción Requerido Tipo Valor<br />

page Número de página No Int ­<br />

limit Número de registros por página No Int ­<br />

latitude Posición del usuario No Decimal ­<br />

longitude Posición del usuario No Decimal ­


Response:<br />

HTTP/1.1 200 OK<br />

Content­Type: application/json; charset=utf­8<br />

{<br />

"pagination": {<br />

"current_page": 1,<br />

"total_pages": 1,<br />

"total_items": 1<br />

},<br />

"items": [<br />

{<br />

"id": 297,<br />

"name": "Tome Vinos",<br />

"street_type": "Calle",<br />

"city": "Madrid",<br />

"address": "General Rodrigo, 2",<br />

"latitude": 40.443,<br />

"longitude": ­3.71404,<br />

"distance": "A 137 m de ti",<br />

"thumbnail":<br />

"http://media.betalocales.com/place/2/9/7/pictures/front/297_841114333599fcf36bbf72f0174e14c8_20151022.jpg",<br />

"favorite": 1,<br />

"diary": 0,<br />

"notifications": {<br />

"total": 0,<br />

"unread": 0<br />

},<br />

"share": {<br />

"url": "http://web.betalocales.com/locales/tome­vinos",<br />

"subject": "Añade Tome Vinos a tuslocalesfavoritos.com, el único sitio donde tú eliges quién te envía información."<br />

}<br />

}<br />

]<br />

}<br />

Atributos del objeto pagination<br />

Nombre Descripción Tipo<br />

current_page Página actual Int<br />

total_pages Páginas totales int<br />

Atributos del Array items<br />

Nombre Descripción Tipo<br />

id Identificador del local Int<br />

name Nombre del local String<br />

street_type Tipo de calle String<br />

address Dirección del local String<br />

city Ciudad String<br />

thumbnail Url al thumbnail del local String<br />

favorite Indica si el local está en favoritos Boolean<br />

diary Indica si el local está en la agenda Boolean


Atributos del Array notifications<br />

Nombre Descripción Tipo<br />

total Total notificaciones Int<br />

unread Total notificaciones sin leer Int<br />

Atributos del Array share<br />

Nombre Descripción Tipo<br />

url Url al local String<br />

subject Texto para el asunto del email String<br />

Posibles Status HTTP:<br />

HTTP Status<br />

Descripción<br />

200 OK OK.<br />

401Unauthorized<br />

No autorizado.<br />

500 Internal Server Error Error interno.


Método HTTP: POST /diary/favorites/:place_id<br />

Descripción: Añade un local a los favoritos del usuario o actualiza las preferencias del usuario para un local que ya<br />

está en favoritos.<br />

Notas: ­<br />

URL ejemplo: http://api.v2.betalocales.com/v2/diary/favorites/34<br />

Request:<br />

POST /v2/diary/favorites/34 HTTP/1.1<br />

Host: api.v2.betalocales.com<br />

Control­Cap­Is­App: force­true<br />

Authorization: Bearer qDMSCgwsNNF3EDbQzAUJz4TsD7GW9Cu2Jd8ki8aU<br />

Cache­Control: no­cache<br />

Content­Type: application/x­www­form­urlencoded<br />

Parámetros:<br />

Nombre Descripción Requerido Tipo<br />

come_when[] Array de ids de la opciones “¿Cuándo vienes?” Sí Array<br />

frecuency[] Array de ids de la opciones “¿Con qué frecuencia vienes?” Sí Array<br />

choose_us_for[] Array de ids de la opciones “Me eliges por…” Sí Array<br />

drinking[] Array de ids de la opciones “¿Qué bebes?” Sí Array<br />

come_usually[] Array de ids de la opciones “Sueles venir…” Sí Array<br />

come_with[] Array de ids de la opciones “Vienes con…” Sí Array<br />

Response:<br />

HTTP/1.1 200 OK<br />

Content­Type: application/json; charset=utf­8<br />

Posibles Status HTTP:<br />

Http Status<br />

Descripción<br />

200 OK OK<br />

400 Bad Request Petición incorrecta<br />

401 Unauthorized No autorizado<br />

404 Not Found No se ha encontrado el local<br />

409 Conflict El local ya está en los favoritos.<br />

500 Internal Server Error Error interno


Método HTTP: DELETE /diary/favorites/:place_id<br />

Descripción: Elimina un local de los favoritos del usuario<br />

Notas: ­<br />

URL ejemplo: http://api.v2.betalocales.com/v2/diary/favorites/34<br />

Request:<br />

DELETE /v2/diary/favorites/34 HTTP/1.1<br />

Host: api.v2.betalocales.com<br />

Control­Cap­Is­App: force­true<br />

Authorization: Bearer qDMSCgwsNNF3EDbQzAUJz4TsD7GW9Cu2Jd8ki8aU<br />

Cache­Control: no­cache<br />

Content­Type: application/x­www­form­urlencoded<br />

Parámetros:<br />

Nombre Descripción Requerido Tipo Valor<br />

reason_id Motivo por el que se da de baja. No Int ­<br />

Response:<br />

HTTP/1.1 200 OK<br />

Content­Type: application/json; charset=utf­8<br />

Posibles Status HTTP:<br />

Htpp Status<br />

Descripción<br />

200 OK OK<br />

400 Bad Request Petición incorrecta<br />

401 Unauthorized No autorizado<br />

404 Not Found No se ha encontrado el local<br />

412 Precondition Failed El local no está en los favoritos<br />

500 Internal Server Error Error interno.


URI: /public<br />

Versión: 2.0<br />

Estructura URL: http://api.v2.betalocales.com/v2/public<br />

Método HTTP: GET /public/places<br />

Descripción: Recupera un listado de locales.<br />

Notas: Por defecto el número de registros por página se establece en 10. Todos los filtros pueden aplicarse de manera<br />

simultánea.<br />

Si la petición no está autenticada, los nodos “notificactions”, “diary”, “favorite”, “subscribed” no estarán en la respuesta.<br />

Si no se aplican los filtros “latitude” y “longitude”, el campo “distance” en la respuesta estará vacío.<br />

URL ejemplo: http://api.v2.betalocales.com/v2/public/places?filters[page]=1&filters[by_city]=Madrid<br />

Request:<br />

GET /v2/public/places HTTP/1.1<br />

Host: api.v2.betalocales.com<br />

Control­Cap­Is­App: force­true<br />

Authorization: Bearer qDMSCgwsNNF3EDbQzAUJz4TsD7GW9Cu2Jd8ki8aU<br />

Cache­Control: no­cache<br />

Parámetros:<br />

Nombre Descripción Requerido Tipo Valor<br />

filters[] Filtros del listado No Array<br />

Atributos del Array filters[]<br />

Nombre Descripción Requerido Tipo Valor<br />

by_name Filtrar listado por el nombre de local. No String ­<br />

by_street Filtrar listado por el nombre de la calle. No String ­<br />

by_city Filtrar listado por el nombre de la ciudad. No String ­<br />

city_id Identificador de la ciudad No Int ­<br />

latitude Latitud geográfica del usuario No Decimal ­<br />

longitude Longitud geográfica del usuario No Decimal ­<br />

page Número de página No Int ­<br />

limit Número de registros por página No Int ­


Response:<br />

HTTP/1.1 200 OK<br />

Content­Type: application/json; charset=utf­8<br />

{<br />

pagination:<br />

{<br />

current_page: 1,<br />

total_pages: 1,<br />

total_items: 1<br />

}<br />

},<br />

items:<br />

[{<br />

}, {…}]<br />

id: "34",<br />

name: "La Claqueta",<br />

street_type: "calle",<br />

city: "Madrid",<br />

address: "Guzman el Bueno 133, 6º, 28003",<br />

latitude: "40.44327",<br />

longitude: "­3.71259",<br />

distance: "A 41m de ti",<br />

thumbnail: "http://media.betalocales.com/place/3/4/pictures/front/34_eb7e231d873df56d95eb61e10dda<br />

0c36_20151022.jpg",<br />

notifications:<br />

{<br />

total: 3<br />

unread: 0<br />

},<br />

diary: 1,<br />

favorite: 0,<br />

subscribed: 1,<br />

share:<br />

{<br />

url: "http://web.betalocales.com/locales/la­claqueta",<br />

subject: “Añade La Claqueta a tuslocalesfavoritos.com, el único sitio donde tú eliges quién te<br />

envía información. “<br />

}<br />

Atributos del objeto pagination<br />

Nombre Descripción Tipo<br />

current_page Página actual Int<br />

total_pages Páginas totales int<br />

Atributos de los objetos del Array items


Nombre Descripción Tipo<br />

id Identificador del local Int<br />

name Nombre del local String<br />

description Descripción del local String<br />

street_type Tipo de calle String<br />

address Dirección del local con código postal String<br />

latitude Latitud geográfica del local Decimal<br />

longitude Longitud geográfica del local Decimal<br />

distance<br />

Distancia expresada en metros entre la posición geográfica del local y<br />

el usuario<br />

Int<br />

city Ciudad String<br />

state Provincia String<br />

thumbnail Url al thumbnail del local String<br />

diary Indica si el local está en la agenda del usuario Boolean<br />

favorite Indica si el local está en los favoritos del usuario Boolean<br />

subscribed Indica si el usuario permite recibir comunicaciones del local Boolean<br />

Atributos del Array notifications<br />

Nombre Descripción Tipo<br />

total Total notificaciones Int<br />

unread Total notificaciones sin leer Int<br />

Atributos del Array share<br />

Nombre Descripción Tipo<br />

url Url al local String<br />

subject Texto para el asunto del email String<br />

Posibles HTTP Status:<br />

HTTP Status Descripción<br />

200 OK<br />

500 Internal Server Error


Método HTTP: GET /public/places/short<br />

Descripción: Recupera un listado de duplas (id, nombre) de locales.<br />

Notas: Para realizar la búsqueda, los filtros deben tener al menos una longitud mínima de 3 caracteres.<br />

URL ejemplo: http://api.v2.betalocales.com/v2/public/places/short?filters[by_city]=Madrid<br />

Request:<br />

GET /v2/public/places/short HTTP/1.1<br />

Host: api.v2.betalocales.com<br />

Control­Cap­Is­App: force­true<br />

Cache­Control: no­cache<br />

Parámetros:<br />

Nombre Descripción Requerido Tipo Valor<br />

filters[] Filtros del listado No Array<br />

Atributos del Array filters[]<br />

Nombre Descripción Requerido Tipo Valor<br />

by_name Filtrar listado por el nombre de local. No String ­<br />

by_street Filtrar listado por el nombre de la calle. No String ­<br />

by_city Filtrar listado por el nombre de la ciudad. No String ­<br />

Response:<br />

HTTP/1.1 200 OK<br />

Content­Type: application/json; charset=utf­8<br />

[<br />

{<br />

"id": 318,<br />

"name": "14 Rosas"<br />

},<br />

{<br />

"id": 65,<br />

"name": "1862 Dry Bar"<br />

},<br />

{<br />

"id": 1111,<br />

"name": "1903 Sport Bar & Lounge Restaurant"<br />

},<br />

{..}<br />

]<br />

Atributos de los objetos del Array<br />

Nombre Descripción Tipo<br />

id Identificador del local Int<br />

name Nombre del local String


Posibles HTTP Status:<br />

HTTP Status<br />

Descripción<br />

200 OK OK<br />

500 Internal Server Error Error interno


Método HTTP: GET /public/places/:place_id<br />

Descripción: Recupera los datos de un local.<br />

Notas: Si la petición no está autenticada, los nodos “notificactions”, “diary” y “favorite” no estarán en la respuesta.<br />

URL ejemplo: http://api.v2.betalocales.com/v2/public/places/34<br />

Request:<br />

GET /v2/public/places/34 HTTP/1.1<br />

Host: api.v2.betalocales.com<br />

Control­Cap­Is­App: force­true<br />

Cache­Control: no­cache<br />

Parámetros: Sin parámetros.<br />

Response:<br />

HTTP/1.1 200 OK<br />

Content­Type: application/json; charset=utf­8<br />

{<br />

id: "34",<br />

name: "La Claqueta",<br />

food_type: "Friends&Drinks",<br />

address: "Calle Guzmán el Bueno 135, 28003, Madrid, Madrid",<br />

description: "Divertido local para charlar a cualquier hora,<br />

donde encontrarás una<br />

completa carta de cócteles (piña colada, Bloody Mary,… ",<br />

web_site: "http://www.tuslocalesfavoritos.com ",<br />

timetable: "Lunes a domingos: 11:00 ­ 02:00",<br />

phone: "915435656",<br />

email: "info@tuslocalesfavoritos.com",<br />

facebook: "",<br />

latitude: "0",<br />

longitude: "0"<br />

services:<br />

[<br />

"wifi","idiomas","eventos","brunch",<br />

"abierto domingos","menú del día"<br />

],<br />

ideal_for:<br />

[<br />

"eventos","negocios","celebraciones","grupos"<br />

],<br />

images:<br />

[<br />

"http://media.betalocales.com/place/3/4/pictures/front/34_eb7e231d873df56d95eb61e10dda0c36_2015<br />

1022.jpg",<br />

"http://media.betalocales.com/place/3/4/pictures/front/34_eb7e231d873df56d95eb61e10dda0c36_2015<br />

1023.jpg"<br />

],<br />

notifications:<br />

{<br />

total: 3,<br />

unread: 0<br />

},<br />

diary: 1,<br />

favorite: 0,<br />

share:<br />

{<br />

url: "http://web.betalocales.com/locales/la­claqueta",<br />

subject: "Añade La Claqueta a tuslocalesfavoritos.com, el único sitio donde tú eliges quién te envía<br />

información. ",<br />

}<br />

}


Descripción de la respuesta:<br />

Nombre Descripción Tipo<br />

id Identificador del local Int<br />

name Nombre String<br />

food_type Tipo de comida String<br />

street_type Tipo de calle String<br />

address Dirección String<br />

cp Código postal String<br />

city Ciudad String<br />

state Provincia String<br />

description Descripción del local String<br />

website Url del sitio web del local String<br />

timetable Horario String<br />

phone Teléfono String<br />

email Email de contacto String<br />

facebook URL de la página de Facebook String<br />

latitude Latitud geográfica del local String<br />

longitude Longitud geográfica del local String<br />

services Array de servicios que ofrece el local Array<br />

ideal_for Array de característica de “Ideal para” Array<br />

images Array de imágenes del local Array<br />

Posibles Status HTTP:<br />

HTTP Status Descripción<br />

200 OK OK<br />

404 Not Found El local no existe


Método HTTP: GET /diary/favorites/:place_id/subscription<br />

Descripción: Suscribe al usuario a las comunicaciones de un local.<br />

Notas: ­<br />

URL ejemplo: http://api.v2.betalocales.com/v2/diary/favorites/34/subscription<br />

Request:<br />

GET /v2/diary/favorites/34/subscription HTTP/1.1<br />

Host: api.v2.betalocales.com<br />

Control­Cap­Is­App: force­true<br />

Authorization: Bearer qDMSCgwsNNF3EDbQzAUJz4TsD7GW9Cu2Jd8ki8aU<br />

Cache­Control: no­cache<br />

Parámetros: Sin parámetros.<br />

Response<br />

HTTP/1.1 200 OK<br />

Content­Type: application/json; charset=utf­8<br />

Posibles Status HTTP:<br />

HTTP Status<br />

Descripción<br />

200 OK OK<br />

400 Bad Request Petición incorrecta<br />

401 Unauthorized No autorizado<br />

404 Not Found No se ha encontrado el local<br />

500 Internal Server Error Error interno


Método HTTP: GET /diary/favorites/:place_id/unsubscription<br />

Descripción: Elimina la suscripción del usuario a las comunicaciones de un local.<br />

Notas: ­<br />

URL ejemplo: http://api.v2.betalocales.com/v2/diary/favorites/34/unsubscription<br />

Request:<br />

GET /v2/diary/favorites/34/unsubscription HTTP/1.1<br />

Host: api.v2.betalocales.com<br />

Control­Cap­Is­App: force­true<br />

Authorization: Bearer qDMSCgwsNNF3EDbQzAUJz4TsD7GW9Cu2Jd8ki8aU<br />

Cache­Control: no­cache<br />

Parámetros: Sin parámetros.<br />

Response<br />

HTTP/1.1 200 OK<br />

Content­Type: application/json; charset=utf­8<br />

Posibles Status HTTP:<br />

HTTP Status<br />

Descripción<br />

200 OK OK<br />

400 Bad Request Petición incorrecta<br />

401 Unauthorized No autorizado<br />

404 Not Found No se ha encontrado el local<br />

500 Internal Server Error Error interno


URI: /notifications<br />

Versión: 2.0<br />

Estructura URL: http://api.v2.betalocales.com/v2/notifications<br />

Método HTTP: GET /notifications<br />

Descripción: Recupera un listado de notificaciones del usuario.<br />

Notas: Por defecto el número de registros por página se establece en 20. Todos los filtros pueden aplicarse de manera<br />

simultánea.<br />

URL ejemplo: http://api.v2.betalocales.com/v2/notifications?filters[page]=1<br />

Request:<br />

GET /v2/notifications HTTP/1.1<br />

Host: api.v2.betalocales.com<br />

Control­Cap­Is­App: force­true<br />

Authorization: Bearer qDMSCgwsNNF3EDbQzAUJz4TsD7GW9Cu2Jd8ki8aU<br />

Cache­Control: no­cache<br />

Parámetros:<br />

Nombre Descripción Requerido Tipo Valor<br />

filters[] Filtros del listado No Array ­<br />

Atributos del Array filters[]<br />

Nombre Descripción Requerido Tipo Valor<br />

place_id Filtrar listado por un local en concreto. No Int ­<br />

title Filtrar listado por el título de la notificación. No String ­<br />

category<br />

Filtrar listado por categoría<br />

(“news”,”menu”,”welcomepack”).<br />

No String ­<br />

type Filtrar por tipo (‘info’, ‘coupon’) No String ­<br />

page Número de página No Int ­<br />

limit Número de registros por página No Int ­


Response:<br />

HTTP/1.1 200 OK<br />

Content­Type: application/json; charset=utf­8<br />

{<br />

}<br />

pagination:<br />

{<br />

current_page: 1,<br />

total_pages: 1,<br />

total_items: 1<br />

},<br />

items:<br />

[{<br />

id: "198",<br />

category: "welcomepack",<br />

type: "coupon",<br />

place_id: "34",<br />

place_name: "La Claqueta",<br />

readed: 0,<br />

title: "WELCOMEPACK EJEMPLO",<br />

date: "2015­07­23 14:14:04",<br />

url: "http://web.betalocales.com/message/198/399",<br />

coupon_data:<br />

{<br />

signature: "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhcGkuYmV0YWxvY2FsZ<br />

XMuY29tIiwiYXVkIjoidGxmLWFwcCIsImlhdCI6MTQzNzY1MzY0NCwiZXhwIjoxNDM3OTQ4M<br />

DAwLCJuYmYiOjE0Mzc0Mjk2MDAsImp0aSI6ImE0MzhhOTVmYTQyMDk3Njk5NDA3YTdkY<br />

Tk5YzFhMDEwIiwidWlkIjoiMjYiLCJjaWQiOiIxNyJ9.qFiSLz3zrumpha0LWOoGNEqKy­<br />

_QhXqkHjiKOL_uXvQ",<br />

status: "1",<br />

valid_from: "2015­07­21 00:00:00",<br />

valid_to: "2015­07­27 00:00:00",<br />

redeem_date: "2015­07­23 14:14:59"<br />

}<br />

},<br />

{...}]<br />

Atributos del objeto pagination<br />

Nombre Descripción Tipo<br />

current_page Página actual Int<br />

total_pages Páginas totales int


Atributos de los objetos del Array items<br />

Nombre Descripción Tipo<br />

id Identificador de la notificación Int<br />

category Categoría de la notificación (“news”,”menu”,”welcomepack”). String<br />

type Tipo de notificación (“info”, “coupon”) String<br />

place_id Identificador del local int<br />

place_name Nombre del local String<br />

readed Indica si la notificación se ha leído (1 – Sí, 0 – No) Boolean<br />

title Título de la notificación String<br />

url URL de la notificación String<br />

date Fecha de la notificación. Formato “Y­m­d H:i:s“ String<br />

Atributos de los objetos del Array items<br />

Nombre Descripción Tipo<br />

signature Firma del cupón Int<br />

status<br />

Estado del cupón. Valores que puede tomar:<br />

0 – Pendiente de canjear<br />

1 – Canjeado<br />

­1 ­ Caducado<br />

Int<br />

valid_from Fecha desde la que es válido el cupón. Datetime<br />

valid_to Fecha hasta la que es válido el cupón. int<br />

redeem_date Fecha en la que se ha canjeado el cupón String<br />

Posibles Status HTTP:<br />

HTTP Status Descripción<br />

200 OK<br />

401 Unauthorized


Método HTTP: GET /notifications/count<br />

Descripción: Recupera las notificaciones indicando el total y las no leídas por categoría y tipo .<br />

Notas: ­<br />

URL ejemplo: http://api.v2.betalocales.com/v2/notifications/count<br />

Request:<br />

GET /v2/notifications/count HTTP/1.1<br />

Host: api.v2.betalocales.com<br />

Control­Cap­Is­App: force­true<br />

Authorization: Bearer qDMSCgwsNNF3EDbQzAUJz4TsD7GW9Cu2Jd8ki8aU<br />

Cache­Control: no­cache<br />

Response<br />

HTTP/1.1 200 OK<br />

Content­Type: application/json; charset=utf­8<br />

[<br />

{<br />

"name": "Menús",<br />

"category": "menu",<br />

"info": {<br />

"total": 0,<br />

"unread": 0<br />

},<br />

"coupon": {<br />

"total": 0,<br />

"unread": 0<br />

}<br />

},<br />

{<br />

"name": "Bienvenidas",<br />

"category": "welcomepack",<br />

"info": {<br />

"total": 0,<br />

"unread": 0<br />

},<br />

"coupon": {<br />

"total": 0,<br />

"unread": 0<br />

}<br />

},<br />

{<br />

"name": "Eventos y noticias",<br />

"category": "news",<br />

"info": {<br />

"total": 4,<br />

"unread": 1<br />

},<br />

"coupon": {<br />

"total": 4,<br />

"unread": 0<br />

}<br />

}<br />

]


Descripción de los nodos de la respuesta:<br />

Nombre Descripción Tipo<br />

name Nombre de la categoría String<br />

category Identificador de la categoría String<br />

total Indica el total de notificaciones del tipo. Int<br />

unread Indica el total de notificaciones sin leer del tipo. Int<br />

Posibles Status HTTP:<br />

HTTP Status<br />

Descripción<br />

200 OK OK<br />

401 Unauthorized No autorizado


Método HTTP: GET /notifications/:notification_id<br />

Descripción: Recupera la url de una notificación.<br />

Notas: La notificación se marcará como leída al realizar la petición.<br />

URL ejemplo: http://api.v2.betalocales.com/v2/notifications/149<br />

Request:<br />

GET /v2/notifications/149 HTTP/1.1<br />

Host: api.v2.betalocales.com<br />

Control­Cap­Is­App: force­true<br />

Authorization: Bearer qDMSCgwsNNF3EDbQzAUJz4TsD7GW9Cu2Jd8ki8aU<br />

Cache­Control: no­cache<br />

Parámetros: Sin parámetros.<br />

Response<br />

HTTP/1.1 200 OK<br />

Content­Type: application/json; charset=utf­8<br />

{<br />

"id": 56,<br />

"url": "http://web.betalocales.com/message/190/399"<br />

}<br />

Descripción de la respuesta:<br />

Nombre Descripción Tipo<br />

notification_id Identificador de la notificación Int<br />

url URL a la notificación String<br />

Posibles Status HTTP:<br />

HTTP Status<br />

Descripción<br />

200 OK OK<br />

400 Bad Request Petición incorrecta<br />

401 Unauthorized No autorizado<br />

403 Forbidden Sin permisos para acceder a la notificación<br />

500 Internal Server Error Error interno


Método HTTP: DELETE /notifications/:notification_id<br />

Descripción: Permite borrar una notificación.<br />

Notas: ­<br />

URL ejemplo: http://api.v2.betalocales.com/v2/notifications/149<br />

Request:<br />

DELETE /v2/notifications/149 HTTP/1.1<br />

Host: api.v2.betalocales.com<br />

Control­Cap­Is­App: force­true<br />

Authorization: Bearer qDMSCgwsNNF3EDbQzAUJz4TsD7GW9Cu2Jd8ki8aU<br />

Cache­Control: no­cache<br />

Parámetros: Sin parámetros.<br />

Response<br />

HTTP/1.1 204 OK<br />

Content­Type: application/json; charset=utf­8<br />

Catálogo de errores:<br />

Id Descripción Status<br />

ERROR_DELETE_NOTIFICATION_0001 No se ha recibido el identificador de la notificación. 400<br />

ERROR_DELETE_NOTIFICATION_0002 No tiene permiso para borrar la notificación. 403<br />

ERROR_DELETE_NOTIFICATION_0003 No se ha podido borrar la notificación. 500<br />

Posibles Status HTTP:<br />

HTTP Status<br />

Descripción<br />

204 No Content OK<br />

400 Bad Request Petición incorrecta<br />

401 Unauthorized No autorizado<br />

403 Forbidden Sin permiso para borrar la notificación<br />

500 Internal Server Error Error interno


Método HTTP: PATCH /notifications/:notification_id<br />

Descripción: Marcar una notificación como leída.<br />

Notas: ­<br />

URL ejemplo: http://api.v2.betalocales.com/v2/notifications/149<br />

Request:<br />

PATCH /v2/notifications/149/readed HTTP/1.1<br />

Host: api.v2.betalocales.com<br />

Control­Cap­Is­App: force­true<br />

Authorization: Bearer qDMSCgwsNNF3EDbQzAUJz4TsD7GW9Cu2Jd8ki8aU<br />

Cache­Control: no­cache<br />

Content­Type: application/x­www­form­urlencoded<br />

Parámetros:<br />

Nombre Descripción Requerido Tipo Valor<br />

attribute Nombre del atributo Sí String status_id<br />

value Valor del atributo Sí String 12<br />

Response<br />

HTTP/1.1 200 OK<br />

Content­Type: application/json; charset=utf­8<br />

Posibles Status HTTP:<br />

HTTP Status<br />

Descripción<br />

200 OK OK<br />

400 Bad Request Petición incorrecta<br />

401 Unauthorized No autorizado<br />

403 Forbidden Sin permiso sobre la notificación<br />

500 Internal Server Error Error interno


Método HTTP: POST public/track/coupon<br />

Descripción: Marca un cupón como canjeado.<br />

Notas: Debe incluirse la firma del cupón en el payload como parámetro “signature”.<br />

URL ejemplo: http://api.v2.betalocales.com/v2/public/track/coupon<br />

Request:<br />

POST /v2/public/track/coupon HTTP/1.1<br />

Host: api.v2.betalocales.com<br />

Control­Cap­Is­App: force­true<br />

Cache­Control: no­cache<br />

Content­Type: application/x­www­form­urlencoded<br />

Parámetros:<br />

Nombre Descripción Requerido Tipo Valor<br />

signature Firma del cupón Sí String ­<br />

Response<br />

HTTP/1.1 200 OK<br />

Content­Type: application/json; charset=utf­8<br />

Posibles HTTP Status:<br />

HTTP Status<br />

Descripción<br />

200 OK OK.<br />

409 Conflict Cupón ya canjeado, expirado o revocado.<br />

500 No se puede canjear el cupón.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!