Tutorial Sobre Como Crear Tu API PDF
Tutorial Sobre Como Crear Tu API PDF
Tutorial Sobre Como Crear Tu API PDF
http://manelgarcia.com/recursos-web/php/tutorial-sobre-como-crear-tu-api/
@manelgarcia:
""
Bien, esta vez s, a peticin del pblico y con retraso (perdn por la espera, pero ando muuy liado) intentar explicar las bases para que uno por s slo pueda crear una API para su sitio web.
27/03/2013 2:18
http://manelgarcia.com/recursos-web/php/tutorial-sobre-como-crear-tu-api/
Digamos que nuestra API puede disponer o no de dos grandes funcionalidades: Recojer y disponer de los datos de nuestro sitio para mostrarlos de la forma conveniente Alterar esos datos, cosas cmo modificar datos, aadir nuevos o eliminarlos. Si la API que queremos contruir no necesita de autentificain para usarla, las llamadas API Keys, puede ser una buena solucin que nuestra API se comunique mediante el servidor usando GET y la url, as pues una consulta para eliminar el articulo numero 5 sera algo cmo:
http://misitio.com/api/borrar/5
Pero si son muchos los parmetros a enviar o creemos que nuestra API debe disponer de algo de seguridad para poder ser usada la mejor opcin va a ser escoger el mtodo POST. Este sistema nos va a permitir comprobar antes de empezar a procesar la informacin que la peticin tenga los permisos correctos.
SOAP vs REST
Hay dos tipos de APIs usadas para en cuanto a web nos referimos. Google por ejemplo usa SOAP y Yahoo usa REST, vamos a ver que es cada cosa: APIs con REST: Se basan en llamadas HTTP mediante URI y el formato de la respuesta la podemos definir nosotros. Normalmente las APIs con REST sn ms rpidas y fciles de implementar. Las APIs con SOAP suelen ser un poco ms complicadas y necesitan la instalacin de un plugin dependiendo del lenguaje de programacin que estemos usando, en PHP o Python por ejemplo es necesario. Las APIs con SOAP se asemejan ms a un sistema de mtodos, as, para hacer la misma llamada que antes haciamos mediante URI (usando REST), en SOAP sera algo cmo: $api>borrar(5) Nosotros en este caso y aclarando desde un principio que esto es una inicicin y un primer enfoque a cmo debera construirse una API y cuales son nuestras opciones, usaremos REST para este post.
27/03/2013 2:18
http://manelgarcia.com/recursos-web/php/tutorial-sobre-como-crear-tu-api/
$obj = new Data(); $obj>borrar(5); Genial hasta aqu, pero cmo lo hacemos para alguien que no tiene acceso a nuestro servidor? Debemos crear una especie de interfaz entre el usuario y nuestra classe, entonces nuestro archivo alojado en api/borrar.php querada as: include '../class/class.Data.php'; if(permiso( $_POST['api_key'] )){ $obj = new Data(); $obj>borrar(5); } Eso va a permitir a nuestros usuarios de la API que envien consultas POST al archivo api/borrar.php y si la clave es la correcta le permitiremos hacer la accin. Entendemos que la funcin permiso() debe comprobar que esta clave esta aceptada dentro de nuestra base de datos.
La Peticin
Para realizar la peticin HTTP vamos a usar cURL de PHP que va genial y es muy fcil de usar sencillamente necesitamos definir la URL que vamos a llamar y los parametros de la llamada: // definimos nuestras variables POST $post_vals = array( 'api_key' => '0123456789', 'id' => '5' ); foreach($post_vals as $key => $value) { $peticion .= $key.'='.urlencode($value).'&'; } $peticion = rtrim($peticion, '&'); $ch = curl_init('http://misitio.com/api/borrar.php'); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $peticion); $respuesta = curl_exec($ch); curl_close ($ch); );
La Respuesta y su Formato
Cmo nos lo vamos a hacer para dar la respuesta a la peticin? Hay varias maneras, las ms conocidas son mediante XML o JSON, el consejo es que si puedas ofrezcas las dos formas. Otra cosa a tener en cuenta y no olvidar es dar las respuestas a los procesos si todo ha funcionado correctamente o si ha fallado alguna cosa, para que el usuario final sea capaz de poder crear una pequea funcin isSuccess() etc Un ejemplo de respuesta en XML podria ser: <respuesta estado="ok"> <metodo>borrar</metodo> <formato>rest</formato>
3 de 8
27/03/2013 2:18
http://manelgarcia.com/recursos-web/php/tutorial-sobre-como-crear-tu-api/
<id>5</id> <api_key>01234567890</api_key> </respuesta> Disclaimer: Todo el post esta explicado sobre el mtodo borrar, aunque si hacemos un ejercicio de reflecin pronto nos daremos cuenta que un mtodo de estos slo nos puede perjudicar! Links de inters http://www.gen-x-design.com/archives/create-a-rest-api-with-php/ How to Design a Good API cURL en PHP.net SOAP y REST en la Wikipedia Tagged as: api, classes, PHP, rest, soap, Tutoriales, xml { 18 comments read them below or add one }
Omar February 23, 2010 at 3:36 pm Puede que sea un poco quisquilloso, pero notar que si queremos hacerlo una buena API RESTful convendra usar los propios mtodos de HTTP. Por lo que para borrar un recurso usaramos el mtodo DELETE, para actualizar PUT, para insertar POST y GET para consulta. Saludos.
manelgarcia February 25, 2010 at 4:16 pm Tienes razn!, gracias por tu comentario!
Bernardo February 27, 2010 at 3:54 pm Puedo trabajar con linux, para las api, desarrollos web?, gracias bernardo.
galax May 10, 2010 at 1:59 am es basico y funcional pense que era mas avanzado, cuando empezamos la segunda fase de este tutorial para llenarnos de aportes..
hacklucas May 14, 2010 at 11:50 pm ola man, pero como accedes a algo asi: tienes http://misitio.com/api/borrar.php en un server y
4 de 8
27/03/2013 2:18
http://manelgarcia.com/recursos-web/php/tutorial-sobre-como-crear-tu-api/
quieres jalarlo con json desde otro como harias el codigo javascript porfa ayuda, gracias
Jesus Coral October 23, 2010 at 1:56 am Excelente tema. Estoy por crear mis apis, empezar con las de consulta y luego con inserts. Tambin esperando una segunda entrega, sino es mucho pedir jeje. Gracias por compartir.
Jesus Coral October 23, 2010 at 3:01 am Acabo de implementar mi primera api !! Pens que me dara ms trabajo jeje. Aqu pueden ver el ejemplo: Hice una consulta desde http://www.altumasesores.com/bolsa_trabajo.php accediendo a las clases de http://www.mivacante.com Muchsimas gracias Manel.
manelgarcia October 28, 2010 at 2:00 pm Genial Jesus, Estoy muy contento que te haya funcionado! Un saludo y gracias a t por comentar!
manelgarcia October 28, 2010 at 2:02 pm Gracias, espero que te salga bien, cualquier duda, perguntame! Ahora tengo poco tiempo, pero cuando me vuelva a poner en ello hago una segunda enterga con ejemplos prcticos Saludos!
max henrry December 22, 2010 at 9:22 pm ahy algo que me deja perprejo si es un api y si solo mostrare datos de mi base de datos para que otros lo muestren en sus web en que forma tendrian permisos o cuales serian los code para que ellos puedan mostrar mi base de datos en su web siendo api este tutorial que has echo!
sofia June 1, 2011 at 7:51 pm Buenas, mi normbre es sofia y tengo una web en la que necesito poner en la zona de pago una integracion donde realizar llamadas a la API de mi web zona de pago a mi sponsor y la verdad no
5 de 8
27/03/2013 2:18
http://manelgarcia.com/recursos-web/php/tutorial-sobre-como-crear-tu-api/
tengo ni idea, jeje, si no es mucho pedir si alguien pudiera explicarme como se hace lo agradeceria, espero respuesta lo antes posibre Saludoss
manelgarcia June 4, 2011 at 2:21 pm lo que preguntas es difcil de explicar sin previas consideracions sobre que tipo de servicos estas usando etc.. en todo caso te recomiendo buscar a alguien experto en el tema para que te pueda ayudar a hacer todo eso, felicidades por la web! un saludo!
Ultimo August 10, 2011 at 9:10 pm Este es el ultimo comentario, no agregen mas, jeje.
Martin October 20, 2011 at 11:57 pm Hola manel, yo quiero usar un CMS el cual es el siguiente Interspire Shopping Cart, este CMS trae muchas apis para pagos de todo el mundo, pero quiero implemetar la api de DineroMail (sistema de pago en Argetina), tengo la api de ellos pero no se como meterla en el CMS espero que me puedas ayudar, si quieres por correo te voy consultando cuando tengas un tiempo Desde ya te agradezco Saludos desde Argentina
Alejandro December 17, 2011 at 7:27 pm Estoy de acuerdo con Omar se tiene que utilizar metodos HTTP apropiadamente para cada accion.
viviana March 29, 2012 at 12:47 am Hola sofia. algo muy parecido debo realizar. Me encantaria saber si lograste encontrar informacion. Gracias
Alberto September 26, 2012 at 5:53 pm Hola! Alguien que quiera colaborar para crear la API de una nueva red social? Un saludo Leave a Comment Name * E-mail *
6 de 8
27/03/2013 2:18
http://manelgarcia.com/recursos-web/php/tutorial-sobre-como-crear-tu-api/
Website
{ 4 trackbacks } Tutorial para crear una API de tu sitio web Bitacoras.com Cmo Hacer Un Concurso Legal Con Wordpress Recursos para desarrollo de APIs Blog de Babelias, foro de Programacin Previous post: Cmo Evitar Inyecciones SQL o SQL Injections Next post: Crea Tu Propio Acortador de URLs Con 2 Lneas de PHP y Una Cuenta en Bit.ly
Conectamos?
La forma ms rpida para contactarme es va twitter
Seguir a @manelgarcia
Mi librera
7 de 8
27/03/2013 2:18
http://manelgarcia.com/recursos-web/php/tutorial-sobre-como-crear-tu-api/
Articulos Populares
Cmo Desbloquear iPhone 3GS en iOS4 Usando PwnageTool Como Desbloquear y Liberar iPhone 3G, iPhone 3GS e iPod Touch Con iOS 4 El Juego Del Dinero de Robert T. Kiyosaki Thesis Theme la Plantilla para WordPress 10 Consejos para Mejorar tu Ranking Alexa Descargar Adobe Photoshop CS4 Gratis para Mac Redirect 301 mediante .htaccess
Enlaces
Camisetas FC Barcelona Baratas chapas personalizadas Descargar canciones gratis
8 de 8
27/03/2013 2:18