node-behind-api-client 2.0.48

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 (157) hide show
  1. package/.gitlab-ci.yml +20 -0
  2. package/README.md +65 -0
  3. package/docs/behind-api-client/easyjob/JobDescriptions/README.md +654 -0
  4. package/docs/behind-api-client/easyjob/README.md +647 -0
  5. package/docs/behind-api-client/easyjob/applicants/README.md +494 -0
  6. package/docs/behind-api-client/easyjob/applications/README.md +754 -0
  7. package/docs/behind-api-client/easyjob/candidateProfiles/README.md +940 -0
  8. package/docs/behind-api-client/easyjob/jd-candidate-questions/README.md +372 -0
  9. package/docs/behind-api-client/payments/payture/README.21.md +901 -0
  10. package/docs/behind-api-client/payments/payture/README.cards.md +1497 -0
  11. package/docs/behind-api-client/payments/payture/README.md +1497 -0
  12. package/docs/behind-api-client/payments/payture/README.rukitchen.md +396 -0
  13. package/docs/behind-api-client/payments/payture/README.subscriptions.md +1266 -0
  14. package/docs/behind-api-client/payments/stripe/README.flow.md +254 -0
  15. package/docs/behind-api-client/rag/storage/README.md +519 -0
  16. package/example.js +35 -0
  17. package/index.cjs +14 -0
  18. package/index.js +15 -0
  19. package/lib/behind-api-auth-client/BehindApiAuthClient.js +91 -0
  20. package/lib/behind-api-auth-client/authorisation/AuthorisationApp.js +9 -0
  21. package/lib/behind-api-auth-client/authorisation/AuthorisationV10.js +9 -0
  22. package/lib/behind-api-auth-client/authorisation/AuthorisationV10Code.js +30 -0
  23. package/lib/behind-api-auth-client/example.js +47 -0
  24. package/lib/behind-api-auth-client/package.json +9 -0
  25. package/lib/behind-api-client/BehindApiClient.js +137 -0
  26. package/lib/behind-api-client/chat/ChatApp.js +11 -0
  27. package/lib/behind-api-client/chat/ChatV10.js +13 -0
  28. package/lib/behind-api-client/chat/ChatV10Chat.js +87 -0
  29. package/lib/behind-api-client/chat/ChatV10Chats.js +14 -0
  30. package/lib/behind-api-client/chat/ChatV10Message.js +57 -0
  31. package/lib/behind-api-client/chat/ChatV20.js +11 -0
  32. package/lib/behind-api-client/chat/ChatV20Chat.js +14 -0
  33. package/lib/behind-api-client/chat/ChatV20Message.js +27 -0
  34. package/lib/behind-api-client/easyjob/EasyjobApp.js +9 -0
  35. package/lib/behind-api-client/easyjob/EasyjobV10.js +31 -0
  36. package/lib/behind-api-client/easyjob/EasyjobV10Answers.js +16 -0
  37. package/lib/behind-api-client/easyjob/EasyjobV10Applicants.js +29 -0
  38. package/lib/behind-api-client/easyjob/EasyjobV10Applications.js +39 -0
  39. package/lib/behind-api-client/easyjob/EasyjobV10CandidateProfileArtifacts.js +31 -0
  40. package/lib/behind-api-client/easyjob/EasyjobV10CandidateProfiles.js +99 -0
  41. package/lib/behind-api-client/easyjob/EasyjobV10Companies.js +36 -0
  42. package/lib/behind-api-client/easyjob/EasyjobV10Cv.js +15 -0
  43. package/lib/behind-api-client/easyjob/EasyjobV10Departments.js +37 -0
  44. package/lib/behind-api-client/easyjob/EasyjobV10JobDescriptionArtifacts.js +29 -0
  45. package/lib/behind-api-client/easyjob/EasyjobV10JobDescriptionCandidateQuestions.js +63 -0
  46. package/lib/behind-api-client/easyjob/EasyjobV10JobDescriptions.js +93 -0
  47. package/lib/behind-api-client/easyjob/EasyjobV10Reports.js +35 -0
  48. package/lib/behind-api-client/example.js +47 -0
  49. package/lib/behind-api-client/global/GlobalApp.js +9 -0
  50. package/lib/behind-api-client/global/GlobalV10.js +11 -0
  51. package/lib/behind-api-client/global/GlobalV10Sockets.js +16 -0
  52. package/lib/behind-api-client/global/GlobalV10Storage.js +29 -0
  53. package/lib/behind-api-client/gpt/GptApp.js +15 -0
  54. package/lib/behind-api-client/gpt/GptV10.js +15 -0
  55. package/lib/behind-api-client/gpt/GptV10Prompt.js +17 -0
  56. package/lib/behind-api-client/gpt/GptV10Request.js +16 -0
  57. package/lib/behind-api-client/gpt/GptV10Storedprompts.js +14 -0
  58. package/lib/behind-api-client/gpt/GptV10Whisper.js +23 -0
  59. package/lib/behind-api-client/gpt/GptV20.js +9 -0
  60. package/lib/behind-api-client/gpt/GptV20Prompt.js +15 -0
  61. package/lib/behind-api-client/gpt/GptV30.js +13 -0
  62. package/lib/behind-api-client/gpt/GptV30Chat.js +19 -0
  63. package/lib/behind-api-client/gpt/GptV30Prompt.js +41 -0
  64. package/lib/behind-api-client/gpt/GptV30Prompts.js +32 -0
  65. package/lib/behind-api-client/gpt/GptV40.js +11 -0
  66. package/lib/behind-api-client/gpt/GptV40Prompt.js +24 -0
  67. package/lib/behind-api-client/gpt/GptV40Prompts.js +30 -0
  68. package/lib/behind-api-client/mailer/MailerApp.js +11 -0
  69. package/lib/behind-api-client/mailer/MailerV10.js +15 -0
  70. package/lib/behind-api-client/mailer/MailerV10Bulk.js +21 -0
  71. package/lib/behind-api-client/mailer/MailerV10Message.js +83 -0
  72. package/lib/behind-api-client/mailer/MailerV10Settings.js +44 -0
  73. package/lib/behind-api-client/mailer/MailerV10Template.js +23 -0
  74. package/lib/behind-api-client/mailer/MailerV20.js +9 -0
  75. package/lib/behind-api-client/mailer/MailerV20Message.js +21 -0
  76. package/lib/behind-api-client/mastogram/MastogramApp.js +9 -0
  77. package/lib/behind-api-client/mastogram/MastogramV10.js +13 -0
  78. package/lib/behind-api-client/mastogram/MastogramV10Bluesky.js +42 -0
  79. package/lib/behind-api-client/mastogram/MastogramV10Mastodon.js +45 -0
  80. package/lib/behind-api-client/mastogram/MastogramV10Telegram.js +39 -0
  81. package/lib/behind-api-client/monitor/MonitorApp.js +9 -0
  82. package/lib/behind-api-client/monitor/MonitorV10.js +13 -0
  83. package/lib/behind-api-client/monitor/MonitorV10Finances.js +39 -0
  84. package/lib/behind-api-client/monitor/MonitorV10Record.js +15 -0
  85. package/lib/behind-api-client/monitor/MonitorV10Records.js +22 -0
  86. package/lib/behind-api-client/oauth/OauthApp.js +9 -0
  87. package/lib/behind-api-client/oauth/OauthV10.js +9 -0
  88. package/lib/behind-api-client/oauth/OauthV10Authorisation.js +15 -0
  89. package/lib/behind-api-client/package.json +9 -0
  90. package/lib/behind-api-client/payments/PaymentsApp.js +13 -0
  91. package/lib/behind-api-client/payments/PaymentsV10.js +15 -0
  92. package/lib/behind-api-client/payments/PaymentsV10Gift.js +32 -0
  93. package/lib/behind-api-client/payments/PaymentsV10Payture.js +30 -0
  94. package/lib/behind-api-client/payments/PaymentsV10Product.js +15 -0
  95. package/lib/behind-api-client/payments/PaymentsV10Telegram.js +44 -0
  96. package/lib/behind-api-client/payments/PaymentsV20.js +9 -0
  97. package/lib/behind-api-client/payments/PaymentsV20Payture.js +32 -0
  98. package/lib/behind-api-client/payments/PaymentsV21.js +15 -0
  99. package/lib/behind-api-client/payments/PaymentsV21Cards.js +14 -0
  100. package/lib/behind-api-client/payments/PaymentsV21Payture.js +29 -0
  101. package/lib/behind-api-client/payments/PaymentsV21Stripe.js +28 -0
  102. package/lib/behind-api-client/payments/PaymentsV21Subscriptions.js +21 -0
  103. package/lib/behind-api-client/questionnaire/QuestionnaireApp.js +9 -0
  104. package/lib/behind-api-client/questionnaire/QuestionnaireV10.js +9 -0
  105. package/lib/behind-api-client/questionnaire/QuestionnaireV10Form.js +22 -0
  106. package/lib/behind-api-client/raet/RaetApp.js +11 -0
  107. package/lib/behind-api-client/raet/RaetV10.js +21 -0
  108. package/lib/behind-api-client/raet/RaetV10Cv.js +87 -0
  109. package/lib/behind-api-client/raet/RaetV10Individual.js +43 -0
  110. package/lib/behind-api-client/raet/RaetV10Individuals.js +38 -0
  111. package/lib/behind-api-client/raet/RaetV10Jd.js +47 -0
  112. package/lib/behind-api-client/raet/RaetV10Project.js +61 -0
  113. package/lib/behind-api-client/raet/RaetV10Projects.js +14 -0
  114. package/lib/behind-api-client/raet/RaetV10Report.js +39 -0
  115. package/lib/behind-api-client/raet/RaetV20.js +11 -0
  116. package/lib/behind-api-client/raet/RaetV20Cv.js +31 -0
  117. package/lib/behind-api-client/raet/RaetV20Individuals.js +25 -0
  118. package/lib/behind-api-client/rag/RagApp.js +9 -0
  119. package/lib/behind-api-client/rag/RagV10.js +9 -0
  120. package/lib/behind-api-client/rag/RagV10Storage.js +27 -0
  121. package/lib/behind-api-client/ruKitchen/RuKitchenApp.js +9 -0
  122. package/lib/behind-api-client/ruKitchen/RuKitchenV10.js +11 -0
  123. package/lib/behind-api-client/ruKitchen/RuKitchenV10Importer.js +29 -0
  124. package/lib/behind-api-client/ruKitchen/RuKitchenV10SeoArticle.js +14 -0
  125. package/lib/behind-api-client/sales/SalesApp.js +11 -0
  126. package/lib/behind-api-client/sales/SalesV10.js +23 -0
  127. package/lib/behind-api-client/sales/SalesV10Catalogue.js +58 -0
  128. package/lib/behind-api-client/sales/SalesV10Categories.js +15 -0
  129. package/lib/behind-api-client/sales/SalesV10Companies.js +55 -0
  130. package/lib/behind-api-client/sales/SalesV10Company.js +120 -0
  131. package/lib/behind-api-client/sales/SalesV10Group.js +70 -0
  132. package/lib/behind-api-client/sales/SalesV10Groups.js +21 -0
  133. package/lib/behind-api-client/sales/SalesV10Logs.js +14 -0
  134. package/lib/behind-api-client/sales/SalesV10Notes.js +38 -0
  135. package/lib/behind-api-client/sales/SalesV20.js +11 -0
  136. package/lib/behind-api-client/sales/SalesV20Companies.js +26 -0
  137. package/lib/behind-api-client/sales/SalesV20Notes.js +17 -0
  138. package/lib/behind-api-client/sip/SipApp.js +9 -0
  139. package/lib/behind-api-client/sip/SipV10.js +15 -0
  140. package/lib/behind-api-client/sip/SipV10Call.js +83 -0
  141. package/lib/behind-api-client/sip/SipV10Phone.js +44 -0
  142. package/lib/behind-api-client/sip/SipV10Transcript.js +21 -0
  143. package/lib/behind-api-client/sip/SipV10Transcripts.js +21 -0
  144. package/lib/behind-api-client/storage/StorageApp.js +9 -0
  145. package/lib/behind-api-client/storage/StorageV10.js +11 -0
  146. package/lib/behind-api-client/storage/StorageV10File.js +35 -0
  147. package/lib/behind-api-client/storage/StorageV10Upload.js +21 -0
  148. package/lib/behind-api-client/tests/TestsApp.js +9 -0
  149. package/lib/behind-api-client/tests/TestsV10.js +15 -0
  150. package/lib/behind-api-client/tests/TestsV10Cases.js +29 -0
  151. package/lib/behind-api-client/tests/TestsV10CasesExtended.js +14 -0
  152. package/lib/behind-api-client/tests/TestsV10Core.js +14 -0
  153. package/lib/behind-api-client/tests/TestsV10Mail.js +14 -0
  154. package/lib/behind-api-client/tools/ToolsApp.js +9 -0
  155. package/lib/behind-api-client/tools/ToolsV10.js +9 -0
  156. package/lib/behind-api-client/tools/ToolsV10Pdf.js +30 -0
  157. package/package.json +25 -0
@@ -0,0 +1,647 @@
1
+ # EasyJob JavaScript API Client Documentation
2
+
3
+ This document describes the JavaScript client methods for the EasyJob recruitment management system. All methods are asynchronous and return promises.
4
+
5
+ ## Installation & Setup
6
+
7
+ ```javascript
8
+ // Initialize the API client
9
+ const behindAPI = require('your-api-client');
10
+
11
+ // All EasyJob methods are available under:
12
+ behindAPI.easyjob.V10
13
+ ```
14
+
15
+ ## Authentication
16
+ All methods require a valid authenticated session. The client automatically handles user authentication and session management.
17
+
18
+ ## Response Format
19
+ All methods return a response object with the following structure:
20
+
21
+ **Success Response:**
22
+ ```javascript
23
+ {
24
+ success: true,
25
+ data: {...}
26
+ }
27
+ ```
28
+
29
+ **Error Response:**
30
+ ```javascript
31
+ {
32
+ success: false,
33
+ message: "Error description"
34
+ }
35
+ ```
36
+
37
+ ---
38
+
39
+ ## Companies API
40
+
41
+ ### behindAPI.easyjob.V10.companies.create(name)
42
+ Creates a new company record for the authenticated user.
43
+
44
+ **Parameters:**
45
+ - `name` (string, required) - The name of the company
46
+
47
+ **Usage:**
48
+ ```javascript
49
+ const result = await behindAPI.easyjob.V10.companies.create("Tech Solutions Inc.");
50
+
51
+ // Response:
52
+ {
53
+ success: true,
54
+ data: {
55
+ company_id: "550e8400-e29b-41d4-a716-446655440000"
56
+ }
57
+ }
58
+ ```
59
+
60
+ ### behindAPI.easyjob.V10.companies.delete(companyId)
61
+ Soft deletes a company record.
62
+
63
+ **Parameters:**
64
+ - `companyId` (string, required) - The company UUID to delete
65
+
66
+ **Usage:**
67
+ ```javascript
68
+ const result = await behindAPI.easyjob.V10.companies.delete("550e8400-e29b-41d4-a716-446655440000");
69
+
70
+ // Response:
71
+ {
72
+ success: true
73
+ }
74
+ ```
75
+
76
+ ### behindAPI.easyjob.V10.companies.update(companyId, name)
77
+ Updates an existing company record.
78
+
79
+ **Parameters:**
80
+ - `companyId` (string, required) - The company UUID to update
81
+ - `name` (string, required) - The new company name
82
+
83
+ **Usage:**
84
+ ```javascript
85
+ const result = await behindAPI.easyjob.V10.companies.update(
86
+ "550e8400-e29b-41d4-a716-446655440000",
87
+ "Tech Solutions Ltd."
88
+ );
89
+
90
+ // Response:
91
+ {
92
+ success: true
93
+ }
94
+ ```
95
+
96
+ ### behindAPI.easyjob.V10.companies.getList()
97
+ Retrieves all companies for the authenticated user.
98
+
99
+ **Parameters:** None
100
+
101
+ **Usage:**
102
+ ```javascript
103
+ const result = await behindAPI.easyjob.V10.companies.getList();
104
+
105
+ // Response:
106
+ {
107
+ success: true,
108
+ data: [
109
+ {
110
+ company_id: "550e8400-e29b-41d4-a716-446655440000",
111
+ name: "Tech Solutions Inc.",
112
+ created_at: "2024-01-15T10:30:00Z",
113
+ updated_at: "2024-01-15T10:30:00Z",
114
+ deleted: false
115
+ }
116
+ ]
117
+ }
118
+ ```
119
+
120
+ ---
121
+
122
+ ## Departments API
123
+
124
+ ### behindAPI.easyjob.V10.departments.create(companyId, name)
125
+ Creates a new department within a company.
126
+
127
+ **Parameters:**
128
+ - `companyId` (string, required) - The company UUID where the department belongs
129
+ - `name` (string, required) - The name of the department
130
+
131
+ **Usage:**
132
+ ```javascript
133
+ const result = await behindAPI.easyjob.V10.departments.create(
134
+ "550e8400-e29b-41d4-a716-446655440000",
135
+ "Engineering"
136
+ );
137
+
138
+ // Response:
139
+ {
140
+ success: true,
141
+ data: {
142
+ department_id: "660e8400-e29b-41d4-a716-446655440001"
143
+ }
144
+ }
145
+ ```
146
+
147
+ ### behindAPI.easyjob.V10.departments.delete(departmentId)
148
+ Soft deletes a department record.
149
+
150
+ **Parameters:**
151
+ - `departmentId` (string, required) - The department UUID to delete
152
+
153
+ **Usage:**
154
+ ```javascript
155
+ const result = await behindAPI.easyjob.V10.departments.delete("660e8400-e29b-41d4-a716-446655440001");
156
+
157
+ // Response:
158
+ {
159
+ success: true
160
+ }
161
+ ```
162
+
163
+ ### behindAPI.easyjob.V10.departments.update(departmentId, name)
164
+ Updates an existing department record.
165
+
166
+ **Parameters:**
167
+ - `departmentId` (string, required) - The department UUID to update
168
+ - `name` (string, required) - The new department name
169
+
170
+ **Usage:**
171
+ ```javascript
172
+ const result = await behindAPI.easyjob.V10.departments.update(
173
+ "660e8400-e29b-41d4-a716-446655440001",
174
+ "Software Engineering"
175
+ );
176
+
177
+ // Response:
178
+ {
179
+ success: true
180
+ }
181
+ ```
182
+
183
+ ### behindAPI.easyjob.V10.departments.getList(companyId)
184
+ Retrieves all departments for a specific company.
185
+
186
+ **Parameters:**
187
+ - `companyId` (string, required) - The company UUID to get departments for
188
+
189
+ **Usage:**
190
+ ```javascript
191
+ const result = await behindAPI.easyjob.V10.departments.getList("550e8400-e29b-41d4-a716-446655440000");
192
+
193
+ // Response:
194
+ {
195
+ success: true,
196
+ data: [
197
+ {
198
+ department_id: "660e8400-e29b-41d4-a716-446655440001",
199
+ company_id: "550e8400-e29b-41d4-a716-446655440000",
200
+ name: "Engineering",
201
+ created_at: "2024-01-15T10:30:00Z",
202
+ updated_at: "2024-01-15T10:30:00Z",
203
+ deleted: false
204
+ }
205
+ ]
206
+ }
207
+ ```
208
+ ---
209
+
210
+ ## Job Description Artifacts API
211
+
212
+ ### behindAPI.easyjob.V10.jobDescriptionArtifacts.create(jobDescriptionId, content)
213
+ Creates a new artifact for a job description.
214
+
215
+ **Parameters:**
216
+ - `jobDescriptionId` (string, required) - The job description UUID where the artifact belongs
217
+ - `content` (string, required) - The content/text of the artifact
218
+
219
+ **Usage:**
220
+ ```javascript
221
+ const result = await behindAPI.easyjob.V10.jobDescriptionArtifacts.create(
222
+ "770e8400-e29b-41d4-a716-446655440002",
223
+ "Additional requirements document content..."
224
+ );
225
+
226
+ // Response:
227
+ {
228
+ success: true,
229
+ data: {
230
+ artifact_id: "880e8400-e29b-41d4-a716-446655440003"
231
+ }
232
+ }
233
+ ```
234
+
235
+ ### behindAPI.easyjob.V10.jobDescriptionArtifacts.delete(artifactId)
236
+ Deletes an artifact record.
237
+
238
+ **Parameters:**
239
+ - `artifactId` (string, required) - The artifact UUID to delete
240
+
241
+ **Usage:**
242
+ ```javascript
243
+ const result = await behindAPI.easyjob.V10.jobDescriptionArtifacts.delete("880e8400-e29b-41d4-a716-446655440003");
244
+
245
+ // Response:
246
+ {
247
+ success: true
248
+ }
249
+ ```
250
+
251
+ ### behindAPI.easyjob.V10.jobDescriptionArtifacts.updateArtifactData(artifactId, data)
252
+ Updates the processed data field of an artifact.
253
+
254
+ **Parameters:**
255
+ - `artifactId` (string, required) - The artifact UUID to update
256
+ - `data` (object, required) - The processed data to store
257
+
258
+ **Usage:**
259
+ ```javascript
260
+ const result = await behindAPI.easyjob.V10.jobDescriptionArtifacts.updateArtifactData(
261
+ "880e8400-e29b-41d4-a716-446655440003",
262
+ {
263
+ processed_requirements: ["React", "Node.js", "PostgreSQL"],
264
+ skill_level: "senior",
265
+ estimated_hours: 40
266
+ }
267
+ );
268
+
269
+ // Response:
270
+ {
271
+ success: true
272
+ }
273
+ ```
274
+
275
+ ### behindAPI.easyjob.V10.jobDescriptionArtifacts.getList(jobDescriptionId)
276
+ Retrieves all artifacts for a specific job description.
277
+
278
+ **Parameters:**
279
+ - `jobDescriptionId` (string, required) - The job description UUID to get artifacts for
280
+
281
+ **Usage:**
282
+ ```javascript
283
+ const result = await behindAPI.easyjob.V10.jobDescriptionArtifacts.getList("770e8400-e29b-41d4-a716-446655440002");
284
+
285
+ // Response:
286
+ {
287
+ success: true,
288
+ data: [
289
+ {
290
+ artifact_id: "880e8400-e29b-41d4-a716-446655440003",
291
+ job_description_id: "770e8400-e29b-41d4-a716-446655440002",
292
+ content: "Additional requirements document content...",
293
+ processed_data: {
294
+ processed_requirements: ["React", "Node.js", "PostgreSQL"],
295
+ skill_level: "senior",
296
+ estimated_hours: 40
297
+ },
298
+ created_at: "2024-01-15T10:30:00Z",
299
+ updated_at: "2024-01-15T10:30:00Z"
300
+ }
301
+ ]
302
+ }
303
+ ```
304
+
305
+ ---
306
+
307
+ ## Candidate Profile Artifacts API
308
+
309
+ ### behindAPI.easyjob.V10.candidateProfileArtifacts.create(candidateProfileId, content, source, type)
310
+ Creates a new artifact for a candidate profile.
311
+
312
+ **Parameters:**
313
+ - `candidateProfileId` (string, required) - The candidate profile UUID where the artifact belongs
314
+ - `content` (string, required) - The content/text of the artifact
315
+ - `source` (string, required) - The source of the artifact (e.g., "resume", "cover_letter")
316
+ - `type` (string, required) - The type of artifact (e.g., "pdf", "text", "docx")
317
+
318
+ **Usage:**
319
+ ```javascript
320
+ const result = await behindAPI.easyjob.V10.candidateProfileArtifacts.create(
321
+ "aa0e8400-e29b-41d4-a716-446655440005",
322
+ "Resume content in text format...",
323
+ "resume",
324
+ "text"
325
+ );
326
+
327
+ // Response:
328
+ {
329
+ success: true,
330
+ data: {
331
+ artifact_id: "bb0e8400-e29b-41d4-a716-446655440006"
332
+ }
333
+ }
334
+ ```
335
+
336
+ ### behindAPI.easyjob.V10.candidateProfileArtifacts.delete(artifactId)
337
+ Deletes a candidate profile artifact.
338
+
339
+ **Parameters:**
340
+ - `artifactId` (string, required) - The artifact UUID to delete
341
+
342
+ **Usage:**
343
+ ```javascript
344
+ const result = await behindAPI.easyjob.V10.candidateProfileArtifacts.delete("bb0e8400-e29b-41d4-a716-446655440006");
345
+
346
+ // Response:
347
+ {
348
+ success: true
349
+ }
350
+ ```
351
+
352
+ ### behindAPI.easyjob.V10.candidateProfileArtifacts.getList(candidateProfileId)
353
+ Retrieves all artifacts for a specific candidate profile.
354
+
355
+ **Parameters:**
356
+ - `candidateProfileId` (string, required) - The candidate profile UUID to get artifacts for
357
+
358
+ **Usage:**
359
+ ```javascript
360
+ const result = await behindAPI.easyjob.V10.candidateProfileArtifacts.getList("aa0e8400-e29b-41d4-a716-446655440005");
361
+
362
+ // Response:
363
+ {
364
+ success: true,
365
+ data: [
366
+ {
367
+ artifact_id: "bb0e8400-e29b-41d4-a716-446655440006",
368
+ candidate_profile_id: "aa0e8400-e29b-41d4-a716-446655440005",
369
+ content: "Resume content in text format...",
370
+ source: "resume",
371
+ type: "text",
372
+ created_at: "2024-01-15T10:30:00Z",
373
+ updated_at: "2024-01-15T10:30:00Z"
374
+ }
375
+ ]
376
+ }
377
+ ```
378
+
379
+ ---
380
+
381
+ ## CV Parsing API
382
+
383
+ ### behindAPI.easyjob.V10.cv.parse(content, type)
384
+ Parses CV/resume content and extracts structured information.
385
+
386
+ **Parameters:**
387
+ - `content` (string, required) - The content of the CV/resume to parse
388
+ - `type` (string, required) - The type of content (e.g., "text", "pdf", "docx")
389
+
390
+ **Usage:**
391
+ ```javascript
392
+ const result = await behindAPI.easyjob.V10.cv.parse(
393
+ "John Doe\nSoftware Engineer\nExperience: 5+ years in full-stack development...",
394
+ "text"
395
+ );
396
+
397
+ // Response:
398
+ {
399
+ success: true,
400
+ data: {
401
+ personal_info: {
402
+ name: "John Doe",
403
+ title: "Software Engineer"
404
+ },
405
+ experience: [...],
406
+ education: [...],
407
+ skills: [...],
408
+ contact_info: {...}
409
+ }
410
+ }
411
+ ```
412
+
413
+ ---
414
+
415
+ ## Complete Usage Example
416
+
417
+ ```javascript
418
+ // Complete workflow example for candidate management
419
+ async function createCandidateProfile() {
420
+ try {
421
+ // 1. Create a candidate profile
422
+ const profile = await behindAPI.easyjob.V10.candidateProfiles.create();
423
+ const profileId = profile.data.profile_id;
424
+
425
+ // 2. Update basic profile information
426
+ await behindAPI.easyjob.V10.candidateProfiles.update(profileId, {
427
+ first_name: "Jane",
428
+ last_name: "Smith",
429
+ email: "jane.smith@example.com",
430
+ phone: "+1-555-987-6543",
431
+ location: "San Francisco, CA",
432
+ summary: "Full-stack developer with expertise in modern web technologies"
433
+ });
434
+
435
+ // 3. Add education
436
+ await behindAPI.easyjob.V10.candidateProfiles.updateEducation(profileId, [
437
+ {
438
+ institution: "Stanford University",
439
+ degree: "Master of Science",
440
+ field_of_study: "Computer Science",
441
+ start_year: 2018,
442
+ end_year: 2020,
443
+ gpa: 3.9
444
+ }
445
+ ]);
446
+
447
+ // 4. Add job experience
448
+ await behindAPI.easyjob.V10.candidateProfiles.updateJobExperience(profileId, [
449
+ {
450
+ company: "Google",
451
+ position: "Software Engineer",
452
+ start_date: "2020-06-01",
453
+ end_date: null, // Current job
454
+ description: "Developed scalable web applications using React and Node.js",
455
+ technologies: ["React", "Node.js", "TypeScript", "MongoDB"]
456
+ }
457
+ ]);
458
+
459
+ // 5. Add technical skills
460
+ await behindAPI.easyjob.V10.candidateProfiles.updateHardSkills(profileId, [
461
+ { skill: "React", level: "Expert", years_experience: 4 },
462
+ { skill: "Node.js", level: "Advanced", years_experience: 3 },
463
+ { skill: "TypeScript", level: "Advanced", years_experience: 3 }
464
+ ]);
465
+
466
+ // 6. Add soft skills
467
+ await behindAPI.easyjob.V10.candidateProfiles.updateSoftSkills(profileId, [
468
+ { skill: "Team Leadership", level: "Advanced" },
469
+ { skill: "Problem Solving", level: "Expert" }
470
+ ]);
471
+
472
+ // 7. Add certificates
473
+ await behindAPI.easyjob.V10.candidateProfiles.updateCertificates(profileId, [
474
+ {
475
+ name: "Google Cloud Professional Developer",
476
+ issuing_organization: "Google Cloud",
477
+ issue_date: "2023-03-15",
478
+ expiry_date: "2025-03-15",
479
+ credential_id: "GCP-DEV-789123"
480
+ }
481
+ ]);
482
+
483
+ // 8. Add languages
484
+ await behindAPI.easyjob.V10.candidateProfiles.updateLanguages(profileId, [
485
+ { language: "English", proficiency: "Native" },
486
+ { language: "French", proficiency: "Intermediate" }
487
+ ]);
488
+
489
+ // 9. Upload resume as artifact
490
+ const resumeContent = "Jane Smith\nFull-Stack Developer\n..."; // Resume text
491
+ await behindAPI.easyjob.V10.candidateProfileArtifacts.create(
492
+ profileId,
493
+ resumeContent,
494
+ "resume",
495
+ "text"
496
+ );
497
+
498
+ console.log("Candidate profile created successfully!");
499
+
500
+ } catch (error) {
501
+ console.error("Error creating candidate profile:", error);
502
+ }
503
+ }
504
+
505
+ // Complete workflow example for job posting management
506
+ async function createJobPosting() {
507
+ try {
508
+ // 1. Create a company
509
+ const company = await behindAPI.easyjob.V10.companies.create("Tech Innovations LLC");
510
+ const companyId = company.data.company_id;
511
+
512
+ // 2. Create a department
513
+ const department = await behindAPI.easyjob.V10.departments.create(companyId, "Software Development");
514
+ const departmentId = department.data.department_id;
515
+
516
+ // 3. Create a job description
517
+ const jobDesc = await behindAPI.easyjob.V10.jobDescriptions.create(
518
+ departmentId,
519
+ "Full Stack Developer",
520
+ "We are seeking a talented full stack developer..."
521
+ );
522
+ const jobDescId = jobDesc.data.job_description_id;
523
+
524
+ // 4. Update job description with detailed information
525
+ await behindAPI.easyjob.V10.jobDescriptions.update(
526
+ jobDescId,
527
+ "Senior Full Stack Developer", // Updated title
528
+ "We are seeking a talented senior full stack developer with 5+ years of experience...", // Updated description
529
+ "2024-02-01 09:00:00", // Published date
530
+ "2024-03-15 23:59:59" // Application deadline
531
+ );
532
+
533
+ // 5. Add structured job data
534
+ await behindAPI.easyjob.V10.jobDescriptions.updateData(jobDescId, {
535
+ salary_range: "90000-130000",
536
+ remote_work: true,
537
+ experience_level: "senior",
538
+ required_skills: ["React", "Node.js", "TypeScript", "AWS"],
539
+ nice_to_have: ["GraphQL", "Docker", "Kubernetes"],
540
+ benefits: ["Health insurance", "401k matching", "Flexible PTO"]
541
+ });
542
+
543
+ // 6. Add candidate questions
544
+ await behindAPI.easyjob.V10.jobDescriptionCandidateQuestions.create(
545
+ jobDescId,
546
+ "Describe your experience with React and modern JavaScript frameworks"
547
+ );
548
+
549
+ await behindAPI.easyjob.V10.jobDescriptionCandidateQuestions.create(
550
+ jobDescId,
551
+ "How do you approach debugging complex full-stack applications?"
552
+ );
553
+
554
+ // 7. Create job description artifacts
555
+ const artifact = await behindAPI.easyjob.V10.jobDescriptionArtifacts.create(
556
+ jobDescId,
557
+ "Technical requirements and team structure documentation..."
558
+ );
559
+
560
+ // 8. Update artifact with processed data
561
+ await behindAPI.easyjob.V10.jobDescriptionArtifacts.updateArtifactData(
562
+ artifact.data.artifact_id,
563
+ {
564
+ team_size: 8,
565
+ tech_stack: ["React", "Node.js", "PostgreSQL", "Redis"],
566
+ deployment_environment: "AWS",
567
+ development_methodology: "Agile/Scrum"
568
+ }
569
+ );
570
+
571
+ console.log("Job posting created successfully!");
572
+
573
+ } catch (error) {
574
+ console.error("Error creating job posting:", error);
575
+ }
576
+ }
577
+
578
+ // CV parsing workflow example
579
+ async function processCandidateCV() {
580
+ try {
581
+ // 1. Parse CV content
582
+ const cvContent = `
583
+ John Doe
584
+ Software Engineer
585
+ john.doe@email.com
586
+ +1-555-123-4567
587
+
588
+ EXPERIENCE
589
+ Senior Developer at TechCorp (2020-2024)
590
+ - Led development of microservices architecture
591
+ - Managed team of 5 developers
592
+ - Technologies: React, Node.js, AWS
593
+
594
+ EDUCATION
595
+ B.S. Computer Science, MIT (2016-2020)
596
+ GPA: 3.8/4.0
597
+
598
+ SKILLS
599
+ JavaScript, Python, React, Node.js, AWS, Docker
600
+ `;
601
+
602
+ const parseResult = await behindAPI.easyjob.V10.cv.parse(cvContent, "text");
603
+
604
+ if (parseResult.success) {
605
+ // 2. Create candidate profile
606
+ const profile = await behindAPI.easyjob.V10.candidateProfiles.create();
607
+ const profileId = profile.data.profile_id;
608
+
609
+ // 3. Update profile with parsed data
610
+ const parsedData = parseResult.data;
611
+
612
+ if (parsedData.personal_info) {
613
+ await behindAPI.easyjob.V10.candidateProfiles.update(profileId, {
614
+ first_name: parsedData.personal_info.first_name,
615
+ last_name: parsedData.personal_info.last_name,
616
+ email: parsedData.personal_info.email,
617
+ phone: parsedData.personal_info.phone
618
+ });
619
+ }
620
+
621
+ if (parsedData.experience) {
622
+ await behindAPI.easyjob.V10.candidateProfiles.updateJobExperience(profileId, parsedData.experience);
623
+ }
624
+
625
+ if (parsedData.education) {
626
+ await behindAPI.easyjob.V10.candidateProfiles.updateEducation(profileId, parsedData.education);
627
+ }
628
+
629
+ if (parsedData.skills) {
630
+ await behindAPI.easyjob.V10.candidateProfiles.updateHardSkills(profileId, parsedData.skills);
631
+ }
632
+
633
+ // 4. Store original CV as artifact
634
+ await behindAPI.easyjob.V10.candidateProfileArtifacts.create(
635
+ profileId,
636
+ cvContent,
637
+ "resume",
638
+ "text"
639
+ );
640
+
641
+ console.log("CV processed and profile created successfully!");
642
+ }
643
+
644
+ } catch (error) {
645
+ console.error("Error processing CV:", error);
646
+ }
647
+ }````