Actualizar una página de suscripción

PATCH /api/v1/signup-pages/{id} Modifica una página de suscripción. Solo cambian los campos que envías: todo lo que omites queda exactamente como estaba, así que publicar una página es una llamada de un solo campo.

Autorización

Rol en la organizaciónEste endpoint
OWNERPermitido
ADMINPermitido
MEMBERRechazado — 403
Una clave lleva el rol que su creador tiene en esta organización, nunca un rol en AgentsMail en sí. Consulta Claves de API.

Parámetros de ruta

ParámetroTipoDescripción
idstringObligatorio. La página que se modifica

Cuerpo de la solicitud

Todos los campos son opcionales, y cada uno sigue las mismas reglas que en la creación.
CampoTipoDescripción
namestringNombre interno, de 1 a 100 caracteres
slugstringÚltima parte de la dirección pública. Cambiarlo cambia la dirección, y la antigua deja de responder
listIdstringOtra lista de tu organización
contentstringHTML nuevo. Debe llevar {{form}}, aquí igual que en la creación
sourceTemplateNamestring | nullEl tema del que viene el HTML. null significa «HTML pegado, sin tema»
heroTitlestringEl título que leen los visitantes
heroSubtitlestringUna cadena vacía lo elimina
submitLabelstringTexto del botón de suscripción
successMessagestringSe muestra tras una suscripción cuando no hay redirección
redirectUrlstringUna dirección http:// o https://. Una cadena vacía elimina la redirección
collectFirstNamebooleanSi el formulario pide el nombre
collectLastNamebooleanSi el formulario pide el apellido
statusstringdraft o published
json
{"status": "published"}

Ejemplo

bash
curl -X PATCH -H "x-api-key: $AGENTMAIL_API_KEY" -H "content-type: application/json" \
  -d '{"status":"published"}' \
  "https://www.agentsmail.io/api/v1/signup-pages/$SIGNUP_PAGE_ID"

Respuesta

  • 200 OK: la página tal como queda, content incluido.
  • 400 Bad Request: un campo está mal formado, o el HTML nuevo no lleva {{form}}. Cuando el fallo está en la forma, details lleva los problemas campo por campo.
  • 401 Unauthorized: clave ausente o no válida, o su propietario dejó la organización.
  • 403 Forbidden: el propietario de la clave es member de la organización, no admin.
  • 404 Not Found: no existe esa página, o pertenece a otra organización; y la misma respuesta cuando listId nombra una lista que no es tuya. No se cambió nada.
  • 409 Conflict: otra página ya ocupa el slug que pediste; el mensaje la nombra.
  • 429 Too Many Requests: la clave superó su límite de peticiones.

Campos de la respuesta

Idénticos a Obtener una página de suscripción: la página completa, con los campos que cambiaste ya aplicados.

Receta para agentes

Cambiar el tema reescribe el HTML, así que envía ambos campos juntos; si no, la página sigue declarando un tema que ya no usa:
js
const theme = (await get('/api/v1/signup-page-templates')).data.find(
  (t) => t.name === 'Editorial'
)

await patch(`/api/v1/signup-pages/${pageId}`, {
  content: theme.content,
  sourceTemplateName: theme.name,
})
Pegar tu propio HTML es la misma llamada con sourceTemplateName: null.

Notas

  • Despublicar es {"status": "draft"}. La dirección deja de responder de inmediato; los contactos ya recogidos no se tocan, pertenecen a la lista.
  • Cambiar slug rompe todos los enlaces ya publicados hacia la dirección antigua. Nada redirige.
  • Mover una página a otra lista no mueve los contactos que ya recogió.

Relacionado