MyDocGen is a Docusign sample application written in PHP (server) and React (client).
MyDocGen demonstrates the following:
- Authentication with Docusign via JSON Web Token (JWT) Grant.
- Three document generation use cases:
- A Personal loan agreement wherein a loan agent enters the customer's personal information and selects lease terms in the prefill form to generate a fully customized loan agreement.
- An HR offer letter wherein an HR specialist generates offer letters personalized with information for up to three applicants.
- A legal form wherein a legal firm employee generates an equal-pay claims application form that is personalized with a potential client’s information. Bulk sending envelopes, sending envelopes via SMS, and embedded sending.
- Create a Docusign developer account.
- Create an application on the Apps and Keys page and copy credentials to
backend/.env
: client ID (integration key), user ID, account ID and copy RSA private key to a filestorage/docusign_private.key
. This video demonstrates how to create an integration key (client ID) for a user application like this example. - Add redirect URI
{ PROTOCOL }://{ DOMAIN }/callback
- PHP 8.1
- Docker installed and configured in your machine.
- Composer set up in your PATH environment variable so you can invoke it from any folder.
For first time use, paste login endpoint URL into your browser and grant consent to the app.
Create a copy of the file backend/.env.example, save the copy as backend/.env, and fill in the data:
- MANAGER_LOGIN - email used for getting access token for endpoints
- MANAGER_PASSWORD - password used for getting access token for endpoints
- DOCUSIGN_BASE_URL -
https://demo.docusign.net/restapi
for development environment - DOCUSIGN_CLIENT_ID - integration key GUID
- DOCUSIGN_USER_ID - impersonated user ID
- DOCUSIGN_ACCOUNT_ID - API account ID
-
Build the images using the following command:
docker compose -f docker-compose-local.yml build
-
Start the containers using the following command. Add the
-d
flag to run the process in the background:docker compose -d docker-compose-local.yml up
-
Open a new terminal and set the application key by running the command:
docker exec -it mydocgen_php php artisan key:generate
-
Install the database structure using these two commands:
docker exec -it mydocgen_php php artisan migrate --seed docker exec -it mydocgen_php php artisan passport:install
-
Clear the cache:
docker exec -it mydocgen_php php artisan cache:clear
-
Open a browser to localhost.