Reintentar ejecución de automatización
curl --request POST \
--url https://app.famulor.de/api/user/automate/flows/{id}/runs/{run_id}/retryimport requests
url = "https://app.famulor.de/api/user/automate/flows/{id}/runs/{run_id}/retry"
response = requests.post(url)
print(response.text)const options = {method: 'POST'};
fetch('https://app.famulor.de/api/user/automate/flows/{id}/runs/{run_id}/retry', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.famulor.de/api/user/automate/flows/{id}/runs/{run_id}/retry",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.famulor.de/api/user/automate/flows/{id}/runs/{run_id}/retry"
req, _ := http.NewRequest("POST", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.famulor.de/api/user/automate/flows/{id}/runs/{run_id}/retry")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.famulor.de/api/user/automate/flows/{id}/runs/{run_id}/retry")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
response = http.request(request)
puts response.read_body{
"run_id": "yHhXbqWj3zJZ5ztDNfUry",
"status": "RUNNING",
"note": "Retried FROM the failed step — steps that already succeeded were NOT re-executed, so their side effects were not repeated."
}
{
"message": "The retry did not resume this run (its status is still 'FAILED') — its saved state is likely stale, most commonly because the run passed through a Delay step before failing. This run cannot be resumed as-is. To force a fresh full run (re-executes EVERY step, including any that already sent a message/email/call — get the user's explicit confirmation first, then rebuild via update-automation's repair path), or otherwise wait for the automation's next real trigger event.",
"error": "retry_no_op"
}
{
"message": "Run not found for this automation.",
"error": "not_found"
}
Automatizaciones
Reintentar ejecución de automatización
Reintenta una ejecución fallida de una automatización de Famulor desde su paso fallido, sin volver a ejecutar los pasos que ya tuvieron éxito.
POST
/
api
/
user
/
automate
/
flows
/
{id}
/
runs
/
{run_id}
/
retry
Reintentar ejecución de automatización
curl --request POST \
--url https://app.famulor.de/api/user/automate/flows/{id}/runs/{run_id}/retryimport requests
url = "https://app.famulor.de/api/user/automate/flows/{id}/runs/{run_id}/retry"
response = requests.post(url)
print(response.text)const options = {method: 'POST'};
fetch('https://app.famulor.de/api/user/automate/flows/{id}/runs/{run_id}/retry', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.famulor.de/api/user/automate/flows/{id}/runs/{run_id}/retry",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.famulor.de/api/user/automate/flows/{id}/runs/{run_id}/retry"
req, _ := http.NewRequest("POST", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.famulor.de/api/user/automate/flows/{id}/runs/{run_id}/retry")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.famulor.de/api/user/automate/flows/{id}/runs/{run_id}/retry")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
response = http.request(request)
puts response.read_body{
"run_id": "yHhXbqWj3zJZ5ztDNfUry",
"status": "RUNNING",
"note": "Retried FROM the failed step — steps that already succeeded were NOT re-executed, so their side effects were not repeated."
}
{
"message": "The retry did not resume this run (its status is still 'FAILED') — its saved state is likely stale, most commonly because the run passed through a Delay step before failing. This run cannot be resumed as-is. To force a fresh full run (re-executes EVERY step, including any that already sent a message/email/call — get the user's explicit confirmation first, then rebuild via update-automation's repair path), or otherwise wait for the automation's next real trigger event.",
"error": "retry_no_op"
}
{
"message": "Run not found for this automation.",
"error": "not_found"
}
API de Famulor 1.0 (legado). Esta página se aplica únicamente a Famulor 1.0 (
app.famulor.de) y se conserva por compatibilidad. Para la plataforma actual, usa la referencia de la API de Famulor 2.0.id de la ejecución desde Listar ejecuciones de automatización. Un reintento retoma la misma ejecución — no crea una nueva.
Este endpoint no requiere cuerpo de solicitud.
Parámetros de ruta
string
requerido
El ID de la automatización (de Listar automatizaciones)
string
requerido
El ID de la ejecución fallida (de Listar ejecuciones de automatización)
Respuesta
string
El ID de la ejecución reintentada (la misma ejecución que se pasó)
string
El estado de la ejecución justo después del reintento (p. ej.
RUNNING, o SUCCEEDED cuando terminó al instante)string
Confirmación de que los pasos que ya habían tenido éxito no se volvieron a ejecutar
404.
Códigos de error (422)
| error | Significado |
|---|---|
retry_no_op | El reintento no retomó la ejecución — su estado guardado está obsoleto, lo más común es que la ejecución pasara por un paso de Retraso antes de fallar. Una ejecución así no se puede retomar tal cual; el mensaje enumera las opciones seguras (reparar la automatización, o esperar a su siguiente evento disparador real). |
retry_failed | No se pudo iniciar el reintento — vuelve a intentarlo en breve. |
{
"run_id": "yHhXbqWj3zJZ5ztDNfUry",
"status": "RUNNING",
"note": "Retried FROM the failed step — steps that already succeeded were NOT re-executed, so their side effects were not repeated."
}
{
"message": "The retry did not resume this run (its status is still 'FAILED') — its saved state is likely stale, most commonly because the run passed through a Delay step before failing. This run cannot be resumed as-is. To force a fresh full run (re-executes EVERY step, including any that already sent a message/email/call — get the user's explicit confirmation first, then rebuild via update-automation's repair path), or otherwise wait for the automation's next real trigger event.",
"error": "retry_no_op"
}
{
"message": "Run not found for this automation.",
"error": "not_found"
}
Páginas relacionadas: Listar ejecuciones de automatización, Actualizar automatización, y Autenticación.