@veryfi/veryfi-sdk 1.4.8 → 1.5.1

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.
Files changed (176) hide show
  1. package/README.md +19 -2
  2. package/lib/anydocs/deleteAnyDocumentTag.js +14 -0
  3. package/lib/anydocs/getAnyDocument.js +3 -3
  4. package/lib/anydocs/getAnyDocumentTags.js +15 -0
  5. package/lib/anydocs/getAnyDocuments.js +3 -3
  6. package/lib/anydocs/getBlueprints.js +17 -0
  7. package/lib/anydocs/processAnyDocumentAsync.js +31 -0
  8. package/lib/anydocs/processAnyDocumentAsyncBase64.js +30 -0
  9. package/lib/anydocs/processAnyDocumentAsyncStream.js +30 -0
  10. package/lib/anydocs/processAnyDocumentAsyncUrl.js +30 -0
  11. package/lib/anydocs/tags/addAnyDocumentTag.js +15 -0
  12. package/lib/anydocs/tags/addAnyDocumentTags.js +15 -0
  13. package/lib/anydocs/tags/deleteAnyDocumentTags.js +12 -0
  14. package/lib/anydocs/updateAnyDocument.js +14 -0
  15. package/lib/bankstatements/getBankStatement.js +3 -3
  16. package/lib/bankstatements/getBankStatementSet.js +14 -0
  17. package/lib/bankstatements/getBankStatementSets.js +23 -0
  18. package/lib/bankstatements/getBankStatements.js +3 -3
  19. package/lib/bankstatements/processBankStatementAsync.js +31 -0
  20. package/lib/bankstatements/processBankStatementAsyncBase64.js +30 -0
  21. package/lib/bankstatements/processBankStatementAsyncStream.js +30 -0
  22. package/lib/bankstatements/processBankStatementAsyncUrl.js +30 -0
  23. package/lib/bankstatements/splitBankStatements.js +25 -0
  24. package/lib/bankstatements/splitBankStatementsBase64.js +24 -0
  25. package/lib/bankstatements/splitBankStatementsStream.js +24 -0
  26. package/lib/bankstatements/splitBankStatementsUrl.js +24 -0
  27. package/lib/bankstatements/tags/addBankStatementTag.js +15 -0
  28. package/lib/bankstatements/tags/addBankStatementTags.js +15 -0
  29. package/lib/bankstatements/tags/deleteBankStatementTag.js +13 -0
  30. package/lib/bankstatements/tags/deleteBankStatementTags.js +12 -0
  31. package/lib/bankstatements/tags/getBankStatementTags.js +14 -0
  32. package/lib/bankstatements/updateBankStatement.js +14 -0
  33. package/lib/businesscards/getBusinessCard.js +3 -3
  34. package/lib/businesscards/getBusinessCards.js +3 -3
  35. package/lib/businesscards/tags/addBusinessCardTag.js +15 -0
  36. package/lib/businesscards/tags/addBusinessCardTags.js +15 -0
  37. package/lib/businesscards/tags/deleteBusinessCardTag.js +13 -0
  38. package/lib/businesscards/tags/deleteBusinessCardTags.js +12 -0
  39. package/lib/businesscards/tags/getBusinessCardTags.js +14 -0
  40. package/lib/businesscards/updateBusinessCard.js +14 -0
  41. package/lib/checks/getCheck.js +3 -3
  42. package/lib/checks/getChecks.js +3 -3
  43. package/lib/checks/processCheckAsync.js +31 -0
  44. package/lib/checks/processCheckAsyncBase64.js +30 -0
  45. package/lib/checks/processCheckAsyncStream.js +30 -0
  46. package/lib/checks/processCheckAsyncUrl.js +30 -0
  47. package/lib/checks/processCheckWithRemittance.js +31 -0
  48. package/lib/checks/processCheckWithRemittanceBase64.js +30 -0
  49. package/lib/checks/processCheckWithRemittanceStream.js +30 -0
  50. package/lib/checks/processCheckWithRemittanceUrl.js +30 -0
  51. package/lib/checks/tags/addCheckTag.js +15 -0
  52. package/lib/checks/tags/addCheckTags.js +15 -0
  53. package/lib/checks/tags/deleteCheckTag.js +13 -0
  54. package/lib/checks/tags/deleteCheckTags.js +12 -0
  55. package/lib/checks/tags/getCheckTags.js +14 -0
  56. package/lib/checks/updateCheck.js +14 -0
  57. package/lib/classify/classifyDocument.js +25 -0
  58. package/lib/classify/classifyDocumentBase64.js +3 -3
  59. package/lib/classify/classifyDocumentStream.js +24 -0
  60. package/lib/classify/classifyDocumentUrl.js +4 -4
  61. package/lib/classify/extractDocument.js +28 -0
  62. package/lib/classify/extractDocumentBase64.js +27 -0
  63. package/lib/classify/extractDocumentStream.js +27 -0
  64. package/lib/classify/extractDocumentUrl.js +27 -0
  65. package/lib/client/client.js +151 -4
  66. package/lib/client/request.js +7 -2
  67. package/lib/contracts/deleteContract.js +12 -0
  68. package/lib/contracts/getContract.js +18 -0
  69. package/lib/contracts/getContracts.js +23 -0
  70. package/lib/contracts/processContract.js +25 -0
  71. package/lib/contracts/processContractBase64.js +24 -0
  72. package/lib/contracts/processContractStream.js +24 -0
  73. package/lib/contracts/processContractUrl.js +24 -0
  74. package/lib/contracts/tags/addContractTag.js +15 -0
  75. package/lib/contracts/tags/addContractTags.js +15 -0
  76. package/lib/contracts/tags/deleteContractTag.js +13 -0
  77. package/lib/contracts/tags/deleteContractTags.js +12 -0
  78. package/lib/contracts/tags/getContractTags.js +14 -0
  79. package/lib/contracts/updateContract.js +14 -0
  80. package/lib/documents/getDocument.js +1 -2
  81. package/lib/documents/getDocuments.js +5 -5
  82. package/lib/documents/lineitems/createLineItem.js +14 -0
  83. package/lib/documents/lineitems/deleteDocumentLineItems.js +12 -0
  84. package/lib/documents/lineitems/deleteLineItem.js +13 -0
  85. package/lib/documents/lineitems/getDocumentLineItems.js +14 -0
  86. package/lib/documents/lineitems/getLineItem.js +15 -0
  87. package/lib/documents/lineitems/updateLineItem.js +15 -0
  88. package/lib/documents/processDocument.js +3 -0
  89. package/lib/documents/processDocumentStream.js +1 -1
  90. package/lib/documents/processDocumentUrl.js +1 -1
  91. package/lib/documents/processDocumentsBulk.js +15 -0
  92. package/lib/documents/tags/getDocumentTags.js +14 -0
  93. package/lib/documents/taxlines/createTaxLine.js +14 -0
  94. package/lib/documents/taxlines/deleteTaxLine.js +13 -0
  95. package/lib/documents/taxlines/getTaxLine.js +15 -0
  96. package/lib/documents/taxlines/getTaxLines.js +14 -0
  97. package/lib/documents/taxlines/updateTaxLine.js +15 -0
  98. package/lib/fraud/addDevicesToBlocklist.js +20 -0
  99. package/lib/fraud/getFraudBlocklist.js +17 -0
  100. package/lib/fraud/removeDeviceFromBlocklist.js +12 -0
  101. package/lib/parse/deleteMarkdownDocument.js +12 -0
  102. package/lib/parse/getMarkdownDocument.js +14 -0
  103. package/lib/parse/getMarkdownDocumentSet.js +14 -0
  104. package/lib/parse/getMarkdownDocumentSets.js +23 -0
  105. package/lib/parse/getMarkdownDocuments.js +23 -0
  106. package/lib/parse/processMarkdownDocument.js +25 -0
  107. package/lib/parse/processMarkdownDocumentAsync.js +25 -0
  108. package/lib/parse/processMarkdownDocumentAsyncBase64.js +24 -0
  109. package/lib/parse/processMarkdownDocumentAsyncStream.js +24 -0
  110. package/lib/parse/processMarkdownDocumentAsyncUrl.js +24 -0
  111. package/lib/parse/processMarkdownDocumentBase64.js +24 -0
  112. package/lib/parse/processMarkdownDocumentSet.js +25 -0
  113. package/lib/parse/processMarkdownDocumentSetBase64.js +24 -0
  114. package/lib/parse/processMarkdownDocumentSetStream.js +24 -0
  115. package/lib/parse/processMarkdownDocumentSetUrl.js +24 -0
  116. package/lib/parse/processMarkdownDocumentStream.js +24 -0
  117. package/lib/parse/processMarkdownDocumentUrl.js +24 -0
  118. package/lib/parse/updateMarkdownDocument.js +14 -0
  119. package/lib/platform/getOcrCounts.js +20 -0
  120. package/lib/platform/getOpenApiSchema.js +17 -0
  121. package/lib/platform/getReleaseNotifications.js +13 -0
  122. package/lib/settings/addWebhook.js +20 -0
  123. package/lib/settings/confirmWebhook.js +23 -0
  124. package/lib/settings/createApiKey.js +20 -0
  125. package/lib/settings/createClientKeys.js +17 -0
  126. package/lib/settings/deleteClientKey.js +12 -0
  127. package/lib/settings/deleteTlsCertificate.js +12 -0
  128. package/lib/settings/getApiKey.js +17 -0
  129. package/lib/settings/getApiKeyPermissions.js +15 -0
  130. package/lib/settings/getApiKeys.js +15 -0
  131. package/lib/settings/getClientKeys.js +15 -0
  132. package/lib/settings/getTlsCertificates.js +15 -0
  133. package/lib/settings/getWebhooks.js +15 -0
  134. package/lib/settings/processTlsCertificate.js +17 -0
  135. package/lib/settings/resetClientKeys.js +17 -0
  136. package/lib/settings/revokeApiKey.js +12 -0
  137. package/lib/settings/rotateApiKey.js +14 -0
  138. package/lib/settings/updateApiKey.js +19 -0
  139. package/lib/settings/verifyApiKey.js +15 -0
  140. package/lib/split/getSplitDocument.js +2 -3
  141. package/lib/split/getSplitDocuments.js +3 -3
  142. package/lib/split/splitDocument.js +16 -0
  143. package/lib/split/splitDocumentStream.js +19 -0
  144. package/lib/split/splitDocumentUrl.js +1 -1
  145. package/lib/types/Client.ts +537 -1
  146. package/lib/types/VeryfiExtraArgs.ts +4 -5
  147. package/lib/w2s/getW2.js +1 -2
  148. package/lib/w2s/getW2Set.js +14 -0
  149. package/lib/w2s/getW2Sets.js +23 -0
  150. package/lib/w2s/splitW2s.js +25 -0
  151. package/lib/w2s/splitW2sBase64.js +24 -0
  152. package/lib/w2s/splitW2sStream.js +24 -0
  153. package/lib/w2s/splitW2sUrl.js +24 -0
  154. package/lib/w2s/tags/addW2Tag.js +15 -0
  155. package/lib/w2s/tags/addW2Tags.js +15 -0
  156. package/lib/w2s/tags/deleteW2Tag.js +13 -0
  157. package/lib/w2s/tags/deleteW2Tags.js +12 -0
  158. package/lib/w2s/tags/getW2Tags.js +14 -0
  159. package/lib/w2s/updateW2.js +14 -0
  160. package/lib/w8bene/getW8BENE.js +3 -3
  161. package/lib/w8bene/getW8BENEs.js +3 -3
  162. package/lib/w8bene/tags/addW8beneTag.js +15 -0
  163. package/lib/w8bene/tags/addW8beneTags.js +15 -0
  164. package/lib/w8bene/tags/deleteW8beneTag.js +13 -0
  165. package/lib/w8bene/tags/deleteW8beneTags.js +12 -0
  166. package/lib/w8bene/tags/getW8beneTags.js +14 -0
  167. package/lib/w8bene/updateW8BENE.js +14 -0
  168. package/lib/w9s/getW9.js +3 -3
  169. package/lib/w9s/getW9s.js +3 -3
  170. package/lib/w9s/tags/addW9Tag.js +15 -0
  171. package/lib/w9s/tags/addW9Tags.js +15 -0
  172. package/lib/w9s/tags/deleteW9Tag.js +13 -0
  173. package/lib/w9s/tags/deleteW9Tags.js +12 -0
  174. package/lib/w9s/tags/getW9Tags.js +14 -0
  175. package/lib/w9s/updateW9.js +14 -0
  176. package/package.json +5 -5
@@ -1,14 +1,14 @@
1
1
  const Client = require('../client/constructor');
2
2
  /**
3
- * Classify document from url and extract all the fields from it. https://docs.veryfi.com/api/classify/classify-a-document/
3
+ * Classify a document. https://docs.veryfi.com/api/classify/classify-a-document/
4
4
  * @example
5
5
  * veryfi_client.classify_document_from_url('https://cdn.example.com/receipt.jpg')
6
6
  *
7
7
  * @memberof Client
8
8
  * @param {string|null} file_url Required if file_urls isn't specified. Publicly accessible URL to a file, e.g. "https://cdn.example.com/receipt.jpg".
9
- * @param {Array} file_urls Required if file_url isn't specified. List of publicly accessible URLs to multiple files, e.g. ["https://cdn.example.com/receipt1.jpg", "https://cdn.example.com/receipt2.jpg"]
10
- * @param {Object} kwargs Additional request parameters
11
- * @return {JSON} Data extracted from the document.
9
+ * @param {Array} file_urls Required if file_url isn't specified. List of publicly accessible URLs to multiple files.
10
+ * @param {Object} kwargs Additional request parameters (document_types, external_id, package_path, bucket)
11
+ * @return {JSON} Document classification
12
12
  */
13
13
  Client.prototype.classify_document_from_url = async function (
14
14
  file_url = null,
@@ -0,0 +1,28 @@
1
+ const Client = require('../client/constructor');
2
+ const path = require('path');
3
+ const fs = require('fs');
4
+ /**
5
+ * Classify and possibly extract data from a document. https://docs.veryfi.com/api/classify-and-possibly-extract-data-from-a-document/
6
+ * @example
7
+ * veryfi_client.extract_document('file/path')
8
+ *
9
+ * @memberof Client
10
+ * @param {String} file_path Path on disk to a file to submit
11
+ * @param {string[]} document_types Required. Types to classify the document into (preset types or blueprint names).
12
+ * @param {Object} kwargs Additional request parameters
13
+ * @returns {JSON} API response data
14
+ */
15
+ Client.prototype.extract_document = async function (
16
+ file_path,
17
+ document_types,
18
+ {...kwargs} = {}
19
+ ) {
20
+ let file = fs.createReadStream(file_path);
21
+ let file_name = path.basename(file_path);
22
+ return this.extract_document_from_stream(
23
+ file,
24
+ file_name,
25
+ document_types,
26
+ kwargs
27
+ );
28
+ }
@@ -0,0 +1,27 @@
1
+ const Client = require('../client/constructor');
2
+ /**
3
+ * Classify and possibly extract data from a document from a base64 string. https://docs.veryfi.com/api/classify-and-possibly-extract-data-from-a-document/
4
+ *
5
+ * @memberof Client
6
+ * @param {String} file_name The file name including the extension
7
+ * @param {String} file_base64_string Base64-encoded file contents (raw or data URI)
8
+ * @param {string[]} document_types Required. Types to classify the document into (preset types or blueprint names).
9
+ * @param {Object} kwargs Additional request parameters
10
+ * @returns {JSON} API response data
11
+ */
12
+ Client.prototype.extract_document_from_base64 = async function (
13
+ file_name,
14
+ file_base64_string,
15
+ document_types,
16
+ {...kwargs} = {}
17
+ ) {
18
+ let endpoint_name = "/extract/";
19
+ let request_arguments = {
20
+ "file_name": file_name,
21
+ "file_data": file_base64_string,
22
+ "document_types": document_types,
23
+ };
24
+ request_arguments = Object.assign(request_arguments, kwargs);
25
+ let response = await this._request("POST", endpoint_name, request_arguments, null, false);
26
+ return response['data'];
27
+ }
@@ -0,0 +1,27 @@
1
+ const Client = require('../client/constructor');
2
+ /**
3
+ * Classify and possibly extract data from a document from a file stream. https://docs.veryfi.com/api/classify-and-possibly-extract-data-from-a-document/
4
+ *
5
+ * @memberof Client
6
+ * @param {stream.Readable} file ReadStream of a file to submit
7
+ * @param {String} file_name The file name including the extension
8
+ * @param {string[]} document_types Required. Types to classify the document into (preset types or blueprint names).
9
+ * @param {Object} kwargs Additional request parameters
10
+ * @returns {JSON} API response data
11
+ */
12
+ Client.prototype.extract_document_from_stream = async function (
13
+ file,
14
+ file_name,
15
+ document_types,
16
+ {...kwargs} = {}
17
+ ) {
18
+ let endpoint_name = "/extract/";
19
+ let request_arguments = {
20
+ "file": file,
21
+ "file_name": file_name,
22
+ "document_types": document_types,
23
+ };
24
+ request_arguments = Object.assign(request_arguments, kwargs);
25
+ let response = await this._request("POST", endpoint_name, request_arguments, null, true);
26
+ return response['data'];
27
+ }
@@ -0,0 +1,27 @@
1
+ const Client = require('../client/constructor');
2
+ /**
3
+ * Classify and possibly extract data from a document from a URL. https://docs.veryfi.com/api/classify-and-possibly-extract-data-from-a-document/
4
+ *
5
+ * @memberof Client
6
+ * @param {string|null} file_url Required if file_urls isn't specified. Publicly accessible URL to a file.
7
+ * @param {string[]} file_urls Required if file_url isn't specified. List of publicly accessible URLs.
8
+ * @param {string[]} document_types Required. Types to classify the document into (preset types or blueprint names).
9
+ * @param {Object} kwargs Additional request parameters
10
+ * @returns {JSON} API response data
11
+ */
12
+ Client.prototype.extract_document_from_url = async function (
13
+ file_url = null,
14
+ file_urls = null,
15
+ document_types,
16
+ {...kwargs} = {}
17
+ ) {
18
+ let endpoint_name = "/extract/";
19
+ let request_arguments = {
20
+ "file_url": file_url,
21
+ "file_urls": file_urls,
22
+ "document_types": document_types,
23
+ };
24
+ request_arguments = Object.assign(request_arguments, kwargs);
25
+ let response = await this._request("POST", endpoint_name, request_arguments, null, false);
26
+ return response['data'];
27
+ }
@@ -1,18 +1,45 @@
1
1
  const Client = require('../client/function');
2
2
  require('../anydocs/deleteAnyDocument');
3
+ require('../anydocs/deleteAnyDocumentTag');
3
4
  require('../anydocs/getAnyDocument');
5
+ require('../anydocs/getAnyDocumentTags');
4
6
  require('../anydocs/getAnyDocuments');
7
+ require('../anydocs/getBlueprints');
5
8
  require('../anydocs/processAnyDocument');
9
+ require('../anydocs/processAnyDocumentAsync');
10
+ require('../anydocs/processAnyDocumentAsyncBase64');
11
+ require('../anydocs/processAnyDocumentAsyncStream');
12
+ require('../anydocs/processAnyDocumentAsyncUrl');
6
13
  require('../anydocs/processAnyDocumentBase64');
7
14
  require('../anydocs/processAnyDocumentStream');
8
15
  require('../anydocs/processAnyDocumentUrl');
16
+ require('../anydocs/tags/addAnyDocumentTag');
17
+ require('../anydocs/tags/addAnyDocumentTags');
18
+ require('../anydocs/tags/deleteAnyDocumentTags');
19
+ require('../anydocs/updateAnyDocument');
9
20
  require('../bankstatements/deleteBankStatement');
10
21
  require('../bankstatements/getBankStatement');
22
+ require('../bankstatements/getBankStatementSet');
23
+ require('../bankstatements/getBankStatementSets');
11
24
  require('../bankstatements/getBankStatements');
12
25
  require('../bankstatements/processBankStatement');
26
+ require('../bankstatements/processBankStatementAsync');
27
+ require('../bankstatements/processBankStatementAsyncBase64');
28
+ require('../bankstatements/processBankStatementAsyncStream');
29
+ require('../bankstatements/processBankStatementAsyncUrl');
13
30
  require('../bankstatements/processBankStatementBase64');
14
31
  require('../bankstatements/processBankStatementStream');
15
32
  require('../bankstatements/processBankStatementUrl');
33
+ require('../bankstatements/splitBankStatements');
34
+ require('../bankstatements/splitBankStatementsBase64');
35
+ require('../bankstatements/splitBankStatementsStream');
36
+ require('../bankstatements/splitBankStatementsUrl');
37
+ require('../bankstatements/tags/addBankStatementTag');
38
+ require('../bankstatements/tags/addBankStatementTags');
39
+ require('../bankstatements/tags/deleteBankStatementTag');
40
+ require('../bankstatements/tags/deleteBankStatementTags');
41
+ require('../bankstatements/tags/getBankStatementTags');
42
+ require('../bankstatements/updateBankStatement');
16
43
  require('../businesscards/deleteBusinessCard');
17
44
  require('../businesscards/getBusinessCard');
18
45
  require('../businesscards/getBusinessCards');
@@ -20,39 +47,147 @@ require('../businesscards/processBusinessCard');
20
47
  require('../businesscards/processBusinessCardBase64');
21
48
  require('../businesscards/processBusinessCardStream');
22
49
  require('../businesscards/processBusinessCardUrl');
50
+ require('../businesscards/tags/addBusinessCardTag');
51
+ require('../businesscards/tags/addBusinessCardTags');
52
+ require('../businesscards/tags/deleteBusinessCardTag');
53
+ require('../businesscards/tags/deleteBusinessCardTags');
54
+ require('../businesscards/tags/getBusinessCardTags');
55
+ require('../businesscards/updateBusinessCard');
23
56
  require('../checks/deleteCheck');
24
57
  require('../checks/getCheck');
25
58
  require('../checks/getChecks');
26
59
  require('../checks/processCheck');
60
+ require('../checks/processCheckAsync');
61
+ require('../checks/processCheckAsyncBase64');
62
+ require('../checks/processCheckAsyncStream');
63
+ require('../checks/processCheckAsyncUrl');
27
64
  require('../checks/processCheckBase64');
28
65
  require('../checks/processCheckStream');
29
66
  require('../checks/processCheckUrl');
67
+ require('../checks/processCheckWithRemittance');
68
+ require('../checks/processCheckWithRemittanceBase64');
69
+ require('../checks/processCheckWithRemittanceStream');
70
+ require('../checks/processCheckWithRemittanceUrl');
71
+ require('../checks/tags/addCheckTag');
72
+ require('../checks/tags/addCheckTags');
73
+ require('../checks/tags/deleteCheckTag');
74
+ require('../checks/tags/deleteCheckTags');
75
+ require('../checks/tags/getCheckTags');
76
+ require('../checks/updateCheck');
77
+ require('../classify/classifyDocument');
30
78
  require('../classify/classifyDocumentBase64');
79
+ require('../classify/classifyDocumentStream');
31
80
  require('../classify/classifyDocumentUrl');
81
+ require('../classify/extractDocument');
82
+ require('../classify/extractDocumentBase64');
83
+ require('../classify/extractDocumentStream');
84
+ require('../classify/extractDocumentUrl');
85
+ require('../contracts/deleteContract');
86
+ require('../contracts/getContract');
87
+ require('../contracts/getContracts');
88
+ require('../contracts/processContract');
89
+ require('../contracts/processContractBase64');
90
+ require('../contracts/processContractStream');
91
+ require('../contracts/processContractUrl');
92
+ require('../contracts/tags/addContractTag');
93
+ require('../contracts/tags/addContractTags');
94
+ require('../contracts/tags/deleteContractTag');
95
+ require('../contracts/tags/deleteContractTags');
96
+ require('../contracts/tags/getContractTags');
97
+ require('../contracts/updateContract');
32
98
  require('../documents/deleteDocument');
33
99
  require('../documents/getDocument');
34
100
  require('../documents/getDocuments');
101
+ require('../documents/lineitems/createLineItem');
102
+ require('../documents/lineitems/deleteDocumentLineItems');
103
+ require('../documents/lineitems/deleteLineItem');
104
+ require('../documents/lineitems/getDocumentLineItems');
105
+ require('../documents/lineitems/getLineItem');
106
+ require('../documents/lineitems/updateLineItem');
35
107
  require('../documents/processDocument');
36
108
  require('../documents/processDocumentBase64');
37
109
  require('../documents/processDocumentStream');
38
110
  require('../documents/processDocumentUrl');
39
- require('../documents/updateDocument');
40
- require('../documents/tags/addTags');
111
+ require('../documents/processDocumentsBulk');
41
112
  require('../documents/tags/addTag');
113
+ require('../documents/tags/addTags');
42
114
  require('../documents/tags/deleteTag');
43
115
  require('../documents/tags/deleteTags');
116
+ require('../documents/tags/getDocumentTags');
44
117
  require('../documents/tags/replaceTags');
45
- require('../split/splitDocumentBase64');
46
- require('../split/splitDocumentUrl');
118
+ require('../documents/taxlines/createTaxLine');
119
+ require('../documents/taxlines/deleteTaxLine');
120
+ require('../documents/taxlines/getTaxLine');
121
+ require('../documents/taxlines/getTaxLines');
122
+ require('../documents/taxlines/updateTaxLine');
123
+ require('../documents/updateDocument');
124
+ require('../fraud/addDevicesToBlocklist');
125
+ require('../fraud/getFraudBlocklist');
126
+ require('../fraud/removeDeviceFromBlocklist');
127
+ require('../parse/deleteMarkdownDocument');
128
+ require('../parse/getMarkdownDocument');
129
+ require('../parse/getMarkdownDocumentSet');
130
+ require('../parse/getMarkdownDocumentSets');
131
+ require('../parse/getMarkdownDocuments');
132
+ require('../parse/processMarkdownDocument');
133
+ require('../parse/processMarkdownDocumentAsync');
134
+ require('../parse/processMarkdownDocumentAsyncBase64');
135
+ require('../parse/processMarkdownDocumentAsyncStream');
136
+ require('../parse/processMarkdownDocumentAsyncUrl');
137
+ require('../parse/processMarkdownDocumentBase64');
138
+ require('../parse/processMarkdownDocumentSet');
139
+ require('../parse/processMarkdownDocumentSetBase64');
140
+ require('../parse/processMarkdownDocumentSetStream');
141
+ require('../parse/processMarkdownDocumentSetUrl');
142
+ require('../parse/processMarkdownDocumentStream');
143
+ require('../parse/processMarkdownDocumentUrl');
144
+ require('../parse/updateMarkdownDocument');
145
+ require('../platform/getOcrCounts');
146
+ require('../platform/getOpenApiSchema');
147
+ require('../platform/getReleaseNotifications');
148
+ require('../settings/addWebhook');
149
+ require('../settings/confirmWebhook');
150
+ require('../settings/createApiKey');
151
+ require('../settings/createClientKeys');
152
+ require('../settings/deleteClientKey');
153
+ require('../settings/deleteTlsCertificate');
154
+ require('../settings/getApiKey');
155
+ require('../settings/getApiKeyPermissions');
156
+ require('../settings/getApiKeys');
157
+ require('../settings/getClientKeys');
158
+ require('../settings/getTlsCertificates');
159
+ require('../settings/getWebhooks');
160
+ require('../settings/processTlsCertificate');
161
+ require('../settings/resetClientKeys');
162
+ require('../settings/revokeApiKey');
163
+ require('../settings/rotateApiKey');
164
+ require('../settings/updateApiKey');
165
+ require('../settings/verifyApiKey');
47
166
  require('../split/getSplitDocument');
48
167
  require('../split/getSplitDocuments');
168
+ require('../split/splitDocument');
169
+ require('../split/splitDocumentBase64');
170
+ require('../split/splitDocumentStream');
171
+ require('../split/splitDocumentUrl');
49
172
  require('../w2s/deleteW2');
50
173
  require('../w2s/getW2');
174
+ require('../w2s/getW2Set');
175
+ require('../w2s/getW2Sets');
51
176
  require('../w2s/getW2s');
52
177
  require('../w2s/processW2');
53
178
  require('../w2s/processW2Base64');
54
179
  require('../w2s/processW2Stream');
55
180
  require('../w2s/processW2Url');
181
+ require('../w2s/splitW2s');
182
+ require('../w2s/splitW2sBase64');
183
+ require('../w2s/splitW2sStream');
184
+ require('../w2s/splitW2sUrl');
185
+ require('../w2s/tags/addW2Tag');
186
+ require('../w2s/tags/addW2Tags');
187
+ require('../w2s/tags/deleteW2Tag');
188
+ require('../w2s/tags/deleteW2Tags');
189
+ require('../w2s/tags/getW2Tags');
190
+ require('../w2s/updateW2');
56
191
  require('../w8bene/deleteW8BENE');
57
192
  require('../w8bene/getW8BENE');
58
193
  require('../w8bene/getW8BENEs');
@@ -60,6 +195,12 @@ require('../w8bene/processW8BENE');
60
195
  require('../w8bene/processW8BENEBase64');
61
196
  require('../w8bene/processW8BENEStream');
62
197
  require('../w8bene/processW8BENEUrl');
198
+ require('../w8bene/tags/addW8beneTag');
199
+ require('../w8bene/tags/addW8beneTags');
200
+ require('../w8bene/tags/deleteW8beneTag');
201
+ require('../w8bene/tags/deleteW8beneTags');
202
+ require('../w8bene/tags/getW8beneTags');
203
+ require('../w8bene/updateW8BENE');
63
204
  require('../w9s/deleteW9');
64
205
  require('../w9s/getW9');
65
206
  require('../w9s/getW9s');
@@ -67,4 +208,10 @@ require('../w9s/processW9');
67
208
  require('../w9s/processW9Base64');
68
209
  require('../w9s/processW9Stream');
69
210
  require('../w9s/processW9Url');
211
+ require('../w9s/tags/addW9Tag');
212
+ require('../w9s/tags/addW9Tags');
213
+ require('../w9s/tags/deleteW9Tag');
214
+ require('../w9s/tags/deleteW9Tags');
215
+ require('../w9s/tags/getW9Tags');
216
+ require('../w9s/updateW9');
70
217
  module.exports = Client;
@@ -11,11 +11,16 @@ const {promisify} = require("util");
11
11
  * @param {{}} request_arguments JSON payload to send to Veryfi
12
12
  * @param params {{}} query params.
13
13
  * @param {Boolean} has_files Are there any files to be submitted as binary
14
+ * @param {Object} options Optional request options
15
+ * @param {string} [options.api_version] Override the default API version (v8)
16
+ * @param {boolean} [options.skip_partner] Skip the /partner path segment (used by some v1 routes)
14
17
  * @returns {JSON} A JSON of the response data.
15
18
  */
16
- Client.prototype._request = async function (http_verb, endpoint_name, request_arguments, params = {}, has_files = false) {
19
+ Client.prototype._request = async function (http_verb, endpoint_name, request_arguments, params = {}, has_files = false, options = {}) {
17
20
  let headers = this._get_headers(has_files);
18
- let api_url = `${this._get_url()}/partner${endpoint_name}`;
21
+ let api_version = (options && options.api_version) ? options.api_version : this.api_version;
22
+ let partner = (options && options.skip_partner) ? "" : "/partner";
23
+ let api_url = `${this.base_url}api/${api_version}${partner}${endpoint_name}`;
19
24
 
20
25
  if (this.client_secret) {
21
26
  let timestamp = Date.now();
@@ -0,0 +1,12 @@
1
+ const Client = require('../client/constructor');
2
+ /**
3
+ * Delete a contract. https://docs.veryfi.com/api/contracts/delete-a-contract/
4
+ *
5
+ * @memberof Client
6
+ * @param {string} document_id ID of the document
7
+ * @returns {JSON} Delete response
8
+ */
9
+ Client.prototype.delete_contract = async function (document_id) {
10
+ let endpoint_name = `/contracts/${document_id}/`;
11
+ return this._request("DELETE", endpoint_name, {"id": document_id});
12
+ }
@@ -0,0 +1,18 @@
1
+ const Client = require('../client/constructor');
2
+ /**
3
+ * Get a contract. https://docs.veryfi.com/api/contracts/get-a-contract/
4
+ *
5
+ * @memberof Client
6
+ * @param {string} document_id ID of the document
7
+ * @param {Object} kwargs Additional request parameters
8
+ * @returns {JSON} Document data
9
+ */
10
+ Client.prototype.get_contract = async function (
11
+ document_id,
12
+ {...kwargs} = {}
13
+ ) {
14
+ let endpoint_name = `/contracts/${document_id}/`;
15
+ let query = Object.assign({}, kwargs);
16
+ let response = await this._request("GET", endpoint_name, {}, query, false);
17
+ return response['data'];
18
+ }
@@ -0,0 +1,23 @@
1
+ const Client = require('../client/constructor');
2
+ /**
3
+ * Get contracts. https://docs.veryfi.com/api/contracts/get-contracts/
4
+ *
5
+ * @memberof Client
6
+ * @param {number} page The page number. The response is capped to a maximum of 50 results per page.
7
+ * @param {number} page_size The number of documents per page.
8
+ * @param {Object} kwargs Additional request parameters
9
+ * @returns {JSON} List of documents
10
+ */
11
+ Client.prototype.get_contracts = async function (
12
+ page = 1,
13
+ page_size = 50,
14
+ {...kwargs} = {}
15
+ ) {
16
+ let endpoint_name = "/contracts/";
17
+ let query = Object.assign({
18
+ "page": page,
19
+ "page_size": page_size,
20
+ }, kwargs);
21
+ let response = await this._request("GET", endpoint_name, {}, query, false);
22
+ return response['data'];
23
+ }
@@ -0,0 +1,25 @@
1
+ const Client = require('../client/constructor');
2
+ const path = require('path');
3
+ const fs = require('fs');
4
+ /**
5
+ * Process a contract. https://docs.veryfi.com/api/contracts/process-a-contract/
6
+ * @example
7
+ * veryfi_client.process_contract('file/path')
8
+ *
9
+ * @memberof Client
10
+ * @param {String} file_path Path on disk to a file to submit
11
+ * @param {Object} kwargs Additional request parameters
12
+ * @returns {JSON} API response data
13
+ */
14
+ Client.prototype.process_contract = async function (
15
+ file_path,
16
+ {...kwargs} = {}
17
+ ) {
18
+ let file = fs.createReadStream(file_path);
19
+ let file_name = path.basename(file_path);
20
+ return this.process_contract_from_stream(
21
+ file,
22
+ file_name,
23
+ kwargs
24
+ );
25
+ }
@@ -0,0 +1,24 @@
1
+ const Client = require('../client/constructor');
2
+ /**
3
+ * Process a contract from a base64 string. https://docs.veryfi.com/api/contracts/process-a-contract/
4
+ *
5
+ * @memberof Client
6
+ * @param {String} file_name The file name including the extension
7
+ * @param {String} file_base64_string Base64-encoded file contents (raw or data URI)
8
+ * @param {Object} kwargs Additional request parameters
9
+ * @returns {JSON} API response data
10
+ */
11
+ Client.prototype.process_contract_from_base64 = async function (
12
+ file_name,
13
+ file_base64_string,
14
+ {...kwargs} = {}
15
+ ) {
16
+ let endpoint_name = "/contracts/";
17
+ let request_arguments = {
18
+ "file_name": file_name,
19
+ "file_data": file_base64_string,
20
+ };
21
+ request_arguments = Object.assign(request_arguments, kwargs);
22
+ let response = await this._request("POST", endpoint_name, request_arguments, null, false);
23
+ return response['data'];
24
+ }
@@ -0,0 +1,24 @@
1
+ const Client = require('../client/constructor');
2
+ /**
3
+ * Process a contract from a file stream. https://docs.veryfi.com/api/contracts/process-a-contract/
4
+ *
5
+ * @memberof Client
6
+ * @param {stream.Readable} file ReadStream of a file to submit
7
+ * @param {String} file_name The file name including the extension
8
+ * @param {Object} kwargs Additional request parameters
9
+ * @returns {JSON} API response data
10
+ */
11
+ Client.prototype.process_contract_from_stream = async function (
12
+ file,
13
+ file_name,
14
+ {...kwargs} = {}
15
+ ) {
16
+ let endpoint_name = "/contracts/";
17
+ let request_arguments = {
18
+ "file": file,
19
+ "file_name": file_name,
20
+ };
21
+ request_arguments = Object.assign(request_arguments, kwargs);
22
+ let response = await this._request("POST", endpoint_name, request_arguments, null, true);
23
+ return response['data'];
24
+ }
@@ -0,0 +1,24 @@
1
+ const Client = require('../client/constructor');
2
+ /**
3
+ * Process a contract from a URL. https://docs.veryfi.com/api/contracts/process-a-contract/
4
+ *
5
+ * @memberof Client
6
+ * @param {string|null} file_url Required if file_urls isn't specified. Publicly accessible URL to a file.
7
+ * @param {string[]} file_urls Required if file_url isn't specified. List of publicly accessible URLs.
8
+ * @param {Object} kwargs Additional request parameters
9
+ * @returns {JSON} API response data
10
+ */
11
+ Client.prototype.process_contract_from_url = async function (
12
+ file_url = null,
13
+ file_urls = null,
14
+ {...kwargs} = {}
15
+ ) {
16
+ let endpoint_name = "/contracts/";
17
+ let request_arguments = {
18
+ "file_url": file_url,
19
+ "file_urls": file_urls,
20
+ };
21
+ request_arguments = Object.assign(request_arguments, kwargs);
22
+ let response = await this._request("POST", endpoint_name, request_arguments, null, false);
23
+ return response['data'];
24
+ }
@@ -0,0 +1,15 @@
1
+ const Client = require('../../client/constructor');
2
+ /**
3
+ * Add a tag to a contract. https://docs.veryfi.com/api/add-a-tag-to-a-contract/
4
+ *
5
+ * @memberof Client
6
+ * @param {string} document_id ID of the document
7
+ * @param {string} tag Tag name to add
8
+ * @returns {JSON} Tag response
9
+ */
10
+ Client.prototype.add_contract_tag = async function (document_id, tag) {
11
+ let endpoint_name = `/contracts/${document_id}/tags/`;
12
+ let request_arguments = {"name": tag};
13
+ let response = await this._request("PUT", endpoint_name, request_arguments);
14
+ return response['data'];
15
+ }
@@ -0,0 +1,15 @@
1
+ const Client = require('../../client/constructor');
2
+ /**
3
+ * Add tags to a contract. https://docs.veryfi.com/api/add-tags-to-a-contract/
4
+ *
5
+ * @memberof Client
6
+ * @param {string} document_id ID of the document
7
+ * @param {string[]} tags Tag names to add
8
+ * @returns {JSON} Tags response
9
+ */
10
+ Client.prototype.add_contract_tags = async function (document_id, tags) {
11
+ let endpoint_name = `/contracts/${document_id}/tags/`;
12
+ let request_arguments = {"tags": tags};
13
+ let response = await this._request("POST", endpoint_name, request_arguments);
14
+ return response['data'];
15
+ }
@@ -0,0 +1,13 @@
1
+ const Client = require('../../client/constructor');
2
+ /**
3
+ * Unlink a tag from a contract. https://docs.veryfi.com/api/unlink-a-tag-from-a-contract/
4
+ *
5
+ * @memberof Client
6
+ * @param {string} document_id ID of the document
7
+ * @param {string} tag_id ID of the tag to unlink
8
+ * @returns {JSON} Delete response
9
+ */
10
+ Client.prototype.delete_contract_tag = async function (document_id, tag_id) {
11
+ let endpoint_name = `/contracts/${document_id}/tags/${tag_id}/`;
12
+ return this._request("DELETE", endpoint_name, {});
13
+ }
@@ -0,0 +1,12 @@
1
+ const Client = require('../../client/constructor');
2
+ /**
3
+ * Unlink all tags from a contract. https://docs.veryfi.com/api/unlink-all-tags-from-a-contract/
4
+ *
5
+ * @memberof Client
6
+ * @param {string} document_id ID of the document
7
+ * @returns {JSON} Delete response
8
+ */
9
+ Client.prototype.delete_contract_tags = async function (document_id) {
10
+ let endpoint_name = `/contracts/${document_id}/tags/`;
11
+ return this._request("DELETE", endpoint_name, {});
12
+ }
@@ -0,0 +1,14 @@
1
+ const Client = require('../../client/constructor');
2
+ /**
3
+ * Get tags assigned to a contract. https://docs.veryfi.com/api/get-contract-tags/
4
+ *
5
+ * @memberof Client
6
+ * @param {string} document_id ID of the document
7
+ * @param {Object} kwargs Additional request parameters
8
+ * @returns {JSON} List of tags
9
+ */
10
+ Client.prototype.get_contract_tags = async function (document_id, {...kwargs} = {}) {
11
+ let endpoint_name = `/contracts/${document_id}/tags/`;
12
+ let response = await this._request("GET", endpoint_name, {}, kwargs, false);
13
+ return response['data'];
14
+ }
@@ -0,0 +1,14 @@
1
+ const Client = require('../client/constructor');
2
+ /**
3
+ * Update a contract. https://docs.veryfi.com/api/contracts/update-a-contract/
4
+ *
5
+ * @memberof Client
6
+ * @param {string} document_id ID of the document
7
+ * @param {Object} kwargs Fields to update
8
+ * @returns {JSON} Updated document
9
+ */
10
+ Client.prototype.update_contract = async function (document_id, {...kwargs} = {}) {
11
+ let endpoint_name = `/contracts/${document_id}/`;
12
+ let response = await this._request("PUT", endpoint_name, kwargs);
13
+ return response['data'];
14
+ }
@@ -8,7 +8,6 @@ const Client = require('../client/constructor');
8
8
  */
9
9
  Client.prototype.get_document = async function (document_id, {...kwargs} = {}) {
10
10
  let endpoint_name = `/documents/${document_id}/`;
11
- let request_arguments = {"id": document_id};
12
- let document = await this._request("GET", endpoint_name, request_arguments, kwargs, false);
11
+ let document = await this._request("GET", endpoint_name, {}, kwargs, false);
13
12
  return document['data'];
14
13
  }