De quelle propriété ai-je besoin ?
- Le signataire doit saisir sa propre valeur, et vous n’avez pas besoin d’y toucher — ne définissez pas
read_only. Positionnez simplement le champ normalement. - Vous voulez une valeur fixe que personne ne peut modifier (un numéro de contrat, un nom de service, tout ce que vous connaissez déjà) — définissez
read_only: trueetread_only_value: "...". - Vous voulez afficher et verrouiller les propres données de profil du destinataire (son e-mail, son nom, son entreprise, etc.) — définissez
read_only: trueetformat_rules: { prefilledData: "..." }. - Vous avez seulement besoin d’un libellé pour identifier le champ ultérieurement (pour votre propre suivi interne, ou pour faire correspondre un champ lors de la mise à jour d’une demande de signature basée sur un modèle) — c’est le rôle de
variable_name. Il ne définit ni ne modifie jamais ce que voit le signataire. - Vous relisez un champ (après sa création, ou après la signature) et vous voulez la valeur réellement présente — lisez
valuedans la réponse de l’API.
Référence des propriétés
read_only en lui-même n’est qu’un interrupteur booléen : il doit valoir true pour que read_only_value ou format_rules.prefilledData prennent effet. Un champ avec read_only: false ignore les deux.Création d’une demande de signature avec des champs préremplis
Cet exemple crée et envoie un document avec deux champs verrouillés : une référence de contrat statique, et l’e-mail du destinataire extrait de sa propre fiche destinataire.recipient_id utilise ici un identifiant temporaire (temp_1) car le destinataire est défini dans la même requête (création basée sur un document). Si vous ajoutez des champs à une demande de signature existante ou à une demande créée à partir d’un modèle, utilisez plutôt l’UUID réel du destinataire.Clés prefilledData acceptées
format_rules.prefilledData accepte ces attributs de destinataire :
first_name, last_name, full_name, email, phone_number, company, title, street_address, city, state_province, postal_code, country
Vous pouvez également référencer n’importe quelle clé présente dans l’objet custom_fields d’un destinataire (correspondance insensible à la casse) — définissez cette clé lors de la création du destinataire, puis référencez-la de la même manière :
Relire les valeurs des champs
Lorsque vous effectuez un GET sur une demande de signature ou que vous listez ses champs, chaque champ inclut une propriétévalue — la valeur réellement résolue, qu’elle provienne de read_only_value, de la résolution du préremplissage, ou de ce que le signataire a saisi. final_value apparaît encore dans les réponses mais est un alias obsolète ; privilégiez value dans les nouvelles intégrations.
La
value d’un champ prérempli peut être null tant que la demande de signature n’a pas été envoyée — la résolution par rapport aux données du destinataire a lieu au moment de l’envoi, et non à la création du champ.Points de vigilance
variable_name est un libellé, pas une source de données
variable_name est un libellé destiné à l’interface utilisateur et un critère de correspondance utilisé lors de la fusion de champs d’un modèle dans une demande de signature — il n’est jamais lu comme source d’une valeur affichée. Définir variable_name: "email" sur un champ ne préremplit rien ; vous avez toujours besoin de format_rules.prefilledData pour cela. Considérez variable_name purement comme un identifiant que vous choisissez pour votre propre référence.
Les signataires ne peuvent pas remplacer les champs en lecture seule ou préremplis
Si votre intégration affiche sa propre interface de signature et soumet directement les valeurs des champs, toute valeur soumise pour un champread_only ou prérempli est rejetée côté serveur plutôt qu’acceptée silencieusement — la soumission du signataire est ignorée pour ce champ, et la tentative est enregistrée comme un événement de sécurité. Ne comptez pas uniquement sur le masquage côté client de ces champs ; le serveur l’applique de façon indépendante.
Les champs obligatoires préremplis doivent être résolus avant l’envoi
Si un champ est à la foisrequired et prérempli (ou en lecture seule), l’appel /send de la demande de signature vérifie qu’une valeur a bien été résolue — à partir de read_only_value, des données du destinataire, ou de custom_fields. Si rien ne se résout (par exemple, prefilledData référence une clé custom_fields que le destinataire ne possède pas), l’envoi échoue à la validation plutôt que d’envoyer un document avec un champ obligatoire vide.
Prochaines étapes
- Envoi d’une Demande de Signature pour le flux complet de création des destinataires et des champs
- Webhooks — abonnez-vous à
signing_request.field.filledpour réagir au fur et à mesure que les champs sont complétés