@memberjunction/esignature-dropboxsign 5.40.1 → 5.41.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +110 -0
- package/package.json +3 -3
package/README.md
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
[← Back to eSignature Overview](../../README.md) · [Core Primitive](../../Base/README.md)
|
|
2
|
+
|
|
3
|
+
# @memberjunction/esignature-dropboxsign
|
|
4
|
+
|
|
5
|
+
The **Dropbox Sign** (formerly **HelloSign**) driver for the MemberJunction eSignature subsystem. It implements the [`BaseSignatureProvider`](../../Base/README.md#the-provider-contract-basesignatureprovider) contract against the Dropbox Sign REST API `v3`, using HTTP Basic authentication with your API key.
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @memberjunction/esignature-dropboxsign
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
> You don't call this package directly. You configure a Dropbox Sign **Signature Account** and use the [`SignatureEngine`](../../Base/README.md#the-engines) (or the [no-code Actions](../../Base/README.md#using-the-actions-no-code)). The engine resolves and drives this provider for you.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## At a glance
|
|
16
|
+
|
|
17
|
+
| | |
|
|
18
|
+
|---|---|
|
|
19
|
+
| **Driver key** | `DropboxSign` |
|
|
20
|
+
| **Registration** | `@RegisterClass(BaseSignatureProvider, 'DropboxSign')` |
|
|
21
|
+
| **Authentication** | HTTP Basic (API key as username, empty password) |
|
|
22
|
+
| **API** | Dropbox Sign REST API `v3` (`api.hellosign.com/v3`) |
|
|
23
|
+
| **Webhooks** | HMAC-SHA256 verified |
|
|
24
|
+
|
|
25
|
+
### Supported operations
|
|
26
|
+
|
|
27
|
+
| Operation | Supported |
|
|
28
|
+
|---|:---:|
|
|
29
|
+
| Create envelope | ✅ |
|
|
30
|
+
| Get status | ✅ |
|
|
31
|
+
| Download signed | ✅ |
|
|
32
|
+
| Void | ✅ |
|
|
33
|
+
| Parse webhook event | ✅ |
|
|
34
|
+
| Verify webhook signature | ✅ |
|
|
35
|
+
| Templates | — |
|
|
36
|
+
| Embedded signing | — |
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Configuration
|
|
41
|
+
|
|
42
|
+
These values live in the account's **Credential** (encrypted via the [Credential Engine](../../../Credentials)) — never in code or environment variables.
|
|
43
|
+
|
|
44
|
+
| Key | Required | Default | Description |
|
|
45
|
+
|---|:---:|---|---|
|
|
46
|
+
| `apiKey` | ✅ | — | Dropbox Sign API key, sent via HTTP Basic auth. |
|
|
47
|
+
| `restBase` | — | `https://api.hellosign.com/v3` | REST API base. |
|
|
48
|
+
| `testMode` | — | `false` | When `true`, requests are flagged as non-billable **test** requests. Great for development. |
|
|
49
|
+
| `connectHmacKey` | — | *(falls back to `apiKey`)* | HMAC secret for verifying webhooks. Dropbox Sign signs callbacks with the account API key by default, so this is optional. |
|
|
50
|
+
|
|
51
|
+
### Test mode
|
|
52
|
+
|
|
53
|
+
Dropbox Sign supports a first-class **test mode** that creates non-billable signature requests — ideal for development and CI. Set `testMode: true` on the account configuration and every request the driver sends is marked `test_mode=1`. Flip it off for production.
|
|
54
|
+
|
|
55
|
+
### One-time setup
|
|
56
|
+
|
|
57
|
+
1. In Dropbox Sign, generate an **API key** (Settings → API).
|
|
58
|
+
2. In MemberJunction:
|
|
59
|
+
- The **Dropbox Sign** Signature Provider row is already seeded.
|
|
60
|
+
- Create a **Credential** holding `apiKey` (and `testMode` if developing).
|
|
61
|
+
- Create a **Signature Account** pointing at that credential.
|
|
62
|
+
3. (Production) Configure a Dropbox Sign callback URL pointing at `POST {your-server}/esignature/webhook/DropboxSign`.
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Status mapping
|
|
67
|
+
|
|
68
|
+
Dropbox Sign reports state two ways: request-level booleans (`is_complete`, `is_declined`) and a per-signer `status_code`. The driver checks the booleans first, then falls back to the lead signer's `status_code` (defaulting to `Sent` when none is present). Both map onto MemberJunction's [normalized lifecycle](../../Base/README.md#status):
|
|
69
|
+
|
|
70
|
+
**Request-level (checked first):**
|
|
71
|
+
|
|
72
|
+
| Dropbox Sign flag | MJ `EnvelopeStatus` |
|
|
73
|
+
|---|---|
|
|
74
|
+
| `is_complete` | `Completed` |
|
|
75
|
+
| `is_declined` | `Declined` |
|
|
76
|
+
|
|
77
|
+
**Per-signer `status_code` (fallback):**
|
|
78
|
+
|
|
79
|
+
| Dropbox Sign status | MJ `EnvelopeStatus` |
|
|
80
|
+
|---|---|
|
|
81
|
+
| `awaiting_signature` | `Sent` |
|
|
82
|
+
| `on_hold` | `Delivered` |
|
|
83
|
+
| `signed` | `Signed` |
|
|
84
|
+
| `declined` | `Declined` |
|
|
85
|
+
| `error`, *(any unrecognized code)* | `Unknown` |
|
|
86
|
+
| *(no signer status present)* | `Sent` |
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Webhooks
|
|
91
|
+
|
|
92
|
+
Dropbox Sign pushes events to `POST /esignature/webhook/DropboxSign`. Each callback carries an `event_hash` computed as an HMAC-SHA256 over `<event_time><event_type>` keyed with your API key (or an explicit `connectHmacKey`). The driver recomputes and compares it before trusting the event. See the [webhook flow](../../Base/README.md#inbound-webhooks).
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Testing
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
cd packages/eSignature/Providers/DropboxSign && npm run test
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Related
|
|
105
|
+
|
|
106
|
+
| | |
|
|
107
|
+
|---|---|
|
|
108
|
+
| [eSignature overview](../../README.md) | The whole subsystem. |
|
|
109
|
+
| [Core primitive](../../Base/README.md) | The contract, engine, and data model this driver plugs into. |
|
|
110
|
+
| [DocuSign driver](../DocuSign/README.md) · [PandaDoc driver](../PandaDoc/README.md) | Sibling providers. |
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/esignature-dropboxsign",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.41.0",
|
|
4
4
|
"description": "Dropbox Sign (formerly HelloSign) driver for the MemberJunction eSignature primitive. Registers a BaseSignatureProvider implementation via @RegisterClass(BaseSignatureProvider, 'DropboxSign') using the Dropbox Sign v3 REST API and API-key authentication.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"url": "https://github.com/MemberJunction/MJ"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@memberjunction/esignature": "5.
|
|
25
|
-
"@memberjunction/global": "5.
|
|
24
|
+
"@memberjunction/esignature": "5.41.0",
|
|
25
|
+
"@memberjunction/global": "5.41.0"
|
|
26
26
|
}
|
|
27
27
|
}
|