Inicio
Acuina API
Acuina API es la interfície necesaria para poder acceder a los servicios de comida a domicilio de Food2u.
Gracias a ella podrás realizar aplicaciones que accedan, interactuen y realicen pedidos a domicilio desde la misma manera que se hace desde la web de comida a domicilio Food2u o desde sus apps móviles.
La API es Multisoporte (web, móvil, software de gestión) y está especialmente optimizada para el desarrollo de aplicaciones en móviles y navegador de ultima generación.
Beneficios
- Ofrece la posibilidad de pedir comida en cualquier lugar del mundo a tus clientes.
- Ofrece ofertas en restaurantes a tus clientes.
- Crea un sito web o una aplicación movil para tu plataforma favorita para pedir comida online.
- Da información de los restaurantes más cercanos a tus clientes.
- Gana comisiones por los pedidos que hacen tus clientes.
Arquitectura REST
- Direccionabilidad: Los recursos son expuestos mediante URIs.
- Sin Estado: Las peticiones a los recursos son independientes una de la otra.
- Conectividad: Los recursos pueden incluir enlaces a otros recursos.
- Una interfaz uniforme: Las operaciones permitidas son obtención, creación, modificación y eliminación de recursos utilizando el protocolo HTTP.
La API REST tiene como propósito la implementación de servicios ligeros, inteligibles y fácilmente implementables que se definen en base a una serie de operaciones RESTful, que implica el intercambio de información acorde a los formatos de los datos REST.
Funcionamiento
Formato de las solicitudes
Las solicitudes a la API se realizarán mediante los metodo GET y POST con el Charset UTF-8 y la información codificada mediante JSON.
Ejemplo de solicitud GET:
GET /restaurant/1/info.json HTTP/1.0 User-Agent: Wget/1.12 (linux-gnu) Accept: */* Host: api.acuina.com Connection: Keep-Alive
Formato de respuesta
Las respuesta de la API serán con el Charset UTF-8 y la información codificada mediante JSON.Respuesta correcta
- Codificación: UTF-8
- Tipo de contenido: texto/json
Si la llamada se completa correctamente la respuesta xml se construirá de la siguiente manera:
HTTP/1.1 200 OK
Date: Sat, 29 Jan 2011 00:58:32 GMT
Server: Apache
X-Powered-By: PHP/5.2.17
X-Resource: RestaurantInfoResource
Apikey: xxxxx
Signature: xxxx
Timestamp: 1312414
Content-Length: 457
Keep-Alive: timeout=2, max=200
Connection: Keep-Alive
Content-Type: application/json
{
"result":{
"id":"1",
"name":"Mr.Alex Pizzeria",
"description":"P\u00edzzas Hechas con Amor",
"category":"Pizzeria",
"url":"http:\/\/www.mralexpizzeria.com",
"image_url":"http:\/\/api.acuina.com\/images\/alex.png",
"lat":"41.3875",
"lng":"2.13751",
"min_order_price":"8",
"deliver_price":"0",
"address":"Berged\u00e0,21",
"postal_code":"8029",
"city":"Barcelona",
"open_time":"12:00:00",
"close_time":"23:59:00"
}
}
Respuesta incorrecta
- Codificación: UTF-8
- Tipo de contenido: texto/sin formato
- Estado HTTP: NO 200
Si la solicitud de cuerpo del mensaje no se completa correctamente, recibirás un código de estado HTTP diferente a 200.
También es posible que recibas un mensaje de error en el cuerpo de la respuesta.
HTTP/1.1 404 Date: Sat, 29 Jan 2011 01:05:41 GMT Server: Apache X-Powered-By: PHP/5.2.17 X-Resource: RestaurantInfoResource Content-Length: 32 Keep-Alive: timeout=2, max=200 Connection: Keep-Alive Content-Type: text/plain
Importante
Recureda, todas las solicitudes GET y POST tiene que tener los paramentros correctamente codificados para HTTP y el Content-Type con el valor application/json.
Creemos que RestClient puede resultar muy útil en el desarrollo y la prueba de servicios web RESTful de Acuina.