Datos de una API en Hojas de cálculoDesarrollo y personalización

Un Google Apps Script que carga datos de la API de un servicio en su hoja de cálculo de Google y los mantiene al día

Suele estar listo en 15 minutosCambios incluidosControl de calidad
Paquetes
Protección de pagoDetalles
  • Los cambios dentro del paquete son gratuitos.
  • Si no responde en los 3 días siguientes a la entrega, el trabajo se acepta automáticamente.

El dinero queda reservado al pagar y solo se libera cuando usted acepta el trabajo.

Un Google Apps Script que carga datos de la API de un servicio en su hoja de cálculo de Google y los mantiene al día

Ejemplo de resultado

Ejemplo del paquete Estándar

Unir los archivos de ventas mensuales de 9 tiendas en un único informe de Excel

Cómo se ejecuta

python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO  Carpeta: sales/2026-10, 9 archivos encontrados
2026-11-02 09:14:03 INFO  shop-01.csv: 1.284 filas
2026-11-02 09:14:04 INFO  shop-02.xlsx: 967 filas
2026-11-02 09:14:04 WARN  shop-07.csv: 3 filas sin precio omitidas (líneas 88, 412, 913)
2026-11-02 09:14:05 INFO  Listo: 10.412 filas -> report-2026-10.xlsx (hojas “Ventas” y “Totales”)

Configuración, no código

Los nombres de columna de cada tienda están en settings.ini, así que una tienda nueva o una columna renombrada es una línea ahí:

[columns]
date = Fecha, Fecha de venta, Día
product = Producto, Artículo, Nombre
quantity = Cant., Cantidad, Uds.
price = Precio, Precio unitario

Una parte del código

def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
    """Lee el archivo de una tienda y le da los nombres de columna del informe."""
    table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
    renamed = {}
    for name, variants in columns.items():
        found = next((c for c in table.columns if c.strip() in variants), None)
        if found is None:
            raise ReportError(f"{path.name}: no hay columna para '{name}' (se buscó {', '.join(variants)})")
        renamed[found] = name
    table = table.rename(columns=renamed)[list(columns)]
    table["shop"] = path.stem
    return table

Archivos: un archivo ZIP con merge_sales.py (310 líneas), settings.ini, requirements.txt y un README sobre cómo instalar Python, ejecutar el script y qué significa cada mensaje del registro. El cliente lo ejecuta en su propio ordenador.

Cliente: una pequeña cadena de 9 papelerías; cada tienda envía sus ventas del mes en un archivo CSV o Excel, con nombres de columna ligeramente distintos. Tarea: un único script que lea todos los archivos de una carpeta, dé a las columnas un mismo formato y genere un solo informe de Excel con todas las ventas y una hoja de totales por tienda.

El cliente y todos los datos son ficticios.

Acerca de este servicio

Pedidos de la plataforma de su tienda, tareas de un servicio de proyectos, entradas de un sistema de reservas: si el servicio tiene una API pública, los datos pueden llegar a su hoja de cálculo de Google sin exportar archivos a mano. Este Google Apps Script envía una solicitud a la API con su propia clave, toma los campos que necesita y los escribe como filas, página tras página. Desde Estándar la clave va en las propiedades del script, que rellena usted, no en el código, y los errores van a una pestaña de Registro; Premium añade solo las filas nuevas o cambiadas y una guía para ejecutarlo cada hora o cada día con un activador. Envíenos un enlace a la documentación de la API y los campos que quiere. Una sola ejecución está limitada a unos seis minutos, así que las importaciones muy grandes se hacen por partes.

Qué incluye

  • Qué recibeUn archivo ZIP con el código de Apps Script y un README que explica cómo añadirlo a su hoja, poner su clave y ejecutarlo; el código también se muestra en la página del pedido.
  • Según la documentaciónEscrito a partir de la propia documentación de la API
  • Los campos que elijaSolo las columnas que necesita, en su orden
  • Todas las páginasLos resultados paginados se leen hasta el final
  • La clave, fuera del códigoUsted la pone en las propiedades del script
  • Código legibleCon comentarios, fácil añadir un campo más adelante

Cómo funciona

  1. 1
    TareaUsted envía la documentación de la API y los campos que necesita
  2. 2
    CódigoEscribimos el script según la documentación y la guía para instalarlo
  3. 3
    PruébeloAñade su clave en una copia de la hoja y lo ejecuta
  4. 4
    CambiosPide cambios dentro de su paquete y nos envía cualquier mensaje de error

Qué necesitamos de usted

El servicio y un enlace a la documentación de su API, la solicitud que necesita (por ejemplo, los pedidos de los últimos 30 días) y los campos que deben convertirse en columnas. Un ejemplo de la respuesta de la API ayuda mucho: cópielo de la documentación o de una llamada de prueba sin valores privados. Con qué frecuencia deben actualizarse los datos y si se añaden filas nuevas o se reescribe la hoja. No envíe nunca su clave de API real: el README indica dónde ponerla.

Le preguntaremos:

  • ¿Qué servicio y dónde está la documentación de su API?
  • ¿Qué datos necesita?
  • ¿Con qué frecuencia debe actualizarse?

Comparar paquetes

PaquetesBásicoUna llamada a la API16 US$EstándarImportación con configuración33 US$PremiumHerramienta de importación67 US$
Plazo1 día2 días3 días
Cambios123
Códigohasta 150 líneashasta 400 líneashasta 1.000 líneas
Archivos de código1hasta 3hasta 8
Archivo de configuraciónNoSíSí
Mensajes de error claros y registroNoSíSí
Opciones de ejecución y guía para ejecutarlo de forma programadaNoNoSí
Guía de instalación y uso (README)SíSíSí
LenguajeGoogle Apps ScriptGoogle Apps ScriptGoogle Apps Script
Hacer pedido BásicoHacer pedido EstándarHacer pedido Premium

Protección de pago

Usted paga al hacer el pedido, pero el dinero solo se libera por un trabajo aceptado.

  • Precio fijoEl precio del paquete no cambia después del pago.
  • El dinero queda reservadoAl pagar, el importe solo queda reservado. Pasa a Dleex cuando usted acepta el trabajo.
  • Revisado antes de la entregaCada resultado pasa un control de calidad antes de llegar a usted, y lo ve en la página del pedido antes de aceptarlo.
  • Cambios gratuitosSolicite cambios dentro de su brief tantas veces como permita el paquete.
  • Aceptación a los 3 díasSi en los 3 días siguientes a la entrega no acepta el trabajo ni solicita cambios, se acepta automáticamente. Si escribe en el chat del pedido después de la entrega, el pedido queda en espera; cuando le respondamos, podremos reiniciar el plazo de 3 días y se lo indicaremos en el chat.
  • Rehacer el trabajo o reembolso totalSi el resultado no se ajusta a su brief y los cambios no lo resolvieron, o el trabajo tarda más del doble de su plazo, escriba en el chat del pedido: rehacemos el trabajo o le reembolsamos el pago íntegro.
Cómo funciona →

Preguntas y respuestas

¿Funcionará con cualquier servicio?

Con servicios que tengan una API pública y le permitan obtener su propia clave o token. Los servicios sin API, o los que exigen iniciar sesión en una página del navegador cada vez, no están cubiertos.

¿Con qué frecuencia puede actualizarse?

Con un activador por tiempo, incluso cada pocos minutos, aunque la mayoría de datos necesitan ejecuciones cada hora o cada día. Se aplican los límites de solicitudes del propio servicio y también los límites de Google para scripts.

¿Puede enviar datos de vuelta al servicio?

Esta oferta lee datos hacia la hoja. Escribir de vuelta es posible si la API lo permite; descríbalo en el brief y le diremos si cabe en su paquete.

¿Me conseguirán ustedes una clave?

No. Usted crea la clave en su cuenta del servicio y la pone en las propiedades del script. Nunca iniciamos sesión en sus cuentas.

¿No encontró su respuesta?

Paquetes