@unboundcx/sdk 4.13.57 → 4.13.58
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unboundcx/sdk",
|
|
3
|
-
"version": "4.13.
|
|
3
|
+
"version": "4.13.58",
|
|
4
4
|
"description": "Official JavaScript SDK for the Unbound API - A comprehensive toolkit for integrating with Unbound's communication, AI, and data management services",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -385,11 +385,60 @@ export class WorkerService {
|
|
|
385
385
|
params.body.userId = userId;
|
|
386
386
|
}
|
|
387
387
|
|
|
388
|
-
const result = await internalRequest(this.sdk,
|
|
388
|
+
const result = await internalRequest(this.sdk,
|
|
389
389
|
'/taskRouter/worker/queueLogout',
|
|
390
390
|
'PUT',
|
|
391
391
|
params,
|
|
392
392
|
);
|
|
393
393
|
return result;
|
|
394
394
|
}
|
|
395
|
+
|
|
396
|
+
/**
|
|
397
|
+
* Search for workers within a queue's scope
|
|
398
|
+
* Finds workers a caller can act on (transfer/invite/DM) for a given queue, with optional
|
|
399
|
+
* name/email/extension text search and skill-match flagging.
|
|
400
|
+
*
|
|
401
|
+
* @param {Object} options - Parameters
|
|
402
|
+
* @param {string} options.queueId - The queue ID to scope the search to (required)
|
|
403
|
+
* @param {string} [options.q] - Free-text filter matching name, email, or extension
|
|
404
|
+
* @param {string[]} [options.skills] - Skill IDs to flag matches for (joined as a comma-separated list)
|
|
405
|
+
* @param {number} [options.limit] - Max rows to return (default 50, max 200)
|
|
406
|
+
* @returns {Promise<Object>} Object containing the matching worker rows
|
|
407
|
+
* @returns {Array<Object>} result.rows - Worker rows with status/capacity/skills info
|
|
408
|
+
* @returns {number} result.total - Total matching rows
|
|
409
|
+
*
|
|
410
|
+
* @example
|
|
411
|
+
* const { rows, total } = await sdk.taskRouter.worker.search({ queueId: 'queue123', q: 'sam' });
|
|
412
|
+
* console.log(rows.length, total);
|
|
413
|
+
*/
|
|
414
|
+
async search(options = {}) {
|
|
415
|
+
const { queueId, q, skills, limit } = options;
|
|
416
|
+
|
|
417
|
+
this.sdk.validateParams(
|
|
418
|
+
{ queueId, q, skills, limit },
|
|
419
|
+
{
|
|
420
|
+
queueId: { type: 'string', required: true },
|
|
421
|
+
q: { type: 'string', required: false },
|
|
422
|
+
skills: { type: 'array', required: false },
|
|
423
|
+
limit: { type: 'number', required: false },
|
|
424
|
+
},
|
|
425
|
+
);
|
|
426
|
+
|
|
427
|
+
const query = { queueId };
|
|
428
|
+
|
|
429
|
+
if (q) {
|
|
430
|
+
query.q = q;
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
if (skills && skills.length) {
|
|
434
|
+
query.skills = skills.join(',');
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
if (limit) {
|
|
438
|
+
query.limit = limit;
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
const result = await internalRequest(this.sdk, '/taskRouter/workers/search', 'GET', { query });
|
|
442
|
+
return result;
|
|
443
|
+
}
|
|
395
444
|
}
|