HTTP PUT
HTTP PUT
Sección titulada «HTTP PUT»Tipo: http-put · Paquete: HTTP Activities v1.0.5 · Salida: ZoanHttpResponse
Envía una petición PUT, normalmente para reemplazar por completo un recurso existente. Mandas el objeto entero con sus nuevos valores; la API sustituye el recurso por lo que envías.
Cómo funciona
Sección titulada «Cómo funciona»Igual que POST pero con el método PUT: envía el body a la url de un recurso concreto (que suele incluir su id) y devuelve un ZoanHttpResponse.
- Cuerpo: con el
contentTypepor defecto (application/json) elbodyse convierte a JSON; con otrocontentTypese envía como texto. Siempre en UTF-8. Ver cuerpo y Content-Type. - Códigos de respuesta: con 2xx termina bien; cualquier otro código hace fallar la actividad — ver qué códigos hacen fallar la actividad.
- Tiempos: 30 s para conectar y, por defecto, 5 min para la petición completa (parámetro
timeout). Si se agotan, la actividad falla con un error normal que Try / Catch y Retry capturan — ver tiempos de espera. - Idempotente: enviar dos veces el mismo PUT deja el recurso igual, así que es seguro de reintentar con Retry.
Parámetros requeridos
Sección titulada «Parámetros requeridos»| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
url | string | — | URL absoluta del recurso a reemplazar (suele incluir su id). |
body | object | — | El recurso completo con sus nuevos valores: diccionario o lista (→ JSON) o texto (para otros contentType). Con contentType JSON, un texto se envía como cadena JSON; si tienes JSON en un texto, usa parseJson(texto). |
Parámetros opcionales
Sección titulada «Parámetros opcionales»| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
contentType | string | "application/json" | Tipo de medio del cuerpo, sin parámetros (application/json, text/xml…). charset=utf-8 se agrega solo. |
headers | Dictionary | — | Cabeceras extra (nombre → valor), en el editor JSON. Las cabeceras de contenido se ignoran. Ver cabeceras. |
authorization | Dictionary | — | Autenticación en el editor JSON: bearer, basic o apikey. Ver autenticación. |
timeout | int | 300 | Segundos que se espera la petición completa (conexión, envío y respuesta); máximo 3600, admite decimales (0.5). Desde la versión 1.0.5. Ver tiempos de espera. |
Devuelve un ZoanHttpResponse con .StatusCode (2xx, típicamente 200 o 204), .Ok (siempre true en una salida recibida), .Body (JSON → diccionario/lista; otra cosa → texto; vacío → "") y .Headers.
Errores comunes
Sección titulada «Errores comunes»| Mensaje | Causa y solución |
|---|---|
El servidor respondió HTTP 404 (Not Found) a la solicitud PUT. | El servidor respondió con un código fuera de 2xx (404 recurso inexistente, 400 datos incompletos, 401/403, 5xx). Maneja los esperables con Try / Catch. |
The format of value 'application/json; charset=utf-8' is invalid. | contentType lleva parámetros. Deja solo el tipo de medio. |
No such host is known. (u otro error de red del sistema) | No hubo respuesta. error.Type es "HttpRequestException"; usa Retry para cortes intermitentes. |
La solicitud PUT a api.ejemplo.com no terminó en 300 s (tiempo de espera agotado). Sube «Tiempo de espera» si el servicio tarda más. | El servidor no respondió dentro de timeout. error.Type es \"TimeoutException\": captúralo con Try / Catch o reintenta con Retry; si la API tarda por naturaleza, sube timeout. Si el fallo es al conectar, el mensaje dice No se pudo conectar con … en 30 s. |
An invalid request URI was provided. Either the request URI must be an absolute URI or BaseAddress must be set. | La url no es absoluta. Incluye https://. |
'url' es obligatorio. | La expresión de url dio nulo. |
Ejemplo
Sección titulada «Ejemplo»Reemplazar los datos de un cliente y confirmar el resultado:
HTTP PUT url = "https://api.erp.com/clientes/" + clienteId body = new Dictionary<string, object> { ["nombre"] = nuevoNombre, ["nit"] = nit, ["activo"] = false } authorization = { "type": "bearer", "token": credential("api-erp")["value"] } → output: resp
Log message = "Cliente " + clienteId + " actualizado (HTTP " + resp.StatusCode + ")"Actividades relacionadas
Sección titulada «Actividades relacionadas»- HTTP PATCH — actualización parcial.
- HTTP POST — crear un recurso.