Copy link to clipboard
Copied
I have an application that dynamically generates a PDF which I need to have signed by two different people. If I add both signature fields to the PDF, the first person I send the agreement to has to sign in both spots before the system will consider that person to have completed their signature. I only want them to sign in one spot and then the second signature is a final approval that should be done by a second person. I have no trouble setting multiple participants, but how can I require only the first signature for the first recipient?
Copy link to clipboard
Copied
I figured this out, or at least I figured out a way to do it. I had to read the form fields and then set the assignee property to the correct participant ID for each of the signature fields. It's sort of roundabout because I first had to get the list of participants so I could retrieve the unique IDs.
Honestly, the C# SDK that is available on GitHub seems a bit half-baked. All the individual calls are there, but the documentation is a little lacking. The link to samples (https://www.adobe.com/go/esign-api-samples) prompts you to sign in a couple times and then takes you to a Page Not Found result. For the "simple" process of sending a PDF off for signatures you have to add a transient document, create an agreement with that transient document, get the participants list on the agreement so you can figure out their IDs, get the list of form fields from the agreement so you can set the assignee, update the form fields on the agreement which automatically (!??!) sets the state to INPROCESS and sends it off to the first participant. None of that is really documented, but I figured it out from trial and error.
I was going to just upload my PDF with form fields and use it as a template, but the online UI won't let you set a different assignee for each field. As soon as you set the assignee for one field every form field in the PDF is set to the same. It doesn't matter though because when you save it doesn't update the assignee information at all. Maybe if you do it all from scratch in the UI it would work? Who knows.