conductor-node 11.4.4 → 11.5.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 +3 -3
- package/dist/package.json +8 -8
- package/dist/src/integrations/qbd/QbdIntegration.d.ts +24 -0
- package/dist/src/integrations/qbd/QbdIntegration.js +24 -0
- package/dist/src/integrations/qbd/qbdTypes.d.ts +30 -0
- package/dist/src/resources/AuthSessionsResource.d.ts +2 -10
- package/dist/src/resources/AuthSessionsResource.js +0 -3
- package/dist/src/resources/EndUsersResource.d.ts +3 -1
- package/package.json +8 -8
package/README.md
CHANGED
|
@@ -15,14 +15,14 @@
|
|
|
15
15
|
<span> • </span>
|
|
16
16
|
<a href="https://docs.conductor.is">Docs</a>
|
|
17
17
|
<span> • </span>
|
|
18
|
-
<a href="https://docs.conductor.is/qbd-
|
|
18
|
+
<a href="https://docs.conductor.is/qbd-examples">Examples</a>
|
|
19
19
|
<br />
|
|
20
20
|
<hr />
|
|
21
21
|
</div>
|
|
22
22
|
|
|
23
23
|
## What is Conductor?
|
|
24
24
|
|
|
25
|
-
Conductor is a TypeScript-first Node.js API for **QuickBooks Desktop** (
|
|
25
|
+
Conductor is a TypeScript-first Node.js API for **QuickBooks Desktop** (sometimes called QuickBooks Enterprise). In just a few lines, get real-time access to fetch, create, or update [_any_ QuickBooks Desktop object type](https://docs.conductor.is/qbd/api#supported-object-types) and receive a fully-typed response. Check out [the documentation](https://docs.conductor.is) to get started.
|
|
26
26
|
|
|
27
27
|
We also offer a [REST API](https://docs.conductor.is/usage/rest).
|
|
28
28
|
|
|
@@ -43,7 +43,7 @@ Conductor, the company, is building a data integration platform for vertical Saa
|
|
|
43
43
|
|
|
44
44
|
## Requirements
|
|
45
45
|
|
|
46
|
-
1. A Conductor API key pair: one secret key, one publishable key. Please [complete this form](https://
|
|
46
|
+
1. A Conductor API key pair: one secret key, one publishable key. Please [complete this form](https://73a5v9t55ed.typeform.com/to/VRX7rfrN) to join the beta.
|
|
47
47
|
2. Node.js v16 or later.
|
|
48
48
|
|
|
49
49
|
## Installation
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "conductor-node",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.5.0",
|
|
4
4
|
"description": "QuickBooks Desktop API for Node.js and TypeScript",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"QuickBooks",
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
],
|
|
19
19
|
"homepage": "https://conductor.is",
|
|
20
20
|
"repository": "github:conductor-is/conductor-node",
|
|
21
|
-
"author": "Conductor <support@conductor.is>",
|
|
22
21
|
"license": "MIT",
|
|
22
|
+
"author": "Conductor <support@conductor.is>",
|
|
23
23
|
"type": "commonjs",
|
|
24
24
|
"main": "dist/src/index.js",
|
|
25
25
|
"types": "dist/src/index.d.ts",
|
|
@@ -28,21 +28,21 @@
|
|
|
28
28
|
"dist/package.json"
|
|
29
29
|
],
|
|
30
30
|
"scripts": {
|
|
31
|
-
"prepack": "yarn --silent tsc && yarn --silent delete-compiled-dev-files && yarn --silent tsc-alias",
|
|
32
|
-
"delete-compiled-dev-files": "rm -rf `find ./dist -type d -name __tests__` ./dist/src/utils/test/*",
|
|
33
|
-
"postpack": "rm -rf dist",
|
|
34
31
|
"clean": "rm -rf dist package conductor-node-*.tgz tsconfig.tsbuildinfo",
|
|
32
|
+
"delete-compiled-dev-files": "rm -rf `find ./dist -type d -name __tests__` ./dist/src/utils/test/*",
|
|
35
33
|
"diff": "yarn pack && npm diff --diff=conductor-node@latest --diff=conductor-node-v$(node -p \"require('./package.json').version\").tgz && yarn clean",
|
|
34
|
+
"prepack": "yarn --silent tsc && yarn --silent delete-compiled-dev-files && yarn --silent tsc-alias",
|
|
35
|
+
"postpack": "rm -rf dist",
|
|
36
36
|
"prepublishOnly": "yarn jest"
|
|
37
37
|
},
|
|
38
|
-
"engines": {
|
|
39
|
-
"node": ">=16"
|
|
40
|
-
},
|
|
41
38
|
"dependencies": {
|
|
42
39
|
"axios": "^1.4.0"
|
|
43
40
|
},
|
|
44
41
|
"devDependencies": {
|
|
45
42
|
"axios-mock-adapter": "^1.21.4",
|
|
46
43
|
"tsc-alias": "^1.7.0"
|
|
44
|
+
},
|
|
45
|
+
"engines": {
|
|
46
|
+
"node": ">=16"
|
|
47
47
|
}
|
|
48
48
|
}
|
|
@@ -2563,6 +2563,30 @@ export default class QbdIntegration extends BaseIntegration {
|
|
|
2563
2563
|
*/
|
|
2564
2564
|
query: (endUserId: string, params?: QbdTypes.TransferInventoryQueryRq) => Promise<NonNullable<QbdTypes.TransferInventoryQueryRs["TransferInventoryRet"]>>;
|
|
2565
2565
|
};
|
|
2566
|
+
/**
|
|
2567
|
+
* Query deleted transaction elements, such as invoices, bills, and checks.
|
|
2568
|
+
*/
|
|
2569
|
+
txnDeleted: {
|
|
2570
|
+
/**
|
|
2571
|
+
* Returns all transaction elements deleted within the last 90 days, grouped
|
|
2572
|
+
* according to object type.
|
|
2573
|
+
*
|
|
2574
|
+
* For example, if the request specifies `TxnDelType` elements of `Bill` and
|
|
2575
|
+
* then `Check`, it will return all the `Bill` deletes first, then all the
|
|
2576
|
+
* `Check` deletes.
|
|
2577
|
+
*
|
|
2578
|
+
* By default, the records are returned in ascending order, according to the
|
|
2579
|
+
* “real” delete time. For example:
|
|
2580
|
+
* - If transaction A is deleted at 10 a.m. and B is deleted at 11 a.m., the
|
|
2581
|
+
* query request will return A first, then B.
|
|
2582
|
+
* - However, if the QuickBooks user moves the clock back before deleting B
|
|
2583
|
+
* (for example, B is deleted at 9 a.m.), the query will still return
|
|
2584
|
+
* first A then B, because B was deleted after A in “real” time.
|
|
2585
|
+
*
|
|
2586
|
+
* See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/TxnDeletedQuery
|
|
2587
|
+
*/
|
|
2588
|
+
query: (endUserId: string, params: QbdTypes.TxnDeletedQueryRq) => Promise<NonNullable<QbdTypes.TxnDeletedQueryRs["TxnDeletedRet"]>>;
|
|
2589
|
+
};
|
|
2566
2590
|
/**
|
|
2567
2591
|
* A vehicle is used to add, select, and manage vehicles for tracking and
|
|
2568
2592
|
* billing mileage.
|
|
@@ -2568,6 +2568,30 @@ class QbdIntegration extends BaseIntegration_1.default {
|
|
|
2568
2568
|
*/
|
|
2569
2569
|
query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { TransferInventoryQueryRq: params }, "TransferInventoryQueryRs", "TransferInventoryRet"),
|
|
2570
2570
|
};
|
|
2571
|
+
/**
|
|
2572
|
+
* Query deleted transaction elements, such as invoices, bills, and checks.
|
|
2573
|
+
*/
|
|
2574
|
+
txnDeleted = {
|
|
2575
|
+
/**
|
|
2576
|
+
* Returns all transaction elements deleted within the last 90 days, grouped
|
|
2577
|
+
* according to object type.
|
|
2578
|
+
*
|
|
2579
|
+
* For example, if the request specifies `TxnDelType` elements of `Bill` and
|
|
2580
|
+
* then `Check`, it will return all the `Bill` deletes first, then all the
|
|
2581
|
+
* `Check` deletes.
|
|
2582
|
+
*
|
|
2583
|
+
* By default, the records are returned in ascending order, according to the
|
|
2584
|
+
* “real” delete time. For example:
|
|
2585
|
+
* - If transaction A is deleted at 10 a.m. and B is deleted at 11 a.m., the
|
|
2586
|
+
* query request will return A first, then B.
|
|
2587
|
+
* - However, if the QuickBooks user moves the clock back before deleting B
|
|
2588
|
+
* (for example, B is deleted at 9 a.m.), the query will still return
|
|
2589
|
+
* first A then B, because B was deleted after A in “real” time.
|
|
2590
|
+
*
|
|
2591
|
+
* See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/TxnDeletedQuery
|
|
2592
|
+
*/
|
|
2593
|
+
query: async (endUserId, params) => this.sendRequestWrapper(endUserId, { TxnDeletedQueryRq: params }, "TxnDeletedQueryRs", "TxnDeletedRet"),
|
|
2594
|
+
};
|
|
2571
2595
|
/**
|
|
2572
2596
|
* A vehicle is used to add, select, and manage vehicles for tracking and
|
|
2573
2597
|
* billing mileage.
|
|
@@ -3597,6 +3597,12 @@ export type DateMacro = "All" | "LastCalendarQuarter" | "LastCalendarQuarterToDa
|
|
|
3597
3597
|
export type DecimalPlaces = "0" | "2";
|
|
3598
3598
|
/** @default: Period */
|
|
3599
3599
|
export type DecimalSeparator = "Comma" | "Period";
|
|
3600
|
+
export interface DeletedDateRangeFilter {
|
|
3601
|
+
/** Selects objects deleted on or after this date. Both `FromDeletedDate` and `ToDeletedDate` must be between 1970-01-01 and 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST). (But note that `ListDeletedQuery` requests will only return records deleted within the last 90 days, even if the specified `FromDeletedDate` is earlier.) If `FromDeletedDate` includes a date but not a time (for example, if you set it to 2002-02-14), the time is assumed to be zero (2003-02-14T00:00:00). If you omit `FromDeletedDate`, it will be set to 1970-01-01T00:00:00 (1969-12-31T16:00:00-08:00 PST). */
|
|
3602
|
+
FromDeletedDate?: string;
|
|
3603
|
+
/** Selects objects deleted on or before this date. Both `ToDeletedDate` and `FromDeletedDate` must be between 1970-01-01 and 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST). If `ToDeletedDate` includes a date but not a time (for example, if you set it to 2002-02-14), the time is assumed to be the end of the day (2003-02-14T23:59:59). If you omit `ToDeletedDate` altogether, then it will be set to 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST). */
|
|
3604
|
+
ToDeletedDate?: string;
|
|
3605
|
+
}
|
|
3600
3606
|
export interface DepositAdd {
|
|
3601
3607
|
/** The date of the transaction. In some cases, if you leave `TxnDate` out of an -Add message, QuickBooks will prefill `TxnDate` with the date of the last-saved transaction of the same type. */
|
|
3602
3608
|
TxnDate?: string;
|
|
@@ -12205,6 +12211,30 @@ export interface TxnDateRangeFilter {
|
|
|
12205
12211
|
The list given when you click `IQBENDateMacroType` shows the complete list of valid version 3.0 values. */
|
|
12206
12212
|
DateMacro?: DateMacro;
|
|
12207
12213
|
}
|
|
12214
|
+
export interface TxnDeletedQueryRq {
|
|
12215
|
+
/** A list of enum values showing which types of deleted transactions the query will return. */
|
|
12216
|
+
TxnDelType: TxnDelType | TxnDelType[];
|
|
12217
|
+
/** Filters according to delete dates (within the last 90 days). */
|
|
12218
|
+
DeletedDateRangeFilter?: DeletedDateRangeFilter;
|
|
12219
|
+
/** You use this if you want to limit the data that will be returned in the response. In this list, you specify the name of each top-level element or aggregate that you want to be returned in the response to the request. You cannot specify fields within an aggregate, for example, you cannot specify a `City` within an `Address`: you must specify `Address` and will get the entire address. The names specified in the list are not parsed, so you must be especially careful to supply valid names, properly cased. No error is returned in the status code if you specify an invalid name. Notice that if you want to return custom data or private data extensions, you must specify the `DataExtRet` element and you must supply the `OwnerID` set to either a value of 0 (custom data) or the GUID for the private data. */
|
|
12220
|
+
IncludeRetElement?: string[] | string;
|
|
12221
|
+
}
|
|
12222
|
+
export interface TxnDeletedQueryRs {
|
|
12223
|
+
TxnDeletedRet: TxnDeletedRet[];
|
|
12224
|
+
}
|
|
12225
|
+
export interface TxnDeletedRet {
|
|
12226
|
+
/** The type of transaction to be deleted. */
|
|
12227
|
+
TxnDelType: TxnDelType;
|
|
12228
|
+
/** QuickBooks generates a unique `TxnID` for each transaction that is added to QuickBooks. A `TxnID` returned from a request can be used to refer to the transaction in subsequent requests. Notice that you cannot supply the `TxnID` of a `TimeTracking` transaction to `TransactionQueryRq` requests. If you do, you get an error stating that no such record could be found, even though the transaction is in QuickBooks. This behavior reflects the behavior in the QuicKBooks UI in the Find window. */
|
|
12229
|
+
TxnID: string;
|
|
12230
|
+
/** Time the object was created. */
|
|
12231
|
+
TimeCreated: string;
|
|
12232
|
+
/** The time when this list or transaction object was deleted. */
|
|
12233
|
+
TimeDeleted: string;
|
|
12234
|
+
/** A string of characters that refers to this transaction and that can be arbitrarily changed by the QuickBooks user. In a `BillPaymentCheckAdd` request, if you want to set the check number, use `RefNumber`.`Note` (especially relevant to `CheckAdd` requests): When `RefNumber` is left blank in an SDK transaction add request (that is, or ), the `RefNumber` will be left blank in QuickBooks. This behavior is new as of QBFC3. It used to select the next sequential reference number since the last one used by QuickBooks, as though no `RefNumber` had been provided. This is especially relevant to `CheckAdd` requests because with the current behavior, you will not know the number until the check is printed. */
|
|
12235
|
+
RefNumber?: string;
|
|
12236
|
+
}
|
|
12237
|
+
export type TxnDelType = "ARRefundCreditCard" | "Bill" | "BillPaymentCheck" | "BillPaymentCreditCard" | "BuildAssembly" | "Charge" | "Check" | "CreditCardCharge" | "CreditCardCredit" | "CreditMemo" | "Deposit" | "Estimate" | "InventoryAdjustment" | "Invoice" | "ItemReceipt" | "JournalEntry" | "PayrollLiabilityAdjustment [PRIVATE]" | "PayrollPriorPayment [PRIVATE]" | "PayrollYearToDateAdjustment [PRIVATE]" | "PurchaseOrder" | "ReceivePayment" | "SalesOrder" | "SalesReceipt" | "SalesTaxPaymentCheck" | "TimeTracking" | "TransferInventory" | "VehicleMileage" | "VendorCredit";
|
|
12208
12238
|
export type TxnType = "ARRefundCreditCard" | "Bill" | "BillPaymentCheck" | "BillPaymentCreditCard" | "BuildAssembly" | "Charge" | "Check" | "CreditCardCharge" | "CreditCardCredit" | "CreditMemo" | "Deposit" | "Estimate" | "InventoryAdjustment" | "Invoice" | "ItemReceipt" | "JournalEntry" | "LiabilityAdjustment" | "Paycheck" | "PayrollLiabilityCheck" | "PurchaseOrder" | "ReceivePayment" | "SalesOrder" | "SalesReceipt" | "SalesTaxPaymentCheck" | "Transfer" | "VendorCredit" | "YTDAdjustment";
|
|
12209
12239
|
export type TxnTypeFilter = "All" | "ARRefundCreditCard" | "Bill" | "BillPaymentCheck" | "BillPaymentCreditCard" | "BuildAssembly" | "Charge" | "Check" | "CreditCardCharge" | "CreditCardCredit" | "CreditMemo" | "Deposit" | "Estimate" | "InventoryAdjustment" | "Invoice" | "ItemReceipt" | "JournalEntry" | "LiabilityAdjustment" | "Paycheck" | "PayrollLiabilityCheck" | "PurchaseOrder" | "ReceivePayment" | "SalesOrder" | "SalesReceipt" | "SalesTaxPaymentCheck" | "Transfer" | "VendorCredit" | "YTDAdjustment";
|
|
12210
12240
|
export interface UnitOfMeasureSetRef {
|
|
@@ -26,14 +26,10 @@ export interface AuthSession {
|
|
|
26
26
|
readonly expiresAt: string;
|
|
27
27
|
/**
|
|
28
28
|
* The URL to which Conductor will redirect the end-user to return to your app
|
|
29
|
-
* after they complete the authentication flow. If `
|
|
30
|
-
* will close instead.
|
|
29
|
+
* after they complete the authentication flow. If `undefined`, their browser
|
|
30
|
+
* tab will close instead.
|
|
31
31
|
*/
|
|
32
32
|
readonly redirectUrl: string | undefined;
|
|
33
|
-
/**
|
|
34
|
-
* @deprecated Use `redirectUrl` instead.
|
|
35
|
-
*/
|
|
36
|
-
readonly returnUrl?: string | undefined;
|
|
37
33
|
}
|
|
38
34
|
export interface AuthSessionCreateInput {
|
|
39
35
|
/**
|
|
@@ -57,10 +53,6 @@ export interface AuthSessionCreateInput {
|
|
|
57
53
|
* tab will close instead.
|
|
58
54
|
*/
|
|
59
55
|
readonly redirectUrl?: string;
|
|
60
|
-
/**
|
|
61
|
-
* @deprecated Use `redirectUrl` instead.
|
|
62
|
-
*/
|
|
63
|
-
readonly returnUrl?: string;
|
|
64
56
|
}
|
|
65
57
|
export default class AuthSessionsResource extends BaseResource {
|
|
66
58
|
protected readonly ROUTE = "/auth_sessions";
|
|
@@ -12,9 +12,6 @@ class AuthSessionsResource extends BaseResource_1.default {
|
|
|
12
12
|
* flow.
|
|
13
13
|
*/
|
|
14
14
|
async create(input) {
|
|
15
|
-
if (input.returnUrl !== undefined) {
|
|
16
|
-
console.warn("The `returnUrl` parameter is deprecated. Please use `redirectUrl` instead.");
|
|
17
|
-
}
|
|
18
15
|
const { data } = await this.httpClient.post(this.ROUTE, input);
|
|
19
16
|
return data;
|
|
20
17
|
}
|
|
@@ -2,7 +2,9 @@ import BaseResource from "../resources/BaseResource";
|
|
|
2
2
|
import type { IntegrationSlug } from "../resources/IntegrationConnectionsResource";
|
|
3
3
|
export interface EndUser {
|
|
4
4
|
/**
|
|
5
|
-
* The unique identifier for
|
|
5
|
+
* The unique identifier for this EndUser. You must save this value to your
|
|
6
|
+
* database because it is how you identify the target of your requests in the
|
|
7
|
+
* future.
|
|
6
8
|
*/
|
|
7
9
|
readonly id: string;
|
|
8
10
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "conductor-node",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.5.0",
|
|
4
4
|
"description": "QuickBooks Desktop API for Node.js and TypeScript",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"QuickBooks",
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
],
|
|
19
19
|
"homepage": "https://conductor.is",
|
|
20
20
|
"repository": "github:conductor-is/conductor-node",
|
|
21
|
-
"author": "Conductor <support@conductor.is>",
|
|
22
21
|
"license": "MIT",
|
|
22
|
+
"author": "Conductor <support@conductor.is>",
|
|
23
23
|
"type": "commonjs",
|
|
24
24
|
"main": "dist/src/index.js",
|
|
25
25
|
"types": "dist/src/index.d.ts",
|
|
@@ -28,21 +28,21 @@
|
|
|
28
28
|
"dist/package.json"
|
|
29
29
|
],
|
|
30
30
|
"scripts": {
|
|
31
|
-
"prepack": "yarn --silent tsc && yarn --silent delete-compiled-dev-files && yarn --silent tsc-alias",
|
|
32
|
-
"delete-compiled-dev-files": "rm -rf `find ./dist -type d -name __tests__` ./dist/src/utils/test/*",
|
|
33
|
-
"postpack": "rm -rf dist",
|
|
34
31
|
"clean": "rm -rf dist package conductor-node-*.tgz tsconfig.tsbuildinfo",
|
|
32
|
+
"delete-compiled-dev-files": "rm -rf `find ./dist -type d -name __tests__` ./dist/src/utils/test/*",
|
|
35
33
|
"diff": "yarn pack && npm diff --diff=conductor-node@latest --diff=conductor-node-v$(node -p \"require('./package.json').version\").tgz && yarn clean",
|
|
34
|
+
"prepack": "yarn --silent tsc && yarn --silent delete-compiled-dev-files && yarn --silent tsc-alias",
|
|
35
|
+
"postpack": "rm -rf dist",
|
|
36
36
|
"prepublishOnly": "yarn jest"
|
|
37
37
|
},
|
|
38
|
-
"engines": {
|
|
39
|
-
"node": ">=16"
|
|
40
|
-
},
|
|
41
38
|
"dependencies": {
|
|
42
39
|
"axios": "^1.4.0"
|
|
43
40
|
},
|
|
44
41
|
"devDependencies": {
|
|
45
42
|
"axios-mock-adapter": "^1.21.4",
|
|
46
43
|
"tsc-alias": "^1.7.0"
|
|
44
|
+
},
|
|
45
|
+
"engines": {
|
|
46
|
+
"node": ">=16"
|
|
47
47
|
}
|
|
48
48
|
}
|