@epilot/sdk 2.20.79 → 2.20.80
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/definitions/phone-integration-runtime.json +1 -1
- package/definitions/phone-integration.json +651 -0
- package/dist/apis/access-token.cjs +6 -6
- package/dist/apis/access-token.js +1 -1
- package/dist/apis/address-suggestions.cjs +6 -6
- package/dist/apis/address-suggestions.js +1 -1
- package/dist/apis/address.cjs +6 -6
- package/dist/apis/address.js +1 -1
- package/dist/apis/ai-agents.cjs +6 -6
- package/dist/apis/ai-agents.js +1 -1
- package/dist/apis/app.cjs +6 -6
- package/dist/apis/app.js +1 -1
- package/dist/apis/audit-logs.cjs +6 -6
- package/dist/apis/audit-logs.js +1 -1
- package/dist/apis/automation.cjs +6 -6
- package/dist/apis/automation.js +1 -1
- package/dist/apis/billing.cjs +6 -6
- package/dist/apis/billing.js +1 -1
- package/dist/apis/blueprint-manifest.cjs +6 -6
- package/dist/apis/blueprint-manifest.js +1 -1
- package/dist/apis/calendar.cjs +6 -6
- package/dist/apis/calendar.js +1 -1
- package/dist/apis/chat.cjs +6 -6
- package/dist/apis/chat.js +1 -1
- package/dist/apis/configuration-hub.cjs +6 -6
- package/dist/apis/configuration-hub.js +1 -1
- package/dist/apis/consent.cjs +6 -6
- package/dist/apis/consent.js +1 -1
- package/dist/apis/customer-portal.cjs +6 -6
- package/dist/apis/customer-portal.js +1 -1
- package/dist/apis/dashboard.cjs +6 -6
- package/dist/apis/dashboard.js +1 -1
- package/dist/apis/data-governance.cjs +6 -6
- package/dist/apis/data-governance.js +1 -1
- package/dist/apis/deduplication.cjs +6 -6
- package/dist/apis/deduplication.js +1 -1
- package/dist/apis/design.cjs +6 -6
- package/dist/apis/design.js +1 -1
- package/dist/apis/document.cjs +6 -6
- package/dist/apis/document.js +1 -1
- package/dist/apis/email-settings.cjs +6 -6
- package/dist/apis/email-settings.js +1 -1
- package/dist/apis/email-template.cjs +6 -6
- package/dist/apis/email-template.js +1 -1
- package/dist/apis/entity-mapping.cjs +6 -6
- package/dist/apis/entity-mapping.js +1 -1
- package/dist/apis/entity.cjs +6 -6
- package/dist/apis/entity.js +1 -1
- package/dist/apis/environments.cjs +6 -6
- package/dist/apis/environments.js +1 -1
- package/dist/apis/event-catalog.cjs +6 -6
- package/dist/apis/event-catalog.js +1 -1
- package/dist/apis/external-values.cjs +6 -6
- package/dist/apis/external-values.js +1 -1
- package/dist/apis/file.cjs +6 -6
- package/dist/apis/file.js +1 -1
- package/dist/apis/iban.cjs +6 -6
- package/dist/apis/iban.js +1 -1
- package/dist/apis/identity.cjs +6 -6
- package/dist/apis/identity.js +1 -1
- package/dist/apis/integration-toolkit.cjs +6 -6
- package/dist/apis/integration-toolkit.js +1 -1
- package/dist/apis/journey.cjs +6 -6
- package/dist/apis/journey.js +1 -1
- package/dist/apis/kanban.cjs +6 -6
- package/dist/apis/kanban.js +1 -1
- package/dist/apis/message.cjs +6 -6
- package/dist/apis/message.js +1 -1
- package/dist/apis/metering.cjs +6 -6
- package/dist/apis/metering.js +1 -1
- package/dist/apis/notes.cjs +6 -6
- package/dist/apis/notes.js +1 -1
- package/dist/apis/notification.cjs +6 -6
- package/dist/apis/notification.js +1 -1
- package/dist/apis/organization.cjs +6 -6
- package/dist/apis/organization.js +1 -1
- package/dist/apis/partner-directory.cjs +6 -6
- package/dist/apis/partner-directory.js +1 -1
- package/dist/apis/permissions.cjs +6 -6
- package/dist/apis/permissions.js +1 -1
- package/dist/apis/phone-integration.cjs +8 -8
- package/dist/apis/phone-integration.d.cts +2 -2
- package/dist/apis/phone-integration.d.ts +2 -2
- package/dist/apis/phone-integration.js +2 -2
- package/dist/apis/pricing-tier.cjs +6 -6
- package/dist/apis/pricing-tier.js +1 -1
- package/dist/apis/pricing.cjs +6 -6
- package/dist/apis/pricing.js +1 -1
- package/dist/apis/purpose.cjs +6 -6
- package/dist/apis/purpose.js +1 -1
- package/dist/apis/query.cjs +6 -6
- package/dist/apis/query.js +1 -1
- package/dist/apis/sandbox.cjs +6 -6
- package/dist/apis/sandbox.js +1 -1
- package/dist/apis/sharing.cjs +6 -6
- package/dist/apis/sharing.js +1 -1
- package/dist/apis/snapshot.cjs +6 -6
- package/dist/apis/snapshot.js +1 -1
- package/dist/apis/submission.cjs +6 -6
- package/dist/apis/submission.js +1 -1
- package/dist/apis/target.cjs +6 -6
- package/dist/apis/target.js +1 -1
- package/dist/apis/targeting.cjs +6 -6
- package/dist/apis/targeting.js +1 -1
- package/dist/apis/template-variables.cjs +6 -6
- package/dist/apis/template-variables.js +1 -1
- package/dist/apis/user.cjs +6 -6
- package/dist/apis/user.js +1 -1
- package/dist/apis/validation-rules.cjs +6 -6
- package/dist/apis/validation-rules.js +1 -1
- package/dist/apis/webhooks.cjs +6 -6
- package/dist/apis/webhooks.js +1 -1
- package/dist/apis/workflow-definition.cjs +6 -6
- package/dist/apis/workflow-definition.js +1 -1
- package/dist/apis/workflow.cjs +6 -6
- package/dist/apis/workflow.js +1 -1
- package/dist/chunk-JFRRQORA.js +14 -0
- package/dist/{chunk-5Z7XQQT2.js → chunk-KH4BRB6Z.js} +2 -2
- package/dist/{chunk-4G44P2X4.cjs → chunk-OLRBYITL.cjs} +2 -2
- package/dist/{chunk-BY76NFAX.cjs → chunk-XPQ7LBUE.cjs} +1 -1
- package/dist/index.cjs +10 -10
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/phone-integration-5EHY236F.js +7 -0
- package/dist/phone-integration-C567S75X.cjs +7 -0
- package/dist/{phone-integration-runtime-DFA6NYNK.cjs → phone-integration-runtime-3QDC5IMK.cjs} +2 -2
- package/dist/{phone-integration-runtime-27B4SHA5.js → phone-integration-runtime-JWF52VHF.js} +1 -1
- package/dist/phone-integration.d-DJrZ4xkA.d.cts +539 -0
- package/dist/phone-integration.d-DJrZ4xkA.d.ts +539 -0
- package/docs/phone-integration.md +293 -0
- package/package.json +1 -1
- package/dist/chunk-UFMZ4EV3.js +0 -14
- package/dist/phone-integration-JT2UAOGS.cjs +0 -7
- package/dist/phone-integration-KORLYUBG.js +0 -7
- package/dist/phone-integration.d-ChHA2oGI.d.cts +0 -179
- package/dist/phone-integration.d-ChHA2oGI.d.ts +0 -179
|
@@ -27,7 +27,22 @@ const { data } = await phoneIntegrationClient.batchSearchCustomers(...)
|
|
|
27
27
|
**phone-integration**
|
|
28
28
|
- [`batchSearchCustomers`](#batchsearchcustomers)
|
|
29
29
|
|
|
30
|
+
**manager**
|
|
31
|
+
- [`getManagerStatus`](#getmanagerstatus)
|
|
32
|
+
- [`listPhoneAgents`](#listphoneagents)
|
|
33
|
+
- [`assignPhoneAgent`](#assignphoneagent)
|
|
34
|
+
- [`removePhoneAgent`](#removephoneagent)
|
|
35
|
+
|
|
36
|
+
**operator**
|
|
37
|
+
- [`getProviderSetup`](#getprovidersetup)
|
|
38
|
+
- [`setupProvider`](#setupprovider)
|
|
39
|
+
|
|
30
40
|
**Schemas**
|
|
41
|
+
- [`ManagerStatus`](#managerstatus)
|
|
42
|
+
- [`PhoneAgent`](#phoneagent)
|
|
43
|
+
- [`AssignPhoneAgentRequest`](#assignphoneagentrequest)
|
|
44
|
+
- [`ProviderSetup`](#providersetup)
|
|
45
|
+
- [`ProviderSetupRequest`](#providersetuprequest)
|
|
31
46
|
- [`CustomerBatchSearchResult`](#customerbatchsearchresult)
|
|
32
47
|
- [`CustomerSearchResult`](#customersearchresult)
|
|
33
48
|
- [`CustomerIdentifier`](#customeridentifier)
|
|
@@ -78,8 +93,286 @@ const { data } = await client.batchSearchCustomers({
|
|
|
78
93
|
|
|
79
94
|
---
|
|
80
95
|
|
|
96
|
+
### `getManagerStatus`
|
|
97
|
+
|
|
98
|
+
Whether the caller's organization is ready for phone agents: the telephony provider tenant
|
|
99
|
+
exists and is configured. The control center shows a "not set up" state when `ready` is false.
|
|
100
|
+
Requires `phon
|
|
101
|
+
|
|
102
|
+
`GET /v1/manager/status`
|
|
103
|
+
|
|
104
|
+
```ts
|
|
105
|
+
const { data } = await client.getManagerStatus()
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
<details>
|
|
109
|
+
<summary>Response</summary>
|
|
110
|
+
|
|
111
|
+
```json
|
|
112
|
+
{
|
|
113
|
+
"provider": "babelforce",
|
|
114
|
+
"ready": true,
|
|
115
|
+
"reasons": ["provider_tenant_missing"]
|
|
116
|
+
}
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
</details>
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
### `listPhoneAgents`
|
|
124
|
+
|
|
125
|
+
Organization members who hold the phone (`phone:use`), each joined with the provider user behind
|
|
126
|
+
them. Requires `phone:manage`.
|
|
127
|
+
|
|
128
|
+
`GET /v1/manager/agents`
|
|
129
|
+
|
|
130
|
+
```ts
|
|
131
|
+
const { data } = await client.listPhoneAgents()
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
<details>
|
|
135
|
+
<summary>Response</summary>
|
|
136
|
+
|
|
137
|
+
```json
|
|
138
|
+
{
|
|
139
|
+
"results": [
|
|
140
|
+
{
|
|
141
|
+
"user_id": "string",
|
|
142
|
+
"email": "string",
|
|
143
|
+
"display_name": "string",
|
|
144
|
+
"status": "active",
|
|
145
|
+
"provider_user_id": "string",
|
|
146
|
+
"provider_roles": ["string"],
|
|
147
|
+
"assigned_at": "1970-01-01T00:00:00.000Z",
|
|
148
|
+
"assigned_by": "string"
|
|
149
|
+
}
|
|
150
|
+
]
|
|
151
|
+
}
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
</details>
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
### `assignPhoneAgent`
|
|
159
|
+
|
|
160
|
+
Gives an organization member the phone. In order: the member is verified with user-api, their
|
|
161
|
+
pairwise subject for the provider is read from identity-api, the provider user is created (or
|
|
162
|
+
found) bound
|
|
163
|
+
|
|
164
|
+
`POST /v1/manager/agents`
|
|
165
|
+
|
|
166
|
+
```ts
|
|
167
|
+
const { data } = await client.assignPhoneAgent(
|
|
168
|
+
null,
|
|
169
|
+
{
|
|
170
|
+
user_id: 'string'
|
|
171
|
+
},
|
|
172
|
+
)
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
<details>
|
|
176
|
+
<summary>Response</summary>
|
|
177
|
+
|
|
178
|
+
```json
|
|
179
|
+
{
|
|
180
|
+
"user_id": "string",
|
|
181
|
+
"email": "string",
|
|
182
|
+
"display_name": "string",
|
|
183
|
+
"status": "active",
|
|
184
|
+
"provider_user_id": "string",
|
|
185
|
+
"provider_roles": ["string"],
|
|
186
|
+
"assigned_at": "1970-01-01T00:00:00.000Z",
|
|
187
|
+
"assigned_by": "string"
|
|
188
|
+
}
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
</details>
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
### `removePhoneAgent`
|
|
196
|
+
|
|
197
|
+
Takes the phone away from a member: the `phone_agent` role is removed first, then the provider
|
|
198
|
+
user is deactivated (never deleted: call history keeps referring to it). Requires `phone:manage`.
|
|
199
|
+
|
|
200
|
+
`DELETE /v1/manager/agents/{user_id}`
|
|
201
|
+
|
|
202
|
+
```ts
|
|
203
|
+
const { data } = await client.removePhoneAgent({
|
|
204
|
+
user_id: 'example',
|
|
205
|
+
})
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
### `getProviderSetup`
|
|
211
|
+
|
|
212
|
+
What has been set up at the telephony provider for this organization.
|
|
213
|
+
|
|
214
|
+
`GET /v1/operator/organizations/{org_id}/provider`
|
|
215
|
+
|
|
216
|
+
```ts
|
|
217
|
+
const { data } = await client.getProviderSetup({
|
|
218
|
+
org_id: 'example',
|
|
219
|
+
})
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
<details>
|
|
223
|
+
<summary>Response</summary>
|
|
224
|
+
|
|
225
|
+
```json
|
|
226
|
+
{
|
|
227
|
+
"provider": "babelforce",
|
|
228
|
+
"org_id": "string",
|
|
229
|
+
"ready": true,
|
|
230
|
+
"tenant": {
|
|
231
|
+
"id": "string",
|
|
232
|
+
"name": "string",
|
|
233
|
+
"org_key": "string",
|
|
234
|
+
"created_at": "1970-01-01T00:00:00.000Z"
|
|
235
|
+
},
|
|
236
|
+
"scim": {
|
|
237
|
+
"configured": true,
|
|
238
|
+
"roles_enabled": true
|
|
239
|
+
},
|
|
240
|
+
"sso": {
|
|
241
|
+
"configured": true,
|
|
242
|
+
"identity_client_id": "string",
|
|
243
|
+
"configured_at": "1970-01-01T00:00:00.000Z"
|
|
244
|
+
},
|
|
245
|
+
"last_setup_by": "string"
|
|
246
|
+
}
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
</details>
|
|
250
|
+
|
|
251
|
+
---
|
|
252
|
+
|
|
253
|
+
### `setupProvider`
|
|
254
|
+
|
|
255
|
+
Prepares the telephony provider for an organization, idempotently and in order: the provider
|
|
256
|
+
tenant (Babelforce sub-account keyed by the organization id), its SCIM configuration with role
|
|
257
|
+
management o
|
|
258
|
+
|
|
259
|
+
`POST /v1/operator/organizations/{org_id}/provider:setup`
|
|
260
|
+
|
|
261
|
+
```ts
|
|
262
|
+
const { data } = await client.setupProvider(
|
|
263
|
+
{
|
|
264
|
+
org_id: 'example',
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
account_name: 'string',
|
|
268
|
+
identity_client_id: 'string',
|
|
269
|
+
identity_client_secret: 'stringstring'
|
|
270
|
+
},
|
|
271
|
+
)
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
<details>
|
|
275
|
+
<summary>Response</summary>
|
|
276
|
+
|
|
277
|
+
```json
|
|
278
|
+
{
|
|
279
|
+
"provider": "babelforce",
|
|
280
|
+
"org_id": "string",
|
|
281
|
+
"ready": true,
|
|
282
|
+
"tenant": {
|
|
283
|
+
"id": "string",
|
|
284
|
+
"name": "string",
|
|
285
|
+
"org_key": "string",
|
|
286
|
+
"created_at": "1970-01-01T00:00:00.000Z"
|
|
287
|
+
},
|
|
288
|
+
"scim": {
|
|
289
|
+
"configured": true,
|
|
290
|
+
"roles_enabled": true
|
|
291
|
+
},
|
|
292
|
+
"sso": {
|
|
293
|
+
"configured": true,
|
|
294
|
+
"identity_client_id": "string",
|
|
295
|
+
"configured_at": "1970-01-01T00:00:00.000Z"
|
|
296
|
+
},
|
|
297
|
+
"last_setup_by": "string"
|
|
298
|
+
}
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
</details>
|
|
302
|
+
|
|
303
|
+
---
|
|
304
|
+
|
|
81
305
|
## Schemas
|
|
82
306
|
|
|
307
|
+
### `ManagerStatus`
|
|
308
|
+
|
|
309
|
+
```ts
|
|
310
|
+
type ManagerStatus = {
|
|
311
|
+
provider: "babelforce"
|
|
312
|
+
ready: boolean
|
|
313
|
+
reasons: "provider_tenant_missing" | "sso_not_configured" | "scim_not_configured" | "identity_enablement_missing"[]
|
|
314
|
+
}
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
### `PhoneAgent`
|
|
318
|
+
|
|
319
|
+
```ts
|
|
320
|
+
type PhoneAgent = {
|
|
321
|
+
user_id: string
|
|
322
|
+
email: string
|
|
323
|
+
display_name?: string
|
|
324
|
+
status: "active" | "pending" | "disabled" | "missing_provider" | "missing_role"
|
|
325
|
+
provider_user_id?: string
|
|
326
|
+
provider_roles?: string[]
|
|
327
|
+
assigned_at?: string // date-time
|
|
328
|
+
assigned_by?: string
|
|
329
|
+
}
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
### `AssignPhoneAgentRequest`
|
|
333
|
+
|
|
334
|
+
```ts
|
|
335
|
+
type AssignPhoneAgentRequest = {
|
|
336
|
+
user_id: string
|
|
337
|
+
}
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
### `ProviderSetup`
|
|
341
|
+
|
|
342
|
+
```ts
|
|
343
|
+
type ProviderSetup = {
|
|
344
|
+
provider: "babelforce"
|
|
345
|
+
org_id: string
|
|
346
|
+
ready: boolean
|
|
347
|
+
tenant: {
|
|
348
|
+
id: string
|
|
349
|
+
name: string
|
|
350
|
+
org_key: string
|
|
351
|
+
created_at?: string // date-time
|
|
352
|
+
}
|
|
353
|
+
scim: {
|
|
354
|
+
configured: boolean
|
|
355
|
+
roles_enabled: boolean
|
|
356
|
+
}
|
|
357
|
+
sso: {
|
|
358
|
+
configured: boolean
|
|
359
|
+
identity_client_id?: string
|
|
360
|
+
configured_at?: string // date-time
|
|
361
|
+
}
|
|
362
|
+
last_setup_by?: string
|
|
363
|
+
}
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
### `ProviderSetupRequest`
|
|
367
|
+
|
|
368
|
+
```ts
|
|
369
|
+
type ProviderSetupRequest = {
|
|
370
|
+
account_name?: string
|
|
371
|
+
identity_client_id: string
|
|
372
|
+
identity_client_secret: string
|
|
373
|
+
}
|
|
374
|
+
```
|
|
375
|
+
|
|
83
376
|
### `CustomerBatchSearchResult`
|
|
84
377
|
|
|
85
378
|
```ts
|
package/package.json
CHANGED
package/dist/chunk-UFMZ4EV3.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
__commonJS
|
|
3
|
-
} from "./chunk-YPSWSI3M.js";
|
|
4
|
-
|
|
5
|
-
// src/definitions/phone-integration-runtime.json
|
|
6
|
-
var require_phone_integration_runtime = __commonJS({
|
|
7
|
-
"src/definitions/phone-integration-runtime.json"(exports, module) {
|
|
8
|
-
module.exports = { s: "https://phone-integration-api.sls.epilot.io", o: [["batchSearchCustomers", "get", "/v1/customer:batchSearch", [["id", "q", false, "form", true], ["customer_number", "q", false, "form", true], ["external_id", "q", false, "form", true], ["phone_number", "q", false, "form", true], ["email", "q", false, "form", true], ["x-trace-id", "h"]]]], v: "3.0.3" };
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
export {
|
|
13
|
-
require_phone_integration_runtime
|
|
14
|
-
};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-NJK5F5TF.cjs');
|
|
2
|
-
|
|
3
|
-
// src/docs/phone-integration.json
|
|
4
|
-
var phone_integration_default = '# Phone Integration API\n\n- **Base URL:** `https://phone-integration-api.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/phone-integration](https://docs.epilot.io/api/phone-integration)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.phoneIntegration.batchSearchCustomers(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/phone-integration\'\n\nconst phoneIntegrationClient = getClient()\nauthorize(phoneIntegrationClient, () => \'<token>\')\nconst { data } = await phoneIntegrationClient.batchSearchCustomers(...)\n```\n\n## Operations\n\n**phone-integration**\n- [`batchSearchCustomers`](#batchsearchcustomers)\n\n**Schemas**\n- [`CustomerBatchSearchResult`](#customerbatchsearchresult)\n- [`CustomerSearchResult`](#customersearchresult)\n- [`CustomerIdentifier`](#customeridentifier)\n- [`CustomerSummary`](#customersummary)\n- [`ErrorResponse`](#errorresponse)\n\n### `batchSearchCustomers`\n\nResolves up to 50 identifiers to epilot customers (Contacts) in one\nrequest \u2014 for example every number in an agent\'s call history.\n\n`GET /v1/customer:batchSearch`\n\n```ts\nconst { data } = await client.batchSearchCustomers({\n id: [\'...\'],\n customer_number: [\'...\'],\n external_id: [\'...\'],\n phone_number: [\'...\'],\n email: [\'...\'],\n x-trace-id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "identifier": {\n "type": "id",\n "value": "+4917012345678"\n },\n "status": "found",\n "customer": {\n "id": "dba8e5f9-8b3f-4608-b887-cd0798fce624",\n "name": "Max Mustermann",\n "customer_number": "4711"\n }\n }\n ]\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `CustomerBatchSearchResult`\n\n```ts\ntype CustomerBatchSearchResult = {\n results: Array<{\n identifier: {\n type: { ... }\n value: { ... }\n }\n status: "found" | "not_found" | "ambiguous" | "invalid" | "error"\n customer?: {\n id: { ... }\n name: { ... }\n customer_number?: { ... }\n }\n }>\n}\n```\n\n### `CustomerSearchResult`\n\n```ts\ntype CustomerSearchResult = {\n identifier: {\n type: "id" | "customer_number" | "external_id" | "phone_number" | "email"\n value: string\n }\n status: "found" | "not_found" | "ambiguous" | "invalid" | "error"\n customer?: {\n id: string\n name: string\n customer_number?: string\n }\n}\n```\n\n### `CustomerIdentifier`\n\n```ts\ntype CustomerIdentifier = {\n type: "id" | "customer_number" | "external_id" | "phone_number" | "email"\n value: string\n}\n```\n\n### `CustomerSummary`\n\nPresent when `status` is `found`\n\n```ts\ntype CustomerSummary = {\n id: string\n name: string\n customer_number?: string\n}\n```\n\n### `ErrorResponse`\n\n```ts\ntype ErrorResponse = {\n status: number\n error: string\n code?: string\n}\n```\n';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
exports.default = phone_integration_default;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import "./chunk-YPSWSI3M.js";
|
|
2
|
-
|
|
3
|
-
// src/docs/phone-integration.json
|
|
4
|
-
var phone_integration_default = '# Phone Integration API\n\n- **Base URL:** `https://phone-integration-api.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/phone-integration](https://docs.epilot.io/api/phone-integration)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.phoneIntegration.batchSearchCustomers(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/phone-integration\'\n\nconst phoneIntegrationClient = getClient()\nauthorize(phoneIntegrationClient, () => \'<token>\')\nconst { data } = await phoneIntegrationClient.batchSearchCustomers(...)\n```\n\n## Operations\n\n**phone-integration**\n- [`batchSearchCustomers`](#batchsearchcustomers)\n\n**Schemas**\n- [`CustomerBatchSearchResult`](#customerbatchsearchresult)\n- [`CustomerSearchResult`](#customersearchresult)\n- [`CustomerIdentifier`](#customeridentifier)\n- [`CustomerSummary`](#customersummary)\n- [`ErrorResponse`](#errorresponse)\n\n### `batchSearchCustomers`\n\nResolves up to 50 identifiers to epilot customers (Contacts) in one\nrequest \u2014 for example every number in an agent\'s call history.\n\n`GET /v1/customer:batchSearch`\n\n```ts\nconst { data } = await client.batchSearchCustomers({\n id: [\'...\'],\n customer_number: [\'...\'],\n external_id: [\'...\'],\n phone_number: [\'...\'],\n email: [\'...\'],\n x-trace-id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "identifier": {\n "type": "id",\n "value": "+4917012345678"\n },\n "status": "found",\n "customer": {\n "id": "dba8e5f9-8b3f-4608-b887-cd0798fce624",\n "name": "Max Mustermann",\n "customer_number": "4711"\n }\n }\n ]\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `CustomerBatchSearchResult`\n\n```ts\ntype CustomerBatchSearchResult = {\n results: Array<{\n identifier: {\n type: { ... }\n value: { ... }\n }\n status: "found" | "not_found" | "ambiguous" | "invalid" | "error"\n customer?: {\n id: { ... }\n name: { ... }\n customer_number?: { ... }\n }\n }>\n}\n```\n\n### `CustomerSearchResult`\n\n```ts\ntype CustomerSearchResult = {\n identifier: {\n type: "id" | "customer_number" | "external_id" | "phone_number" | "email"\n value: string\n }\n status: "found" | "not_found" | "ambiguous" | "invalid" | "error"\n customer?: {\n id: string\n name: string\n customer_number?: string\n }\n}\n```\n\n### `CustomerIdentifier`\n\n```ts\ntype CustomerIdentifier = {\n type: "id" | "customer_number" | "external_id" | "phone_number" | "email"\n value: string\n}\n```\n\n### `CustomerSummary`\n\nPresent when `status` is `found`\n\n```ts\ntype CustomerSummary = {\n id: string\n name: string\n customer_number?: string\n}\n```\n\n### `ErrorResponse`\n\n```ts\ntype ErrorResponse = {\n status: number\n error: string\n code?: string\n}\n```\n';
|
|
5
|
-
export {
|
|
6
|
-
phone_integration_default as default
|
|
7
|
-
};
|
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
import { OpenAPIClient, Parameters, AxiosRequestConfig, OperationResponse } from 'openapi-client-axios';
|
|
2
|
-
|
|
3
|
-
/* Auto-copied from phone-integration-client */
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
declare namespace Components {
|
|
7
|
-
namespace Schemas {
|
|
8
|
-
export interface CustomerBatchSearchResult {
|
|
9
|
-
/**
|
|
10
|
-
* One result per distinct identifier
|
|
11
|
-
*/
|
|
12
|
-
results: CustomerSearchResult[];
|
|
13
|
-
}
|
|
14
|
-
export interface CustomerIdentifier {
|
|
15
|
-
type: "id" | "customer_number" | "external_id" | "phone_number" | "email";
|
|
16
|
-
/**
|
|
17
|
-
* The identifier as sent
|
|
18
|
-
* example:
|
|
19
|
-
* +4917012345678
|
|
20
|
-
*/
|
|
21
|
-
value: string;
|
|
22
|
-
}
|
|
23
|
-
export interface CustomerSearchResult {
|
|
24
|
-
identifier: CustomerIdentifier;
|
|
25
|
-
/**
|
|
26
|
-
* - `found` — exactly one contact has the identifier; see `customer`
|
|
27
|
-
* - `not_found` — no contact the caller may see has it
|
|
28
|
-
* - `ambiguous` — several contacts share it; none is chosen
|
|
29
|
-
* - `invalid` — not a usable identifier (a phone number that does
|
|
30
|
-
* not parse), so nothing was searched
|
|
31
|
-
* - `error` — the search for this identifier failed; try again
|
|
32
|
-
*
|
|
33
|
-
*/
|
|
34
|
-
status: "found" | "not_found" | "ambiguous" | "invalid" | "error";
|
|
35
|
-
customer?: /* Present when `status` is `found` */ CustomerSummary;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Present when `status` is `found`
|
|
39
|
-
*/
|
|
40
|
-
export interface CustomerSummary {
|
|
41
|
-
/**
|
|
42
|
-
* epilot entity id of the customer (Contact)
|
|
43
|
-
* example:
|
|
44
|
-
* dba8e5f9-8b3f-4608-b887-cd0798fce624
|
|
45
|
-
*/
|
|
46
|
-
id: string;
|
|
47
|
-
/**
|
|
48
|
-
* The contact's title, else its first and last name; null when it has neither
|
|
49
|
-
* example:
|
|
50
|
-
* Max Mustermann
|
|
51
|
-
*/
|
|
52
|
-
name: string | null;
|
|
53
|
-
/**
|
|
54
|
-
* Omitted when the contact has none
|
|
55
|
-
* example:
|
|
56
|
-
* 4711
|
|
57
|
-
*/
|
|
58
|
-
customer_number?: string;
|
|
59
|
-
}
|
|
60
|
-
export interface ErrorResponse {
|
|
61
|
-
/**
|
|
62
|
-
* HTTP status code.
|
|
63
|
-
*/
|
|
64
|
-
status: number;
|
|
65
|
-
/**
|
|
66
|
-
* Human-readable error message.
|
|
67
|
-
*/
|
|
68
|
-
error: string;
|
|
69
|
-
/**
|
|
70
|
-
* Stable machine-readable error code, when the operation defines one.
|
|
71
|
-
*/
|
|
72
|
-
code?: string;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
declare namespace Paths {
|
|
77
|
-
namespace BatchSearchCustomers {
|
|
78
|
-
export interface HeaderParameters {
|
|
79
|
-
"x-trace-id"?: Parameters.XTraceId;
|
|
80
|
-
}
|
|
81
|
-
namespace Parameters {
|
|
82
|
-
export type CustomerNumber = string[];
|
|
83
|
-
export type Email = string[];
|
|
84
|
-
export type ExternalId = string[];
|
|
85
|
-
export type Id = string[];
|
|
86
|
-
export type PhoneNumber = string[];
|
|
87
|
-
export type XTraceId = string;
|
|
88
|
-
}
|
|
89
|
-
export interface QueryParameters {
|
|
90
|
-
id?: Parameters.Id;
|
|
91
|
-
customer_number?: Parameters.CustomerNumber;
|
|
92
|
-
external_id?: Parameters.ExternalId;
|
|
93
|
-
phone_number?: Parameters.PhoneNumber;
|
|
94
|
-
email?: Parameters.Email;
|
|
95
|
-
}
|
|
96
|
-
namespace Responses {
|
|
97
|
-
export type $200 = Components.Schemas.CustomerBatchSearchResult;
|
|
98
|
-
export type $400 = Components.Schemas.ErrorResponse;
|
|
99
|
-
export type $401 = Components.Schemas.ErrorResponse;
|
|
100
|
-
export type $403 = Components.Schemas.ErrorResponse;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
interface OperationMethods {
|
|
107
|
-
/**
|
|
108
|
-
* batchSearchCustomers - batchSearchCustomers
|
|
109
|
-
*
|
|
110
|
-
* Resolves up to 50 identifiers to epilot customers (Contacts) in one
|
|
111
|
-
* request — for example every number in an agent's call history.
|
|
112
|
-
*
|
|
113
|
-
* Each identifier is an exact key of a Contact: its entity `id`, its
|
|
114
|
-
* `customer_number`, its `external_id`, one of its `email` addresses or
|
|
115
|
-
* one of its `phone` numbers. Repeat a parameter to pass several values,
|
|
116
|
-
* and combine parameters freely. Phone numbers are normalized on the
|
|
117
|
-
* server, so E.164, national and formatted forms of one number match the
|
|
118
|
-
* same contact; the other identifiers match exactly, ignoring case and
|
|
119
|
-
* surrounding whitespace.
|
|
120
|
-
*
|
|
121
|
-
* Every distinct identifier gets its own result, so one unknown or
|
|
122
|
-
* ambiguous identifier never fails the others. Results are ordered by
|
|
123
|
-
* parameter (`id`, `customer_number`, `external_id`, `phone_number`,
|
|
124
|
-
* `email`), then as sent; match them by `identifier`.
|
|
125
|
-
*
|
|
126
|
-
* The search runs with the caller's token: the organization and the
|
|
127
|
-
* permissions applied are the caller's own, as for entity search.
|
|
128
|
-
*
|
|
129
|
-
*/
|
|
130
|
-
'batchSearchCustomers'(
|
|
131
|
-
parameters?: Parameters<Paths.BatchSearchCustomers.QueryParameters & Paths.BatchSearchCustomers.HeaderParameters> | null,
|
|
132
|
-
data?: any,
|
|
133
|
-
config?: AxiosRequestConfig
|
|
134
|
-
): OperationResponse<Paths.BatchSearchCustomers.Responses.$200>
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
interface PathsDictionary {
|
|
138
|
-
['/v1/customer:batchSearch']: {
|
|
139
|
-
/**
|
|
140
|
-
* batchSearchCustomers - batchSearchCustomers
|
|
141
|
-
*
|
|
142
|
-
* Resolves up to 50 identifiers to epilot customers (Contacts) in one
|
|
143
|
-
* request — for example every number in an agent's call history.
|
|
144
|
-
*
|
|
145
|
-
* Each identifier is an exact key of a Contact: its entity `id`, its
|
|
146
|
-
* `customer_number`, its `external_id`, one of its `email` addresses or
|
|
147
|
-
* one of its `phone` numbers. Repeat a parameter to pass several values,
|
|
148
|
-
* and combine parameters freely. Phone numbers are normalized on the
|
|
149
|
-
* server, so E.164, national and formatted forms of one number match the
|
|
150
|
-
* same contact; the other identifiers match exactly, ignoring case and
|
|
151
|
-
* surrounding whitespace.
|
|
152
|
-
*
|
|
153
|
-
* Every distinct identifier gets its own result, so one unknown or
|
|
154
|
-
* ambiguous identifier never fails the others. Results are ordered by
|
|
155
|
-
* parameter (`id`, `customer_number`, `external_id`, `phone_number`,
|
|
156
|
-
* `email`), then as sent; match them by `identifier`.
|
|
157
|
-
*
|
|
158
|
-
* The search runs with the caller's token: the organization and the
|
|
159
|
-
* permissions applied are the caller's own, as for entity search.
|
|
160
|
-
*
|
|
161
|
-
*/
|
|
162
|
-
'get'(
|
|
163
|
-
parameters?: Parameters<Paths.BatchSearchCustomers.QueryParameters & Paths.BatchSearchCustomers.HeaderParameters> | null,
|
|
164
|
-
data?: any,
|
|
165
|
-
config?: AxiosRequestConfig
|
|
166
|
-
): OperationResponse<Paths.BatchSearchCustomers.Responses.$200>
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
type Client = OpenAPIClient<OperationMethods, PathsDictionary>
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
type CustomerBatchSearchResult = Components.Schemas.CustomerBatchSearchResult;
|
|
174
|
-
type CustomerIdentifier = Components.Schemas.CustomerIdentifier;
|
|
175
|
-
type CustomerSearchResult = Components.Schemas.CustomerSearchResult;
|
|
176
|
-
type CustomerSummary = Components.Schemas.CustomerSummary;
|
|
177
|
-
type ErrorResponse = Components.Schemas.ErrorResponse;
|
|
178
|
-
|
|
179
|
-
export { type Client as C, type ErrorResponse as E, type OperationMethods as O, Paths as P, Components as a, type PathsDictionary as b, type CustomerBatchSearchResult as c, type CustomerIdentifier as d, type CustomerSearchResult as e, type CustomerSummary as f };
|