@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 { createTestHTTPClient } from "./testclient.js";
8
8
 
@@ -401,10 +401,10 @@ test("Contacts Crm Contacts All", async () => {
401
401
  id: "2389328923893298",
402
402
  name: "employee_level",
403
403
  description: "Employee Level",
404
- value: [
405
- {},
406
- {},
407
- ],
404
+ value: {
405
+ "0": {},
406
+ "1": {},
407
+ },
408
408
  },
409
409
  ],
410
410
  tags: [
@@ -687,10 +687,260 @@ test("Contacts Crm Contacts All", async () => {
687
687
  });
688
688
  });
689
689
 
690
- it.skip("Contacts Crm Contacts Add", async () => {
691
- assert.fail(
692
- "incomplete test found please make sure to address the following errors: [`workflow step crm.contactsAdd.test referencing operation crm.contactsAdd with expression in requestBody with type not currently supported`, `workflow step crm.contactsAdd.test referencing operation crm.contactsAdd with expression in requestBody with type not currently supported`, `workflow step crm.contactsAdd.test referencing operation crm.contactsAdd with expression in requestBody with type not currently supported`, `workflow step crm.contactsAdd.test referencing operation crm.contactsAdd with expression in requestBody with type not currently supported`, `workflow step crm.contactsAdd.test referencing operation crm.contactsAdd with expression in requestBody with type not currently supported`, `workflow step crm.contactsAdd.test referencing operation crm.contactsAdd with expression in requestBody with type not currently supported`, `workflow step crm.contactsAdd.test referencing operation crm.contactsAdd with expression in requestBody with type not currently supported`, `workflow step crm.contactsAdd.test referencing operation crm.contactsAdd with expression in requestBody with type not currently supported`]",
693
- );
690
+ test("Contacts Crm Contacts Add", async () => {
691
+ const testHttpClient = createTestHTTPClient("crm.contactsAdd");
692
+
693
+ const apideck = new Apideck({
694
+ serverURL: process.env["TEST_SERVER_URL"] ?? "http://localhost:18080",
695
+ httpClient: testHttpClient,
696
+ apiKey: process.env["APIDECK_API_KEY"] ?? "value",
697
+ });
698
+
699
+ const result = await apideck.crm.contacts.create({
700
+ consumerId: "test-consumer",
701
+ appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
702
+ serviceId: "salesforce",
703
+ contact: {
704
+ name: "Elon Musk",
705
+ ownerId: "54321",
706
+ type: "personal",
707
+ companyId: "23456",
708
+ companyName: "23456",
709
+ leadId: "34567",
710
+ firstName: "Elon",
711
+ middleName: "D.",
712
+ lastName: "Musk",
713
+ prefix: "Mr.",
714
+ suffix: "PhD",
715
+ title: "CEO",
716
+ department: "Engineering",
717
+ language: "EN",
718
+ gender: "female",
719
+ birthday: "2000-08-12",
720
+ photoUrl: "https://unavatar.io/elon-musk",
721
+ leadSource: "Cold Call",
722
+ fax: "+12129876543",
723
+ description: "Internal champion",
724
+ currentBalance: 10.5,
725
+ status: "open",
726
+ active: true,
727
+ websites: [
728
+ {
729
+ id: "12345",
730
+ url: "http://example.com",
731
+ type: "primary",
732
+ },
733
+ {
734
+ id: "12345",
735
+ url: "http://example.com",
736
+ type: "primary",
737
+ },
738
+ ],
739
+ addresses: [
740
+ {
741
+ id: "123",
742
+ type: "primary",
743
+ string: "25 Spring Street, Blackburn, VIC 3130",
744
+ name: "HQ US",
745
+ line1: "Main street",
746
+ line2: "apt #",
747
+ line3: "Suite #",
748
+ line4: "delivery instructions",
749
+ streetNumber: "25",
750
+ city: "San Francisco",
751
+ state: "CA",
752
+ postalCode: "94104",
753
+ country: "US",
754
+ latitude: "40.759211",
755
+ longitude: "-73.984638",
756
+ county: "Santa Clara",
757
+ contactName: "Elon Musk",
758
+ salutation: "Mr",
759
+ phoneNumber: "111-111-1111",
760
+ fax: "122-111-1111",
761
+ email: "elon@musk.com",
762
+ website: "https://elonmusk.com",
763
+ notes: "Address notes or delivery instructions.",
764
+ rowVersion: "1-12345",
765
+ },
766
+ {
767
+ id: "123",
768
+ type: "primary",
769
+ string: "25 Spring Street, Blackburn, VIC 3130",
770
+ name: "HQ US",
771
+ line1: "Main street",
772
+ line2: "apt #",
773
+ line3: "Suite #",
774
+ line4: "delivery instructions",
775
+ streetNumber: "25",
776
+ city: "San Francisco",
777
+ state: "CA",
778
+ postalCode: "94104",
779
+ country: "US",
780
+ latitude: "40.759211",
781
+ longitude: "-73.984638",
782
+ county: "Santa Clara",
783
+ contactName: "Elon Musk",
784
+ salutation: "Mr",
785
+ phoneNumber: "111-111-1111",
786
+ fax: "122-111-1111",
787
+ email: "elon@musk.com",
788
+ website: "https://elonmusk.com",
789
+ notes: "Address notes or delivery instructions.",
790
+ rowVersion: "1-12345",
791
+ },
792
+ ],
793
+ socialLinks: [
794
+ {
795
+ id: "12345",
796
+ url: "https://www.twitter.com/apideck",
797
+ type: "twitter",
798
+ },
799
+ {
800
+ id: "12345",
801
+ url: "https://www.twitter.com/apideck",
802
+ type: "twitter",
803
+ },
804
+ ],
805
+ phoneNumbers: [
806
+ {
807
+ id: "12345",
808
+ countryCode: "1",
809
+ areaCode: "323",
810
+ number: "111-111-1111",
811
+ extension: "105",
812
+ type: "primary",
813
+ },
814
+ ],
815
+ emails: [
816
+ {
817
+ id: "123",
818
+ email: "elon@musk.com",
819
+ type: "primary",
820
+ },
821
+ ],
822
+ emailDomain: "gmail.com",
823
+ customFields: [
824
+ {
825
+ id: "2389328923893298",
826
+ name: "employee_level",
827
+ description: "Employee Level",
828
+ value: {},
829
+ },
830
+ {
831
+ id: "2389328923893298",
832
+ name: "employee_level",
833
+ description: "Employee Level",
834
+ value: 10,
835
+ },
836
+ {
837
+ id: "2389328923893298",
838
+ name: "employee_level",
839
+ description: "Employee Level",
840
+ value: "Uses Salesforce and Marketo",
841
+ },
842
+ ],
843
+ tags: [
844
+ "New",
845
+ ],
846
+ opportunityIds: [
847
+ "12345",
848
+ ],
849
+ passThrough: [
850
+ {
851
+ serviceId: "<id>",
852
+ extendPaths: [
853
+ {
854
+ path: "$.nested.property",
855
+ value: {
856
+ "TaxClassificationRef": {
857
+ "value": "EUC-99990201-V1-00020000",
858
+ },
859
+ },
860
+ },
861
+ {
862
+ path: "$.nested.property",
863
+ value: {
864
+ "TaxClassificationRef": {
865
+ "value": "EUC-99990201-V1-00020000",
866
+ },
867
+ },
868
+ },
869
+ {
870
+ path: "$.nested.property",
871
+ value: {
872
+ "TaxClassificationRef": {
873
+ "value": "EUC-99990201-V1-00020000",
874
+ },
875
+ },
876
+ },
877
+ ],
878
+ },
879
+ {
880
+ serviceId: "<id>",
881
+ extendPaths: [
882
+ {
883
+ path: "$.nested.property",
884
+ value: {
885
+ "TaxClassificationRef": {
886
+ "value": "EUC-99990201-V1-00020000",
887
+ },
888
+ },
889
+ },
890
+ {
891
+ path: "$.nested.property",
892
+ value: {
893
+ "TaxClassificationRef": {
894
+ "value": "EUC-99990201-V1-00020000",
895
+ },
896
+ },
897
+ },
898
+ ],
899
+ },
900
+ {
901
+ serviceId: "<id>",
902
+ extendPaths: [
903
+ {
904
+ path: "$.nested.property",
905
+ value: {
906
+ "TaxClassificationRef": {
907
+ "value": "EUC-99990201-V1-00020000",
908
+ },
909
+ },
910
+ },
911
+ {
912
+ path: "$.nested.property",
913
+ value: {
914
+ "TaxClassificationRef": {
915
+ "value": "EUC-99990201-V1-00020000",
916
+ },
917
+ },
918
+ },
919
+ {
920
+ path: "$.nested.property",
921
+ value: {
922
+ "TaxClassificationRef": {
923
+ "value": "EUC-99990201-V1-00020000",
924
+ },
925
+ },
926
+ },
927
+ ],
928
+ },
929
+ ],
930
+ },
931
+ });
932
+ expect(result.httpMeta.response.status).toBe(201);
933
+ expect(result.createContactResponse).toBeDefined();
934
+ expect(result.createContactResponse).toEqual({
935
+ statusCode: 200,
936
+ status: "OK",
937
+ service: "zoho-crm",
938
+ resource: "contacts",
939
+ operation: "add",
940
+ data: {
941
+ id: "12345",
942
+ },
943
+ });
694
944
  });
695
945
 
696
946
  test("Contacts Crm Contacts One", async () => {
@@ -928,10 +1178,217 @@ test("Contacts Crm Contacts One", async () => {
928
1178
  });
929
1179
  });
930
1180
 
931
- it.skip("Contacts Crm Contacts Update", async () => {
932
- assert.fail(
933
- "incomplete test found please make sure to address the following errors: [`workflow step crm.contactsUpdate.test referencing operation crm.contactsUpdate with expression in requestBody with type not currently supported`]",
934
- );
1181
+ test("Contacts Crm Contacts Update", async () => {
1182
+ const testHttpClient = createTestHTTPClient("crm.contactsUpdate");
1183
+
1184
+ const apideck = new Apideck({
1185
+ serverURL: process.env["TEST_SERVER_URL"] ?? "http://localhost:18080",
1186
+ httpClient: testHttpClient,
1187
+ apiKey: process.env["APIDECK_API_KEY"] ?? "value",
1188
+ });
1189
+
1190
+ const result = await apideck.crm.contacts.update({
1191
+ id: "<id>",
1192
+ consumerId: "test-consumer",
1193
+ appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
1194
+ serviceId: "salesforce",
1195
+ contact: {
1196
+ name: "Elon Musk",
1197
+ ownerId: "54321",
1198
+ type: "personal",
1199
+ companyId: "23456",
1200
+ companyName: "23456",
1201
+ leadId: "34567",
1202
+ firstName: "Elon",
1203
+ middleName: "D.",
1204
+ lastName: "Musk",
1205
+ prefix: "Mr.",
1206
+ suffix: "PhD",
1207
+ title: "CEO",
1208
+ department: "Engineering",
1209
+ language: "EN",
1210
+ gender: "female",
1211
+ birthday: "2000-08-12",
1212
+ photoUrl: "https://unavatar.io/elon-musk",
1213
+ leadSource: "Cold Call",
1214
+ fax: "+12129876543",
1215
+ description: "Internal champion",
1216
+ currentBalance: 10.5,
1217
+ status: "open",
1218
+ active: true,
1219
+ websites: [
1220
+ {
1221
+ id: "12345",
1222
+ url: "http://example.com",
1223
+ type: "primary",
1224
+ },
1225
+ {
1226
+ id: "12345",
1227
+ url: "http://example.com",
1228
+ type: "primary",
1229
+ },
1230
+ {
1231
+ id: "12345",
1232
+ url: "http://example.com",
1233
+ type: "primary",
1234
+ },
1235
+ ],
1236
+ addresses: [
1237
+ {
1238
+ id: "123",
1239
+ type: "primary",
1240
+ string: "25 Spring Street, Blackburn, VIC 3130",
1241
+ name: "HQ US",
1242
+ line1: "Main street",
1243
+ line2: "apt #",
1244
+ line3: "Suite #",
1245
+ line4: "delivery instructions",
1246
+ streetNumber: "25",
1247
+ city: "San Francisco",
1248
+ state: "CA",
1249
+ postalCode: "94104",
1250
+ country: "US",
1251
+ latitude: "40.759211",
1252
+ longitude: "-73.984638",
1253
+ county: "Santa Clara",
1254
+ contactName: "Elon Musk",
1255
+ salutation: "Mr",
1256
+ phoneNumber: "111-111-1111",
1257
+ fax: "122-111-1111",
1258
+ email: "elon@musk.com",
1259
+ website: "https://elonmusk.com",
1260
+ notes: "Address notes or delivery instructions.",
1261
+ rowVersion: "1-12345",
1262
+ },
1263
+ {
1264
+ id: "123",
1265
+ type: "primary",
1266
+ string: "25 Spring Street, Blackburn, VIC 3130",
1267
+ name: "HQ US",
1268
+ line1: "Main street",
1269
+ line2: "apt #",
1270
+ line3: "Suite #",
1271
+ line4: "delivery instructions",
1272
+ streetNumber: "25",
1273
+ city: "San Francisco",
1274
+ state: "CA",
1275
+ postalCode: "94104",
1276
+ country: "US",
1277
+ latitude: "40.759211",
1278
+ longitude: "-73.984638",
1279
+ county: "Santa Clara",
1280
+ contactName: "Elon Musk",
1281
+ salutation: "Mr",
1282
+ phoneNumber: "111-111-1111",
1283
+ fax: "122-111-1111",
1284
+ email: "elon@musk.com",
1285
+ website: "https://elonmusk.com",
1286
+ notes: "Address notes or delivery instructions.",
1287
+ rowVersion: "1-12345",
1288
+ },
1289
+ ],
1290
+ socialLinks: [
1291
+ {
1292
+ id: "12345",
1293
+ url: "https://www.twitter.com/apideck",
1294
+ type: "twitter",
1295
+ },
1296
+ {
1297
+ id: "12345",
1298
+ url: "https://www.twitter.com/apideck",
1299
+ type: "twitter",
1300
+ },
1301
+ ],
1302
+ phoneNumbers: [
1303
+ {
1304
+ id: "12345",
1305
+ countryCode: "1",
1306
+ areaCode: "323",
1307
+ number: "111-111-1111",
1308
+ extension: "105",
1309
+ type: "primary",
1310
+ },
1311
+ {
1312
+ id: "12345",
1313
+ countryCode: "1",
1314
+ areaCode: "323",
1315
+ number: "111-111-1111",
1316
+ extension: "105",
1317
+ type: "primary",
1318
+ },
1319
+ {
1320
+ id: "12345",
1321
+ countryCode: "1",
1322
+ areaCode: "323",
1323
+ number: "111-111-1111",
1324
+ extension: "105",
1325
+ type: "primary",
1326
+ },
1327
+ ],
1328
+ emails: [
1329
+ {
1330
+ id: "123",
1331
+ email: "elon@musk.com",
1332
+ type: "primary",
1333
+ },
1334
+ {
1335
+ id: "123",
1336
+ email: "elon@musk.com",
1337
+ type: "primary",
1338
+ },
1339
+ ],
1340
+ emailDomain: "gmail.com",
1341
+ customFields: [
1342
+ {
1343
+ id: "2389328923893298",
1344
+ name: "employee_level",
1345
+ description: "Employee Level",
1346
+ value: {},
1347
+ },
1348
+ {
1349
+ id: "2389328923893298",
1350
+ name: "employee_level",
1351
+ description: "Employee Level",
1352
+ value: {
1353
+ "0": {},
1354
+ },
1355
+ },
1356
+ ],
1357
+ tags: [
1358
+ "New",
1359
+ ],
1360
+ opportunityIds: [
1361
+ "12345",
1362
+ ],
1363
+ passThrough: [
1364
+ {
1365
+ serviceId: "<id>",
1366
+ extendPaths: [
1367
+ {
1368
+ path: "$.nested.property",
1369
+ value: {
1370
+ "TaxClassificationRef": {
1371
+ "value": "EUC-99990201-V1-00020000",
1372
+ },
1373
+ },
1374
+ },
1375
+ ],
1376
+ },
1377
+ ],
1378
+ },
1379
+ });
1380
+ expect(result.httpMeta.response.status).toBe(200);
1381
+ expect(result.updateContactResponse).toBeDefined();
1382
+ expect(result.updateContactResponse).toEqual({
1383
+ statusCode: 200,
1384
+ status: "OK",
1385
+ service: "zoho-crm",
1386
+ resource: "contacts",
1387
+ operation: "update",
1388
+ data: {
1389
+ id: "12345",
1390
+ },
1391
+ });
935
1392
  });
936
1393
 
937
1394
  test("Contacts Crm Contacts Delete", async () => {