@helmdesk/sdk 0.8.0 → 0.10.0

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/README.md CHANGED
@@ -286,6 +286,68 @@ const conversation = await helmdesk.feedback.conversations.create({
286
286
  });
287
287
  ```
288
288
 
289
+ ### Customers
290
+
291
+ A directory of everyone who has interacted with your project — built automatically from tickets and feedback, and manageable explicitly via the API. Requires the `customers:read` / `customers:write` scopes.
292
+
293
+ **Look up a customer from your own app**
294
+
295
+ Set `externalId` to your app's user id once, then resolve users to Helmdesk customers without knowing their email.
296
+
297
+ ```ts
298
+ // Enrich (or pre-create) the customer record from your app
299
+ const customer = await helmdesk.customers.create({
300
+ email: "jane@example.com",
301
+ name: "Jane Doe",
302
+ company: "Acme",
303
+ externalId: "user_42", // YOUR app's id for this user
304
+ internalNote: "Beta cohort", // staff-only, never shown to the customer
305
+ metadata: { plan: "pro" },
306
+ });
307
+
308
+ // Later, from your app: who is user_42 in Helmdesk?
309
+ const { customers } = await helmdesk.customers.list({ externalId: "user_42" });
310
+ ```
311
+
312
+ `create` throws a `409 conflict` if the email already exists in the environment — customers are unique per project + environment + email.
313
+
314
+ **Get a customer with their full history**
315
+
316
+ `get` includes the customer's interaction history (tickets and feedback conversations, joined by email, recent-first, capped at 50 each) — everything you need for a "who is this person?" view.
317
+
318
+ ```ts
319
+ const detail = await helmdesk.customers.get(customer.id);
320
+ // detail.history.tickets[0] -> { id, number, subject, status, createdAt }
321
+ // detail.history.feedbackConversations[0] -> { id, title, rating, status, createdAt }
322
+ ```
323
+
324
+ **Update and delete**
325
+
326
+ Email is immutable (it is the join key back to tickets and feedback). Pass `null` to clear a field.
327
+
328
+ ```ts
329
+ await helmdesk.customers.update(customer.id, {
330
+ company: "Acme Corp",
331
+ internalNote: "Churn risk — pricing complaint in March",
332
+ metadata: null, // clears
333
+ });
334
+
335
+ await helmdesk.customers.delete(customer.id);
336
+ // Tickets/feedback are untouched; a new interaction re-creates the customer.
337
+ ```
338
+
339
+ **Search the directory**
340
+
341
+ ```ts
342
+ const { customers, total } = await helmdesk.customers.list({
343
+ search: "acme", // matches email, name, or company
344
+ page: 1,
345
+ limit: 25,
346
+ });
347
+ ```
348
+
349
+ The `customer.created` and `customer.updated` webhook events fire when customers are created (explicitly or automatically from an interaction) or updated.
350
+
289
351
  ## Error Handling
290
352
 
291
353
  All API errors throw a `HelmdeskError` with structured fields for programmatic handling.
@@ -349,6 +411,40 @@ await helmdesk.emails.templates.import(
349
411
  );
350
412
  ```
351
413
 
414
+ **Wrapping a template in a layout**
415
+
416
+ A layout is the branded shell (header, footer, styling) that a template body is
417
+ injected into via `{{{content}}}`. Import the layout first, then reference its
418
+ key — the layout has to exist before the template that points at it.
419
+
420
+ ```ts
421
+ // 1. The shell
422
+ await helmdesk.emails.templates.import(
423
+ '<div class="wrap"><img src="{{brandLogoUrl}}">{{{content}}}</div>',
424
+ "branded.hbs",
425
+ { type: "layout" }
426
+ );
427
+
428
+ // 2. A template that uses it
429
+ const result = await helmdesk.emails.templates.import(
430
+ "<h1>Welcome, {{name}}</h1>",
431
+ "welcome.hbs",
432
+ { type: "template", subject: "Welcome!", layout: "branded" }
433
+ );
434
+
435
+ result.layoutLinked; // true — sends will be wrapped
436
+ result.warnings; // [] — non-empty if the layout could not be resolved
437
+ ```
438
+
439
+ The layout can also be declared in the file itself with a
440
+ `{{!-- layout: branded --}}` comment; the `layout` option wins if both are given.
441
+ Either way the import **links** the template to the layout, so it shows up in the
442
+ dashboard's Layout dropdown and is applied on every send.
443
+
444
+ > If `layoutLinked` comes back `false`, the layout key did not resolve (usually
445
+ > because it has not been imported yet). The template is still saved, but emails
446
+ > render unwrapped until you import the layout and re-import the template.
447
+
352
448
  Import options:
353
449
 
354
450
  | Option | Type | Description |
@@ -358,6 +454,7 @@ Import options:
358
454
  | `key` | `string` | Override the template key. Defaults to the filename without `.hbs`. |
359
455
  | `name` | `string` | Override the display name. |
360
456
  | `subject` | `string` | Subject line. Can also be set via a `{{!-- subject: ... --}}` comment in the template. |
457
+ | `layout` | `string` | Key of an existing layout to wrap the template in. Overrides a `{{!-- layout: ... --}}` comment. Omit to keep the current layout; pass `''` or `'none'` to remove it. Templates only. |
361
458
 
362
459
  ## Runtime Support
363
460
 
package/dist/client.d.ts CHANGED
@@ -5,6 +5,7 @@ import type { TeamMemberListResult } from './types/team.js';
5
5
  import type { WebhookListResult, CreateWebhookInput, CreateWebhookResult, DeleteWebhookResult } from './types/webhooks.js';
6
6
  import type { LogEventInput, WriteLogsResult, LogListFilters, LogListResult, LogIssueListFilters, LogIssueListResult } from './types/logs.js';
7
7
  import type { FeedbackConversation, FeedbackConversationDetail, FeedbackConversationListFilters, FeedbackConversationListResult, CreateFeedbackConversationInput, CreateFeedbackConversationResult, UpdateFeedbackConversationInput, FeedbackReplyResult, FeedbackRequest, FeedbackRequestListFilters, FeedbackRequestListResult, CreateFeedbackRequestInput } from './types/feedback.js';
8
+ import type { Customer, CustomerDetail, CustomerListFilters, CustomerListResult, CreateCustomerInput, UpdateCustomerInput, DeleteCustomerResult } from './types/customers.js';
8
9
  export interface HelmdeskClientOptions {
9
10
  apiKey: string;
10
11
  baseUrl?: string;
@@ -19,6 +20,7 @@ export declare class HelmdeskClient {
19
20
  readonly team: TeamResource;
20
21
  readonly webhooks: WebhooksResource;
21
22
  readonly feedback: FeedbackResource;
23
+ readonly customers: CustomersResource;
22
24
  constructor(options: HelmdeskClientOptions);
23
25
  /** Make a JSON API request. Used internally by resource classes. */
24
26
  request<T>(method: string, path: string, options?: {
@@ -96,14 +98,25 @@ declare class TemplatesResource {
96
98
  */
97
99
  list(): Promise<TemplateListResult>;
98
100
  /**
99
- * Import a .hbs file as a template, layout, or partial.
101
+ * Import a .hbs file as a template, layout, or partial. Re-importing an
102
+ * existing key updates it in place (templates get a new version).
103
+ *
104
+ * To wrap a template in a layout, import the layout first, then reference it
105
+ * with `layout` (or a `{{!-- layout: key --}}` comment in the body). Check
106
+ * `layoutLinked` on the result — if it is `false`, the layout did not resolve
107
+ * and the email will render unwrapped.
100
108
  *
101
109
  * @example
102
- * // Import to project
103
- * await client.emails.templates.import(fileContent, 'welcome.hbs', {
110
+ * // 1. Import the layout
111
+ * await client.emails.templates.import(layoutHtml, 'branded.hbs', { type: 'layout' })
112
+ *
113
+ * // 2. Import a template wrapped in it
114
+ * const result = await client.emails.templates.import(fileContent, 'welcome.hbs', {
104
115
  * type: 'template',
105
116
  * subject: 'Welcome to {{brandName}}!',
117
+ * layout: 'branded',
106
118
  * })
119
+ * if (!result.layoutLinked) console.warn(result.warnings)
107
120
  *
108
121
  * // Import to account (shared across all projects)
109
122
  * await client.emails.templates.import(fileContent, 'footer.hbs', {
@@ -182,18 +195,57 @@ declare class FeedbackConversationsResource {
182
195
  */
183
196
  reply(conversationId: string, body: string): Promise<FeedbackReplyResult>;
184
197
  }
198
+ declare class CustomersResource {
199
+ private client;
200
+ constructor(client: HelmdeskClient);
201
+ /**
202
+ * List customers, most recently seen first. `search` matches email, name,
203
+ * or company; `externalId` is an exact match on your app's id for the
204
+ * customer. Requires the `customers:read` scope.
205
+ */
206
+ list(filters?: CustomerListFilters): Promise<CustomerListResult>;
207
+ /**
208
+ * Get a customer including their interaction history — tickets and feedback
209
+ * conversations joined by email, recent-first, capped at 50 each.
210
+ * Requires the `customers:read` scope.
211
+ */
212
+ get(customerId: string): Promise<CustomerDetail>;
213
+ /**
214
+ * Create a customer explicitly (customers are also created automatically
215
+ * from tickets and feedback). Returns 409 when the email already exists in
216
+ * this environment. Requires the `customers:write` scope.
217
+ */
218
+ create(input: CreateCustomerInput): Promise<Customer>;
219
+ /**
220
+ * Partially update a customer. Email is immutable (it's the join key back
221
+ * to tickets and feedback); pass `null` to clear a field. Requires the
222
+ * `customers:write` scope.
223
+ */
224
+ update(customerId: string, input: UpdateCustomerInput): Promise<Customer>;
225
+ /**
226
+ * Delete a customer. Tickets and feedback conversations are untouched —
227
+ * linkage is by email, not foreign key — and a new interaction simply
228
+ * re-creates the row. Requires the `customers:write` scope.
229
+ */
230
+ delete(customerId: string): Promise<DeleteCustomerResult>;
231
+ }
185
232
  declare class FeedbackRequestsResource {
186
233
  private client;
187
234
  constructor(client: HelmdeskClient);
188
235
  /**
189
236
  * List feedback requests, newest first. `status` accepts a comma-separated
190
- * list (`sent`, `opened`, `responded`). Requires the `feedback:read` scope.
237
+ * list (`created`, `sent`, `opened`, `responded`). Link-channel rows include
238
+ * `respondUrl`. Requires the `feedback:read` scope.
191
239
  */
192
240
  list(filters?: FeedbackRequestListFilters): Promise<FeedbackRequestListResult>;
193
241
  /**
194
- * Create a feedback request and send the built-in branded email asking the
195
- * customer to respond. With an `sk_sandbox_` key the email is captured, not
196
- * delivered. Requires the `feedback:write` scope.
242
+ * Create a feedback request. With the default `channel: 'email'` Helmdesk
243
+ * sends the built-in branded email asking the customer to respond (with an
244
+ * `sk_sandbox_` key the email is captured, not delivered). With
245
+ * `channel: 'link'` no email is sent — the returned request carries
246
+ * `respondUrl` for you to deliver yourself (e.g. inside your own coupon
247
+ * email); the funnel still tracks opened/responded. Requires the
248
+ * `feedback:write` scope.
197
249
  */
198
250
  create(input: CreateFeedbackRequestInput): Promise<FeedbackRequest>;
199
251
  /** Get a single feedback request by id. Requires the `feedback:read` scope. */
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -9,6 +9,7 @@ export class HelmdeskClient {
9
9
  team;
10
10
  webhooks;
11
11
  feedback;
12
+ customers;
12
13
  constructor(options) {
13
14
  if (!options.apiKey)
14
15
  throw new Error('apiKey is required');
@@ -21,6 +22,7 @@ export class HelmdeskClient {
21
22
  this.team = new TeamResource(this);
22
23
  this.webhooks = new WebhooksResource(this);
23
24
  this.feedback = new FeedbackResource(this);
25
+ this.customers = new CustomersResource(this);
24
26
  }
25
27
  /** Make a JSON API request. Used internally by resource classes. */
26
28
  async request(method, path, options) {
@@ -209,14 +211,25 @@ class TemplatesResource {
209
211
  return this.client.request('GET', '/email-templates');
210
212
  }
211
213
  /**
212
- * Import a .hbs file as a template, layout, or partial.
214
+ * Import a .hbs file as a template, layout, or partial. Re-importing an
215
+ * existing key updates it in place (templates get a new version).
216
+ *
217
+ * To wrap a template in a layout, import the layout first, then reference it
218
+ * with `layout` (or a `{{!-- layout: key --}}` comment in the body). Check
219
+ * `layoutLinked` on the result — if it is `false`, the layout did not resolve
220
+ * and the email will render unwrapped.
213
221
  *
214
222
  * @example
215
- * // Import to project
216
- * await client.emails.templates.import(fileContent, 'welcome.hbs', {
223
+ * // 1. Import the layout
224
+ * await client.emails.templates.import(layoutHtml, 'branded.hbs', { type: 'layout' })
225
+ *
226
+ * // 2. Import a template wrapped in it
227
+ * const result = await client.emails.templates.import(fileContent, 'welcome.hbs', {
217
228
  * type: 'template',
218
229
  * subject: 'Welcome to {{brandName}}!',
230
+ * layout: 'branded',
219
231
  * })
232
+ * if (!result.layoutLinked) console.warn(result.warnings)
220
233
  *
221
234
  * // Import to account (shared across all projects)
222
235
  * await client.emails.templates.import(fileContent, 'footer.hbs', {
@@ -240,6 +253,10 @@ class TemplatesResource {
240
253
  formData.append('name', options.name);
241
254
  if (options?.subject)
242
255
  formData.append('subject', options.subject);
256
+ // Sent even when empty — an empty `layout` field means "detach", while an
257
+ // absent one means "leave the current layout alone".
258
+ if (options?.layout !== undefined)
259
+ formData.append('layout', options.layout);
243
260
  const path = options?.scope === 'account'
244
261
  ? '/account/email-templates/import'
245
262
  : '/email-templates/import';
@@ -390,6 +407,59 @@ class FeedbackConversationsResource {
390
407
  return this.client.request('POST', `/feedback/conversations/${conversationId}/messages`, { body: { body } });
391
408
  }
392
409
  }
410
+ class CustomersResource {
411
+ client;
412
+ constructor(client) {
413
+ this.client = client;
414
+ }
415
+ /**
416
+ * List customers, most recently seen first. `search` matches email, name,
417
+ * or company; `externalId` is an exact match on your app's id for the
418
+ * customer. Requires the `customers:read` scope.
419
+ */
420
+ async list(filters) {
421
+ return this.client.request('GET', '/customers', {
422
+ params: {
423
+ search: filters?.search,
424
+ externalId: filters?.externalId,
425
+ page: filters?.page?.toString(),
426
+ limit: filters?.limit?.toString(),
427
+ },
428
+ });
429
+ }
430
+ /**
431
+ * Get a customer including their interaction history — tickets and feedback
432
+ * conversations joined by email, recent-first, capped at 50 each.
433
+ * Requires the `customers:read` scope.
434
+ */
435
+ async get(customerId) {
436
+ return this.client.request('GET', `/customers/${customerId}`);
437
+ }
438
+ /**
439
+ * Create a customer explicitly (customers are also created automatically
440
+ * from tickets and feedback). Returns 409 when the email already exists in
441
+ * this environment. Requires the `customers:write` scope.
442
+ */
443
+ async create(input) {
444
+ return this.client.request('POST', '/customers', { body: input });
445
+ }
446
+ /**
447
+ * Partially update a customer. Email is immutable (it's the join key back
448
+ * to tickets and feedback); pass `null` to clear a field. Requires the
449
+ * `customers:write` scope.
450
+ */
451
+ async update(customerId, input) {
452
+ return this.client.request('PATCH', `/customers/${customerId}`, { body: input });
453
+ }
454
+ /**
455
+ * Delete a customer. Tickets and feedback conversations are untouched —
456
+ * linkage is by email, not foreign key — and a new interaction simply
457
+ * re-creates the row. Requires the `customers:write` scope.
458
+ */
459
+ async delete(customerId) {
460
+ return this.client.request('DELETE', `/customers/${customerId}`);
461
+ }
462
+ }
393
463
  class FeedbackRequestsResource {
394
464
  client;
395
465
  constructor(client) {
@@ -397,7 +467,8 @@ class FeedbackRequestsResource {
397
467
  }
398
468
  /**
399
469
  * List feedback requests, newest first. `status` accepts a comma-separated
400
- * list (`sent`, `opened`, `responded`). Requires the `feedback:read` scope.
470
+ * list (`created`, `sent`, `opened`, `responded`). Link-channel rows include
471
+ * `respondUrl`. Requires the `feedback:read` scope.
401
472
  */
402
473
  async list(filters) {
403
474
  return this.client.request('GET', '/feedback/requests', {
@@ -413,9 +484,13 @@ class FeedbackRequestsResource {
413
484
  });
414
485
  }
415
486
  /**
416
- * Create a feedback request and send the built-in branded email asking the
417
- * customer to respond. With an `sk_sandbox_` key the email is captured, not
418
- * delivered. Requires the `feedback:write` scope.
487
+ * Create a feedback request. With the default `channel: 'email'` Helmdesk
488
+ * sends the built-in branded email asking the customer to respond (with an
489
+ * `sk_sandbox_` key the email is captured, not delivered). With
490
+ * `channel: 'link'` no email is sent — the returned request carries
491
+ * `respondUrl` for you to deliver yourself (e.g. inside your own coupon
492
+ * email); the funnel still tracks opened/responded. Requires the
493
+ * `feedback:write` scope.
419
494
  */
420
495
  async create(input) {
421
496
  return this.client.request('POST', '/feedback/requests', { body: input });
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,11 +1,12 @@
1
1
  export { HelmdeskClient } from './client.js';
2
2
  export type { HelmdeskClientOptions } from './client.js';
3
3
  export type { Ticket, TicketDetail, TicketMessage, TicketListResult, TicketListFilters, TicketTagsResult, CreateTicketInput, UpdateTicketInput, CreateMessageInput, } from './types/tickets.js';
4
- export type { SendEmailInput, SendEmailResult, BatchEmailInput, BatchEmailResult, SendEmailBatchInput, SendEmailBatchResult, PreviewEmailInput, PreviewEmailResult, TemplateSchema, TemplateVariable, TemplateListItem, TemplateListResult, ImportOptions, ImportResult, } from './types/emails.js';
4
+ export type { SendEmailInput, SendEmailResult, BatchEmailInput, BatchEmailResult, SendEmailBatchInput, SendEmailBatchResult, PreviewEmailInput, PreviewEmailResult, TemplateSchema, TemplateListItem, TemplateListResult, ImportOptions, ImportResult, } from './types/emails.js';
5
5
  export type { ArticleSearchResult, ArticleSearchFilters, Article, ArticleDetail, CreateArticleInput, UpdateArticleInput, ArticleCategory, ArticleCategoryListResult, } from './types/articles.js';
6
6
  export type { TeamMember, TeamMemberListResult } from './types/team.js';
7
7
  export type { WebhookEventType, Webhook, WebhookListResult, CreateWebhookInput, CreateWebhookResult, DeleteWebhookResult, } from './types/webhooks.js';
8
8
  export type { LogLevel, LogIssueStatus, LogEventInput, WriteLogsResult, LogEvent, LogListFilters, LogListResult, LogIssue, LogIssueListFilters, LogIssueListResult, } from './types/logs.js';
9
- export type { FeedbackConversationStatus, FeedbackConversationSource, FeedbackRequestStatus, FeedbackSenderType, FeedbackConversation, FeedbackConversationDetail, FeedbackConversationListFilters, FeedbackConversationListResult, CreateFeedbackConversationInput, CreateFeedbackConversationResult, UpdateFeedbackConversationInput, FeedbackAttachment, FeedbackMessage, FeedbackReplyResult, FeedbackRequest, FeedbackRequestListFilters, FeedbackRequestListResult, CreateFeedbackRequestInput, } from './types/feedback.js';
9
+ export type { FeedbackConversationStatus, FeedbackConversationSource, FeedbackRequestStatus, FeedbackRequestChannel, FeedbackSenderType, FeedbackConversation, FeedbackConversationDetail, FeedbackConversationListFilters, FeedbackConversationListResult, CreateFeedbackConversationInput, CreateFeedbackConversationResult, UpdateFeedbackConversationInput, FeedbackAttachment, FeedbackMessage, FeedbackReplyResult, FeedbackRequest, FeedbackRequestListFilters, FeedbackRequestListResult, CreateFeedbackRequestInput, } from './types/feedback.js';
10
+ export type { Customer, CustomerDetail, CustomerHistory, CustomerHistoryTicket, CustomerHistoryConversation, CustomerListFilters, CustomerListResult, CreateCustomerInput, UpdateCustomerInput, DeleteCustomerResult, } from './types/customers.js';
10
11
  export type { HelmdeskError } from './types/errors.js';
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACxD,YAAY,EACV,MAAM,EACN,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,YAAY,GACb,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACpB,OAAO,EACP,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,yBAAyB,GAC1B,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACvE,YAAY,EACV,gBAAgB,EAChB,OAAO,EACP,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,QAAQ,EACR,cAAc,EACd,aAAa,EACb,eAAe,EACf,QAAQ,EACR,cAAc,EACd,aAAa,EACb,QAAQ,EACR,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EACV,0BAA0B,EAC1B,0BAA0B,EAC1B,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC1B,+BAA+B,EAC/B,8BAA8B,EAC9B,+BAA+B,EAC/B,gCAAgC,EAChC,+BAA+B,EAC/B,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,0BAA0B,EAC1B,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACxD,YAAY,EACV,MAAM,EACN,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,YAAY,GACb,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACpB,OAAO,EACP,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,yBAAyB,GAC1B,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACvE,YAAY,EACV,gBAAgB,EAChB,OAAO,EACP,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,QAAQ,EACR,cAAc,EACd,aAAa,EACb,eAAe,EACf,QAAQ,EACR,cAAc,EACd,aAAa,EACb,QAAQ,EACR,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EACV,0BAA0B,EAC1B,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC1B,+BAA+B,EAC/B,8BAA8B,EAC9B,+BAA+B,EAC/B,gCAAgC,EAChC,+BAA+B,EAC/B,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,0BAA0B,EAC1B,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,QAAQ,EACR,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,2BAA2B,EAC3B,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1,86 @@
1
+ export interface Customer {
2
+ id: string;
3
+ email: string;
4
+ name: string | null;
5
+ company: string | null;
6
+ /** The customer's id in YOUR app (your user id, etc.). */
7
+ externalId: string | null;
8
+ /** Staff-only note — never shown to the customer. */
9
+ internalNote: string | null;
10
+ metadata: Record<string, unknown> | null;
11
+ environment: string;
12
+ /** Bumped whenever the customer interacts (ticket, feedback, …). */
13
+ lastSeenAt: string;
14
+ createdAt: string;
15
+ updatedAt: string;
16
+ }
17
+ /** A ticket summary in a customer's interaction history. */
18
+ export interface CustomerHistoryTicket {
19
+ id: string;
20
+ number: number;
21
+ subject: string;
22
+ status: string;
23
+ createdAt: string;
24
+ }
25
+ /** A feedback-conversation summary in a customer's interaction history. */
26
+ export interface CustomerHistoryConversation {
27
+ id: string;
28
+ title: string;
29
+ rating: number | null;
30
+ status: string;
31
+ createdAt: string;
32
+ }
33
+ /**
34
+ * The customer's interaction history, joined by email — tickets and feedback
35
+ * conversations, recent-first, capped at 50 each.
36
+ */
37
+ export interface CustomerHistory {
38
+ tickets: CustomerHistoryTicket[];
39
+ feedbackConversations: CustomerHistoryConversation[];
40
+ }
41
+ /** `customers.get()` always includes the interaction history. */
42
+ export interface CustomerDetail extends Customer {
43
+ history: CustomerHistory;
44
+ }
45
+ export interface CustomerListFilters {
46
+ /** Substring match on email, name, or company. */
47
+ search?: string;
48
+ /** Exact match on your app's id for the customer. */
49
+ externalId?: string;
50
+ page?: number;
51
+ limit?: number;
52
+ }
53
+ export interface CustomerListResult {
54
+ customers: Customer[];
55
+ total: number;
56
+ page: number;
57
+ limit: number;
58
+ }
59
+ export interface CreateCustomerInput {
60
+ email: string;
61
+ name?: string;
62
+ company?: string;
63
+ /** The customer's id in YOUR app (max 200 chars). */
64
+ externalId?: string;
65
+ /** Staff-only note (max 5000 chars) — never shown to the customer. */
66
+ internalNote?: string;
67
+ /** Arbitrary JSON, at most 8 KB serialized. */
68
+ metadata?: Record<string, unknown>;
69
+ }
70
+ /**
71
+ * Partial update. Email is deliberately immutable through the API — it is the
72
+ * join key back to tickets and feedback conversations. Pass `null` to clear a
73
+ * field.
74
+ */
75
+ export interface UpdateCustomerInput {
76
+ name?: string | null;
77
+ company?: string | null;
78
+ externalId?: string | null;
79
+ internalNote?: string | null;
80
+ metadata?: Record<string, unknown> | null;
81
+ }
82
+ export interface DeleteCustomerResult {
83
+ deleted: boolean;
84
+ id: string;
85
+ }
86
+ //# sourceMappingURL=customers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customers.d.ts","sourceRoot":"","sources":["../../src/types/customers.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,0DAA0D;IAC1D,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,qDAAqD;IACrD,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IACxC,WAAW,EAAE,MAAM,CAAA;IACnB,oEAAoE;IACpE,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,4DAA4D;AAC5D,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,2EAA2E;AAC3E,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,qBAAqB,EAAE,CAAA;IAChC,qBAAqB,EAAE,2BAA2B,EAAE,CAAA;CACrD;AAED,iEAAiE;AACjE,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,OAAO,EAAE,eAAe,CAAA;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,QAAQ,EAAE,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CAC1C;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAA;IAChB,EAAE,EAAE,MAAM,CAAA;CACX"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=customers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customers.js","sourceRoot":"","sources":["../../src/types/customers.ts"],"names":[],"mappings":""}
@@ -64,17 +64,17 @@ export interface PreviewEmailResult {
64
64
  subject: string;
65
65
  html: string;
66
66
  }
67
- export interface TemplateVariable {
68
- name: string;
69
- type: string;
70
- required: boolean;
71
- description?: string;
72
- }
73
67
  export interface TemplateSchema {
74
68
  key: string;
75
69
  name: string;
76
- description?: string;
77
- variables: TemplateVariable[];
70
+ /** Subject line of the current version, with variables left unresolved. */
71
+ subject: string;
72
+ /**
73
+ * Names of the variables the template body references. Built-in branding
74
+ * variables (brandName, brandLogoUrl, supportEmail, …) are excluded — those
75
+ * are filled in for you at send time.
76
+ */
77
+ variables: string[];
78
78
  }
79
79
  export interface TemplateListItem {
80
80
  key: string;
@@ -100,6 +100,17 @@ export interface ImportOptions {
100
100
  name?: string;
101
101
  /** Subject line for templates. Auto-detected from {{!-- subject: ... --}} comment if not specified. */
102
102
  subject?: string;
103
+ /**
104
+ * Key of the layout that should wrap this template, overriding any
105
+ * `{{!-- layout: ... --}}` comment in the body. The layout must already exist
106
+ * in the same scope and environment — import it first with `type: 'layout'`.
107
+ *
108
+ * Omit to keep the template's current layout (or use the body comment on
109
+ * first import). Pass `''` or `'none'` to explicitly remove the layout.
110
+ *
111
+ * Templates only — ignored for `type: 'layout'` and `'partial'`.
112
+ */
113
+ layout?: string;
103
114
  /** Import to 'account' (shared) or 'project' (default). */
104
115
  scope?: 'project' | 'account';
105
116
  }
@@ -112,7 +123,17 @@ export interface ImportResult {
112
123
  subject?: string;
113
124
  variables?: string[];
114
125
  referencedPartials?: string[];
126
+ /** The layout key the template is now stored with, or null if it has none. */
115
127
  layoutKey?: string | null;
128
+ /** Id of the linked layout row. Project templates only; null when unlinked. */
129
+ layoutId?: string | null;
130
+ /**
131
+ * Whether the template will actually render inside a layout. If you asked for
132
+ * one and this is `false`, check `warnings` — the layout did not resolve and
133
+ * the email sends unwrapped until you import it and re-import the template.
134
+ */
135
+ layoutLinked?: boolean;
136
+ /** Non-fatal problems: missing partials, unresolved layouts. The import still succeeded. */
116
137
  warnings?: string[];
117
138
  }
118
139
  //# sourceMappingURL=emails.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"emails.d.ts","sourceRoot":"","sources":["../../src/types/emails.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emails.d.ts","sourceRoot":"","sources":["../../src/types/emails.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,12 @@
1
1
  export type FeedbackConversationStatus = 'open' | 'closed';
2
2
  export type FeedbackConversationSource = 'request' | 'api' | 'widget' | 'dashboard';
3
- export type FeedbackRequestStatus = 'sent' | 'opened' | 'responded';
3
+ export type FeedbackRequestStatus = 'created' | 'sent' | 'opened' | 'responded';
4
+ /**
5
+ * How the respond link reaches the customer: 'email' — Helmdesk sends the
6
+ * built-in branded email; 'link' — the request just mints the respond URL and
7
+ * you deliver it yourself (e.g. inside your own coupon email).
8
+ */
9
+ export type FeedbackRequestChannel = 'email' | 'link';
4
10
  export type FeedbackSenderType = 'customer' | 'staff' | 'api';
5
11
  export interface FeedbackConversation {
6
12
  id: string;
@@ -92,6 +98,14 @@ export interface FeedbackRequest {
92
98
  customerEmail: string;
93
99
  customerName: string | null;
94
100
  status: FeedbackRequestStatus;
101
+ channel: FeedbackRequestChannel;
102
+ /** Staff-only note, never shown to the customer. */
103
+ internalNote: string | null;
104
+ /**
105
+ * Public respond URL — present on link-channel requests only. Embed it in
106
+ * your own email or message; the funnel still tracks opened/responded.
107
+ */
108
+ respondUrl?: string;
95
109
  /** Attachments included with the request email (null when none). */
96
110
  attachments: FeedbackAttachment[] | null;
97
111
  /** Dashboard user who sent it (null when created via API). */
@@ -122,5 +136,12 @@ export interface CreateFeedbackRequestInput {
122
136
  message: string;
123
137
  customerEmail: string;
124
138
  customerName?: string;
139
+ /**
140
+ * 'email' (default) sends the built-in branded email; 'link' skips the
141
+ * email and returns `respondUrl` for you to deliver yourself.
142
+ */
143
+ channel?: FeedbackRequestChannel;
144
+ /** Staff-only note, never shown to the customer (max 2000 characters). */
145
+ internalNote?: string;
125
146
  }
126
147
  //# sourceMappingURL=feedback.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/types/feedback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/types/feedback.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export type WebhookEventType = 'ticket.created' | 'ticket.resolved' | 'message.received' | 'feedback.submitted' | 'email.bounced';
1
+ export type WebhookEventType = 'ticket.created' | 'ticket.resolved' | 'message.received' | 'feedback.submitted' | 'email.bounced' | 'customer.created' | 'customer.updated';
2
2
  export interface Webhook {
3
3
  id: string;
4
4
  url: string;
@@ -1 +1 @@
1
- {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/types/webhooks.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GACxB,gBAAgB,GAChB,iBAAiB,GACjB,kBAAkB,GAClB,oBAAoB,GACpB,eAAe,CAAA;AAEnB,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,gBAAgB,EAAE,CAAA;IAC1B,MAAM,EAAE,OAAO,CAAA;IACf,WAAW,EAAE,OAAO,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,gBAAgB,EAAE,CAAA;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,2DAA2D;AAC3D,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,gBAAgB,EAAE,CAAA;IAC1B,MAAM,EAAE,OAAO,CAAA;IACf,WAAW,EAAE,OAAO,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAA;IAChB,EAAE,EAAE,MAAM,CAAA;CACX"}
1
+ {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/types/webhooks.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GACxB,gBAAgB,GAChB,iBAAiB,GACjB,kBAAkB,GAClB,oBAAoB,GACpB,eAAe,GACf,kBAAkB,GAClB,kBAAkB,CAAA;AAEtB,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,gBAAgB,EAAE,CAAA;IAC1B,MAAM,EAAE,OAAO,CAAA;IACf,WAAW,EAAE,OAAO,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,gBAAgB,EAAE,CAAA;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,2DAA2D;AAC3D,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,gBAAgB,EAAE,CAAA;IAC1B,MAAM,EAAE,OAAO,CAAA;IACf,WAAW,EAAE,OAAO,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAA;IAChB,EAAE,EAAE,MAAM,CAAA;CACX"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@helmdesk/sdk",
3
- "version": "0.8.0",
3
+ "version": "0.10.0",
4
4
  "description": "Official Node.js SDK for the Helmdesk API",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",