Programar peticiones HTTP

Una petición HTTP recurrente que lanza el servidor de tu empresa: la sección HTTP CRON, el intervalo dentro y fuera de horario, la llamada, el resultado que guarda y los avisos por correo.

Una petición HTTP programada es un registro de la sección HTTP CRON: Dinaup llama a su URL cada cierto número de segundos, en el horario y los días que le marques, y guarda el resultado de la última llamada. Para reaccionar a un cambio y no a un reloj, usa un webhook saliente.

Antes de empezar

  • La URL de destino, que empieza por http o https. Sin ese prefijo el registro se ignora.
  • Una clave API con permiso sobre la sección HTTP CRON (2ccf4f1a-ce66-43bd-a49d-b5353343ec13). La sección no tiene pantalla en Play: sus registros se crean y editan por la API o con el SDK.

Los campos

Las columnas son las de la sección de fábrica, también en Desarrollo → Esquema (Esquema).

CampoColumnaQué es
NombrenombreAparece en los avisos por correo.
URLpr_40786361020La dirección completa. Obligatoria.
Métodopr_407863610191 para GET, 2 para POST, 3 para PUT. Otro valor se ejecuta como GET.
Bearerpr_40786361018Opcional. Viaja en la cabecera Authorization: Bearer <token>.
Activopr_607863621 para que se ejecute. Solo se leen los registros activos y no eliminados.
Intervalopr_40786361032Cada cuántos segundos se lanza dentro del horario.
Intervalo fuera de horariopr_40786361031Cada cuánto se lanza fuera del horario y los días no marcados.
Lunes a Domingopr_40786361026, pr_40786361027, pr_40786361025, pr_40786361024, pr_40786361030, pr_40786361023, pr_407863610221 en los días con horario.
Hora inicio, Hora finpr_40786361028, pr_40786361029La franja "dentro de horario", como HH:mm:ss. Las dos vacías cuentan como el día entero.
Última ejecución, Último código de estado, Última duraciónpr_50786366, pr_10786781002, pr_10786781001Los escribe Dinaup tras cada llamada: la fecha en UTC, el código HTTP del destino y los milisegundos. El código -1 es que el destino no respondió en 30 segundos o no aceptó la conexión.

Los campos de programación tienen un autorrellenado fijo (todos los días, de 07:00 a 23:00, cada 30 segundos dentro de horario y cada 300 fuera, GET, activo). Escribe el registro con scripts=false para que no sobrescriba tus valores.

Crear la petición

Prepara el destino

El destino recibe la llamada sin cuerpo: si necesita datos, ponlos en la URL como parámetros.

Crea el registro

Un POST /api/writeoperations a la sección HTTP CRON con scripts=false. Este ejemplo llama cada 5 minutos de lunes a viernes de 08:00 a 20:00, y cada hora el resto del tiempo:

curl -X POST "https://<clave-de-conexion>.dinaup.io/api/writeoperations?sectionId=2ccf4f1a-ce66-43bd-a49d-b5353343ec13&FieldPrimary=id&scripts=false" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d "{\"id\": \"\", \"nombre\": \"Sincronizar pedidos\", \"pr_40786361020\": \"https://tu-servidor.com/sync\", \"pr_40786361019\": \"2\", \"pr_40786361018\": \"<token-del-destino>\", \"pr_60786362\": \"1\", \"pr_40786361032\": \"300\", \"pr_40786361031\": \"3600\", \"pr_40786361026\": \"1\", \"pr_40786361027\": \"1\", \"pr_40786361025\": \"1\", \"pr_40786361024\": \"1\", \"pr_40786361030\": \"1\", \"pr_40786361023\": \"0\", \"pr_40786361022\": \"0\", \"pr_40786361028\": \"08:00:00\", \"pr_40786361029\": \"20:00:00\"}"

La primera llamada sale en el siguiente barrido, unos 10 segundos después.

Comprueba el resultado

Lee el registro por la API o con un informe sobre la sección: Último código de estado, Última duración y Última ejecución.

Cada cuánto se ejecuta

Dinaup barre las peticiones activas cada 10 segundos, hasta 100 por barrido:

SituaciónIntervalo que aplica
Día marcado y hora dentro de la franjaIntervalo.
Día marcado y hora fuera de la franjaIntervalo fuera de horario.
Día sin marcarIntervalo fuera de horario.
Intervalo 0Ese tramo no se ejecuta. Con los dos intervalos a 0 la petición no sale nunca.
Intervalo menor que 10Se ejecuta cada 10 segundos.

La hora es la local de tu empresa. Una petición nueva sale en el primer barrido; después, cuando han pasado los segundos del intervalo desde la última ejecución.

La llamada

DetalleValor
MétodoGET, POST o PUT, según el campo Método.
CuerpoVacío. POST y PUT salen sin contenido.
CabecerasSolo Authorization: Bearer <token> si el campo Bearer está relleno.
Tiempo de espera30 segundos.
SolapamientoMientras una llamada está en curso no se lanza otra de la misma petición.

Avisos por correo

Un código fuera de 2xx cuenta como fallo. Tras 5 fallos seguidos, o 15 minutos fallando, Dinaup envía a tu empresa un correo con el asunto Tu tarea programada '<nombre>' ha dejado de funcionar. Cuando el destino vuelve a responder 2xx, envía Tu tarea programada '<nombre>' vuelve a funcionar con el tiempo caído. Una respuesta buena reinicia la cuenta de fallos.

En esta página