DoConure

Come faccio firmare un documento?

Prendi l'X-Document-Id ottenuto generando un documento (oppure fai tutto il passaggio in una sola chiamata, vedi Come fare: comporre e inviare in firma in una chiamata) e mettilo in firma. Questa è la richiesta più piccola che funziona: un firmatario, un segno, nessuna opzione:

curl -X POST https://your-host/api/v1/sign/envelopes \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "signers": {
      "A": {
        "email": "signer@example.com",
        "fullName": "Anna Rossi",
        "fields": [
          { "kind": "signature", "page": 1,
            "x": 0.1, "y": 0.78, "width": 0.32, "height": 0.09 }
        ]
      }
    },
    "settings": {
      "documentId": "PASTE_THE_X-DOCUMENT-ID_HERE",
      "subject": "Please sign"
    }
  }'

Dove va la firma. Il modo abituale è un tag nel modello, {{ signature.A }}, scritto come qualsiasi altro campo: il firmatario A allora non ha bisogno di fields e firma dove si trova il tag. L'alternativa è fields, come qui: x e y sono frazioni della pagina a partire dall'angolo in alto a sinistra (0.1 = un decimo della larghezza). Come ricavarle da un PDF, e tutto il resto sul posizionamento di una firma: Dove va la firma sulla pagina.

Quella chiamata crea soltanto la bozza della busta: non viene ancora inviato nulla, e non viene addebitato nulla. La risposta è la stessa busta con cui risponde ogni endpoint qui; l'id che ti serve è output.sign.envelopeId:

{
  "output": {
    "status": "pending",
    "sign": { "envelopeId": "7a04...", "status": "draft", "...": "..." },
    "compose": null, "flow": null,
    "warnings": [], "error": null
  }
}

Inviala:

curl -X POST https://your-host/api/v1/sign/envelopes/ENVELOPE_ID/send \
  -H "Authorization: Bearer YOUR_API_KEY"

Quella seconda chiamata è il momento dell'addebito, e il punto in cui parte una vera email. Ogni campo che non hai impostato ha preso il suo valore predefinito: il firmatario dimostra di essere lui con uno scorrimento per confermare e nessun codice (validationMode: "sign"), il link vale un anno, e nessuno è in copia. Tutto questo è regolabile: vedi La firma da sola per l'elenco completo dei campi, oppure vai direttamente a un'attività nella sezione Come fare.

Perché la firma valga qualcosa serve una vera email in uscita. Ogni link di firma viene inviato per email: non c'è altro modo per raggiungere un firmatario; solo il codice monouso può viaggiare via SMS (validationMode: "sms").

Se invii una busta e non arriva nulla, la risposta si trova nella coda di posta in uscita dell'installazione. Un messaggio lì risulta inviato quando un relay l'ha accettato e consegnato quando l'ha accettato il server del destinatario, e sono affermazioni diverse: un indirizzo sbagliato compare come respinto nel giro di pochi secondi, invece che come una busta che semplicemente non si completa mai. In un'installazione senza alcun mittente configurato, i messaggi restano in coda e un operatore può leggerne il link direttamente per una dimostrazione dal vivo.