En esta guía mostramos una serie de ejemplos prácticos sobre cómo se añaden, modifican, buscan, eliminan u ordenan los datos o registros que tenemos almacenados. Todos los ejemplos se basan en los clientes, aunque todas las tablas funcionan con la misma dinámica.
Recuerda que tienes disponible la guía en la que se indican y explican todos los elementos necesarios para el manejo de la API.
Listado de Clientes inicio
Se muestra cómo podemos obtener un listado con los datos de todos nuestros clientes:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<?php header('Content-Type: text/plain'); //La respuesta procesara y mostrara como texto al lanzar este script desde un navegador. $ch = curl_init(); //Iniciamos el objeto curl. curl_setopt_array($ch, array( //Configuramos los parámetros de la conexión. CURLOPT_URL => //Dirección con parámetros a la que nos queremos conectar. "https://app05.mygestion.com/appMg/api/" //URL servidor, común a todas las llamadas. ."ApiClientes/" //Página del api, en este caso clientes. ."?" //Empiezan los parámetros. ."user=usuario" //La segunda parte de la igualdad corresponde al nombre con el que nos registramos en myGESTIÓN. ."&" ."password=password" //La misma contraseña con la que iniciamos sesión. ,CURLOPT_CUSTOMREQUEST=> "GET" //Método que usa la conexión. // GET: para seleccionar información. // PUT: para actualizar datos. // POST: para insertar registros. // DELETE: para borrar. ,CURLOPT_POSTFIELDS => $input_xml= //Documento XML que acompaña a las operaciones PUT y POST. '' )); $data = curl_exec($ch); //Lanzamos el request. curl_close($ch); //Cerramos el request. ?> |
Cliente por código inicio
En el ejemplo observamos cómo seleccionamos la información de un cliente en concreto de forma directa:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
<?php header('Content-Type: text/plain'); //La respuesta procesara y mostrara como texto al lanzar este script desde un navegador. $ch = curl_init(); //Iniciamos el objeto curl. curl_setopt_array($ch, array( //Configuramos los parámetros de la conexión. CURLOPT_URL => //Dirección con parámetros a la que nos queremos conectar. "https://app05.mygestion.com/appMg/api/" //URL servidor, común a todas las llamadas. ."ApiClientes/" //Pagina del api, en este caso clientes. //"https://app05.mygestion.com/appMg/api/ApiClientes/1?user=usuario&password=password" ."1" //Al final de la propia url añadimos el código que se devuelve en la primera llamada. //Así podemos visualizar los datos de este cliente en concreto. //Cada tabla devuelve un campo código, id o similar //que nos permite identificar los registros individualmente. ."?" //Empiezan los parámetros. ."user=usuario" //La segunda parte de la igualdad corresponde al correo con el que nos registramos en myGESTIÓN. ."&" ."password=password" //la misma contraseña con la que iniciamos sesión. ,CURLOPT_CUSTOMREQUEST=> "GET" //Método que usa la conexión. // GET: para seleccionar información. // PUT: para actualizar datos. // POST: para insertar registros. // DELETE: para borrar. ,CURLOPT_POSTFIELDS => $input_xml= //Documento XML que acompaña a las operaciones PUT y POST. '' )); $data = curl_exec($ch); //Lanzamos el request. curl_close($ch); //Cerramos el request. ?> |
Ejemplos con parámetros inicio
Parámetro "schema" inicio
Este parámetro se utiliza para obtener en formato XML la estructura de la tabla en la que nos encontramos, es decir, los campos que la componen y también el tipo de dato que utiliza cada uno de los campos y lo que ocurrirá si alguno de estos se envía vacío.
Para conocer la estructura de la tabla utilizamos "schema=blank" y para conocer el tipo de dato utilizamos "schema=psynopsis":
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<?php header('Content-Type: text/plain'); //La respuesta procesara y mostrara como texto al lanzar este script desde un navegador. $ch = curl_init(); //Iniciamos el objeto curl. curl_setopt_array($ch, array( //Configuramos los parámetros de la conexión. CURLOPT_URL => //Dirección con parámetros a la que nos queremos conectar. "https://app05.mygestion.com/appMg/api/" //URL servidor, común a todas las llamadas. ."ApiClientes/" //Pagina del api, en este caso clientes. ."?" //Empiezan los parámetros. ."user=usuario" //La segunda parte de la igualdad corresponde al correo con el que nos registramos en myGESTIÓN. ."&" ."password=password" //La misma contraseña con la que iniciamos sesión. ."&" ."schema=blank" //El parámetro schema= blanck nos devuelve un documento plantilla de la tabla seleccionada //."schema=psynopsis" //El parámetro schema= psynopsis nos devuelve el tipo de dato y la longitud de cada campo //ej(varchar 20) así como el valor por defecto si existe. ,CURLOPT_CUSTOMREQUEST=> "GET" //Método que usa la conexión. // GET: para seleccionar información. // PUT: para actualizar datos. // POST: para insertar registros. // DELETE: para borrar. ,CURLOPT_POSTFIELDS => $input_xml= //Documento XML que acompaña a las operaciones PUT y POST. '' )); $data = curl_exec($ch); //Lanzamos el request. curl_close($ch); //Cerramos el request. ?> |
Parámetro "display" inicio
El parámetro "display" junto con una enumeración de campos de esa tabla nos permite modificar los campos que se devuelven en el listado:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<?php header('Content-Type: text/plain'); //La respuesta procesara y mostrara como texto al lanzar este script desde un navegador. $ch = curl_init(); //Iniciamos el objeto curl. curl_setopt_array($ch, array( //Configuramos los parámetros de la conexión. CURLOPT_URL => //Dirección con parámetros a la que nos queremos conectar. "https://app05.mygestion.com/appMg/api/" //URL servidor, común a todas las llamadas. ."ApiClientes/" //Pagina del api, en este caso clientes. ."?" //Empiezan los parámetros. ."user=usuario" //La segunda parte de la igualdad corresponde al correo con el que nos registramos en myGESTIÓN. ."&" ."password=password" //La misma contraseña con la que iniciamos sesión. ."&" ."display=[codigo,nombre,provincia]" //El parámetro display junto con una enumeración de campos de esa tabla //nos permite modificar los campos que se devuelven en el listado ,CURLOPT_CUSTOMREQUEST=> "GET" //Método que usa la conexión. // GET: para seleccionar información. // PUT: para actualizar datos. // POST: para insertar registros. // DELETE: para borrar. ,CURLOPT_POSTFIELDS => $input_xml= //Documento XML que acompaña a las operaciones PUT y POST. '' )); $data = curl_exec($ch); //Lanzamos el request. curl_close($ch); //Cerramos el request. ?> |
Parámetro "filter" inicio
El siguiente parámetro se utiliza para aplicar filtros de búsqueda. En el ejemplo observamos cómo se hace una búsqueda de clientes por códigos de cliente o por provincias:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
<?php header('Content-Type: text/plain'); //La respuesta procesara y mostrara como texto al lanzar este script desde un navegador. $ch = curl_init(); //Iniciamos el objeto curl. curl_setopt_array($ch, array( //Configuramos los parámetros de la conexión. CURLOPT_URL => //Dirección con parámetros a la que nos queremos conectar. "https://app05.mygestion.com/appMg/api/" //URL servidor, común a todas las llamadas. ."ApiClientes/" //Pagina del api, en este caso clientes. ."?" //Empiezan los parámetros. ."user=usuario" //La segunda parte de la igualdad corresponde al correo con el que nos registramos en myGESTIÓN. ."&" ."password=password" //La misma contraseña con la que iniciamos sesión. ."&" //Podemos añadir el parámetro filter con el nombre de un campo y luego un dato o rango de datos //como se muestra en el ejemplo replicando asi la clausula where en sql ."filter=[codigo]=[6]" //codigo igual a 6 //."filter=[codigo]=[6|12]" //codigo entre 6 y 12 ambos incluidos //."filter=[codigo]=[6,12]" //codigo 6 Y 12 //."filter=[codigo]=[6,12,9]" //codigos 6, 12 y 9 se pueden enumerar cuantos se quiere //sin embargo el el orden depende de la BBDD y no del especificado, //en este caso el valor devuelto seria 6, 9, 12 //."filter=[provincia]=[madrid]" //Clientes cuya provincia es Madrid. //."filter=[provincia]=[alava|lugo]" //Provincia "entre" Álava y Lugo por orden alfabético. //."filter=[provincia]=[a|l]" //Provincia que empieza por 'a' hasta provincia que empiez por 'l'. //."filter=[provincia]=[a,l]" //!!---Provincia = a Y provincia = l.---!! //."filter=[provincia]=[a%25,l%25]" //Provincia que empieza por 'a' Y provincia que empieza por 'l'. //Nota:En una url el caracter '%' se codifica como '%25'. //."filter=[provincia]=[%25a%25]" //Provincia que contiene 'a' ."&" ."display=[codigo,nombre,provincia]" ,CURLOPT_CUSTOMREQUEST=> "GET" //Método que usa la conexión. // GET: para seleccionar información. // PUT: para actualizar datos. // POST: para insertar registros. // DELETE: para borrar. ,CURLOPT_POSTFIELDS => $input_xml= //Documento XML que acompaña a las operaciones PUT y POST. '' )); $data = curl_exec($ch); //Lanzamos el request. curl_close($ch); //Cerramos el request. ?> |
Parámetro "sort" inicio
Permite ordenar los registros del resultado de la búsqueda anterior según el orden deseado, ascendente o descendente:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<?php header('Content-Type: text/plain'); //La respuesta procesara y mostrara como texto al lanzar este script desde un navegador. $ch = curl_init(); //Iniciamos el objeto curl. curl_setopt_array($ch, array( //Configuramos los parámetros de la conexión. CURLOPT_URL => //Dirección con parámetros a la que nos queremos conectar. "https://app05.mygestion.com/appMg/api/" //URL servidor, común a todas las llamadas. ."ApiClientes/" //Pagina del api, en este caso clientes. ."?" //Empiezan los parámetros. ."user=usuario" //La segunda parte de la igualdad corresponde al correo con el que nos registramos en myGESTIÓN. ."&" ."password=password" //La misma contraseña con la que iniciamos sesión. ."&" ."sort=[codigo]=[DESC]" //Sort permite ordenar los resultados, admite los valores DESC decendente y ASC ascendente ,CURLOPT_CUSTOMREQUEST=> "GET" //Método que usa la conexión. // GET: para seleccionar información. // PUT: para actualizar datos. // POST: para insertar registros. // DELETE: para borrar. ,CURLOPT_POSTFIELDS => $input_xml= //Documento XML que acompaña a las operaciones PUT y POST. '' )); $data = curl_exec($ch); //Lanzamos el request. curl_close($ch); //Cerramos el request. ?> |
Parámetro "limit" inicio
Este parámetro se utiliza para limitar o condicionar cómo se mostrarán los resultados de las búsquedas realizadas:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<?php header('Content-Type: text/plain'); //La respuesta procesara y mostrara como texto al lanzar este script desde un navegador. $ch = curl_init(); //Iniciamos el objeto curl. curl_setopt_array($ch, array( //Configuramos los parámetros de la conexión. CURLOPT_URL => //Dirección con parámetros a la que nos queremos conectar. "https://app05.mygestion.com/appMg/api/" //URL servidor, común a todas las llamadas. ."ApiClientes/" //Pagina del api, en este caso clientes. ."?" //Empiezan los parámetros. ."user=usuario" //La segunda parte de la igualdad corresponde al correo con el que nos registramos en myGESTIÓN. ."&" ."password=password" //La misma contraseña con la que iniciamos sesión. ."&" ."limit=4" //Muestra los cuatro primeros resultados //."limit=4,3" //Muestra cuatro resultados a partir del tercero ,CURLOPT_CUSTOMREQUEST=> "GET" //Método que usa la conexión. // GET: para seleccionar información. // PUT: para actualizar datos. // POST: para insertar registros. // DELETE: para borrar. ,CURLOPT_POSTFIELDS => $input_xml= //Documento XML que acompaña a las operaciones PUT y POST. '' )); $data = curl_exec($ch); //Lanzamos el request. curl_close($ch); //Cerramos el request. ?> |
Insertar un cliente inicio
A continuación, ejemplificamos cómo se añade o se inserta un cliente:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
<?php header('Content-Type: text/plain'); //La respuesta procesara y mostrara como texto al lanzar este script desde un navegador. $ch = curl_init(); //Iniciamos el objeto curl. curl_setopt_array($ch, array( //Configuramos los parámetros de la conexión. CURLOPT_URL => //Dirección con parámetros a la que nos queremos conectar. "https://app05.mygestion.com/appMg/api/" //URL servidor, común a todas las llamadas. ."ApiClientes/" //Pagina del api, en este caso clientes. ."?" //Empiezan los parámetros. ."user=usuario" //La segunda parte de la igualdad corresponde al correo con el que nos registramos en myGESTIÓN. ."&" ."password=password" //La misma contraseña con la que iniciamos sesión. ,CURLOPT_CUSTOMREQUEST=> "POST" //Método que usa la conexión. // GET: para seleccionar información. // PUT: para actualizar datos. // POST: para insertar registros. // DELETE: para borrar. //Previamente habremos de recuperar el documento usando GET y el parámetro schema //o bien GET mas un código, que puede resultar útil cuando queremos crear entrada similares //a continuación introducimos los datos //y luego enviamos el documento modificado vía POST ,CURLOPT_POSTFIELDS => $input_xml= //Documento XML que acompaña a las operaciones PUT y POST. '<?xml version="1.0" encoding="UTF-8"?> <clientes> <cliente> <codigo><![CDATA[1]]></codigo> <nombre><![CDATA[ActualizadoDesdeApi]]></nombre> <grupo><![CDATA[Cliente]]></grupo> <nombre_comercial><![CDATA[ActualizadoDesdeApi]]></nombre_comercial> <direccion/> <poblacion/> <provincia><![CDATA[lugo]]></provincia> <pais><![CDATA[Espanha]]></pais> <cod_postal/> <nif><![CDATA[4545454]]></nif> <tlf1/> <tlf2/> <fax/> <email/> <persona_contacto/> <observaciones><![CDATA[editado desde php]]></observaciones> <forma_pago><![CDATA[CONTADO]]></forma_pago> <divisa/> <serie_facturas><![CDATA[AB]]></serie_facturas> <regimen_iva/> <check_recargo_equiv><![CDATA[N]]></check_recargo_equiv> <check_precio_mayorista><![CDATA[N]]></check_precio_mayorista> <subcuenta/> <responsable/> <activo><![CDATA[SI]]></activo> <api_codigo_cliente/> <api_origen_cliente/> </cliente> </clientes>' )); $data = curl_exec($ch); //Lanzamos el request. curl_close($ch); //Cerramos el request. ?> |
Actualizar un cliente inicio
El siguiente ejemplo muestra cómo modificar o actualizar los datos de un cliente determinado:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
<?php header('Content-Type: text/plain'); //La respuesta procesara y mostrara como texto al lanzar este script desde un navegador. $ch = curl_init(); //Iniciamos el objeto curl. curl_setopt_array($ch, array( //Configuramos los parámetros de la conexión. CURLOPT_URL => //Dirección con parámetros a la que nos queremos conectar. "https://app05.mygestion.com/appMg/api/" //URL servidor, común a todas las llamadas. ."ApiClientes/" //Pagina del api, en este caso clientes. ."?" //Empiezan los parámetros. ."user=usuario" //La segunda parte de la igualdad corresponde al correo con el que nos registramos en myGESTIÓN. ."&" ."password=password" //La misma contraseña con la que iniciamos sesión. ,CURLOPT_CUSTOMREQUEST=> "PUT" //Método que usa la conexión. // GET: para seleccionar información. // PUT: para actualizar datos. // POST: para insertar registros. // DELETE: para borrar. //Previamente habremos de recuperar el documento usando GET mas un código, //a continuación cambiamos los datos que queramos actualizar //y luego enviamos el documento modificado vía PUT ,CURLOPT_POSTFIELDS => $input_xml= //Documento XML que acompaña a las operaciones PUT y POST. '<?xml version="1.0" encoding="UTF-8"?> <clientes> <cliente> <codigo><![CDATA[1]]></codigo> <nombre><![CDATA[ActualizadoDesdeApi]]></nombre> <grupo><![CDATA[Cliente]]></grupo> <nombre_comercial><![CDATA[ActualizadoDesdeApi]]></nombre_comercial> <direccion/> <poblacion/> <provincia><![CDATA[lugo]]></provincia> <pais><![CDATA[Espanha]]></pais> <cod_postal/> <nif><![CDATA[4545454]]></nif> <tlf1/> <tlf2/> <fax/> <email/> <persona_contacto/> <observaciones><![CDATA[editado desde php]]></observaciones> <forma_pago><![CDATA[CONTADO]]></forma_pago> <divisa/> <serie_facturas><![CDATA[AB]]></serie_facturas> <regimen_iva/> <check_recargo_equiv><![CDATA[N]]></check_recargo_equiv> <check_precio_mayorista><![CDATA[N]]></check_precio_mayorista> <subcuenta/> <responsable/> <activo><![CDATA[SI]]></activo> <api_codigo_cliente/> <api_origen_cliente/> </cliente> </clientes>' )); $data = curl_exec($ch); //Lanzamos el request. curl_close($ch); //Cerramos el request. ?> |
Eliminar un cliente inicio
A continuación, ejemplificamos cómo se elimina un cliente:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<?php header('Content-Type: text/plain'); //La respuesta procesara y mostrara como texto al lanzar este script desde un navegador. $ch = curl_init(); //Iniciamos el objeto curl. curl_setopt_array($ch, array( //Configuramos los parámetros de la conexión. CURLOPT_URL => //Dirección con parámetros a la que nos queremos conectar. "https://app05.mygestion.com/appMg/api/" //URL servidor, común a todas las llamadas. ."ApiClientes/" //Pagina del api, en este caso clientes. ."?" //Empiezan los parámetros. ."user=usuario" //La segunda parte de la igualdad corresponde al correo con el que nos registramos en myGESTIÓN. ."&" ."password=password" //La misma contraseña con la que iniciamos sesión. ,CURLOPT_CUSTOMREQUEST=> "DELETE" //Método que usa la conexión. // GET: para seleccionar información. // PUT: para actualizar datos. // POST: para insertar registros. // DELETE: para borrar. ,CURLOPT_POSTFIELDS => $input_xml= //Documento XML que acompaña a las operaciones DELETE. '<?xml version="1.0" encoding="UTF-8"?> <clientes> <cliente> <codigo><![CDATA[1]]></codigo> </cliente> </clientes>' )); $data = curl_exec($ch); //Lanzamos el request. curl_close($ch); //Cerramos el request. ?> |
Desde el enlace que tienes debajo puedes descargar todos los ejemplos anteriores en formato PHP:
Guías relacionadas
Aprende a utilizar la API de myGESTIÓN con esta guía:
4 comentarios en - Ejemplos en PHP para utilizar el API
Hola, buenas tardes.
Estamos intentando hacer un envio de pedidos pero no damos con la forma. ¿Tenieis algun ejemplo del xml a enviar?
He probado de enviar la cabecera de pedidos con el array de lineas y no me funcionció. Y si lo hago en dos envios distintintos (cabecera y lineas) tampoco. En el detalle del pedido me da un error de clave foranea con el id de pedido.
Muchas gracias.
¡Hola, Antoni!
Tal y como indicamos por chat y por si ayudara a otros usuarios que visiten esta guía, primero se ha de cargar la cabecera del pedido y se devuelve un ID que es el que se ha de indicar en el XML de los detalles del pedido.
¡Un saludo!
Buenos días,
Si el ID (por ejemplo el código del artículo) contiene caracteres especiales:
Ejemplo codigo = "NN/10" o "NN10º"
¿ Como se debe codificar este ID en la url ? directamente da error 400 y si se codifica con urlencoding tambien.
¡Hola, Antonio!
Para este tipo de cuestiones más técnicas, lo mejor es que nos envíes un e-mail a soporte@mygestion.com. Se te generará un ticket que una persona especializada te responderá a la mayor brevedad posible.
¡Un saludo!