@apideck/unify 0.27.0 → 0.28.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 (192) hide show
  1. package/README.md +5 -5
  2. package/docs/sdks/categories/README.md +12 -0
  3. package/docs/sdks/companies/README.md +4 -4
  4. package/examples/README.md +26 -0
  5. package/examples/accountingTaxRatesList.example.ts +41 -0
  6. package/examples/package-lock.json +613 -0
  7. package/examples/package.json +18 -0
  8. package/funcs/accountingCategoriesGet.d.ts.map +1 -1
  9. package/funcs/accountingCategoriesGet.js +4 -2
  10. package/funcs/accountingCategoriesGet.js.map +1 -1
  11. package/funcs/accountingCategoriesList.d.ts.map +1 -1
  12. package/funcs/accountingCategoriesList.js +4 -2
  13. package/funcs/accountingCategoriesList.js.map +1 -1
  14. package/funcs/crmCompaniesCreate.js +1 -1
  15. package/funcs/crmCompaniesCreate.js.map +1 -1
  16. package/funcs/crmCompaniesUpdate.js +1 -1
  17. package/funcs/crmCompaniesUpdate.js.map +1 -1
  18. package/jsr.json +1 -1
  19. package/lib/config.d.ts +4 -4
  20. package/lib/config.js +4 -4
  21. package/models/components/balancesheetfilter.d.ts +5 -0
  22. package/models/components/balancesheetfilter.d.ts.map +1 -1
  23. package/models/components/balancesheetfilter.js +4 -0
  24. package/models/components/balancesheetfilter.js.map +1 -1
  25. package/models/components/bankaccount.d.ts +5 -0
  26. package/models/components/bankaccount.d.ts.map +1 -1
  27. package/models/components/bankaccount.js +2 -0
  28. package/models/components/bankaccount.js.map +1 -1
  29. package/models/components/bankaccount1.d.ts +123 -0
  30. package/models/components/bankaccount1.d.ts.map +1 -0
  31. package/models/components/bankaccount1.js +128 -0
  32. package/models/components/bankaccount1.js.map +1 -0
  33. package/models/components/categoriesfilter.d.ts +67 -0
  34. package/models/components/categoriesfilter.d.ts.map +1 -0
  35. package/models/components/categoriesfilter.js +82 -0
  36. package/models/components/categoriesfilter.js.map +1 -0
  37. package/models/components/category.d.ts +39 -0
  38. package/models/components/category.d.ts.map +1 -1
  39. package/models/components/category.js +26 -1
  40. package/models/components/category.js.map +1 -1
  41. package/models/components/{company.d.ts → company1.d.ts} +32 -32
  42. package/models/components/company1.d.ts.map +1 -0
  43. package/models/components/{company.js → company1.js} +37 -37
  44. package/models/components/company1.js.map +1 -0
  45. package/models/components/companyinfo.d.ts +5 -0
  46. package/models/components/companyinfo.d.ts.map +1 -1
  47. package/models/components/companyinfo.js +4 -0
  48. package/models/components/companyinfo.js.map +1 -1
  49. package/models/components/connection.d.ts +13 -13
  50. package/models/components/connection.d.ts.map +1 -1
  51. package/models/components/connection.js +16 -17
  52. package/models/components/connection.js.map +1 -1
  53. package/models/components/customfield.d.ts +37 -38
  54. package/models/components/customfield.d.ts.map +1 -1
  55. package/models/components/customfield.js +25 -54
  56. package/models/components/customfield.js.map +1 -1
  57. package/models/components/getcompaniesresponse.d.ts +3 -3
  58. package/models/components/getcompaniesresponse.d.ts.map +1 -1
  59. package/models/components/getcompaniesresponse.js +3 -3
  60. package/models/components/getcompaniesresponse.js.map +1 -1
  61. package/models/components/getcompanyresponse.d.ts +3 -3
  62. package/models/components/getcompanyresponse.d.ts.map +1 -1
  63. package/models/components/getcompanyresponse.js +3 -3
  64. package/models/components/getcompanyresponse.js.map +1 -1
  65. package/models/components/index.d.ts +3 -1
  66. package/models/components/index.d.ts.map +1 -1
  67. package/models/components/index.js +3 -1
  68. package/models/components/index.js.map +1 -1
  69. package/models/components/invoicelineitem.d.ts +10 -0
  70. package/models/components/invoicelineitem.d.ts.map +1 -1
  71. package/models/components/invoicelineitem.js +8 -0
  72. package/models/components/invoicelineitem.js.map +1 -1
  73. package/models/components/profitandlossfilter.d.ts +5 -0
  74. package/models/components/profitandlossfilter.d.ts.map +1 -1
  75. package/models/components/profitandlossfilter.js +4 -0
  76. package/models/components/profitandlossfilter.js.map +1 -1
  77. package/models/components/simpleformfieldoption.d.ts +13 -13
  78. package/models/components/simpleformfieldoption.d.ts.map +1 -1
  79. package/models/components/simpleformfieldoption.js +16 -16
  80. package/models/components/simpleformfieldoption.js.map +1 -1
  81. package/models/components/supplier.d.ts +10 -0
  82. package/models/components/supplier.d.ts.map +1 -1
  83. package/models/components/supplier.js +4 -0
  84. package/models/components/supplier.js.map +1 -1
  85. package/models/errors/apierror.d.ts.map +1 -1
  86. package/models/errors/apierror.js +8 -2
  87. package/models/errors/apierror.js.map +1 -1
  88. package/models/errors/badrequestresponse.js +1 -1
  89. package/models/errors/badrequestresponse.js.map +1 -1
  90. package/models/errors/notfoundresponse.js +1 -1
  91. package/models/errors/notfoundresponse.js.map +1 -1
  92. package/models/errors/paymentrequiredresponse.js +1 -1
  93. package/models/errors/paymentrequiredresponse.js.map +1 -1
  94. package/models/errors/unauthorizedresponse.js +1 -1
  95. package/models/errors/unauthorizedresponse.js.map +1 -1
  96. package/models/errors/unprocessableresponse.js +1 -1
  97. package/models/errors/unprocessableresponse.js.map +1 -1
  98. package/models/operations/accountingcategoriesall.d.ts +5 -0
  99. package/models/operations/accountingcategoriesall.d.ts.map +1 -1
  100. package/models/operations/accountingcategoriesall.js +2 -0
  101. package/models/operations/accountingcategoriesall.js.map +1 -1
  102. package/models/operations/accountingcategoriesone.d.ts +5 -0
  103. package/models/operations/accountingcategoriesone.d.ts.map +1 -1
  104. package/models/operations/accountingcategoriesone.js +2 -0
  105. package/models/operations/accountingcategoriesone.js.map +1 -1
  106. package/models/operations/crmcompaniesadd.d.ts +2 -2
  107. package/models/operations/crmcompaniesadd.d.ts.map +1 -1
  108. package/models/operations/crmcompaniesadd.js +4 -4
  109. package/models/operations/crmcompaniesadd.js.map +1 -1
  110. package/models/operations/crmcompaniesupdate.d.ts +2 -2
  111. package/models/operations/crmcompaniesupdate.d.ts.map +1 -1
  112. package/models/operations/crmcompaniesupdate.js +4 -4
  113. package/models/operations/crmcompaniesupdate.js.map +1 -1
  114. package/package.json +2 -2
  115. package/src/__tests__/activities.test.ts +364 -13
  116. package/src/__tests__/apideckcompanies.test.ts +373 -9
  117. package/src/__tests__/apideckdepartments.test.ts +181 -9
  118. package/src/__tests__/applicants.test.ts +473 -9
  119. package/src/__tests__/applications.test.ts +189 -9
  120. package/src/__tests__/bankfeedaccounts.test.ts +4 -4
  121. package/src/__tests__/billpayments.test.ts +378 -20
  122. package/src/__tests__/bills.test.ts +500 -9
  123. package/src/__tests__/collectionticketcomments.test.ts +183 -7
  124. package/src/__tests__/collectiontickets.test.ts +191 -7
  125. package/src/__tests__/companies.test.ts +607 -78
  126. package/src/__tests__/connections.test.ts +409 -5
  127. package/src/__tests__/connectionsettings.test.ts +410 -5
  128. package/src/__tests__/contacts.test.ts +470 -13
  129. package/src/__tests__/creditnotes.test.ts +819 -148
  130. package/src/__tests__/customers.test.ts +517 -13
  131. package/src/__tests__/customobjects.test.ts +150 -9
  132. package/src/__tests__/customobjectschemas.test.ts +321 -9
  133. package/src/__tests__/departments.test.ts +173 -9
  134. package/src/__tests__/drivegroups.test.ts +181 -9
  135. package/src/__tests__/drives.test.ts +179 -9
  136. package/src/__tests__/employees.test.ts +829 -94
  137. package/src/__tests__/expenses.test.ts +338 -15
  138. package/src/__tests__/files.test.ts +106 -5
  139. package/src/__tests__/folders.test.ts +296 -13
  140. package/src/__tests__/invoiceitems.test.ts +272 -9
  141. package/src/__tests__/invoices.test.ts +695 -89
  142. package/src/__tests__/journalentries.test.ts +490 -8
  143. package/src/__tests__/leads.test.ts +450 -13
  144. package/src/__tests__/ledgeraccounts.test.ts +248 -19
  145. package/src/__tests__/locations.test.ts +298 -9
  146. package/src/__tests__/messages.test.ts +195 -9
  147. package/src/__tests__/notes.test.ts +191 -9
  148. package/src/__tests__/opportunities.test.ts +218 -9
  149. package/src/__tests__/payments.test.ts +323 -20
  150. package/src/__tests__/pipelines.test.ts +194 -9
  151. package/src/__tests__/purchaseorders.test.ts +847 -178
  152. package/src/__tests__/sharedlinks.test.ts +183 -9
  153. package/src/__tests__/subsidiaries.test.ts +183 -9
  154. package/src/__tests__/suppliers.test.ts +509 -13
  155. package/src/__tests__/taxrates.test.ts +235 -12
  156. package/src/__tests__/timeoffrequests.test.ts +210 -9
  157. package/src/__tests__/trackingcategories.test.ts +187 -7
  158. package/src/__tests__/uploadsessions.test.ts +78 -5
  159. package/src/__tests__/users.test.ts +356 -9
  160. package/src/funcs/accountingCategoriesGet.ts +15 -5
  161. package/src/funcs/accountingCategoriesList.ts +17 -7
  162. package/src/funcs/crmCompaniesCreate.ts +1 -1
  163. package/src/funcs/crmCompaniesUpdate.ts +1 -1
  164. package/src/lib/config.ts +4 -4
  165. package/src/models/components/balancesheetfilter.ts +9 -0
  166. package/src/models/components/bankaccount.ts +7 -0
  167. package/src/models/components/bankaccount1.ts +207 -0
  168. package/src/models/components/categoriesfilter.ts +104 -0
  169. package/src/models/components/category.ts +39 -0
  170. package/src/models/components/{company.ts → company1.ts} +131 -128
  171. package/src/models/components/companyinfo.ts +9 -0
  172. package/src/models/components/connection.ts +27 -20
  173. package/src/models/components/customfield.ts +51 -83
  174. package/src/models/components/getcompaniesresponse.ts +9 -9
  175. package/src/models/components/getcompanyresponse.ts +9 -9
  176. package/src/models/components/index.ts +3 -1
  177. package/src/models/components/invoicelineitem.ts +18 -0
  178. package/src/models/components/profitandlossfilter.ts +9 -0
  179. package/src/models/components/simpleformfieldoption.ts +21 -18
  180. package/src/models/components/supplier.ts +14 -0
  181. package/src/models/errors/apierror.ts +8 -2
  182. package/src/models/errors/badrequestresponse.ts +1 -1
  183. package/src/models/errors/notfoundresponse.ts +1 -1
  184. package/src/models/errors/paymentrequiredresponse.ts +1 -1
  185. package/src/models/errors/unauthorizedresponse.ts +1 -1
  186. package/src/models/errors/unprocessableresponse.ts +1 -1
  187. package/src/models/operations/accountingcategoriesall.ts +7 -0
  188. package/src/models/operations/accountingcategoriesone.ts +7 -0
  189. package/src/models/operations/crmcompaniesadd.ts +6 -6
  190. package/src/models/operations/crmcompaniesupdate.ts +6 -6
  191. package/models/components/company.d.ts.map +0 -1
  192. package/models/components/company.js.map +0 -1
@@ -2,7 +2,7 @@
2
2
  * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
3
  */
4
4
 
5
- import { assert, expect, it, test } from "vitest";
5
+ import { expect, test } from "vitest";
6
6
  import { Apideck } from "../index.js";
7
7
  import { RFCDate } from "../types/index.js";
8
8
  import { createTestHTTPClient } from "./testclient.js";
@@ -367,10 +367,10 @@ test("Companies Crm Companies All", async () => {
367
367
  id: "2389328923893298",
368
368
  name: "employee_level",
369
369
  description: "Employee Level",
370
- value: [
371
- {},
372
- {},
373
- ],
370
+ value: {
371
+ "0": {},
372
+ "1": {},
373
+ },
374
374
  },
375
375
  ],
376
376
  tags: [
@@ -720,14 +720,8 @@ test("Companies Crm Companies All", async () => {
720
720
  });
721
721
  });
722
722
 
723
- it.skip("Companies Crm Companies Add", async () => {
724
- assert.fail(
725
- "incomplete test found please make sure to address the following errors: [`workflow step crm.companiesAdd.test referencing operation crm.companiesAdd with expression in requestBody with type not currently supported`, `workflow step crm.companiesAdd.test referencing operation crm.companiesAdd with expression in requestBody with type not currently supported`, `workflow step crm.companiesAdd.test referencing operation crm.companiesAdd with expression in requestBody with type not currently supported`, `workflow step crm.companiesAdd.test referencing operation crm.companiesAdd with expression in requestBody with type not currently supported`, `workflow step crm.companiesAdd.test referencing operation crm.companiesAdd with expression in requestBody with type not currently supported`, `workflow step crm.companiesAdd.test referencing operation crm.companiesAdd with expression in requestBody with type not currently supported`, `workflow step crm.companiesAdd.test referencing operation crm.companiesAdd with expression in requestBody with type not currently supported`, `workflow step crm.companiesAdd.test referencing operation crm.companiesAdd with expression in requestBody with type not currently supported`]",
726
- );
727
- });
728
-
729
- test("Companies Crm Companies One", async () => {
730
- const testHttpClient = createTestHTTPClient("crm.companiesOne");
723
+ test("Companies Crm Companies Add", async () => {
724
+ const testHttpClient = createTestHTTPClient("crm.companiesAdd");
731
725
 
732
726
  const apideck = new Apideck({
733
727
  serverURL: process.env["TEST_SERVER_URL"] ?? "http://localhost:18080",
@@ -735,25 +729,12 @@ test("Companies Crm Companies One", async () => {
735
729
  apiKey: process.env["APIDECK_API_KEY"] ?? "value",
736
730
  });
737
731
 
738
- const result = await apideck.crm.companies.get({
739
- id: "<id>",
732
+ const result = await apideck.crm.companies.create({
740
733
  consumerId: "test-consumer",
741
734
  appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
742
735
  serviceId: "salesforce",
743
- fields: "id,updated_at",
744
- });
745
- expect(result.httpMeta.response.status).toBe(200);
746
- expect(result.getCompanyResponse).toBeDefined();
747
- expect(result.getCompanyResponse).toEqual({
748
- statusCode: 200,
749
- status: "OK",
750
- service: "zoho-crm",
751
- resource: "companies",
752
- operation: "one",
753
- data: {
754
- id: "12345",
736
+ company1: {
755
737
  name: "SpaceX",
756
- interactionCount: 1,
757
738
  ownerId: "12345",
758
739
  image: "https://www.spacex.com/static/images/share.jpg",
759
740
  description:
@@ -773,7 +754,6 @@ test("Companies Crm Companies One", async () => {
773
754
  acn: "XXX XXX XXX",
774
755
  firstName: "Elon",
775
756
  lastName: "Musk",
776
- parentId: "22345",
777
757
  bankAccounts: [
778
758
  {
779
759
  bankName: "Monzo",
@@ -801,19 +781,6 @@ test("Companies Crm Companies One", async () => {
801
781
  bankCode: "BNH",
802
782
  currency: "USD",
803
783
  },
804
- {
805
- bankName: "Monzo",
806
- accountNumber: "123465",
807
- accountName: "SPACEX LLC",
808
- accountType: "credit_card",
809
- iban: "CH2989144532982975332",
810
- bic: "AUDSCHGGXXX",
811
- routingNumber: "012345678",
812
- bsbNumber: "062-001",
813
- branchIdentifier: "001",
814
- bankCode: "BNH",
815
- currency: "USD",
816
- },
817
784
  ],
818
785
  websites: [
819
786
  {
@@ -887,11 +854,6 @@ test("Companies Crm Companies One", async () => {
887
854
  url: "https://www.twitter.com/apideck",
888
855
  type: "twitter",
889
856
  },
890
- {
891
- id: "12345",
892
- url: "https://www.twitter.com/apideck",
893
- type: "twitter",
894
- },
895
857
  ],
896
858
  phoneNumbers: [
897
859
  {
@@ -902,24 +864,13 @@ test("Companies Crm Companies One", async () => {
902
864
  extension: "105",
903
865
  type: "primary",
904
866
  },
867
+ ],
868
+ emails: [
905
869
  {
906
- id: "12345",
907
- countryCode: "1",
908
- areaCode: "323",
909
- number: "111-111-1111",
910
- extension: "105",
911
- type: "primary",
912
- },
913
- {
914
- id: "12345",
915
- countryCode: "1",
916
- areaCode: "323",
917
- number: "111-111-1111",
918
- extension: "105",
870
+ id: "123",
871
+ email: "elon@musk.com",
919
872
  type: "primary",
920
873
  },
921
- ],
922
- emails: [
923
874
  {
924
875
  id: "123",
925
876
  email: "elon@musk.com",
@@ -940,7 +891,7 @@ test("Companies Crm Companies One", async () => {
940
891
  id: "2389328923893298",
941
892
  name: "employee_level",
942
893
  description: "Employee Level",
943
- value: 10,
894
+ value: "Uses Salesforce and Marketo",
944
895
  },
945
896
  {
946
897
  id: "2389328923893298",
@@ -948,19 +899,19 @@ test("Companies Crm Companies One", async () => {
948
899
  description: "Employee Level",
949
900
  value: 10,
950
901
  },
902
+ {
903
+ id: "2389328923893298",
904
+ name: "employee_level",
905
+ description: "Employee Level",
906
+ value: "Uses Salesforce and Marketo",
907
+ },
951
908
  ],
952
909
  tags: [
953
910
  "New",
954
911
  ],
955
912
  readOnly: false,
956
- lastActivityAt: new Date("2020-09-30T07:43:32.000Z"),
957
- deleted: false,
958
913
  salutation: "Mr",
959
914
  birthday: new RFCDate("2000-08-12"),
960
- updatedBy: "12345",
961
- createdBy: "12345",
962
- updatedAt: new Date("2020-09-30T07:43:32.000Z"),
963
- createdAt: new Date("2020-09-30T07:43:32.000Z"),
964
915
  passThrough: [
965
916
  {
966
917
  serviceId: "<id>",
@@ -981,11 +932,6 @@ test("Companies Crm Companies One", async () => {
981
932
  },
982
933
  },
983
934
  },
984
- ],
985
- },
986
- {
987
- serviceId: "<id>",
988
- extendPaths: [
989
935
  {
990
936
  path: "$.nested.property",
991
937
  value: {
@@ -994,6 +940,11 @@ test("Companies Crm Companies One", async () => {
994
940
  },
995
941
  },
996
942
  },
943
+ ],
944
+ },
945
+ {
946
+ serviceId: "<id>",
947
+ extendPaths: [
997
948
  {
998
949
  path: "$.nested.property",
999
950
  value: {
@@ -1023,17 +974,595 @@ test("Companies Crm Companies One", async () => {
1023
974
  },
1024
975
  },
1025
976
  },
977
+ {
978
+ path: "$.nested.property",
979
+ value: {
980
+ "TaxClassificationRef": {
981
+ "value": "EUC-99990201-V1-00020000",
982
+ },
983
+ },
984
+ },
985
+ {
986
+ path: "$.nested.property",
987
+ value: {
988
+ "TaxClassificationRef": {
989
+ "value": "EUC-99990201-V1-00020000",
990
+ },
991
+ },
992
+ },
1026
993
  ],
1027
994
  },
1028
995
  ],
1029
996
  },
1030
997
  });
998
+ expect(result.httpMeta.response.status).toBe(201);
999
+ expect(result.createCompanyResponse).toBeDefined();
1000
+ expect(result.createCompanyResponse).toEqual({
1001
+ statusCode: 200,
1002
+ status: "OK",
1003
+ service: "zoho-crm",
1004
+ resource: "companies",
1005
+ operation: "add",
1006
+ data: {
1007
+ id: "12345",
1008
+ },
1009
+ });
1031
1010
  });
1032
1011
 
1033
- it.skip("Companies Crm Companies Update", async () => {
1034
- assert.fail(
1035
- "incomplete test found please make sure to address the following errors: [`workflow step crm.companiesUpdate.test referencing operation crm.companiesUpdate with expression in requestBody with type not currently supported`]",
1036
- );
1012
+ test("Companies Crm Companies One", async () => {
1013
+ const testHttpClient = createTestHTTPClient("crm.companiesOne");
1014
+
1015
+ const apideck = new Apideck({
1016
+ serverURL: process.env["TEST_SERVER_URL"] ?? "http://localhost:18080",
1017
+ httpClient: testHttpClient,
1018
+ apiKey: process.env["APIDECK_API_KEY"] ?? "value",
1019
+ });
1020
+
1021
+ const result = await apideck.crm.companies.get({
1022
+ id: "<id>",
1023
+ consumerId: "test-consumer",
1024
+ appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
1025
+ serviceId: "salesforce",
1026
+ fields: "id,updated_at",
1027
+ });
1028
+ expect(result.httpMeta.response.status).toBe(200);
1029
+ expect(result.getCompanyResponse).toBeDefined();
1030
+ expect(result.getCompanyResponse).toEqual({
1031
+ statusCode: 200,
1032
+ status: "OK",
1033
+ service: "zoho-crm",
1034
+ resource: "companies",
1035
+ operation: "one",
1036
+ data: {
1037
+ id: "12345",
1038
+ name: "SpaceX",
1039
+ interactionCount: 1,
1040
+ ownerId: "12345",
1041
+ image: "https://www.spacex.com/static/images/share.jpg",
1042
+ description:
1043
+ "Space Exploration Technologies Corp. is an American aerospace manufacturer, space transportation services and communications company headquartered in Hawthorne, California.",
1044
+ vatNumber: "BE0689615164",
1045
+ currency: "USD",
1046
+ status: "Open",
1047
+ fax: "+12129876543",
1048
+ annualRevenue: "+$35m",
1049
+ numberOfEmployees: "500-1000",
1050
+ industry: "Apparel",
1051
+ ownership: "Public",
1052
+ salesTaxNumber: "12456EN",
1053
+ payeeNumber: "78932EN",
1054
+ abnOrTfn: "46 115 614 695",
1055
+ abnBranch: "123",
1056
+ acn: "XXX XXX XXX",
1057
+ firstName: "Elon",
1058
+ lastName: "Musk",
1059
+ parentId: "22345",
1060
+ bankAccounts: [
1061
+ {
1062
+ bankName: "Monzo",
1063
+ accountNumber: "123465",
1064
+ accountName: "SPACEX LLC",
1065
+ accountType: "credit_card",
1066
+ iban: "CH2989144532982975332",
1067
+ bic: "AUDSCHGGXXX",
1068
+ routingNumber: "012345678",
1069
+ bsbNumber: "062-001",
1070
+ branchIdentifier: "001",
1071
+ bankCode: "BNH",
1072
+ currency: "USD",
1073
+ },
1074
+ {
1075
+ bankName: "Monzo",
1076
+ accountNumber: "123465",
1077
+ accountName: "SPACEX LLC",
1078
+ accountType: "credit_card",
1079
+ iban: "CH2989144532982975332",
1080
+ bic: "AUDSCHGGXXX",
1081
+ routingNumber: "012345678",
1082
+ bsbNumber: "062-001",
1083
+ branchIdentifier: "001",
1084
+ bankCode: "BNH",
1085
+ currency: "USD",
1086
+ },
1087
+ {
1088
+ bankName: "Monzo",
1089
+ accountNumber: "123465",
1090
+ accountName: "SPACEX LLC",
1091
+ accountType: "credit_card",
1092
+ iban: "CH2989144532982975332",
1093
+ bic: "AUDSCHGGXXX",
1094
+ routingNumber: "012345678",
1095
+ bsbNumber: "062-001",
1096
+ branchIdentifier: "001",
1097
+ bankCode: "BNH",
1098
+ currency: "USD",
1099
+ },
1100
+ ],
1101
+ websites: [
1102
+ {
1103
+ id: "12345",
1104
+ url: "http://example.com",
1105
+ type: "primary",
1106
+ },
1107
+ {
1108
+ id: "12345",
1109
+ url: "http://example.com",
1110
+ type: "primary",
1111
+ },
1112
+ ],
1113
+ addresses: [
1114
+ {
1115
+ id: "123",
1116
+ type: "primary",
1117
+ string: "25 Spring Street, Blackburn, VIC 3130",
1118
+ name: "HQ US",
1119
+ line1: "Main street",
1120
+ line2: "apt #",
1121
+ line3: "Suite #",
1122
+ line4: "delivery instructions",
1123
+ streetNumber: "25",
1124
+ city: "San Francisco",
1125
+ state: "CA",
1126
+ postalCode: "94104",
1127
+ country: "US",
1128
+ latitude: "40.759211",
1129
+ longitude: "-73.984638",
1130
+ county: "Santa Clara",
1131
+ contactName: "Elon Musk",
1132
+ salutation: "Mr",
1133
+ phoneNumber: "111-111-1111",
1134
+ fax: "122-111-1111",
1135
+ email: "elon@musk.com",
1136
+ website: "https://elonmusk.com",
1137
+ notes: "Address notes or delivery instructions.",
1138
+ rowVersion: "1-12345",
1139
+ },
1140
+ {
1141
+ id: "123",
1142
+ type: "primary",
1143
+ string: "25 Spring Street, Blackburn, VIC 3130",
1144
+ name: "HQ US",
1145
+ line1: "Main street",
1146
+ line2: "apt #",
1147
+ line3: "Suite #",
1148
+ line4: "delivery instructions",
1149
+ streetNumber: "25",
1150
+ city: "San Francisco",
1151
+ state: "CA",
1152
+ postalCode: "94104",
1153
+ country: "US",
1154
+ latitude: "40.759211",
1155
+ longitude: "-73.984638",
1156
+ county: "Santa Clara",
1157
+ contactName: "Elon Musk",
1158
+ salutation: "Mr",
1159
+ phoneNumber: "111-111-1111",
1160
+ fax: "122-111-1111",
1161
+ email: "elon@musk.com",
1162
+ website: "https://elonmusk.com",
1163
+ notes: "Address notes or delivery instructions.",
1164
+ rowVersion: "1-12345",
1165
+ },
1166
+ ],
1167
+ socialLinks: [
1168
+ {
1169
+ id: "12345",
1170
+ url: "https://www.twitter.com/apideck",
1171
+ type: "twitter",
1172
+ },
1173
+ {
1174
+ id: "12345",
1175
+ url: "https://www.twitter.com/apideck",
1176
+ type: "twitter",
1177
+ },
1178
+ ],
1179
+ phoneNumbers: [
1180
+ {
1181
+ id: "12345",
1182
+ countryCode: "1",
1183
+ areaCode: "323",
1184
+ number: "111-111-1111",
1185
+ extension: "105",
1186
+ type: "primary",
1187
+ },
1188
+ {
1189
+ id: "12345",
1190
+ countryCode: "1",
1191
+ areaCode: "323",
1192
+ number: "111-111-1111",
1193
+ extension: "105",
1194
+ type: "primary",
1195
+ },
1196
+ {
1197
+ id: "12345",
1198
+ countryCode: "1",
1199
+ areaCode: "323",
1200
+ number: "111-111-1111",
1201
+ extension: "105",
1202
+ type: "primary",
1203
+ },
1204
+ ],
1205
+ emails: [
1206
+ {
1207
+ id: "123",
1208
+ email: "elon@musk.com",
1209
+ type: "primary",
1210
+ },
1211
+ {
1212
+ id: "123",
1213
+ email: "elon@musk.com",
1214
+ type: "primary",
1215
+ },
1216
+ ],
1217
+ rowType: {
1218
+ id: "12345",
1219
+ name: "Customer Account",
1220
+ },
1221
+ customFields: [
1222
+ {
1223
+ id: "2389328923893298",
1224
+ name: "employee_level",
1225
+ description: "Employee Level",
1226
+ value: 10,
1227
+ },
1228
+ {
1229
+ id: "2389328923893298",
1230
+ name: "employee_level",
1231
+ description: "Employee Level",
1232
+ value: 10,
1233
+ },
1234
+ ],
1235
+ tags: [
1236
+ "New",
1237
+ ],
1238
+ readOnly: false,
1239
+ lastActivityAt: new Date("2020-09-30T07:43:32.000Z"),
1240
+ deleted: false,
1241
+ salutation: "Mr",
1242
+ birthday: new RFCDate("2000-08-12"),
1243
+ updatedBy: "12345",
1244
+ createdBy: "12345",
1245
+ updatedAt: new Date("2020-09-30T07:43:32.000Z"),
1246
+ createdAt: new Date("2020-09-30T07:43:32.000Z"),
1247
+ passThrough: [
1248
+ {
1249
+ serviceId: "<id>",
1250
+ extendPaths: [
1251
+ {
1252
+ path: "$.nested.property",
1253
+ value: {
1254
+ "TaxClassificationRef": {
1255
+ "value": "EUC-99990201-V1-00020000",
1256
+ },
1257
+ },
1258
+ },
1259
+ {
1260
+ path: "$.nested.property",
1261
+ value: {
1262
+ "TaxClassificationRef": {
1263
+ "value": "EUC-99990201-V1-00020000",
1264
+ },
1265
+ },
1266
+ },
1267
+ ],
1268
+ },
1269
+ {
1270
+ serviceId: "<id>",
1271
+ extendPaths: [
1272
+ {
1273
+ path: "$.nested.property",
1274
+ value: {
1275
+ "TaxClassificationRef": {
1276
+ "value": "EUC-99990201-V1-00020000",
1277
+ },
1278
+ },
1279
+ },
1280
+ {
1281
+ path: "$.nested.property",
1282
+ value: {
1283
+ "TaxClassificationRef": {
1284
+ "value": "EUC-99990201-V1-00020000",
1285
+ },
1286
+ },
1287
+ },
1288
+ {
1289
+ path: "$.nested.property",
1290
+ value: {
1291
+ "TaxClassificationRef": {
1292
+ "value": "EUC-99990201-V1-00020000",
1293
+ },
1294
+ },
1295
+ },
1296
+ ],
1297
+ },
1298
+ {
1299
+ serviceId: "<id>",
1300
+ extendPaths: [
1301
+ {
1302
+ path: "$.nested.property",
1303
+ value: {
1304
+ "TaxClassificationRef": {
1305
+ "value": "EUC-99990201-V1-00020000",
1306
+ },
1307
+ },
1308
+ },
1309
+ ],
1310
+ },
1311
+ ],
1312
+ },
1313
+ });
1314
+ });
1315
+
1316
+ test("Companies Crm Companies Update", async () => {
1317
+ const testHttpClient = createTestHTTPClient("crm.companiesUpdate");
1318
+
1319
+ const apideck = new Apideck({
1320
+ serverURL: process.env["TEST_SERVER_URL"] ?? "http://localhost:18080",
1321
+ httpClient: testHttpClient,
1322
+ apiKey: process.env["APIDECK_API_KEY"] ?? "value",
1323
+ });
1324
+
1325
+ const result = await apideck.crm.companies.update({
1326
+ id: "<id>",
1327
+ consumerId: "test-consumer",
1328
+ appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
1329
+ serviceId: "salesforce",
1330
+ company1: {
1331
+ name: "SpaceX",
1332
+ ownerId: "12345",
1333
+ image: "https://www.spacex.com/static/images/share.jpg",
1334
+ description:
1335
+ "Space Exploration Technologies Corp. is an American aerospace manufacturer, space transportation services and communications company headquartered in Hawthorne, California.",
1336
+ vatNumber: "BE0689615164",
1337
+ currency: "USD",
1338
+ status: "Open",
1339
+ fax: "+12129876543",
1340
+ annualRevenue: "+$35m",
1341
+ numberOfEmployees: "500-1000",
1342
+ industry: "Apparel",
1343
+ ownership: "Public",
1344
+ salesTaxNumber: "12456EN",
1345
+ payeeNumber: "78932EN",
1346
+ abnOrTfn: "46 115 614 695",
1347
+ abnBranch: "123",
1348
+ acn: "XXX XXX XXX",
1349
+ firstName: "Elon",
1350
+ lastName: "Musk",
1351
+ bankAccounts: [
1352
+ {
1353
+ bankName: "Monzo",
1354
+ accountNumber: "123465",
1355
+ accountName: "SPACEX LLC",
1356
+ accountType: "credit_card",
1357
+ iban: "CH2989144532982975332",
1358
+ bic: "AUDSCHGGXXX",
1359
+ routingNumber: "012345678",
1360
+ bsbNumber: "062-001",
1361
+ branchIdentifier: "001",
1362
+ bankCode: "BNH",
1363
+ currency: "USD",
1364
+ },
1365
+ {
1366
+ bankName: "Monzo",
1367
+ accountNumber: "123465",
1368
+ accountName: "SPACEX LLC",
1369
+ accountType: "credit_card",
1370
+ iban: "CH2989144532982975332",
1371
+ bic: "AUDSCHGGXXX",
1372
+ routingNumber: "012345678",
1373
+ bsbNumber: "062-001",
1374
+ branchIdentifier: "001",
1375
+ bankCode: "BNH",
1376
+ currency: "USD",
1377
+ },
1378
+ {
1379
+ bankName: "Monzo",
1380
+ accountNumber: "123465",
1381
+ accountName: "SPACEX LLC",
1382
+ accountType: "credit_card",
1383
+ iban: "CH2989144532982975332",
1384
+ bic: "AUDSCHGGXXX",
1385
+ routingNumber: "012345678",
1386
+ bsbNumber: "062-001",
1387
+ branchIdentifier: "001",
1388
+ bankCode: "BNH",
1389
+ currency: "USD",
1390
+ },
1391
+ ],
1392
+ websites: [
1393
+ {
1394
+ id: "12345",
1395
+ url: "http://example.com",
1396
+ type: "primary",
1397
+ },
1398
+ {
1399
+ id: "12345",
1400
+ url: "http://example.com",
1401
+ type: "primary",
1402
+ },
1403
+ ],
1404
+ addresses: [
1405
+ {
1406
+ id: "123",
1407
+ type: "primary",
1408
+ string: "25 Spring Street, Blackburn, VIC 3130",
1409
+ name: "HQ US",
1410
+ line1: "Main street",
1411
+ line2: "apt #",
1412
+ line3: "Suite #",
1413
+ line4: "delivery instructions",
1414
+ streetNumber: "25",
1415
+ city: "San Francisco",
1416
+ state: "CA",
1417
+ postalCode: "94104",
1418
+ country: "US",
1419
+ latitude: "40.759211",
1420
+ longitude: "-73.984638",
1421
+ county: "Santa Clara",
1422
+ contactName: "Elon Musk",
1423
+ salutation: "Mr",
1424
+ phoneNumber: "111-111-1111",
1425
+ fax: "122-111-1111",
1426
+ email: "elon@musk.com",
1427
+ website: "https://elonmusk.com",
1428
+ notes: "Address notes or delivery instructions.",
1429
+ rowVersion: "1-12345",
1430
+ },
1431
+ {
1432
+ id: "123",
1433
+ type: "primary",
1434
+ string: "25 Spring Street, Blackburn, VIC 3130",
1435
+ name: "HQ US",
1436
+ line1: "Main street",
1437
+ line2: "apt #",
1438
+ line3: "Suite #",
1439
+ line4: "delivery instructions",
1440
+ streetNumber: "25",
1441
+ city: "San Francisco",
1442
+ state: "CA",
1443
+ postalCode: "94104",
1444
+ country: "US",
1445
+ latitude: "40.759211",
1446
+ longitude: "-73.984638",
1447
+ county: "Santa Clara",
1448
+ contactName: "Elon Musk",
1449
+ salutation: "Mr",
1450
+ phoneNumber: "111-111-1111",
1451
+ fax: "122-111-1111",
1452
+ email: "elon@musk.com",
1453
+ website: "https://elonmusk.com",
1454
+ notes: "Address notes or delivery instructions.",
1455
+ rowVersion: "1-12345",
1456
+ },
1457
+ ],
1458
+ socialLinks: [
1459
+ {
1460
+ id: "12345",
1461
+ url: "https://www.twitter.com/apideck",
1462
+ type: "twitter",
1463
+ },
1464
+ {
1465
+ id: "12345",
1466
+ url: "https://www.twitter.com/apideck",
1467
+ type: "twitter",
1468
+ },
1469
+ {
1470
+ id: "12345",
1471
+ url: "https://www.twitter.com/apideck",
1472
+ type: "twitter",
1473
+ },
1474
+ ],
1475
+ phoneNumbers: [
1476
+ {
1477
+ id: "12345",
1478
+ countryCode: "1",
1479
+ areaCode: "323",
1480
+ number: "111-111-1111",
1481
+ extension: "105",
1482
+ type: "primary",
1483
+ },
1484
+ {
1485
+ id: "12345",
1486
+ countryCode: "1",
1487
+ areaCode: "323",
1488
+ number: "111-111-1111",
1489
+ extension: "105",
1490
+ type: "primary",
1491
+ },
1492
+ ],
1493
+ emails: [
1494
+ {
1495
+ id: "123",
1496
+ email: "elon@musk.com",
1497
+ type: "primary",
1498
+ },
1499
+ {
1500
+ id: "123",
1501
+ email: "elon@musk.com",
1502
+ type: "primary",
1503
+ },
1504
+ ],
1505
+ rowType: {
1506
+ id: "12345",
1507
+ name: "Customer Account",
1508
+ },
1509
+ customFields: [
1510
+ {
1511
+ id: "2389328923893298",
1512
+ name: "employee_level",
1513
+ description: "Employee Level",
1514
+ value: "Uses Salesforce and Marketo",
1515
+ },
1516
+ {
1517
+ id: "2389328923893298",
1518
+ name: "employee_level",
1519
+ description: "Employee Level",
1520
+ value: {
1521
+ "0": {},
1522
+ },
1523
+ },
1524
+ {
1525
+ id: "2389328923893298",
1526
+ name: "employee_level",
1527
+ description: "Employee Level",
1528
+ value: 10,
1529
+ },
1530
+ ],
1531
+ tags: [
1532
+ "New",
1533
+ ],
1534
+ readOnly: false,
1535
+ salutation: "Mr",
1536
+ birthday: new RFCDate("2000-08-12"),
1537
+ passThrough: [
1538
+ {
1539
+ serviceId: "<id>",
1540
+ extendPaths: [
1541
+ {
1542
+ path: "$.nested.property",
1543
+ value: {
1544
+ "TaxClassificationRef": {
1545
+ "value": "EUC-99990201-V1-00020000",
1546
+ },
1547
+ },
1548
+ },
1549
+ ],
1550
+ },
1551
+ ],
1552
+ },
1553
+ });
1554
+ expect(result.httpMeta.response.status).toBe(200);
1555
+ expect(result.updateCompanyResponse).toBeDefined();
1556
+ expect(result.updateCompanyResponse).toEqual({
1557
+ statusCode: 200,
1558
+ status: "OK",
1559
+ service: "zoho-crm",
1560
+ resource: "companies",
1561
+ operation: "update",
1562
+ data: {
1563
+ id: "12345",
1564
+ },
1565
+ });
1037
1566
  });
1038
1567
 
1039
1568
  test("Companies Crm Companies Delete", async () => {