Modifier une page d'inscription

PATCH /api/v1/signup-pages/{id} Modifie une page d'inscription. Seuls les champs que vous envoyez changent — tout ce que vous omettez reste exactement tel quel : publier une page est donc un appel à un seul champ.

Autorisation

Rôle dans l'organisationCet endpoint
OWNERAutorisé
ADMINAutorisé
MEMBERRefusé — 403
Une clé porte le rôle que son créateur détient dans cette organisation — jamais un rôle sur AgentsMail lui-même. Voir Clés d'API.

Paramètres de chemin

ParamètreTypeDescription
idstringObligatoire. La page à modifier

Corps de la requête

Tous les champs sont facultatifs, et chacun suit les mêmes règles qu'à la création.
ChampTypeDescription
namestringNom interne, de 1 à 100 caractères
slugstringDernière partie de l'adresse publique. Le changer change l'adresse, et l'ancienne cesse de répondre
listIdstringUne autre liste de votre organisation
contentstringNouveau HTML. Doit contenir {{form}}, ici comme à la création
sourceTemplateNamestring | nullLe thème dont provient le HTML. null signifie « HTML collé, sans thème »
heroTitlestringLe titre que lisent les visiteurs
heroSubtitlestringUne chaîne vide le supprime
submitLabelstringLibellé du bouton d'inscription
successMessagestringAffiché après une inscription quand il n'y a pas de redirection
redirectUrlstringUne adresse http:// ou https://. Une chaîne vide supprime la redirection
collectFirstNamebooleanSi le formulaire demande un prénom
collectLastNamebooleanSi le formulaire demande un nom de famille
statusstringdraft ou published
json
{"status": "published"}

Exemple

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"

Réponse

  • 200 OK — la page telle qu'elle est désormais, content compris.
  • 400 Bad Request — un champ est mal formé, ou le nouveau HTML ne contient pas {{form}}. Quand c'est la forme qui est en cause, details porte les erreurs champ par champ.
  • 401 Unauthorized — clé absente ou invalide, ou son propriétaire a quitté l'organisation.
  • 403 Forbidden — le propriétaire de la clé est member de l'organisation, pas admin.
  • 404 Not Found — aucune page de ce type, ou elle appartient à une autre organisation — et la même réponse quand listId désigne une liste qui n'est pas à vous. Rien n'a été modifié.
  • 409 Conflict — une autre page occupe déjà le slug demandé ; le message la nomme.
  • 429 Too Many Requests — la clé a dépassé sa limite de débit.

Champs de la réponse

Identiques à Lire une page d'inscription : la page complète, avec les champs modifiés déjà appliqués.

Recette pour agent

Changer de thème réécrit le HTML : envoyez donc les deux champs ensemble — sinon la page continue de revendiquer un thème qu'elle n'utilise plus :
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,
})
Coller votre propre HTML, c'est le même appel avec sourceTemplateName: null.

Remarques

  • Dépublier, c'est {"status": "draft"}. L'adresse cesse immédiatement de répondre ; les contacts déjà collectés ne sont pas touchés, ils appartiennent à la liste.
  • Changer le slug casse tous les liens déjà publiés vers l'ancienne adresse. Rien ne redirige.
  • Déplacer une page vers une autre liste ne déplace pas les contacts qu'elle a déjà collectés.

Voir aussi