Duo_Liang submitted January 9 2019

A Java Stand-alone application that runs at client side.

 

Prerequisite:
This tool is encapsulated as an Executive Jar, so you need to install the JRE/JDK environment in order to run the Jar.

 

Supported Function:

1. Allow using API KEY or email/password as a credential.

2. Loading all packages of all sender under your main account within a period of time.(0 <= timeDiff <= 365)

3. Allow specifying save folder.

4. Download Completed Packages:

4.1 Allow to select partial of completed packages

4.2 For each package, download a zip file including evidence summary and all signed documents.

5. Export Packages as CSV file:

5.1 Two Options -- export only completed packages or export package of all status.(not include deleted packages)

 

 


Update 1.7.1: 2024/04/12

1. Fixed an issue where it would cause infinite loop when end user entered wrong credentials.

 

Update 1.7.0: 2024/04/12

1. Count the number of senders first before querying the sender API.

 

Update 1.6.9.1: 2024/02/13

1. Add duplicate filename handling for file download process.

 

Update 1.6.8: 2023/08/04

1. Increase the sender limitation to 2000. Also see release note "Update 1.6.0".

 

Update 1.6.7: 2023/06/07

1. Allow to filter transactions by keyword (transaction name and description), sender (sender email, Id, f/lname) and status (multi-select).

2. Now the reports include either selected transactions (before it was completed transactions), or transactions of all statuses.

 

Update 1.6.6: 2023/06/06

-Add a new function bulk delete selected transactions. Users can expect a warning dialog to double confirm before final delete.

 

Update 1.6.5.2: 2023/04/21

-Use system proxy as default

-Escape downloaded documents' names

-Add transaction ID as a suffix to downloaded evidence summary ("Evidence Summary_C_ejhz7t2XqlHiEodYrdo1beMXc=.pdf") and uploaded attachments folder ("Uploaded Attachments_C_ejhz7t2XqlHiEodYrdo1beMXc="), so that if you have select multiple zip files in a folder and choose "Extract Files...", the extracted evidence summary and attachments folders won't overwrite each other.

 

Update 1.6.5: 2023/04/19

-Allow to customize the name of the downloaded PDFs. An additional toggle was added to the left bottom of the panel to enter the name formula.

-The default value is "{document_name}", and the other available placeholders are "transaction_name", "transaction_id", "transaction_desc", "document_name", "document_id", "document_desc", "fieldname:your_field_name", "fieldid:your_field_id".

-For example you have a label field "client_name" that you want to make as part of the document name, your formula could be like "{document_name} - {fieldname:client_name}".

 

Update 1.6.4: 2023/03/28

1.Allow to select draft transactions from list

2.For non-integrated users, resolved an issue when using login credentials.

 

Update 1.6.3: 2023/03/16

-Add time zone support.

 

Update 1.6.2: 2023/03/16

-Add export fields CSV functionality, to export a list of all transactions with their field data in CSV format. Rename packages to transactions in UI labels.
 

Update 1.6.1: 2023/02/03

-Move project to Maven file structure with POM file. Rename esignlive package to OneSpan.

 

Update 1.6.0: 2022/12/14

-For accounts with more than 1,000 senders, instead of looping through senders and retrieve each senders' transactions, the tool now uses transaction summary API. This significantly improves the performance in this case, however some features will be disabled, e.g. to download flattened PDF or to download signer attachments. Also, the exported report will miss some columns, e.g. signer list, document list, transaction attributes, etc.

 

Update 1.5.5: 2022/11/22

-Fixed a bug where the selected file path was not correct for Mac users.

 

Update 1.5.4: 2022/11/04

-Added an index at the front of each line.

 

Update 1.5.2: 2021/12/10

-Fixed a bug in version 1.5.1 where if the account has Roles & Permissions turned on and the tool might not read the admin user's permissions properly.

 

Update 1.5.1: 2021/12/01

-Added an additional option to download flattened documents. This option will be turned off by default (download active documents by default), hence it won't affect your normal usage.

 

Update 1.5.0: 2021/11/23

-For accounts who has turned on the "Roles & Permissions" feature, as of release 11.45, a new permission "Manage users’ transactions, templates, layouts (API)" has been introduced. This has changed the way how the tool retrieves the transactions and downloads signed documents & evidence summary. 

-Despite the complexity in code upgrade, the end users of the tool simply need to make sure your admin account has at least "API Access" and "Manage users’ transactions, templates, layouts (API)" permissions to manage all your senders' transactions.

Note:
(1)Accounts that hasn't turned on the RnP feature won't be affected by this upgrade.

(2)Considering Production environments are still in 11.44 release, I've also attached the v1.4.2 tool for the backward compatibility.

(3)For now, "Admin" role won't be automatically granted the new permissions, hence you will need to manually create a customized role and assign the role to your admin user. Also, "Admin" user won't be able to edit their own account role through UI, you will need to either edit through another admin user, or contact support team to have your account set up properly.

 

Update 1.4.2: 2021/10/01

-When the account has turned on the “Roles & Permissions” feature:

1. Removed the logic to query every sender’s Account Role For better performance

2. Adapted the response handling for API “GET /api/account/senders/{senderId}/roles” 

 

Update 1.4.1: 2021/03/17

1. Set JVM default locale as Locale.US.

 

Update 1.4.0: 2021/03/04

1. Support entering API Client ID + Secret as login credentials. 

 

Update 1.3.8: 2021/02/25

1. Add a retry mechanism for most core outbound APIs

2. Add an option to enable logging capability - user needs to toggle the option and select a directory to store log files. This log file WON'T store your API Key / login credentials, but still may include sensitive information, hence it's important to keep the log files in a secured location or remove it after execution.

 

Update 1.3.7: 2021/02/23

1. The tool now supports accounts with Roles & Permission feature turned on. Make sure the input user has the "Admin" role. 

 

Update 1.3.6: 2021/02/17

1. Allow to list and download not completed transactions.

 

Update 1.3.5: 2020/11/04

1. Date Picker is editable now.

 

Update 1.3.4: 2020/10/30

1. fixed a bug introduced by previous code change that failed to load transactions when logged in user is a regular member. 

 

Update 1.3.3: 2020/10/16

1. Retrieve the usage report before loading all packages, and only loads partial senders and package statuses accordingly. This optimization helps to reduce outbound API calls.
2. provide support for accounts enabled sub-account feature. Because subaccount is still an evolving feature, please make a post or leave a comment below if it doesn't work for your account.

 

Update 1.3.1: 2020/09/24

1. if enabled Roles & Permission, sender role will be reflected as the actual role(s) in CSV report - there's a known issue that even if a sender has "Admin" role, if the sender's type is "Regular" instead of "Manager", the sender still missed some API access.

2. allowed to select only completed or archived packages for downloading

3. offered an option to avoid downloading signed documents

4. better UI auto-sizing

 

Update 1.3.0: 2020/09/18

1. introduced multiple language support for Spanish and Brazilian Portuguese, localization includes all the UI labels and the downloaded file names.

2. add an option to include signer attachments. Attachments are downloaded individually with naming convention of {attachment_name}_{signer_full_name}_{actual_uploaded_file_name}

3. refactored the string encoding to better support accent characters

 

Update 1.2.1: 2020/09/04

1. allow on-premise users to specify custom instance URL.

 

Update 1.2.0: 2020/08/20

1. fix an issue that the tool failed to connect through proxy when username + password are specified.

 

Update 1.1.9: 2020/04/20

1. fix a CSV display issue when sender's first/last name, or the package name contains comma. The tool will surround double quotation marks to the string in these cases.

 

Update 1.1.8: 2020/04/17

1. removed the limitation that only pulls senders with status of "ACTIVE", that's because in many cases, senders are auto-provisioned and therefore might be active in PENDING status.

2.Now the tool only won't pull senders with "LOCKED" status, this is because suspended sender's API Key can't be directly used to pull packages. It's a known limitation that if there are still ongoing packages under a suspended sender, these packages won't be retrieved.

 

Update 1.1.7: 2020/03/26

1. add the proxy capability, allow to manually choose proxy ip/port or use a proxy script, also allow proxy authentication

2. fixed a bug that previous versions won't export trashed packages in the report (this is because the package retrieval API won't return trashed packages)

3. provide an extra option to choose whether to export packages to the report where the sender is just a signer (sender is not the package owner)

 

 

If you have any questions or suggestions on this tool, please feel free to make a post!

Rate this Code Share

Comments

cmorales | Posts: 2

Reply to: OneSpan Sign - Transaction Export & Download Tool - v1.7.1

0 votes
Is there a similar tool but to delete the packages?
Duo_Liang | Posts: 3776

Reply to: OneSpan Sign - Transaction Export & Download Tool - v1.7.1

0 votes
Hi cmorales, "Filter packages by update date and the status, then bulk trash packages" is feasible through the new sender UI from Web Portal. To do so: (1)navigate to Transactions > Inbox folder (2)input the From and To dates (3)choose the "REFINE" icon at the right and choose "Completed" (4)Multiselect the packages you want to trash and click the Trash button (5) (Optional)switch to the Trash folder and permanently delete the packages. Duo
cmorales | Posts: 2

Reply to: OneSpan Sign - Transaction Export & Download Tool - v1.7.1

0 votes
This only allows me to delete the packages with the logged on user is it possible to delete all packages from all users under the main account?
serenapotts3 | Posts: 10

Reply to: OneSpan Sign - Transaction Export & Download Tool - v1.7.1

0 votes

Would it be possible for the Completed package list in this tool where you choose which packages to export, to show a table with information similar to in the transaction listing in the web UI shown below? For transactions sent with bulk send all transactions have the same name so it is very hard to differentiate between transactions without referring back to the transaction id which is not very user friendly to use to identify.

transaction listing

amfulton | Posts: 33

Reply to: OneSpan Sign - Transaction Export & Download Tool - v1.7.1

0 votes

Hi...I used the most recent jar (v1.1.7) and ran it against a WEB UI account.  It did not return all the packages, only a very small subset and only packages created by one user.  Is there a new setting?  I have run this for other accounts without issue.

Duo_Liang | Posts: 3776

Reply to:

0 votes

Hi amfulton,

 

Our support team should have reached out to you per your question. This is because in order to grab all packages under your main account, you'd use your account owner's credentials/API Key, as opposed of sender's.

Also, I appreciate your feedback and contributions to this tool a lot!

 

Duo

amfulton | Posts: 33

Reply to:

0 votes

Hi Duo,

The support team and i have been engaged via the Service Now ticket.  As an FYI, i was running with the account owner API key.  There were issues still with the .jar, but have been corrected.

 

Thanks, AMF

vdantoni | Posts: 3

Reply to: OneSpan Sign - Transaction Export & Download Tool - v1.7.1

0 votes

Hi Duo !

Thanks for creating this. Very useful tool.

Our customer is requesting the source code (for security reasons). Would it be possible for you to provide us with that?

 

Thank you,

dexter | Posts: 4

Reply to: OneSpan Sign - Transaction Export & Download Tool - v1.7.1

0 votes

Hi Duo, 

Thanks for directing me to this tool. It is very useful.

Similar to the previous post by vdantoni, I'd like to know if the source code can be made available. If we use it, the security team will need to scan the code, since it looks like it needs to run on premises. 

Also, is this an official tool from oneSpan? 

Thanks and Regards, 

Dexter

Duo_Liang | Posts: 3776

Reply to:

0 votes

Hi Dexter,

 

I've posted the source code in another code share:

https://community.onespan.com/documentation/codeshare/onespan-sign-package-export-download-tool-source-code-0

This is not an official tool from OneSpan Sign (here's the Terms and Conditions for codes hosted at the Developer Community Code Share), which is more like an integration example since outbound calls I used are exposed APIs.

Although it's not guaranteed that the tool will work perfectly like a part of the production, I will maintain and update the code if a new feature comes up and broke the function, or there's bug reported or any other valuable suggestions raised.

For the tool entrance, the tool can only be executed from UI, but you can extract the code snippet that

(1) retrieve API Keys of all senders

(2)pulls all packages of interest for perspective sender, using their API Key

(3)download signed documents in zipped file, as well as the evidence summary. Then programmatically combine them into a new zipped file and store locally.

 

Duo
 

dexter | Posts: 4

Reply to: OneSpan Sign - Transaction Export & Download Tool - v1.7.1

0 votes

Hi Duo, 

Can this tool be used to initiate a download from the command line, or do we always need to use the UI? 

Is there another version of the code that can be run just from the command line, providing inputs either through command line parameters, or a property file? 

Thanks again, 

Dexter

amfulton | Posts: 33

Reply to: OneSpan Sign - Transaction Export & Download Tool - v1.7.1

0 votes

Hi Duo,

 

Can you tell me what actions trigger the "LastUpdateDate" field  to be updated?  I noticed that we have a status of "Completed", Complete Date is 2020-07-02 15:12:02, and Last Update Date is: 2020-07-02 16:17:02

 

thanks,

Anne-Marie

amfulton | Posts: 33

Reply to: OneSpan Sign - Transaction Export & Download Tool - v1.7.1

0 votes

Hi Duo,

 

Can you tell me what actions trigger the "LastUpdateDate" field  to be updated?  I noticed that we have a status of "Completed", Complete Date is 2020-07-02 15:12:02, and Last Update Date is: 2020-07-02 16:17:02

 

thanks,

Anne-Marie

Duo_Liang | Posts: 3776

Reply to:

0 votes

Hi Anne,

 

One of the potential scenarios could be:  signer has signer authentication specified and the person was trying to access the signing ceremony, therefore updates the lastestUpdateDate field. (signer could be locked even after package completion)

Or if it's not the case, if you can share the package ID, I can help you have a quick check in backoffice to see if there's something obvious.

 

Duo

amfulton | Posts: 33

Reply to:

0 votes

HI Duo,

Is there a list of actions that trigger 'LastestUpdateDate'.  That is what I am looking for.  I can find anything on OneSpan portal that lists these options.

 

Thanks

Anne-Marie

 

Antonio | Posts: 3

Reply to: OneSpan Sign - Transaction Export & Download Tool - v1.7.1

0 votes

Hello Duo_Liang,

Backgrouds:

Package 1: 

Owners save the document pictures as PDF files and send to Signer => 

Owner sent the package to signer | signer completed the package |  when Owner clicked to download button it gave them the error: 

{technical":"EsepCommand failed and no fallback available.","code":500,"messageKey":"error.internal.default","message":"Unexpected error. We apologize for any inconvenience this may have caused you, please try again. If the problem persists, please contact our support team.","name":"Unhandled Server Error"}

 

Package 2: 

Owners remove some pdf files ( which were images converted to pdf) sent again => that completed package can be downloaded.

++++++

++++ Checking log +++ 

I see: Done executing an eSEP Call for a transaction

 

++++++++++++

Please let me know if any information you may need for your further advises 

Thank you 

Duo_Liang | Posts: 3776

Reply to:

0 votes

Hi Antonio,

 

#1. Are you developing with on-premise or SaaS environment?

#2. Is the error consistent -- (1)this package consistently can't be downloaded and (2)the same PDF consistently failed to download even in other packages?

#3. I assumed for package1, the error message you saw comes from the tool, what if you used the UI portal? And what if you download the documents one by one, will you hit the error?

For downloading each document, you could build below link:

GET /api/packages/{packageId}/documents/{documentId}/pdf 

After logging onto the sender portal, hit the link in address bar.

Kindly advise.

 

Duo

Antonio | Posts: 3

Reply to:

0 votes

Hello Duo_Liang,

 

Thank you for your prompt answer,

 

From the Back Office => Package Json Toggle =>  we can see that one of the documents for the 1st Package the SIZE is Zero  

The 2nd Package all the documents have their own Size Numbers.

 

Unfortunately that 1st Package the customer had signed so we can do nothing but only made the 2nd Package to send to them and they completed.

 

However, I am not too much sure why "Size" : 0 could cause the issue for downloading the package 

{technical":"EsepCommand failed and no fallback available.","code":500,"messageKey":"error.internal.default","message":"Unexpected error. We apologize for any inconvenience this may have caused you, please try again. If the problem persists, please contact our support team.","name":"Unhandled Server Error"}

Issue has been resolved, however if you have any ideas on that issue please kindly give me some hints 

Thank you for your time 

Duo_Liang | Posts: 3776

Reply to:

0 votes

Hi Antonio,

 

Glad to hear that the issue has been solved.

For document size as 0, is it true that the uploaded file is blank / has empty length? If that's the case, it's a known issue that in previous OSS version, the system accepted zero length document but didn't allow to download. This issue should have been fixed at 11.32 version (however, it's later than on-prem version) and now the UI and API layer will prevent you from doing so.

 

Duo

jp.pulverenti | Posts: 6

Reply to: OneSpan Sign - Transaction Export & Download Tool - v1.7.1

0 votes

Hey Duo,

Is there a way to get the signing name of the other party on the csv report?

Duo_Liang | Posts: 3776

Reply to:

0 votes

Hello JP,

 

If we are talking about the signer name, there's a column "Signer List" in the CSV file where all signer's information (role ID, email, first/last names) are put in a JSON format.

 

Duo

Duo_Liang | Posts: 3776

Reply to:

0 votes

The array contains all signers involved in the package, including package sender. If you want to customize the tool like add additional columns to CSV file, I've posted the source code the project, you can review the code and do the changes accordingly.

 

Duo

jp.pulverenti | Posts: 6

Reply to: OneSpan Sign - Transaction Export & Download Tool - v1.7.1

0 votes

sorry didnt mean to post twice

vkrishnan1 | Posts: 1

Reply to: OneSpan Sign - Transaction Export & Download Tool - v1.7.1

0 votes

Hi OneSpan team,

I am looking to report some improvements with regard to the tool  - especially in light of recent requirements for our needs.

The tool takes a really long time extracting information for a longer time period (say a year). Having an ability to generate the CSV list in a quick and easy way will be very helpful.

please consider this improvement and share your inputs.

Thanks

Vijiram

Duo_Liang | Posts: 3776

Reply to:

0 votes

Hi Vijiram,

 

Thanks for the suggestion! In the latest update version 1.3.3, I've introduced an extra step that before loading all senders' packages of all statuses, the tool now retrieves the usage report first (each sender has sent how many packages of each status), and only invokes partial package retrieval API calls. This improvement should be noticeable when there are a large amount of senders under the account, and not every senders are active.

 

Duo

dzettler | Posts: 13

Reply to: OneSpan Sign - Transaction Export & Download Tool - v1.7.1

0 votes

Its a great great tool!

It worked great in our sandbox enviroment.

 

But it fails to connect to our production enviroment. 

Should we check with support? Could it be a setting in the enviroment preventing us to connect?

 

Thanks! Daniel!

Duo_Liang | Posts: 3776

Reply to:

0 votes

Hi Daniel,

 

Thanks for your appreciation! You can have a quick self-check if you've chosen the correct environment (apps.esignlive.com vs apps.e-signlive.com, etc) and API Key. If it still doesn't work, please kindly create a support ticket and we can move the discussion to a private thread.

 

Duo

dzettler | Posts: 13

Reply to:

0 votes

Updated Java in local machine,  restarted, executed tool...

It took a while, but it worked... 
When entered the api key and hit "test connection"...it took 2minutes but worked... the same with user credentials...
thks!

Duo_Liang | Posts: 3776

Reply to:

0 votes

Great it works at the end. If you executed the jar file from command line, the tool prints logs in console and you will see all outbound API calls. And if it took longer than you expected, it's probably because you have a lot senders under your account and the tool needs to pull all senders' API Keys in that step.

 

Duo

dzettler | Posts: 13

Reply to: OneSpan Sign - Transaction Export & Download Tool - v1.7.1

0 votes

 

Thanks for all the help..

 

Do you know of any issue for the senders not being able to download transactions?

In our environment,  Senders are not bein able to retrieve content with the tool.

In order to be sure, we created several sender accounts for us,  created several signing ceremonies and completed them.  Later tried to download with the tool,  but the tool does not retrieve any transaction.

If we grant that sender to admin,  it can retrieve transactions (only his owns).   Our environment is on US 1

 

Thanks!

Duo_Liang | Posts: 3776

Reply to:

0 votes

Hi dzettler,

 

Thanks so much for brining it up to me! I've verified the bug which I believe was introduced in a recent code change. Now the rules of transactions access are:

Assuming your account has Roles&Permission feature turned off (which I believe is your case):

- sender with "Regular" type can only retrieve and download transactions created by themselves

- sender with "Manager" type (either Account Owner or be granted Manager role) can retrieve and download transactions created by ALL senders under the account

 

Assuming your account has Roles&Permission feature turned on:

- only (sub)account owner, with "Manager" type and "Admin" role can pull All transactions in current (sub)account - with "Manager" type is to make sure the user has sufficient API access

- other senders can only retrieve their own transactions

 

Please kindly verify if the latest version 1.3.4 has resolved the bug and let me know if otherwise. I will also update the source code post for your further reference.  :)

Duo

dzettler | Posts: 13

Reply to: OneSpan Sign - Transaction Export & Download Tool - v1.7.1

0 votes

Thanks! it works faster in the authentication...

But its not bringing any documents in our enviroment... bellow the screens.

After the error I tried with the 1.3.2 and it worked... 

 

thanks for the help

 

dzettler | Posts: 13

Reply to: OneSpan Sign - Transaction Export & Download Tool - v1.7.1

0 votes

Thanks! it works faster in the authentication...

But its not bringing any documents in our enviroment... bellow the screens.

After the error I tried with the 1.3.2 and it worked... 

 

thanks for the help

 

dzettler | Posts: 13

Reply to: OneSpan Sign - Transaction Export & Download Tool - v1.7.1

0 votes

I was afraid I was having an issue with a new account we just set up...

but with 1.3.2 its working in other account...  :D

 

Thanks for your super help! 

 

 

Duo_Liang | Posts: 3776

Reply to:

0 votes

Hi Daniel,

 

Thanks for bringing it up to me! Could you supply below detailed information to [email protected], so that I can learn your scenario better?

-Could you provide the account owner email of this "new account we just set up which is having an issue with"?

-For the account that is working with v1.3.2 tool, does it work with v1.3.7 tool? Did you see the same where no sender or transactions have been loaded?

 

Duo

dzettler | Posts: 13

Reply to: OneSpan Sign - Transaction Export & Download Tool - v1.7.1

0 votes

Thanks!

Version 1.3.7  -> Account: [email protected] - on US1 : 

I can log into..its quite fast...but gets no transactions in after que query. Its the image posted :D

 

Same issue in another account and same issue repeated with other users .. ..

Duo_Liang | Posts: 3776

Reply to:

1 votes

Hi Daniel,

 

Thanks for your continuous feedback to help me improve the tool! I've updated the code and made 2 main changes in v1.3.8:

1. Add a retry mechanism for most core outbound APIs - however I don't think it will directly solve your issue since it seems consistent

2. Add an option to enable logging capability - you'll need to toggle the option and select a directory to store the log files. This log file WON'T store your API Key / login credentials, but still may include sensitive information, hence it's important to keep the log files in a secured location or remove it after execution. Please share the log file to [email protected] through a secured channel to help me analyze the cause of the issue.

If I still can't find out anything, we can arrange an online troubleshooting session at your preferred time slot.

 

Duo

dzettler | Posts: 13

Reply to: OneSpan Sign - Transaction Export & Download Tool - v1.7.1

0 votes

That great!! Thanks a lot!  Will try later and update my comment.

Thanks!

sreenivasarao… | Posts: 4

Reply to: OneSpan Sign - Transaction Export & Download Tool - v1.7.1

0 votes

is it possible to enhance this tool to use ClientID and secret rather than API Key.

This will be helpful as ClientID and Secret can be rotated often.

Hello! Looks like you're enjoying the discussion, but haven't signed up for an account.

When you create an account, we remember exactly what you've read, so you always come right back where you left off