@kirimdev/sdk 3.2.0 → 3.4.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 +98 -98
- package/dist/client.d.ts +2 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +5 -1
- package/dist/client.js.map +1 -1
- package/dist/errors.js +16 -0
- package/dist/errors.js.map +1 -1
- package/dist/generated/schema.d.ts +90 -9
- package/dist/generated/version.d.ts +2 -0
- package/dist/generated/version.d.ts.map +1 -0
- package/dist/generated/version.js +6 -0
- package/dist/generated/version.js.map +1 -0
- package/dist/generated/version.ts +6 -0
- package/dist/resources/customers.d.ts +8 -2
- package/dist/resources/customers.d.ts.map +1 -1
- package/dist/resources/customers.js.map +1 -1
- package/openapi.json +99 -10
- package/package.json +63 -63
package/README.md
CHANGED
|
@@ -1,98 +1,98 @@
|
|
|
1
|
-
# @kirimdev/sdk
|
|
2
|
-
|
|
3
|
-
Official TypeScript SDK for the [Kirimdev](https://kirimdev.com) Public API.
|
|
4
|
-
|
|
5
|
-
## Install
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
npm install @kirimdev/sdk
|
|
9
|
-
# or
|
|
10
|
-
bun add @kirimdev/sdk
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
## Quickstart
|
|
14
|
-
|
|
15
|
-
```ts
|
|
16
|
-
import { Kirim } from '@kirimdev/sdk'
|
|
17
|
-
|
|
18
|
-
const kirim = new Kirim({ apiKey: process.env.KIRIM_API_KEY! })
|
|
19
|
-
|
|
20
|
-
// Scope to a WhatsApp phone number (Meta `business_phone_number_id`).
|
|
21
|
-
// Look it up via `kirim.accounts.list()` if you don't have it handy.
|
|
22
|
-
const phone = kirim.phoneNumbers('106540352242922')
|
|
23
|
-
|
|
24
|
-
// Send a message
|
|
25
|
-
const msg = await phone.messages.send({
|
|
26
|
-
messaging_product: 'whatsapp',
|
|
27
|
-
to: '628123456789',
|
|
28
|
-
type: 'text',
|
|
29
|
-
text: { body: 'Halo dari SDK!' },
|
|
30
|
-
})
|
|
31
|
-
|
|
32
|
-
// Paginate
|
|
33
|
-
for await (const m of phone.messages.list({ limit: 50 })) {
|
|
34
|
-
console.log(m.id, m.status)
|
|
35
|
-
}
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
## Webhook verification
|
|
39
|
-
|
|
40
|
-
`verifyWebhookSignature` parses the `X-Kirim-Signature` header (Stripe-style
|
|
41
|
-
`t=<unix>,v1=<hex>` format), checks the timestamp against a tolerance window,
|
|
42
|
-
verifies the HMAC-SHA256 against one or more active secrets (supports rotation),
|
|
43
|
-
and returns the parsed JSON body. It **throws** on every failure mode — never
|
|
44
|
-
returns `false`. Uses Web Crypto so it runs unchanged on Node 18+, Bun, Deno,
|
|
45
|
-
and edge runtimes.
|
|
46
|
-
|
|
47
|
-
```ts
|
|
48
|
-
import { verifyWebhookSignature, InvalidSignatureError } from '@kirimdev/sdk/webhooks'
|
|
49
|
-
|
|
50
|
-
export async function POST(req: Request) {
|
|
51
|
-
const rawBody = await req.text()
|
|
52
|
-
try {
|
|
53
|
-
const event = await verifyWebhookSignature({
|
|
54
|
-
rawBody,
|
|
55
|
-
signatureHeader: req.headers.get('x-kirim-signature'),
|
|
56
|
-
secrets: [process.env.KIRIM_WEBHOOK_SECRET!],
|
|
57
|
-
})
|
|
58
|
-
// event is KirimWebhookEvent — narrow on event.type or event.object
|
|
59
|
-
return new Response('ok')
|
|
60
|
-
} catch (err) {
|
|
61
|
-
if (err instanceof InvalidSignatureError) return new Response('bad sig', { status: 401 })
|
|
62
|
-
throw err
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
Errors thrown (all extend `KirimWebhookError`):
|
|
68
|
-
|
|
69
|
-
- `InvalidSignatureError` — header missing/malformed, or no `v1=` matched any provided secret
|
|
70
|
-
- `SignatureExpiredError` — `|now - t|` exceeds `toleranceSeconds` (default 300s)
|
|
71
|
-
- `MalformedPayloadError` — signature matched but body is not valid JSON
|
|
72
|
-
|
|
73
|
-
## Features
|
|
74
|
-
|
|
75
|
-
- Full coverage of the Kirimdev `/v1` API (~35 endpoints)
|
|
76
|
-
- Type-safe — generated from the live OpenAPI 3.1 spec
|
|
77
|
-
- Automatic retries with exponential backoff (429, 5xx, network errors)
|
|
78
|
-
- Automatic `Idempotency-Key` injection for POST requests
|
|
79
|
-
- Async iterator pagination (`for await ... of kirim.messages.list(...)`)
|
|
80
|
-
- Typed error class hierarchy keyed off stable API error codes
|
|
81
|
-
- Webhook HMAC-SHA256 verifier
|
|
82
|
-
- Zero Node-specific dependencies — works in Node 18+, Bun, Deno
|
|
83
|
-
|
|
84
|
-
## Configuration
|
|
85
|
-
|
|
86
|
-
```ts
|
|
87
|
-
new Kirim({
|
|
88
|
-
apiKey: 'kdv_live_...', // required
|
|
89
|
-
baseUrl: 'https://api.kirimdev.com/v1', // optional
|
|
90
|
-
timeout: 30_000, // ms, default 30s
|
|
91
|
-
maxRetries: 2, // default 2
|
|
92
|
-
fetch: globalThis.fetch, // injectable for testing
|
|
93
|
-
})
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
## License
|
|
97
|
-
|
|
98
|
-
MIT
|
|
1
|
+
# @kirimdev/sdk
|
|
2
|
+
|
|
3
|
+
Official TypeScript SDK for the [Kirimdev](https://kirimdev.com) Public API.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @kirimdev/sdk
|
|
9
|
+
# or
|
|
10
|
+
bun add @kirimdev/sdk
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Quickstart
|
|
14
|
+
|
|
15
|
+
```ts
|
|
16
|
+
import { Kirim } from '@kirimdev/sdk'
|
|
17
|
+
|
|
18
|
+
const kirim = new Kirim({ apiKey: process.env.KIRIM_API_KEY! })
|
|
19
|
+
|
|
20
|
+
// Scope to a WhatsApp phone number (Meta `business_phone_number_id`).
|
|
21
|
+
// Look it up via `kirim.accounts.list()` if you don't have it handy.
|
|
22
|
+
const phone = kirim.phoneNumbers('106540352242922')
|
|
23
|
+
|
|
24
|
+
// Send a message
|
|
25
|
+
const msg = await phone.messages.send({
|
|
26
|
+
messaging_product: 'whatsapp',
|
|
27
|
+
to: '628123456789',
|
|
28
|
+
type: 'text',
|
|
29
|
+
text: { body: 'Halo dari SDK!' },
|
|
30
|
+
})
|
|
31
|
+
|
|
32
|
+
// Paginate
|
|
33
|
+
for await (const m of phone.messages.list({ limit: 50 })) {
|
|
34
|
+
console.log(m.id, m.status)
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Webhook verification
|
|
39
|
+
|
|
40
|
+
`verifyWebhookSignature` parses the `X-Kirim-Signature` header (Stripe-style
|
|
41
|
+
`t=<unix>,v1=<hex>` format), checks the timestamp against a tolerance window,
|
|
42
|
+
verifies the HMAC-SHA256 against one or more active secrets (supports rotation),
|
|
43
|
+
and returns the parsed JSON body. It **throws** on every failure mode — never
|
|
44
|
+
returns `false`. Uses Web Crypto so it runs unchanged on Node 18+, Bun, Deno,
|
|
45
|
+
and edge runtimes.
|
|
46
|
+
|
|
47
|
+
```ts
|
|
48
|
+
import { verifyWebhookSignature, InvalidSignatureError } from '@kirimdev/sdk/webhooks'
|
|
49
|
+
|
|
50
|
+
export async function POST(req: Request) {
|
|
51
|
+
const rawBody = await req.text()
|
|
52
|
+
try {
|
|
53
|
+
const event = await verifyWebhookSignature({
|
|
54
|
+
rawBody,
|
|
55
|
+
signatureHeader: req.headers.get('x-kirim-signature'),
|
|
56
|
+
secrets: [process.env.KIRIM_WEBHOOK_SECRET!],
|
|
57
|
+
})
|
|
58
|
+
// event is KirimWebhookEvent — narrow on event.type or event.object
|
|
59
|
+
return new Response('ok')
|
|
60
|
+
} catch (err) {
|
|
61
|
+
if (err instanceof InvalidSignatureError) return new Response('bad sig', { status: 401 })
|
|
62
|
+
throw err
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Errors thrown (all extend `KirimWebhookError`):
|
|
68
|
+
|
|
69
|
+
- `InvalidSignatureError` — header missing/malformed, or no `v1=` matched any provided secret
|
|
70
|
+
- `SignatureExpiredError` — `|now - t|` exceeds `toleranceSeconds` (default 300s)
|
|
71
|
+
- `MalformedPayloadError` — signature matched but body is not valid JSON
|
|
72
|
+
|
|
73
|
+
## Features
|
|
74
|
+
|
|
75
|
+
- Full coverage of the Kirimdev `/v1` API (~35 endpoints)
|
|
76
|
+
- Type-safe — generated from the live OpenAPI 3.1 spec
|
|
77
|
+
- Automatic retries with exponential backoff (429, 5xx, network errors)
|
|
78
|
+
- Automatic `Idempotency-Key` injection for POST requests
|
|
79
|
+
- Async iterator pagination (`for await ... of kirim.messages.list(...)`)
|
|
80
|
+
- Typed error class hierarchy keyed off stable API error codes
|
|
81
|
+
- Webhook HMAC-SHA256 verifier
|
|
82
|
+
- Zero Node-specific dependencies — works in Node 18+, Bun, Deno
|
|
83
|
+
|
|
84
|
+
## Configuration
|
|
85
|
+
|
|
86
|
+
```ts
|
|
87
|
+
new Kirim({
|
|
88
|
+
apiKey: 'kdv_live_...', // required
|
|
89
|
+
baseUrl: 'https://api.kirimdev.com/v1', // optional
|
|
90
|
+
timeout: 30_000, // ms, default 30s
|
|
91
|
+
maxRetries: 2, // default 2
|
|
92
|
+
fetch: globalThis.fetch, // injectable for testing
|
|
93
|
+
})
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## License
|
|
97
|
+
|
|
98
|
+
MIT
|
package/dist/client.d.ts
CHANGED
|
@@ -25,7 +25,8 @@ import { PhoneNumberClient } from './resources/phone-number.js';
|
|
|
25
25
|
import { WebhookDeliveriesResource } from './resources/webhook-deliveries.js';
|
|
26
26
|
import { WebhookSubscriptionsResource } from './resources/webhook-subscriptions.js';
|
|
27
27
|
import type { MeContext } from './types.js';
|
|
28
|
-
|
|
28
|
+
import { SDK_VERSION } from './generated/version.js';
|
|
29
|
+
export { SDK_VERSION };
|
|
29
30
|
export interface KirimOptions {
|
|
30
31
|
/** Bearer API key. Format: `kdv_live_<...>`. Required. */
|
|
31
32
|
apiKey: string;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,0BAA0B,CAAA;AAC5D,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;
|
|
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,0BAA0B,CAAA;AAC5D,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;AAI3C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD,OAAO,EAAE,WAAW,EAAE,CAAA;AAKtB,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,SAAS,EAAE,iBAAiB,CAAA;IACrC,QAAQ,CAAC,oBAAoB,EAAE,4BAA4B,CAAA;IAC3D,QAAQ,CAAC,iBAAiB,EAAE,yBAAyB,CAAA;IAErD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;gBAErB,OAAO,EAAE,YAAY;IA+BjC;;;;;;;;;;;;;;;;;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
|
@@ -24,7 +24,11 @@ import { CustomersResource } from './resources/customers.js';
|
|
|
24
24
|
import { PhoneNumberClient } from './resources/phone-number.js';
|
|
25
25
|
import { WebhookDeliveriesResource } from './resources/webhook-deliveries.js';
|
|
26
26
|
import { WebhookSubscriptionsResource } from './resources/webhook-subscriptions.js';
|
|
27
|
-
|
|
27
|
+
// Generated at build time from package.json by scripts/generate-version.ts.
|
|
28
|
+
// The file is gitignored and re-emitted on every prebuild / pretest /
|
|
29
|
+
// pretypecheck so this stays in lockstep with the published version.
|
|
30
|
+
import { SDK_VERSION } from './generated/version.js';
|
|
31
|
+
export { SDK_VERSION };
|
|
28
32
|
const DEFAULT_BASE_URL = 'https://api.kirimdev.com/v1';
|
|
29
33
|
const DEFAULT_TIMEOUT_MS = 30_000;
|
|
30
34
|
const DEFAULT_MAX_RETRIES = 2;
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,UAAU,EAA0C,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,0BAA0B,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAC7E,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAA;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.js
CHANGED
|
@@ -148,6 +148,15 @@ function isErrorEnvelope(body) {
|
|
|
148
148
|
function defaultTypeForStatus(status) {
|
|
149
149
|
if (status === 401)
|
|
150
150
|
return 'authentication_error';
|
|
151
|
+
// 402 = paywall (feature_not_entitled / quota_exceeded /
|
|
152
|
+
// subscription_inactive). The catalog maps these to
|
|
153
|
+
// 'permission_error' rather than minting a new error type, so
|
|
154
|
+
// existing consumer code branching on `err.type === 'permission_error'`
|
|
155
|
+
// still catches them. Without this explicit branch the fallback
|
|
156
|
+
// returns 'invalid_request_error', which would mislead consumers
|
|
157
|
+
// into treating an entitlement gate as a malformed request.
|
|
158
|
+
if (status === 402)
|
|
159
|
+
return 'permission_error';
|
|
151
160
|
if (status === 403)
|
|
152
161
|
return 'permission_error';
|
|
153
162
|
if (status === 404)
|
|
@@ -163,6 +172,13 @@ function defaultTypeForStatus(status) {
|
|
|
163
172
|
function defaultCodeForStatus(status) {
|
|
164
173
|
if (status === 401)
|
|
165
174
|
return 'invalid_api_key';
|
|
175
|
+
// See `defaultTypeForStatus` 402 branch. `feature_not_entitled` is
|
|
176
|
+
// the most common cause of a 402 in practice (quota_exceeded and
|
|
177
|
+
// subscription_inactive are rarer); the server is responsible for
|
|
178
|
+
// sending a precise `code` in the body when it knows better, this
|
|
179
|
+
// is only the fallback when the body is shaped wrong.
|
|
180
|
+
if (status === 402)
|
|
181
|
+
return 'feature_not_entitled';
|
|
166
182
|
if (status === 403)
|
|
167
183
|
return 'feature_not_available';
|
|
168
184
|
if (status === 404)
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -298,7 +298,7 @@ export interface paths {
|
|
|
298
298
|
*
|
|
299
299
|
* **Read receipt** — body has `status: "read"` + `message_id` (the inbound wamid from your webhook). Sends a read receipt back to the sender so the double-tick turns blue on their phone. Optional `typing_indicator: { type: "text" }` shows a typing bubble alongside the receipt; Meta auto-dismisses after ~25 seconds or on first outbound message.
|
|
300
300
|
*
|
|
301
|
-
* **Pre-send validation** — the API performs compliance checks before queuing the send. A 422 response with `error.code` set to `marketing_opted_out` indicates the recipient has stopped marketing messages from your business (the customer did this via the WhatsApp app menu — webhook `user_preferences` notifies you of the change). `account_restricted` indicates Meta has restricted your WhatsApp account; check the account status via the dashboard. `consent_required` indicates the recipient has not opted in. `upstream_error` indicates the WhatsApp account is disconnected. None of these are retryable until the underlying condition changes.
|
|
301
|
+
* **Pre-send validation** — the API performs compliance checks before queuing the send. A 422 response with `error.code` set to `marketing_opted_out` indicates the recipient has stopped marketing messages from your business (the customer did this via the WhatsApp app menu — webhook `user_preferences` notifies you of the change). `account_restricted` indicates Meta has restricted your WhatsApp account; check the account status via the dashboard. `consent_required` indicates the recipient has not opted in. `customer_suspended` indicates the operator has suspended (or archived) the customer that owns this WhatsApp account; sends are blocked until the customer is unsuspended via the dashboard. `upstream_error` indicates the WhatsApp account is disconnected. None of these are retryable until the underlying condition changes.
|
|
302
302
|
*/
|
|
303
303
|
post: {
|
|
304
304
|
parameters: {
|
|
@@ -386,6 +386,7 @@ export interface paths {
|
|
|
386
386
|
id?: string;
|
|
387
387
|
caption?: string;
|
|
388
388
|
filename?: string;
|
|
389
|
+
voice?: boolean;
|
|
389
390
|
};
|
|
390
391
|
} | {
|
|
391
392
|
/** @enum {string} */
|
|
@@ -1502,7 +1503,7 @@ export interface paths {
|
|
|
1502
1503
|
"application/json": components["schemas"]["ApiErrorEnvelope"];
|
|
1503
1504
|
};
|
|
1504
1505
|
};
|
|
1505
|
-
/** @description Conflict (e.g. webhook subscription disabled) */
|
|
1506
|
+
/** @description Conflict (e.g. webhook subscription disabled, setup link inactive) */
|
|
1506
1507
|
409: {
|
|
1507
1508
|
headers: {
|
|
1508
1509
|
[name: string]: unknown;
|
|
@@ -1862,7 +1863,7 @@ export interface paths {
|
|
|
1862
1863
|
"application/json": components["schemas"]["ApiErrorEnvelope"];
|
|
1863
1864
|
};
|
|
1864
1865
|
};
|
|
1865
|
-
/** @description Conflict (e.g. webhook subscription disabled) */
|
|
1866
|
+
/** @description Conflict (e.g. webhook subscription disabled, setup link inactive) */
|
|
1866
1867
|
409: {
|
|
1867
1868
|
headers: {
|
|
1868
1869
|
[name: string]: unknown;
|
|
@@ -1971,7 +1972,7 @@ export interface paths {
|
|
|
1971
1972
|
"application/json": components["schemas"]["ApiErrorEnvelope"];
|
|
1972
1973
|
};
|
|
1973
1974
|
};
|
|
1974
|
-
/** @description Conflict (e.g. webhook subscription disabled) */
|
|
1975
|
+
/** @description Conflict (e.g. webhook subscription disabled, setup link inactive) */
|
|
1975
1976
|
409: {
|
|
1976
1977
|
headers: {
|
|
1977
1978
|
[name: string]: unknown;
|
|
@@ -3773,6 +3774,15 @@ export interface paths {
|
|
|
3773
3774
|
"application/json": components["schemas"]["ApiErrorEnvelope"];
|
|
3774
3775
|
};
|
|
3775
3776
|
};
|
|
3777
|
+
/** @description Plan / quota / subscription gate (e.g. feature_not_entitled, quota_exceeded, subscription_inactive) */
|
|
3778
|
+
402: {
|
|
3779
|
+
headers: {
|
|
3780
|
+
[name: string]: unknown;
|
|
3781
|
+
};
|
|
3782
|
+
content: {
|
|
3783
|
+
"application/json": components["schemas"]["ApiErrorEnvelope"];
|
|
3784
|
+
};
|
|
3785
|
+
};
|
|
3776
3786
|
/** @description Rate limit exceeded */
|
|
3777
3787
|
429: {
|
|
3778
3788
|
headers: {
|
|
@@ -3846,6 +3856,15 @@ export interface paths {
|
|
|
3846
3856
|
"application/json": components["schemas"]["ApiErrorEnvelope"];
|
|
3847
3857
|
};
|
|
3848
3858
|
};
|
|
3859
|
+
/** @description Plan / quota / subscription gate (e.g. feature_not_entitled, quota_exceeded, subscription_inactive) */
|
|
3860
|
+
402: {
|
|
3861
|
+
headers: {
|
|
3862
|
+
[name: string]: unknown;
|
|
3863
|
+
};
|
|
3864
|
+
content: {
|
|
3865
|
+
"application/json": components["schemas"]["ApiErrorEnvelope"];
|
|
3866
|
+
};
|
|
3867
|
+
};
|
|
3849
3868
|
/** @description Rate limit exceeded */
|
|
3850
3869
|
429: {
|
|
3851
3870
|
headers: {
|
|
@@ -3918,6 +3937,15 @@ export interface paths {
|
|
|
3918
3937
|
"application/json": components["schemas"]["ApiErrorEnvelope"];
|
|
3919
3938
|
};
|
|
3920
3939
|
};
|
|
3940
|
+
/** @description Plan / quota / subscription gate (e.g. feature_not_entitled, quota_exceeded, subscription_inactive) */
|
|
3941
|
+
402: {
|
|
3942
|
+
headers: {
|
|
3943
|
+
[name: string]: unknown;
|
|
3944
|
+
};
|
|
3945
|
+
content: {
|
|
3946
|
+
"application/json": components["schemas"]["ApiErrorEnvelope"];
|
|
3947
|
+
};
|
|
3948
|
+
};
|
|
3921
3949
|
/** @description Resource not found */
|
|
3922
3950
|
404: {
|
|
3923
3951
|
headers: {
|
|
@@ -3991,6 +4019,15 @@ export interface paths {
|
|
|
3991
4019
|
"application/json": components["schemas"]["ApiErrorEnvelope"];
|
|
3992
4020
|
};
|
|
3993
4021
|
};
|
|
4022
|
+
/** @description Plan / quota / subscription gate (e.g. feature_not_entitled, quota_exceeded, subscription_inactive) */
|
|
4023
|
+
402: {
|
|
4024
|
+
headers: {
|
|
4025
|
+
[name: string]: unknown;
|
|
4026
|
+
};
|
|
4027
|
+
content: {
|
|
4028
|
+
"application/json": components["schemas"]["ApiErrorEnvelope"];
|
|
4029
|
+
};
|
|
4030
|
+
};
|
|
3994
4031
|
/** @description Resource not found */
|
|
3995
4032
|
404: {
|
|
3996
4033
|
headers: {
|
|
@@ -4074,6 +4111,15 @@ export interface paths {
|
|
|
4074
4111
|
"application/json": components["schemas"]["ApiErrorEnvelope"];
|
|
4075
4112
|
};
|
|
4076
4113
|
};
|
|
4114
|
+
/** @description Plan / quota / subscription gate (e.g. feature_not_entitled, quota_exceeded, subscription_inactive) */
|
|
4115
|
+
402: {
|
|
4116
|
+
headers: {
|
|
4117
|
+
[name: string]: unknown;
|
|
4118
|
+
};
|
|
4119
|
+
content: {
|
|
4120
|
+
"application/json": components["schemas"]["ApiErrorEnvelope"];
|
|
4121
|
+
};
|
|
4122
|
+
};
|
|
4077
4123
|
/** @description Resource not found */
|
|
4078
4124
|
404: {
|
|
4079
4125
|
headers: {
|
|
@@ -4156,6 +4202,15 @@ export interface paths {
|
|
|
4156
4202
|
"application/json": components["schemas"]["ApiErrorEnvelope"];
|
|
4157
4203
|
};
|
|
4158
4204
|
};
|
|
4205
|
+
/** @description Plan / quota / subscription gate (e.g. feature_not_entitled, quota_exceeded, subscription_inactive) */
|
|
4206
|
+
402: {
|
|
4207
|
+
headers: {
|
|
4208
|
+
[name: string]: unknown;
|
|
4209
|
+
};
|
|
4210
|
+
content: {
|
|
4211
|
+
"application/json": components["schemas"]["ApiErrorEnvelope"];
|
|
4212
|
+
};
|
|
4213
|
+
};
|
|
4159
4214
|
/** @description Resource not found */
|
|
4160
4215
|
404: {
|
|
4161
4216
|
headers: {
|
|
@@ -4238,6 +4293,15 @@ export interface paths {
|
|
|
4238
4293
|
"application/json": components["schemas"]["ApiErrorEnvelope"];
|
|
4239
4294
|
};
|
|
4240
4295
|
};
|
|
4296
|
+
/** @description Plan / quota / subscription gate (e.g. feature_not_entitled, quota_exceeded, subscription_inactive) */
|
|
4297
|
+
402: {
|
|
4298
|
+
headers: {
|
|
4299
|
+
[name: string]: unknown;
|
|
4300
|
+
};
|
|
4301
|
+
content: {
|
|
4302
|
+
"application/json": components["schemas"]["ApiErrorEnvelope"];
|
|
4303
|
+
};
|
|
4304
|
+
};
|
|
4241
4305
|
/** @description Resource not found */
|
|
4242
4306
|
404: {
|
|
4243
4307
|
headers: {
|
|
@@ -4326,6 +4390,15 @@ export interface paths {
|
|
|
4326
4390
|
"application/json": components["schemas"]["ApiErrorEnvelope"];
|
|
4327
4391
|
};
|
|
4328
4392
|
};
|
|
4393
|
+
/** @description Plan / quota / subscription gate (e.g. feature_not_entitled, quota_exceeded, subscription_inactive) */
|
|
4394
|
+
402: {
|
|
4395
|
+
headers: {
|
|
4396
|
+
[name: string]: unknown;
|
|
4397
|
+
};
|
|
4398
|
+
content: {
|
|
4399
|
+
"application/json": components["schemas"]["ApiErrorEnvelope"];
|
|
4400
|
+
};
|
|
4401
|
+
};
|
|
4329
4402
|
/** @description Resource not found */
|
|
4330
4403
|
404: {
|
|
4331
4404
|
headers: {
|
|
@@ -4335,7 +4408,7 @@ export interface paths {
|
|
|
4335
4408
|
"application/json": components["schemas"]["ApiErrorEnvelope"];
|
|
4336
4409
|
};
|
|
4337
4410
|
};
|
|
4338
|
-
/** @description Conflict (e.g. webhook subscription disabled) */
|
|
4411
|
+
/** @description Conflict (e.g. webhook subscription disabled, setup link inactive) */
|
|
4339
4412
|
409: {
|
|
4340
4413
|
headers: {
|
|
4341
4414
|
[name: string]: unknown;
|
|
@@ -4416,6 +4489,15 @@ export interface paths {
|
|
|
4416
4489
|
"application/json": components["schemas"]["ApiErrorEnvelope"];
|
|
4417
4490
|
};
|
|
4418
4491
|
};
|
|
4492
|
+
/** @description Plan / quota / subscription gate (e.g. feature_not_entitled, quota_exceeded, subscription_inactive) */
|
|
4493
|
+
402: {
|
|
4494
|
+
headers: {
|
|
4495
|
+
[name: string]: unknown;
|
|
4496
|
+
};
|
|
4497
|
+
content: {
|
|
4498
|
+
"application/json": components["schemas"]["ApiErrorEnvelope"];
|
|
4499
|
+
};
|
|
4500
|
+
};
|
|
4419
4501
|
/** @description Resource not found */
|
|
4420
4502
|
404: {
|
|
4421
4503
|
headers: {
|
|
@@ -4425,7 +4507,7 @@ export interface paths {
|
|
|
4425
4507
|
"application/json": components["schemas"]["ApiErrorEnvelope"];
|
|
4426
4508
|
};
|
|
4427
4509
|
};
|
|
4428
|
-
/** @description Conflict (e.g. webhook subscription disabled) */
|
|
4510
|
+
/** @description Conflict (e.g. webhook subscription disabled, setup link inactive) */
|
|
4429
4511
|
409: {
|
|
4430
4512
|
headers: {
|
|
4431
4513
|
[name: string]: unknown;
|
|
@@ -4500,7 +4582,7 @@ export interface components {
|
|
|
4500
4582
|
conversation_id?: string;
|
|
4501
4583
|
message_id?: string;
|
|
4502
4584
|
error?: {
|
|
4503
|
-
/** @description Stable Kirim error code. Known values include `outside_24h_window`, `marketing_opted_out`, `marketing_blocked_by_user`, `recipient_unavailable`, `unsupported_message_type`, `account_restricted`, `account_locked`, `consent_required`, `permission_revoked`, `auth_expired`, `app_rate_limited`, `account_rate_limited`, `template_not_found`, `template_paused`, `template_policy_violation`, `flow_blocked`, `media_upload_failed`, `media_download_failed`, `undeliverable`, `policy_violation`, `upstream_error`. */
|
|
4585
|
+
/** @description Stable Kirim error code. Known values include `outside_24h_window`, `marketing_opted_out`, `marketing_blocked_by_user`, `recipient_unavailable`, `unsupported_message_type`, `account_restricted`, `account_locked`, `consent_required`, `customer_suspended`, `permission_revoked`, `auth_expired`, `app_rate_limited`, `account_rate_limited`, `template_not_found`, `template_paused`, `template_policy_violation`, `flow_blocked`, `media_upload_failed`, `media_download_failed`, `undeliverable`, `policy_violation`, `upstream_error`. */
|
|
4504
4586
|
code: string;
|
|
4505
4587
|
message: string;
|
|
4506
4588
|
provider_code: number | null;
|
|
@@ -4706,7 +4788,6 @@ export interface components {
|
|
|
4706
4788
|
CustomerSetupLinkWithToken: components["schemas"]["CustomerSetupLink"] & {
|
|
4707
4789
|
/** Format: uri */
|
|
4708
4790
|
setup_url: string;
|
|
4709
|
-
token: string;
|
|
4710
4791
|
};
|
|
4711
4792
|
MessageListItem: {
|
|
4712
4793
|
/** @example msg_01HXYZABCDEFGHJKMNPQRSTVWX */
|
|
@@ -4725,7 +4806,7 @@ export interface components {
|
|
|
4725
4806
|
/** Format: date-time */
|
|
4726
4807
|
created_at: string;
|
|
4727
4808
|
error?: {
|
|
4728
|
-
/** @description Stable Kirim error code. Known values include `outside_24h_window`, `marketing_opted_out`, `marketing_blocked_by_user`, `recipient_unavailable`, `unsupported_message_type`, `account_restricted`, `account_locked`, `consent_required`, `permission_revoked`, `auth_expired`, `app_rate_limited`, `account_rate_limited`, `template_not_found`, `template_paused`, `template_policy_violation`, `flow_blocked`, `media_upload_failed`, `media_download_failed`, `undeliverable`, `policy_violation`, `upstream_error`. */
|
|
4809
|
+
/** @description Stable Kirim error code. Known values include `outside_24h_window`, `marketing_opted_out`, `marketing_blocked_by_user`, `recipient_unavailable`, `unsupported_message_type`, `account_restricted`, `account_locked`, `consent_required`, `customer_suspended`, `permission_revoked`, `auth_expired`, `app_rate_limited`, `account_rate_limited`, `template_not_found`, `template_paused`, `template_policy_violation`, `flow_blocked`, `media_upload_failed`, `media_download_failed`, `undeliverable`, `policy_violation`, `upstream_error`. */
|
|
4729
4810
|
code: string;
|
|
4730
4811
|
message: string;
|
|
4731
4812
|
provider_code: number | null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/generated/version.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,WAAW,EAAG,OAAgB,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// AUTO-GENERATED by scripts/generate-version.ts — DO NOT EDIT.
|
|
2
|
+
// Regenerated on every prebuild / pretypecheck / pretest from
|
|
3
|
+
// package.json so the User-Agent header stays in sync with the
|
|
4
|
+
// published version.
|
|
5
|
+
export const SDK_VERSION = "3.4.0";
|
|
6
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/generated/version.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,8DAA8D;AAC9D,+DAA+D;AAC/D,qBAAqB;AAErB,MAAM,CAAC,MAAM,WAAW,GAAG,OAAgB,CAAA"}
|
|
@@ -72,11 +72,17 @@ export interface CustomerSetupLink {
|
|
|
72
72
|
}
|
|
73
73
|
/**
|
|
74
74
|
* Returned EXACTLY ONCE on create. Persist `setup_url` immediately —
|
|
75
|
-
* the plaintext token is
|
|
75
|
+
* the plaintext token is embedded in the URL's path and is never
|
|
76
|
+
* recoverable from a list/get call.
|
|
77
|
+
*
|
|
78
|
+
* Earlier API versions returned a duplicate `token` field alongside
|
|
79
|
+
* `setup_url`. It was dropped because it duplicated what's already in
|
|
80
|
+
* the URL and triggered secret-scanning false positives. If you were
|
|
81
|
+
* reading `link.token` directly, switch to parsing the path segment
|
|
82
|
+
* out of `link.setup_url` (the last segment is the plaintext token).
|
|
76
83
|
*/
|
|
77
84
|
export interface CustomerSetupLinkWithToken extends CustomerSetupLink {
|
|
78
85
|
setup_url: string;
|
|
79
|
-
token: string;
|
|
80
86
|
}
|
|
81
87
|
export interface CreateSetupLinkParams {
|
|
82
88
|
expires_in_hours?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customers.d.ts","sourceRoot":"","sources":["../../src/resources/customers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C;;;;;;;;;;;;;GAaG;AAEH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAA;AAE5E,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,UAAU,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,MAAM,EAAE,cAAc,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IACxC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,8BAA8B;IAC7C,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B;AAED,MAAM,WAAW,oBAAqB,SAAQ,QAAQ;IACpD,iBAAiB,EAAE,8BAA8B,EAAE,CAAA;CACpD;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IACzC,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAA;CAC5C;AAED,MAAM,MAAM,uBAAuB,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAA;AAEnF,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,qBAAqB,CAAA;IAC7B,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,uBAAuB,CAAA;IAC/B,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,+DAA+D;IAC/D,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,sEAAsE;IACtE,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,UAAU,EAAE,MAAM,CAAA;CACnB;AAED
|
|
1
|
+
{"version":3,"file":"customers.d.ts","sourceRoot":"","sources":["../../src/resources/customers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customers.js","sourceRoot":"","sources":["../../src/resources/customers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"customers.js","sourceRoot":"","sources":["../../src/resources/customers.ts"],"names":[],"mappings":"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"}
|
package/openapi.json
CHANGED
|
@@ -928,14 +928,10 @@
|
|
|
928
928
|
"setup_url": {
|
|
929
929
|
"type": "string",
|
|
930
930
|
"format": "uri"
|
|
931
|
-
},
|
|
932
|
-
"token": {
|
|
933
|
-
"type": "string"
|
|
934
931
|
}
|
|
935
932
|
},
|
|
936
933
|
"required": [
|
|
937
|
-
"setup_url"
|
|
938
|
-
"token"
|
|
934
|
+
"setup_url"
|
|
939
935
|
]
|
|
940
936
|
}
|
|
941
937
|
]
|
|
@@ -2808,6 +2804,9 @@
|
|
|
2808
2804
|
"filename": {
|
|
2809
2805
|
"type": "string",
|
|
2810
2806
|
"maxLength": 255
|
|
2807
|
+
},
|
|
2808
|
+
"voice": {
|
|
2809
|
+
"type": "boolean"
|
|
2811
2810
|
}
|
|
2812
2811
|
}
|
|
2813
2812
|
}
|
|
@@ -4954,7 +4953,7 @@
|
|
|
4954
4953
|
}
|
|
4955
4954
|
},
|
|
4956
4955
|
"409": {
|
|
4957
|
-
"description": "Conflict (e.g. webhook subscription disabled)",
|
|
4956
|
+
"description": "Conflict (e.g. webhook subscription disabled, setup link inactive)",
|
|
4958
4957
|
"content": {
|
|
4959
4958
|
"application/json": {
|
|
4960
4959
|
"schema": {
|
|
@@ -5387,7 +5386,7 @@
|
|
|
5387
5386
|
}
|
|
5388
5387
|
},
|
|
5389
5388
|
"409": {
|
|
5390
|
-
"description": "Conflict (e.g. webhook subscription disabled)",
|
|
5389
|
+
"description": "Conflict (e.g. webhook subscription disabled, setup link inactive)",
|
|
5391
5390
|
"content": {
|
|
5392
5391
|
"application/json": {
|
|
5393
5392
|
"schema": {
|
|
@@ -5512,7 +5511,7 @@
|
|
|
5512
5511
|
}
|
|
5513
5512
|
},
|
|
5514
5513
|
"409": {
|
|
5515
|
-
"description": "Conflict (e.g. webhook subscription disabled)",
|
|
5514
|
+
"description": "Conflict (e.g. webhook subscription disabled, setup link inactive)",
|
|
5516
5515
|
"content": {
|
|
5517
5516
|
"application/json": {
|
|
5518
5517
|
"schema": {
|
|
@@ -7858,6 +7857,16 @@
|
|
|
7858
7857
|
}
|
|
7859
7858
|
}
|
|
7860
7859
|
},
|
|
7860
|
+
"402": {
|
|
7861
|
+
"description": "Plan / quota / subscription gate (e.g. feature_not_entitled, quota_exceeded, subscription_inactive)",
|
|
7862
|
+
"content": {
|
|
7863
|
+
"application/json": {
|
|
7864
|
+
"schema": {
|
|
7865
|
+
"$ref": "#/components/schemas/ApiErrorEnvelope"
|
|
7866
|
+
}
|
|
7867
|
+
}
|
|
7868
|
+
}
|
|
7869
|
+
},
|
|
7861
7870
|
"429": {
|
|
7862
7871
|
"description": "Rate limit exceeded",
|
|
7863
7872
|
"content": {
|
|
@@ -7955,6 +7964,16 @@
|
|
|
7955
7964
|
}
|
|
7956
7965
|
}
|
|
7957
7966
|
},
|
|
7967
|
+
"402": {
|
|
7968
|
+
"description": "Plan / quota / subscription gate (e.g. feature_not_entitled, quota_exceeded, subscription_inactive)",
|
|
7969
|
+
"content": {
|
|
7970
|
+
"application/json": {
|
|
7971
|
+
"schema": {
|
|
7972
|
+
"$ref": "#/components/schemas/ApiErrorEnvelope"
|
|
7973
|
+
}
|
|
7974
|
+
}
|
|
7975
|
+
}
|
|
7976
|
+
},
|
|
7958
7977
|
"429": {
|
|
7959
7978
|
"description": "Rate limit exceeded",
|
|
7960
7979
|
"content": {
|
|
@@ -8031,6 +8050,16 @@
|
|
|
8031
8050
|
}
|
|
8032
8051
|
}
|
|
8033
8052
|
},
|
|
8053
|
+
"402": {
|
|
8054
|
+
"description": "Plan / quota / subscription gate (e.g. feature_not_entitled, quota_exceeded, subscription_inactive)",
|
|
8055
|
+
"content": {
|
|
8056
|
+
"application/json": {
|
|
8057
|
+
"schema": {
|
|
8058
|
+
"$ref": "#/components/schemas/ApiErrorEnvelope"
|
|
8059
|
+
}
|
|
8060
|
+
}
|
|
8061
|
+
}
|
|
8062
|
+
},
|
|
8034
8063
|
"404": {
|
|
8035
8064
|
"description": "Resource not found",
|
|
8036
8065
|
"content": {
|
|
@@ -8154,6 +8183,16 @@
|
|
|
8154
8183
|
}
|
|
8155
8184
|
}
|
|
8156
8185
|
},
|
|
8186
|
+
"402": {
|
|
8187
|
+
"description": "Plan / quota / subscription gate (e.g. feature_not_entitled, quota_exceeded, subscription_inactive)",
|
|
8188
|
+
"content": {
|
|
8189
|
+
"application/json": {
|
|
8190
|
+
"schema": {
|
|
8191
|
+
"$ref": "#/components/schemas/ApiErrorEnvelope"
|
|
8192
|
+
}
|
|
8193
|
+
}
|
|
8194
|
+
}
|
|
8195
|
+
},
|
|
8157
8196
|
"404": {
|
|
8158
8197
|
"description": "Resource not found",
|
|
8159
8198
|
"content": {
|
|
@@ -8239,6 +8278,16 @@
|
|
|
8239
8278
|
}
|
|
8240
8279
|
}
|
|
8241
8280
|
},
|
|
8281
|
+
"402": {
|
|
8282
|
+
"description": "Plan / quota / subscription gate (e.g. feature_not_entitled, quota_exceeded, subscription_inactive)",
|
|
8283
|
+
"content": {
|
|
8284
|
+
"application/json": {
|
|
8285
|
+
"schema": {
|
|
8286
|
+
"$ref": "#/components/schemas/ApiErrorEnvelope"
|
|
8287
|
+
}
|
|
8288
|
+
}
|
|
8289
|
+
}
|
|
8290
|
+
},
|
|
8242
8291
|
"404": {
|
|
8243
8292
|
"description": "Resource not found",
|
|
8244
8293
|
"content": {
|
|
@@ -8340,6 +8389,16 @@
|
|
|
8340
8389
|
}
|
|
8341
8390
|
}
|
|
8342
8391
|
},
|
|
8392
|
+
"402": {
|
|
8393
|
+
"description": "Plan / quota / subscription gate (e.g. feature_not_entitled, quota_exceeded, subscription_inactive)",
|
|
8394
|
+
"content": {
|
|
8395
|
+
"application/json": {
|
|
8396
|
+
"schema": {
|
|
8397
|
+
"$ref": "#/components/schemas/ApiErrorEnvelope"
|
|
8398
|
+
}
|
|
8399
|
+
}
|
|
8400
|
+
}
|
|
8401
|
+
},
|
|
8343
8402
|
"404": {
|
|
8344
8403
|
"description": "Resource not found",
|
|
8345
8404
|
"content": {
|
|
@@ -8451,6 +8510,16 @@
|
|
|
8451
8510
|
}
|
|
8452
8511
|
}
|
|
8453
8512
|
},
|
|
8513
|
+
"402": {
|
|
8514
|
+
"description": "Plan / quota / subscription gate (e.g. feature_not_entitled, quota_exceeded, subscription_inactive)",
|
|
8515
|
+
"content": {
|
|
8516
|
+
"application/json": {
|
|
8517
|
+
"schema": {
|
|
8518
|
+
"$ref": "#/components/schemas/ApiErrorEnvelope"
|
|
8519
|
+
}
|
|
8520
|
+
}
|
|
8521
|
+
}
|
|
8522
|
+
},
|
|
8454
8523
|
"404": {
|
|
8455
8524
|
"description": "Resource not found",
|
|
8456
8525
|
"content": {
|
|
@@ -8582,6 +8651,16 @@
|
|
|
8582
8651
|
}
|
|
8583
8652
|
}
|
|
8584
8653
|
},
|
|
8654
|
+
"402": {
|
|
8655
|
+
"description": "Plan / quota / subscription gate (e.g. feature_not_entitled, quota_exceeded, subscription_inactive)",
|
|
8656
|
+
"content": {
|
|
8657
|
+
"application/json": {
|
|
8658
|
+
"schema": {
|
|
8659
|
+
"$ref": "#/components/schemas/ApiErrorEnvelope"
|
|
8660
|
+
}
|
|
8661
|
+
}
|
|
8662
|
+
}
|
|
8663
|
+
},
|
|
8585
8664
|
"404": {
|
|
8586
8665
|
"description": "Resource not found",
|
|
8587
8666
|
"content": {
|
|
@@ -8593,7 +8672,7 @@
|
|
|
8593
8672
|
}
|
|
8594
8673
|
},
|
|
8595
8674
|
"409": {
|
|
8596
|
-
"description": "Conflict (e.g. webhook subscription disabled)",
|
|
8675
|
+
"description": "Conflict (e.g. webhook subscription disabled, setup link inactive)",
|
|
8597
8676
|
"content": {
|
|
8598
8677
|
"application/json": {
|
|
8599
8678
|
"schema": {
|
|
@@ -8686,6 +8765,16 @@
|
|
|
8686
8765
|
}
|
|
8687
8766
|
}
|
|
8688
8767
|
},
|
|
8768
|
+
"402": {
|
|
8769
|
+
"description": "Plan / quota / subscription gate (e.g. feature_not_entitled, quota_exceeded, subscription_inactive)",
|
|
8770
|
+
"content": {
|
|
8771
|
+
"application/json": {
|
|
8772
|
+
"schema": {
|
|
8773
|
+
"$ref": "#/components/schemas/ApiErrorEnvelope"
|
|
8774
|
+
}
|
|
8775
|
+
}
|
|
8776
|
+
}
|
|
8777
|
+
},
|
|
8689
8778
|
"404": {
|
|
8690
8779
|
"description": "Resource not found",
|
|
8691
8780
|
"content": {
|
|
@@ -8697,7 +8786,7 @@
|
|
|
8697
8786
|
}
|
|
8698
8787
|
},
|
|
8699
8788
|
"409": {
|
|
8700
|
-
"description": "Conflict (e.g. webhook subscription disabled)",
|
|
8789
|
+
"description": "Conflict (e.g. webhook subscription disabled, setup link inactive)",
|
|
8701
8790
|
"content": {
|
|
8702
8791
|
"application/json": {
|
|
8703
8792
|
"schema": {
|
package/package.json
CHANGED
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@kirimdev/sdk",
|
|
3
|
-
"version": "3.
|
|
4
|
-
"description": "Official TypeScript SDK for the Kirimdev Public API.",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"license": "MIT",
|
|
7
|
-
"publishConfig": {
|
|
8
|
-
"access": "public",
|
|
9
|
-
"registry": "https://registry.npmjs.org/"
|
|
10
|
-
},
|
|
11
|
-
"keywords": [
|
|
12
|
-
"kirim",
|
|
13
|
-
"whatsapp",
|
|
14
|
-
"whatsapp-business",
|
|
15
|
-
"sdk",
|
|
16
|
-
"api-client"
|
|
17
|
-
],
|
|
18
|
-
"files": [
|
|
19
|
-
"dist",
|
|
20
|
-
"openapi.json",
|
|
21
|
-
"README.md",
|
|
22
|
-
"LICENSE"
|
|
23
|
-
],
|
|
24
|
-
"main": "./dist/index.js",
|
|
25
|
-
"module": "./dist/index.js",
|
|
26
|
-
"types": "./dist/index.d.ts",
|
|
27
|
-
"exports": {
|
|
28
|
-
".": {
|
|
29
|
-
"types": "./dist/index.d.ts",
|
|
30
|
-
"import": "./dist/index.js"
|
|
31
|
-
},
|
|
32
|
-
"./webhooks": {
|
|
33
|
-
"types": "./dist/webhooks.d.ts",
|
|
34
|
-
"import": "./dist/webhooks.js"
|
|
35
|
-
},
|
|
36
|
-
"./package.json": "./package.json"
|
|
37
|
-
},
|
|
38
|
-
"engines": {
|
|
39
|
-
"node": ">=18"
|
|
40
|
-
},
|
|
41
|
-
"scripts": {
|
|
42
|
-
"prebuild": "bun scripts/ensure-types.ts",
|
|
43
|
-
"build": "tsc -p tsconfig.build.json && bun scripts/copy-generated.ts",
|
|
44
|
-
"pretypecheck": "bun scripts/ensure-types.ts",
|
|
45
|
-
"typecheck": "tsc --noEmit",
|
|
46
|
-
"pretest": "bun scripts/ensure-types.ts",
|
|
47
|
-
"test": "bun test",
|
|
48
|
-
"lint": "tsc --noEmit",
|
|
49
|
-
"sync": "bun scripts/sync-openapi.ts && bun scripts/generate-types.ts",
|
|
50
|
-
"generate-types": "bun scripts/generate-types.ts",
|
|
51
|
-
"check:drift": "bun scripts/check-drift.ts",
|
|
52
|
-
"prepublishOnly": "bun run typecheck && bun run test && bun run build && bun scripts/verify-dist.ts"
|
|
53
|
-
},
|
|
54
|
-
"dependencies": {
|
|
55
|
-
"openapi-fetch": "^0.13.0"
|
|
56
|
-
},
|
|
57
|
-
"devDependencies": {
|
|
58
|
-
"@kirimdev/tsconfig": "workspace:*",
|
|
59
|
-
"@types/bun": "latest",
|
|
60
|
-
"openapi-typescript": "^7.4.0",
|
|
61
|
-
"typescript": "^5.8.0"
|
|
62
|
-
}
|
|
63
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@kirimdev/sdk",
|
|
3
|
+
"version": "3.4.0",
|
|
4
|
+
"description": "Official TypeScript SDK for the Kirimdev Public API.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"publishConfig": {
|
|
8
|
+
"access": "public",
|
|
9
|
+
"registry": "https://registry.npmjs.org/"
|
|
10
|
+
},
|
|
11
|
+
"keywords": [
|
|
12
|
+
"kirim",
|
|
13
|
+
"whatsapp",
|
|
14
|
+
"whatsapp-business",
|
|
15
|
+
"sdk",
|
|
16
|
+
"api-client"
|
|
17
|
+
],
|
|
18
|
+
"files": [
|
|
19
|
+
"dist",
|
|
20
|
+
"openapi.json",
|
|
21
|
+
"README.md",
|
|
22
|
+
"LICENSE"
|
|
23
|
+
],
|
|
24
|
+
"main": "./dist/index.js",
|
|
25
|
+
"module": "./dist/index.js",
|
|
26
|
+
"types": "./dist/index.d.ts",
|
|
27
|
+
"exports": {
|
|
28
|
+
".": {
|
|
29
|
+
"types": "./dist/index.d.ts",
|
|
30
|
+
"import": "./dist/index.js"
|
|
31
|
+
},
|
|
32
|
+
"./webhooks": {
|
|
33
|
+
"types": "./dist/webhooks.d.ts",
|
|
34
|
+
"import": "./dist/webhooks.js"
|
|
35
|
+
},
|
|
36
|
+
"./package.json": "./package.json"
|
|
37
|
+
},
|
|
38
|
+
"engines": {
|
|
39
|
+
"node": ">=18"
|
|
40
|
+
},
|
|
41
|
+
"scripts": {
|
|
42
|
+
"prebuild": "bun scripts/ensure-types.ts",
|
|
43
|
+
"build": "tsc -p tsconfig.build.json && bun scripts/copy-generated.ts",
|
|
44
|
+
"pretypecheck": "bun scripts/ensure-types.ts",
|
|
45
|
+
"typecheck": "tsc --noEmit",
|
|
46
|
+
"pretest": "bun scripts/ensure-types.ts",
|
|
47
|
+
"test": "bun test",
|
|
48
|
+
"lint": "tsc --noEmit",
|
|
49
|
+
"sync": "bun scripts/sync-openapi.ts && bun scripts/generate-types.ts",
|
|
50
|
+
"generate-types": "bun scripts/generate-types.ts",
|
|
51
|
+
"check:drift": "bun scripts/check-drift.ts",
|
|
52
|
+
"prepublishOnly": "bun run typecheck && bun run test && bun run build && bun scripts/verify-dist.ts"
|
|
53
|
+
},
|
|
54
|
+
"dependencies": {
|
|
55
|
+
"openapi-fetch": "^0.13.0"
|
|
56
|
+
},
|
|
57
|
+
"devDependencies": {
|
|
58
|
+
"@kirimdev/tsconfig": "workspace:*",
|
|
59
|
+
"@types/bun": "latest",
|
|
60
|
+
"openapi-typescript": "^7.4.0",
|
|
61
|
+
"typescript": "^5.8.0"
|
|
62
|
+
}
|
|
63
|
+
}
|