@kirimdev/sdk 1.0.1 → 2.0.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/dist/client.d.ts CHANGED
@@ -1,18 +1,30 @@
1
1
  /**
2
2
  * Top-level `Kirim` client. Owns one `HttpClient` and exposes resource
3
3
  * namespaces. Construction is cheap; one instance per API key per process.
4
+ *
5
+ * Public API surface (v2.x, Meta-style):
6
+ *
7
+ * - Org / team-level resources live on the root client:
8
+ * `kirim.accounts`, `kirim.labels`,
9
+ * `kirim.webhookSubscriptions`, `kirim.webhookDeliveries`
10
+ *
11
+ * - Per-WhatsApp-account resources hang off `phoneNumbers(id)`:
12
+ * `kirim.phoneNumbers(id).messages.send(...)`
13
+ * `kirim.phoneNumbers(id).conversations.list()`
14
+ * `kirim.phoneNumbers(id).contacts.create(...)`
15
+ * `kirim.phoneNumbers(id).templates.list()`
16
+ *
17
+ * `id` is Meta's `business_phone_number_id` — get it from
18
+ * `kirim.accounts.list()` (the `phone_number_id` field).
4
19
  */
5
20
  import { type RequestOptions } from './http.js';
6
21
  import { AccountsResource } from './resources/accounts.js';
7
- import { ContactsResource } from './resources/contacts.js';
8
- import { ConversationsResource } from './resources/conversations.js';
9
22
  import { LabelsResource } from './resources/labels.js';
10
- import { MessagesResource } from './resources/messages.js';
11
- import { TemplatesResource } from './resources/templates.js';
23
+ import { PhoneNumberClient } from './resources/phone-number.js';
12
24
  import { WebhookDeliveriesResource } from './resources/webhook-deliveries.js';
13
25
  import { WebhookSubscriptionsResource } from './resources/webhook-subscriptions.js';
14
26
  import type { MeContext } from './types.js';
15
- export declare const SDK_VERSION = "1.0.0";
27
+ export declare const SDK_VERSION = "2.0.0";
16
28
  export interface KirimOptions {
17
29
  /** Bearer API key. Format: `kdv_live_<...>`. Required. */
18
30
  apiKey: string;
@@ -29,15 +41,30 @@ export interface KirimOptions {
29
41
  }
30
42
  export declare class Kirim {
31
43
  readonly accounts: AccountsResource;
32
- readonly messages: MessagesResource;
33
- readonly templates: TemplatesResource;
34
- readonly conversations: ConversationsResource;
35
- readonly contacts: ContactsResource;
36
44
  readonly labels: LabelsResource;
37
45
  readonly webhookSubscriptions: WebhookSubscriptionsResource;
38
46
  readonly webhookDeliveries: WebhookDeliveriesResource;
39
47
  private readonly http;
40
48
  constructor(options: KirimOptions);
49
+ /**
50
+ * Build a client scoped to a single WhatsApp account (Meta-style).
51
+ *
52
+ * @param phoneNumberId - Meta `business_phone_number_id`, digit-only
53
+ * string (e.g. `'106540352242922'`). Look up via
54
+ * `kirim.accounts.list()` if you don't have it handy.
55
+ *
56
+ * Cache the returned client at module top-level when you only operate
57
+ * on one account:
58
+ *
59
+ * ```ts
60
+ * const phone = kirim.phoneNumbers('106540352242922')
61
+ * await phone.messages.send({...})
62
+ * ```
63
+ *
64
+ * Each call constructs a fresh client; instances are independent and
65
+ * safe to hold side-by-side for multi-number workflows.
66
+ */
67
+ phoneNumbers(phoneNumberId: string): PhoneNumberClient;
41
68
  /** GET /me — introspect the calling API key. */
42
69
  me(options?: RequestOptions): Promise<MeContext>;
43
70
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAiC,KAAK,cAAc,EAAE,MAAM,WAAW,CAAA;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAC7E,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAA;AACnF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE3C,eAAO,MAAM,WAAW,UAAU,CAAA;AAKlC,MAAM,WAAW,YAAY;IAC3B,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAA;IACd,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;IACpB,wEAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,qBAAa,KAAK;IAChB,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAA;IACnC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAA;IACnC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAA;IACrC,QAAQ,CAAC,aAAa,EAAE,qBAAqB,CAAA;IAC7C,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAA;IACnC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;IAC/B,QAAQ,CAAC,oBAAoB,EAAE,4BAA4B,CAAA;IAC3D,QAAQ,CAAC,iBAAiB,EAAE,yBAAyB,CAAA;IAErD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;gBAErB,OAAO,EAAE,YAAY;IAkCjC,gDAAgD;IAChD,EAAE,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC;IAQhD;;;;OAIG;IACH,OAAO,CAAC,CAAC,GAAG,OAAO,EACjB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,EAC3C,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,OAAO,CAAA;QACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC,CAAA;QACpE,OAAO,CAAC,EAAE,cAAc,CAAA;KACzB,GACA,OAAO,CAAC,CAAC,CAAC;CASd"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAiC,KAAK,cAAc,EAAE,MAAM,WAAW,CAAA;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAC7E,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAA;AACnF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE3C,eAAO,MAAM,WAAW,UAAU,CAAA;AAKlC,MAAM,WAAW,YAAY;IAC3B,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAA;IACd,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;IACpB,wEAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,qBAAa,KAAK;IAEhB,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAA;IACnC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;IAC/B,QAAQ,CAAC,oBAAoB,EAAE,4BAA4B,CAAA;IAC3D,QAAQ,CAAC,iBAAiB,EAAE,yBAAyB,CAAA;IAErD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;gBAErB,OAAO,EAAE,YAAY;IA8BjC;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,iBAAiB;IAOtD,gDAAgD;IAChD,EAAE,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC;IAQhD;;;;OAIG;IACH,OAAO,CAAC,CAAC,GAAG,OAAO,EACjB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,EAC3C,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,OAAO,CAAA;QACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC,CAAA;QACpE,OAAO,CAAC,EAAE,cAAc,CAAA;KACzB,GACA,OAAO,CAAC,CAAC,CAAC;CASd"}
package/dist/client.js CHANGED
@@ -1,26 +1,35 @@
1
1
  /**
2
2
  * Top-level `Kirim` client. Owns one `HttpClient` and exposes resource
3
3
  * namespaces. Construction is cheap; one instance per API key per process.
4
+ *
5
+ * Public API surface (v2.x, Meta-style):
6
+ *
7
+ * - Org / team-level resources live on the root client:
8
+ * `kirim.accounts`, `kirim.labels`,
9
+ * `kirim.webhookSubscriptions`, `kirim.webhookDeliveries`
10
+ *
11
+ * - Per-WhatsApp-account resources hang off `phoneNumbers(id)`:
12
+ * `kirim.phoneNumbers(id).messages.send(...)`
13
+ * `kirim.phoneNumbers(id).conversations.list()`
14
+ * `kirim.phoneNumbers(id).contacts.create(...)`
15
+ * `kirim.phoneNumbers(id).templates.list()`
16
+ *
17
+ * `id` is Meta's `business_phone_number_id` — get it from
18
+ * `kirim.accounts.list()` (the `phone_number_id` field).
4
19
  */
5
20
  import { HttpClient } from './http.js';
6
21
  import { AccountsResource } from './resources/accounts.js';
7
- import { ContactsResource } from './resources/contacts.js';
8
- import { ConversationsResource } from './resources/conversations.js';
9
22
  import { LabelsResource } from './resources/labels.js';
10
- import { MessagesResource } from './resources/messages.js';
11
- import { TemplatesResource } from './resources/templates.js';
23
+ import { PhoneNumberClient } from './resources/phone-number.js';
12
24
  import { WebhookDeliveriesResource } from './resources/webhook-deliveries.js';
13
25
  import { WebhookSubscriptionsResource } from './resources/webhook-subscriptions.js';
14
- export const SDK_VERSION = '1.0.0';
26
+ export const SDK_VERSION = '2.0.0';
15
27
  const DEFAULT_BASE_URL = 'https://api-kckit.kirim.chat/v1';
16
28
  const DEFAULT_TIMEOUT_MS = 30_000;
17
29
  const DEFAULT_MAX_RETRIES = 2;
18
30
  export class Kirim {
31
+ // Org / team-scoped resources (sender selection not applicable).
19
32
  accounts;
20
- messages;
21
- templates;
22
- conversations;
23
- contacts;
24
33
  labels;
25
34
  webhookSubscriptions;
26
35
  webhookDeliveries;
@@ -44,14 +53,34 @@ export class Kirim {
44
53
  };
45
54
  this.http = new HttpClient(config);
46
55
  this.accounts = new AccountsResource(this.http);
47
- this.messages = new MessagesResource(this.http);
48
- this.templates = new TemplatesResource(this.http);
49
- this.conversations = new ConversationsResource(this.http);
50
- this.contacts = new ContactsResource(this.http);
51
56
  this.labels = new LabelsResource(this.http);
52
57
  this.webhookSubscriptions = new WebhookSubscriptionsResource(this.http);
53
58
  this.webhookDeliveries = new WebhookDeliveriesResource(this.http);
54
59
  }
60
+ /**
61
+ * Build a client scoped to a single WhatsApp account (Meta-style).
62
+ *
63
+ * @param phoneNumberId - Meta `business_phone_number_id`, digit-only
64
+ * string (e.g. `'106540352242922'`). Look up via
65
+ * `kirim.accounts.list()` if you don't have it handy.
66
+ *
67
+ * Cache the returned client at module top-level when you only operate
68
+ * on one account:
69
+ *
70
+ * ```ts
71
+ * const phone = kirim.phoneNumbers('106540352242922')
72
+ * await phone.messages.send({...})
73
+ * ```
74
+ *
75
+ * Each call constructs a fresh client; instances are independent and
76
+ * safe to hold side-by-side for multi-number workflows.
77
+ */
78
+ phoneNumbers(phoneNumberId) {
79
+ if (typeof phoneNumberId !== 'string' || phoneNumberId.length === 0) {
80
+ throw new TypeError('Kirim.phoneNumbers: `phoneNumberId` must be a non-empty string.');
81
+ }
82
+ return new PhoneNumberClient(this.http, phoneNumberId);
83
+ }
55
84
  /** GET /me — introspect the calling API key. */
56
85
  me(options) {
57
86
  return this.http.requestData({
@@ -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
@@ -5,6 +5,7 @@
5
5
  * tree-shakable when a consumer only needs the REST client.
6
6
  */
7
7
  export { Kirim, SDK_VERSION, type KirimOptions } from './client.js';
8
+ export { PhoneNumberClient } from './resources/phone-number.js';
8
9
  export type { Page, Paginator } from './pagination.js';
9
10
  export type { RequestOptions } from './http.js';
10
11
  export { KirimError, InvalidRequestError, AuthenticationError, PermissionError, NotFoundError, ConflictError, RateLimitError, ApiServerError, ConnectionError, type KirimErrorType, type KirimErrorPayload, } from './errors.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AAEnE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AACtD,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAE/C,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,iBAAiB,GACvB,MAAM,aAAa,CAAA;AAEpB,YAAY,EACV,SAAS,EACT,OAAO,EACP,kBAAkB,EAClB,OAAO,EACP,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,QAAQ,EACR,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,YAAY,EACZ,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,6BAA6B,EAC7B,OAAO,EACP,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACvB,KAAK,EACL,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,2BAA2B,EAC3B,+BAA+B,EAC/B,+BAA+B,EAC/B,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACvB,2BAA2B,EAC3B,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAE/D,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AACtD,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAE/C,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,iBAAiB,GACvB,MAAM,aAAa,CAAA;AAEpB,YAAY,EACV,SAAS,EACT,OAAO,EACP,kBAAkB,EAClB,OAAO,EACP,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,QAAQ,EACR,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,YAAY,EACZ,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,6BAA6B,EAC7B,OAAO,EACP,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACvB,KAAK,EACL,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,2BAA2B,EAC3B,+BAA+B,EAC/B,+BAA+B,EAC/B,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACvB,2BAA2B,EAC3B,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,YAAY,CAAA"}
package/dist/index.js CHANGED
@@ -5,5 +5,6 @@
5
5
  * tree-shakable when a consumer only needs the REST client.
6
6
  */
7
7
  export { Kirim, SDK_VERSION } from './client.js';
8
+ export { PhoneNumberClient } from './resources/phone-number.js';
8
9
  export { KirimError, InvalidRequestError, AuthenticationError, PermissionError, NotFoundError, ConflictError, RateLimitError, ApiServerError, ConnectionError, } from './errors.js';
9
10
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,KAAK,EAAE,WAAW,EAAqB,MAAM,aAAa,CAAA;AAKnE,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,eAAe,GAGhB,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,KAAK,EAAE,WAAW,EAAqB,MAAM,aAAa,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAK/D,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,eAAe,GAGhB,MAAM,aAAa,CAAA"}
@@ -1,32 +1,39 @@
1
1
  import type { HttpClient, RequestOptions } from '../http.js';
2
2
  import { Paginator } from '../pagination.js';
3
3
  import type { AttachContactLabelParams, BulkLabelContactsParams, Contact, ContactListItem, CreateContactParams, ListContactsParams, UpdateContactParams } from '../types.js';
4
+ /**
5
+ * Contacts resource — Meta-style path-scoped.
6
+ *
7
+ * Instantiated by {@link PhoneNumberClient}; the `prefix` is
8
+ * `/{phone_number_id}` (already URL-encoded by the parent).
9
+ */
4
10
  export declare class ContactsResource {
5
11
  private readonly http;
6
- constructor(http: HttpClient);
12
+ private readonly prefix;
13
+ constructor(http: HttpClient, prefix: string);
7
14
  create(params: CreateContactParams, options?: RequestOptions): Promise<Contact>;
8
15
  list(params?: ListContactsParams, options?: RequestOptions): Paginator<ContactListItem>;
9
16
  retrieve(id: string, options?: RequestOptions): Promise<Contact>;
10
17
  update(id: string, params: UpdateContactParams, options?: RequestOptions): Promise<Contact>;
11
- /** DELETE /contacts/{id} */
18
+ /** DELETE /{phone_number_id}/contacts/{id} */
12
19
  del(id: string, options?: RequestOptions): Promise<{
13
20
  id: string;
14
21
  object: 'contact';
15
22
  deleted: true;
16
23
  }>;
17
- /** POST /contacts/{id}/labels */
24
+ /** POST /{phone_number_id}/contacts/{id}/labels */
18
25
  addLabel(contactId: string, params: AttachContactLabelParams, options?: RequestOptions): Promise<{
19
26
  contact_id: string;
20
27
  label_id: string;
21
28
  attached: true;
22
29
  }>;
23
- /** DELETE /contacts/{id}/labels/{label_id} */
30
+ /** DELETE /{phone_number_id}/contacts/{id}/labels/{label_id} */
24
31
  removeLabel(contactId: string, labelId: string, options?: RequestOptions): Promise<{
25
32
  contact_id: string;
26
33
  label_id: string;
27
34
  attached: false;
28
35
  }>;
29
- /** POST /contacts/bulk_label */
36
+ /** POST /{phone_number_id}/contacts/bulk_label */
30
37
  bulkLabel(params: BulkLabelContactsParams, options?: RequestOptions): Promise<{
31
38
  applied: number;
32
39
  skipped_cross_org: number;
@@ -1 +1 @@
1
- {"version":3,"file":"contacts.d.ts","sourceRoot":"","sources":["../../src/resources/contacts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,KAAK,EACV,wBAAwB,EACxB,uBAAuB,EACvB,OAAO,EACP,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,aAAa,CAAA;AAEpB,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAS/E,IAAI,CAAC,MAAM,CAAC,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC,eAAe,CAAC;IAQvF,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAQhE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAS3F,4BAA4B;IAC5B,GAAG,CACD,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,SAAS,CAAC;QAAC,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC;IAQ5D,iCAAiC;IACjC,QAAQ,CACN,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,wBAAwB,EAChC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE,CAAC;IASpE,8CAA8C;IAC9C,WAAW,CACT,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,KAAK,CAAA;KAAE,CAAC;IAQrE,gCAAgC;IAChC,SAAS,CACP,MAAM,EAAE,uBAAuB,EAC/B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,qBAAqB,EAAE,MAAM,CAAA;KAAE,CAAC;CAQ1F"}
1
+ {"version":3,"file":"contacts.d.ts","sourceRoot":"","sources":["../../src/resources/contacts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,KAAK,EACV,wBAAwB,EACxB,uBAAuB,EACvB,OAAO,EACP,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,aAAa,CAAA;AAEpB;;;;;GAKG;AACH,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM;IAGjC,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAS/E,IAAI,CAAC,MAAM,CAAC,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC,eAAe,CAAC;IAWvF,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAQhE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAS3F,8CAA8C;IAC9C,GAAG,CACD,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,SAAS,CAAC;QAAC,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC;IAQ5D,mDAAmD;IACnD,QAAQ,CACN,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,wBAAwB,EAChC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE,CAAC;IASpE,gEAAgE;IAChE,WAAW,CACT,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,KAAK,CAAA;KAAE,CAAC;IAQrE,kDAAkD;IAClD,SAAS,CACP,MAAM,EAAE,uBAAuB,EAC/B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,qBAAqB,EAAE,MAAM,CAAA;KAAE,CAAC;CAQ1F"}
@@ -1,65 +1,76 @@
1
1
  import { Paginator } from '../pagination.js';
2
+ /**
3
+ * Contacts resource — Meta-style path-scoped.
4
+ *
5
+ * Instantiated by {@link PhoneNumberClient}; the `prefix` is
6
+ * `/{phone_number_id}` (already URL-encoded by the parent).
7
+ */
2
8
  export class ContactsResource {
3
9
  http;
4
- constructor(http) {
10
+ prefix;
11
+ constructor(http, prefix) {
5
12
  this.http = http;
13
+ this.prefix = prefix;
6
14
  }
7
15
  create(params, options) {
8
16
  return this.http.requestData({
9
17
  method: 'POST',
10
- path: '/contacts',
18
+ path: `${this.prefix}/contacts`,
11
19
  body: params,
12
20
  ...(options ? { options } : {}),
13
21
  });
14
22
  }
15
23
  list(params, options) {
16
- return new Paginator(this.http, { path: '/contacts', ...(params ? { query: params } : {}) }, options);
24
+ return new Paginator(this.http, {
25
+ path: `${this.prefix}/contacts`,
26
+ ...(params ? { query: params } : {}),
27
+ }, options);
17
28
  }
18
29
  retrieve(id, options) {
19
30
  return this.http.requestData({
20
31
  method: 'GET',
21
- path: `/contacts/${encodeURIComponent(id)}`,
32
+ path: `${this.prefix}/contacts/${encodeURIComponent(id)}`,
22
33
  ...(options ? { options } : {}),
23
34
  });
24
35
  }
25
36
  update(id, params, options) {
26
37
  return this.http.requestData({
27
38
  method: 'PATCH',
28
- path: `/contacts/${encodeURIComponent(id)}`,
39
+ path: `${this.prefix}/contacts/${encodeURIComponent(id)}`,
29
40
  body: params,
30
41
  ...(options ? { options } : {}),
31
42
  });
32
43
  }
33
- /** DELETE /contacts/{id} */
44
+ /** DELETE /{phone_number_id}/contacts/{id} */
34
45
  del(id, options) {
35
46
  return this.http.requestData({
36
47
  method: 'DELETE',
37
- path: `/contacts/${encodeURIComponent(id)}`,
48
+ path: `${this.prefix}/contacts/${encodeURIComponent(id)}`,
38
49
  ...(options ? { options } : {}),
39
50
  });
40
51
  }
41
- /** POST /contacts/{id}/labels */
52
+ /** POST /{phone_number_id}/contacts/{id}/labels */
42
53
  addLabel(contactId, params, options) {
43
54
  return this.http.requestData({
44
55
  method: 'POST',
45
- path: `/contacts/${encodeURIComponent(contactId)}/labels`,
56
+ path: `${this.prefix}/contacts/${encodeURIComponent(contactId)}/labels`,
46
57
  body: params,
47
58
  ...(options ? { options } : {}),
48
59
  });
49
60
  }
50
- /** DELETE /contacts/{id}/labels/{label_id} */
61
+ /** DELETE /{phone_number_id}/contacts/{id}/labels/{label_id} */
51
62
  removeLabel(contactId, labelId, options) {
52
63
  return this.http.requestData({
53
64
  method: 'DELETE',
54
- path: `/contacts/${encodeURIComponent(contactId)}/labels/${encodeURIComponent(labelId)}`,
65
+ path: `${this.prefix}/contacts/${encodeURIComponent(contactId)}/labels/${encodeURIComponent(labelId)}`,
55
66
  ...(options ? { options } : {}),
56
67
  });
57
68
  }
58
- /** POST /contacts/bulk_label */
69
+ /** POST /{phone_number_id}/contacts/bulk_label */
59
70
  bulkLabel(params, options) {
60
71
  return this.http.requestData({
61
72
  method: 'POST',
62
- path: '/contacts/bulk_label',
73
+ path: `${this.prefix}/contacts/bulk_label`,
63
74
  body: params,
64
75
  ...(options ? { options } : {}),
65
76
  });
@@ -1 +1 @@
1
- {"version":3,"file":"contacts.js","sourceRoot":"","sources":["../../src/resources/contacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contacts.js","sourceRoot":"","sources":["../../src/resources/contacts.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,26 @@
1
1
  import type { HttpClient, RequestOptions } from '../http.js';
2
2
  import { Paginator } from '../pagination.js';
3
3
  import type { AttachConversationLabelParams, Conversation, ConversationListItem, ListConversationsParams, UpdateConversationParams } from '../types.js';
4
+ /**
5
+ * Conversations resource — Meta-style path-scoped.
6
+ *
7
+ * Instantiated by {@link PhoneNumberClient}; the `prefix` is
8
+ * `/{phone_number_id}` (already URL-encoded by the parent).
9
+ */
4
10
  export declare class ConversationsResource {
5
11
  private readonly http;
6
- constructor(http: HttpClient);
12
+ private readonly prefix;
13
+ constructor(http: HttpClient, prefix: string);
7
14
  list(params?: ListConversationsParams, options?: RequestOptions): Paginator<ConversationListItem>;
8
15
  retrieve(id: string, options?: RequestOptions): Promise<Conversation>;
9
16
  update(id: string, params: UpdateConversationParams, options?: RequestOptions): Promise<Conversation>;
10
- /** POST /conversations/{id}/labels */
17
+ /** POST /{phone_number_id}/conversations/{id}/labels */
11
18
  addLabel(conversationId: string, params: AttachConversationLabelParams, options?: RequestOptions): Promise<{
12
19
  conversation_id: string;
13
20
  label_id: string;
14
21
  attached: true;
15
22
  }>;
16
- /** DELETE /conversations/{id}/labels/{label_id} */
23
+ /** DELETE /{phone_number_id}/conversations/{id}/labels/{label_id} */
17
24
  removeLabel(conversationId: string, labelId: string, options?: RequestOptions): Promise<{
18
25
  conversation_id: string;
19
26
  label_id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"conversations.d.ts","sourceRoot":"","sources":["../../src/resources/conversations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,KAAK,EACV,6BAA6B,EAC7B,YAAY,EACZ,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,aAAa,CAAA;AAEpB,qBAAa,qBAAqB;IACpB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C,IAAI,CACF,MAAM,CAAC,EAAE,uBAAuB,EAChC,OAAO,CAAC,EAAE,cAAc,GACvB,SAAS,CAAC,oBAAoB,CAAC;IAQlC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC;IAQrE,MAAM,CACJ,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,wBAAwB,EAChC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,YAAY,CAAC;IASxB,sCAAsC;IACtC,QAAQ,CACN,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,6BAA6B,EACrC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE,CAAC;IASzE,mDAAmD;IACnD,WAAW,CACT,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,KAAK,CAAA;KAAE,CAAC;CAO3E"}
1
+ {"version":3,"file":"conversations.d.ts","sourceRoot":"","sources":["../../src/resources/conversations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,KAAK,EACV,6BAA6B,EAC7B,YAAY,EACZ,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,aAAa,CAAA;AAEpB;;;;;GAKG;AACH,qBAAa,qBAAqB;IAE9B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM;IAGjC,IAAI,CACF,MAAM,CAAC,EAAE,uBAAuB,EAChC,OAAO,CAAC,EAAE,cAAc,GACvB,SAAS,CAAC,oBAAoB,CAAC;IAWlC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC;IAQrE,MAAM,CACJ,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,wBAAwB,EAChC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,YAAY,CAAC;IASxB,wDAAwD;IACxD,QAAQ,CACN,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,6BAA6B,EACrC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE,CAAC;IASzE,qEAAqE;IACrE,WAAW,CACT,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,KAAK,CAAA;KAAE,CAAC;CAO3E"}
@@ -1,41 +1,52 @@
1
1
  import { Paginator } from '../pagination.js';
2
+ /**
3
+ * Conversations resource — Meta-style path-scoped.
4
+ *
5
+ * Instantiated by {@link PhoneNumberClient}; the `prefix` is
6
+ * `/{phone_number_id}` (already URL-encoded by the parent).
7
+ */
2
8
  export class ConversationsResource {
3
9
  http;
4
- constructor(http) {
10
+ prefix;
11
+ constructor(http, prefix) {
5
12
  this.http = http;
13
+ this.prefix = prefix;
6
14
  }
7
15
  list(params, options) {
8
- return new Paginator(this.http, { path: '/conversations', ...(params ? { query: params } : {}) }, options);
16
+ return new Paginator(this.http, {
17
+ path: `${this.prefix}/conversations`,
18
+ ...(params ? { query: params } : {}),
19
+ }, options);
9
20
  }
10
21
  retrieve(id, options) {
11
22
  return this.http.requestData({
12
23
  method: 'GET',
13
- path: `/conversations/${encodeURIComponent(id)}`,
24
+ path: `${this.prefix}/conversations/${encodeURIComponent(id)}`,
14
25
  ...(options ? { options } : {}),
15
26
  });
16
27
  }
17
28
  update(id, params, options) {
18
29
  return this.http.requestData({
19
30
  method: 'PATCH',
20
- path: `/conversations/${encodeURIComponent(id)}`,
31
+ path: `${this.prefix}/conversations/${encodeURIComponent(id)}`,
21
32
  body: params,
22
33
  ...(options ? { options } : {}),
23
34
  });
24
35
  }
25
- /** POST /conversations/{id}/labels */
36
+ /** POST /{phone_number_id}/conversations/{id}/labels */
26
37
  addLabel(conversationId, params, options) {
27
38
  return this.http.requestData({
28
39
  method: 'POST',
29
- path: `/conversations/${encodeURIComponent(conversationId)}/labels`,
40
+ path: `${this.prefix}/conversations/${encodeURIComponent(conversationId)}/labels`,
30
41
  body: params,
31
42
  ...(options ? { options } : {}),
32
43
  });
33
44
  }
34
- /** DELETE /conversations/{id}/labels/{label_id} */
45
+ /** DELETE /{phone_number_id}/conversations/{id}/labels/{label_id} */
35
46
  removeLabel(conversationId, labelId, options) {
36
47
  return this.http.requestData({
37
48
  method: 'DELETE',
38
- path: `/conversations/${encodeURIComponent(conversationId)}/labels/${encodeURIComponent(labelId)}`,
49
+ path: `${this.prefix}/conversations/${encodeURIComponent(conversationId)}/labels/${encodeURIComponent(labelId)}`,
39
50
  ...(options ? { options } : {}),
40
51
  });
41
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"conversations.js","sourceRoot":"","sources":["../../src/resources/conversations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAS5C,MAAM,OAAO,qBAAqB;IACH;IAA7B,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD,IAAI,CACF,MAAgC,EAChC,OAAwB;QAExB,OAAO,IAAI,SAAS,CAClB,IAAI,CAAC,IAAI,EACT,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAsE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAChI,OAAO,CACR,CAAA;IACH,CAAC;IAED,QAAQ,CAAC,EAAU,EAAE,OAAwB;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAe;YACzC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,kBAAkB,kBAAkB,CAAC,EAAE,CAAC,EAAE;YAChD,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,CACJ,EAAU,EACV,MAAgC,EAChC,OAAwB;QAExB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAe;YACzC,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,kBAAkB,kBAAkB,CAAC,EAAE,CAAC,EAAE;YAChD,IAAI,EAAE,MAAM;YACZ,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC,CAAC,CAAA;IACJ,CAAC;IAED,sCAAsC;IACtC,QAAQ,CACN,cAAsB,EACtB,MAAqC,EACrC,OAAwB;QAExB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;YAC3B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,kBAAkB,kBAAkB,CAAC,cAAc,CAAC,SAAS;YACnE,IAAI,EAAE,MAAM;YACZ,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC,CAAC,CAAA;IACJ,CAAC;IAED,mDAAmD;IACnD,WAAW,CACT,cAAsB,EACtB,OAAe,EACf,OAAwB;QAExB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;YAC3B,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,kBAAkB,kBAAkB,CAAC,cAAc,CAAC,WAAW,kBAAkB,CAAC,OAAO,CAAC,EAAE;YAClG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC,CAAC,CAAA;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"conversations.js","sourceRoot":"","sources":["../../src/resources/conversations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAS5C;;;;;GAKG;AACH,MAAM,OAAO,qBAAqB;IAEb;IACA;IAFnB,YACmB,IAAgB,EAChB,MAAc;QADd,SAAI,GAAJ,IAAI,CAAY;QAChB,WAAM,GAAN,MAAM,CAAQ;IAC9B,CAAC;IAEJ,IAAI,CACF,MAAgC,EAChC,OAAwB;QAExB,OAAO,IAAI,SAAS,CAClB,IAAI,CAAC,IAAI,EACT;YACE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,gBAAgB;YACpC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAsE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrG,EACD,OAAO,CACR,CAAA;IACH,CAAC;IAED,QAAQ,CAAC,EAAU,EAAE,OAAwB;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAe;YACzC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,kBAAkB,kBAAkB,CAAC,EAAE,CAAC,EAAE;YAC9D,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,CACJ,EAAU,EACV,MAAgC,EAChC,OAAwB;QAExB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAe;YACzC,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,kBAAkB,kBAAkB,CAAC,EAAE,CAAC,EAAE;YAC9D,IAAI,EAAE,MAAM;YACZ,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC,CAAC,CAAA;IACJ,CAAC;IAED,wDAAwD;IACxD,QAAQ,CACN,cAAsB,EACtB,MAAqC,EACrC,OAAwB;QAExB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;YAC3B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,kBAAkB,kBAAkB,CAAC,cAAc,CAAC,SAAS;YACjF,IAAI,EAAE,MAAM;YACZ,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC,CAAC,CAAA;IACJ,CAAC;IAED,qEAAqE;IACrE,WAAW,CACT,cAAsB,EACtB,OAAe,EACf,OAAwB;QAExB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;YAC3B,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,kBAAkB,kBAAkB,CAAC,cAAc,CAAC,WAAW,kBAAkB,CAAC,OAAO,CAAC,EAAE;YAChH,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -1,18 +1,28 @@
1
1
  import type { HttpClient, RequestOptions } from '../http.js';
2
2
  import { Paginator } from '../pagination.js';
3
3
  import type { ListMessagesParams, Message, MessageListItem, MessageMediaRedirect, SendMessageParams } from '../types.js';
4
+ /**
5
+ * Messages resource — Meta-style path-scoped.
6
+ *
7
+ * Instantiated by {@link PhoneNumberClient}; not constructed directly
8
+ * by SDK consumers. The `prefix` is `/{phone_number_id}` and is
9
+ * pre-built (and URL-encoded) by the parent client so every method
10
+ * here just appends its own path segment.
11
+ */
4
12
  export declare class MessagesResource {
5
13
  private readonly http;
6
- constructor(http: HttpClient);
7
- /** POST /messages — send a WhatsApp message (any supported type). */
14
+ private readonly prefix;
15
+ constructor(http: HttpClient, prefix: string);
16
+ /** POST /{phone_number_id}/messages — send a WhatsApp message (any supported type). */
8
17
  send(params: SendMessageParams, options?: RequestOptions): Promise<Message>;
9
- /** GET /messages — list messages; async-iterable + per-page. */
18
+ /** GET /{phone_number_id}/messages — list messages; async-iterable + per-page. */
10
19
  list(params?: ListMessagesParams, options?: RequestOptions): Paginator<MessageListItem>;
11
- /** GET /messages/{id} */
20
+ /** GET /{phone_number_id}/messages/{id} */
12
21
  retrieve(id: string, options?: RequestOptions): Promise<Message>;
13
22
  /**
14
- * GET /messages/{id}/media — returns the signed URL the API redirects to
15
- * (the SDK does NOT follow the redirect — you decide whether to stream).
23
+ * GET /{phone_number_id}/messages/{id}/media — returns the signed URL
24
+ * the API redirects to (the SDK does NOT follow the redirect — you
25
+ * decide whether to stream).
16
26
  */
17
27
  media(id: string, options?: RequestOptions): Promise<MessageMediaRedirect>;
18
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/resources/messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,KAAK,EACV,kBAAkB,EAClB,OAAO,EACP,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,aAAa,CAAA;AAEpB,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C,qEAAqE;IACrE,IAAI,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAS3E,gEAAgE;IAChE,IAAI,CAAC,MAAM,CAAC,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC,eAAe,CAAC;IAQvF,yBAAyB;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAQhE;;;OAGG;IACH,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAO3E"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/resources/messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,KAAK,EACV,kBAAkB,EAClB,OAAO,EACP,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,aAAa,CAAA;AAEpB;;;;;;;GAOG;AACH,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM;IAGjC,uFAAuF;IACvF,IAAI,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAS3E,kFAAkF;IAClF,IAAI,CAAC,MAAM,CAAC,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC,eAAe,CAAC;IAWvF,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAQhE;;;;OAIG;IACH,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAO3E"}
@@ -1,38 +1,52 @@
1
1
  import { Paginator } from '../pagination.js';
2
+ /**
3
+ * Messages resource — Meta-style path-scoped.
4
+ *
5
+ * Instantiated by {@link PhoneNumberClient}; not constructed directly
6
+ * by SDK consumers. The `prefix` is `/{phone_number_id}` and is
7
+ * pre-built (and URL-encoded) by the parent client so every method
8
+ * here just appends its own path segment.
9
+ */
2
10
  export class MessagesResource {
3
11
  http;
4
- constructor(http) {
12
+ prefix;
13
+ constructor(http, prefix) {
5
14
  this.http = http;
15
+ this.prefix = prefix;
6
16
  }
7
- /** POST /messages — send a WhatsApp message (any supported type). */
17
+ /** POST /{phone_number_id}/messages — send a WhatsApp message (any supported type). */
8
18
  send(params, options) {
9
19
  return this.http.requestData({
10
20
  method: 'POST',
11
- path: '/messages',
21
+ path: `${this.prefix}/messages`,
12
22
  body: params,
13
23
  ...(options ? { options } : {}),
14
24
  });
15
25
  }
16
- /** GET /messages — list messages; async-iterable + per-page. */
26
+ /** GET /{phone_number_id}/messages — list messages; async-iterable + per-page. */
17
27
  list(params, options) {
18
- return new Paginator(this.http, { path: '/messages', ...(params ? { query: params } : {}) }, options);
28
+ return new Paginator(this.http, {
29
+ path: `${this.prefix}/messages`,
30
+ ...(params ? { query: params } : {}),
31
+ }, options);
19
32
  }
20
- /** GET /messages/{id} */
33
+ /** GET /{phone_number_id}/messages/{id} */
21
34
  retrieve(id, options) {
22
35
  return this.http.requestData({
23
36
  method: 'GET',
24
- path: `/messages/${encodeURIComponent(id)}`,
37
+ path: `${this.prefix}/messages/${encodeURIComponent(id)}`,
25
38
  ...(options ? { options } : {}),
26
39
  });
27
40
  }
28
41
  /**
29
- * GET /messages/{id}/media — returns the signed URL the API redirects to
30
- * (the SDK does NOT follow the redirect — you decide whether to stream).
42
+ * GET /{phone_number_id}/messages/{id}/media — returns the signed URL
43
+ * the API redirects to (the SDK does NOT follow the redirect — you
44
+ * decide whether to stream).
31
45
  */
32
46
  media(id, options) {
33
47
  return this.http.requestData({
34
48
  method: 'GET',
35
- path: `/messages/${encodeURIComponent(id)}/media`,
49
+ path: `${this.prefix}/messages/${encodeURIComponent(id)}/media`,
36
50
  ...(options ? { options } : {}),
37
51
  });
38
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/resources/messages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAS5C,MAAM,OAAO,gBAAgB;IACE;IAA7B,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD,qEAAqE;IACrE,IAAI,CAAC,MAAyB,EAAE,OAAwB;QACtD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAU;YACpC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,MAAM;YACZ,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC,CAAC,CAAA;IACJ,CAAC;IAED,gEAAgE;IAChE,IAAI,CAAC,MAA2B,EAAE,OAAwB;QACxD,OAAO,IAAI,SAAS,CAClB,IAAI,CAAC,IAAI,EACT,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAsE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAC3H,OAAO,CACR,CAAA;IACH,CAAC;IAED,yBAAyB;IACzB,QAAQ,CAAC,EAAU,EAAE,OAAwB;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAU;YACpC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,aAAa,kBAAkB,CAAC,EAAE,CAAC,EAAE;YAC3C,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC,CAAC,CAAA;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,EAAU,EAAE,OAAwB;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAuB;YACjD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,aAAa,kBAAkB,CAAC,EAAE,CAAC,QAAQ;YACjD,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC,CAAC,CAAA;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/resources/messages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAS5C;;;;;;;GAOG;AACH,MAAM,OAAO,gBAAgB;IAER;IACA;IAFnB,YACmB,IAAgB,EAChB,MAAc;QADd,SAAI,GAAJ,IAAI,CAAY;QAChB,WAAM,GAAN,MAAM,CAAQ;IAC9B,CAAC;IAEJ,uFAAuF;IACvF,IAAI,CAAC,MAAyB,EAAE,OAAwB;QACtD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAU;YACpC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,WAAW;YAC/B,IAAI,EAAE,MAAM;YACZ,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC,CAAC,CAAA;IACJ,CAAC;IAED,kFAAkF;IAClF,IAAI,CAAC,MAA2B,EAAE,OAAwB;QACxD,OAAO,IAAI,SAAS,CAClB,IAAI,CAAC,IAAI,EACT;YACE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,WAAW;YAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAsE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrG,EACD,OAAO,CACR,CAAA;IACH,CAAC;IAED,2CAA2C;IAC3C,QAAQ,CAAC,EAAU,EAAE,OAAwB;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAU;YACpC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,aAAa,kBAAkB,CAAC,EAAE,CAAC,EAAE;YACzD,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC,CAAC,CAAA;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,EAAU,EAAE,OAAwB;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAuB;YACjD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,aAAa,kBAAkB,CAAC,EAAE,CAAC,QAAQ;YAC/D,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC,CAAC,CAAA;IACJ,CAAC;CACF"}