@codeqr/ts 0.19.3 → 0.24.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/CHANGELOG.md +278 -0
- package/api-promise.d.mts +1 -0
- package/api-promise.d.mts.map +1 -1
- package/api-promise.d.ts +1 -0
- package/api-promise.d.ts.map +1 -1
- package/api-promise.mjs +1 -0
- package/api-promise.mjs.map +1 -1
- package/client.d.mts +4 -4
- package/client.d.mts.map +1 -1
- package/client.d.ts +4 -4
- package/client.d.ts.map +1 -1
- package/client.js +20 -1
- package/client.js.map +1 -1
- package/client.mjs +20 -1
- package/client.mjs.map +1 -1
- package/core/api-promise.d.mts.map +1 -1
- package/core/api-promise.d.ts.map +1 -1
- package/core/api-promise.mjs.map +1 -1
- package/core/error.mjs.map +1 -1
- package/core/resource.d.mts.map +1 -1
- package/core/resource.d.ts.map +1 -1
- package/core/uploads.d.mts.map +1 -1
- package/core/uploads.d.ts.map +1 -1
- package/core/uploads.mjs.map +1 -1
- package/error.d.mts +1 -0
- package/error.d.mts.map +1 -1
- package/error.d.ts +1 -0
- package/error.d.ts.map +1 -1
- package/error.mjs +1 -0
- package/error.mjs.map +1 -1
- package/index.d.mts.map +1 -1
- package/index.d.ts.map +1 -1
- package/index.mjs.map +1 -1
- package/internal/detect-platform.mjs.map +1 -1
- package/internal/headers.mjs.map +1 -1
- package/internal/parse.d.mts.map +1 -1
- package/internal/parse.d.ts.map +1 -1
- package/internal/parse.mjs.map +1 -1
- package/internal/qs/formats.d.mts.map +1 -1
- package/internal/qs/formats.d.ts.map +1 -1
- package/internal/qs/index.d.mts +2 -2
- package/internal/qs/index.d.mts.map +1 -1
- package/internal/qs/index.d.ts +2 -2
- package/internal/qs/index.d.ts.map +1 -1
- package/internal/qs/index.mjs.map +1 -1
- package/internal/qs/stringify.d.mts.map +1 -1
- package/internal/qs/stringify.d.ts.map +1 -1
- package/internal/qs/stringify.mjs.map +1 -1
- package/internal/qs/utils.d.mts.map +1 -1
- package/internal/qs/utils.d.ts.map +1 -1
- package/internal/qs/utils.mjs.map +1 -1
- package/internal/request-options.d.mts.map +1 -1
- package/internal/request-options.d.ts.map +1 -1
- package/internal/shims.d.mts +6 -0
- package/internal/shims.d.mts.map +1 -1
- package/internal/shims.d.ts +6 -0
- package/internal/shims.d.ts.map +1 -1
- package/internal/to-file.d.mts.map +1 -1
- package/internal/to-file.d.ts.map +1 -1
- package/internal/to-file.mjs.map +1 -1
- package/internal/types.d.mts +10 -10
- package/internal/types.d.mts.map +1 -1
- package/internal/types.d.ts +10 -10
- package/internal/types.d.ts.map +1 -1
- package/internal/uploads.d.mts.map +1 -1
- package/internal/uploads.d.ts.map +1 -1
- package/internal/uploads.mjs.map +1 -1
- package/internal/utils/base64.mjs.map +1 -1
- package/internal/utils/env.js +2 -2
- package/internal/utils/env.js.map +1 -1
- package/internal/utils/env.mjs +2 -2
- package/internal/utils/env.mjs.map +1 -1
- package/internal/utils/log.d.mts.map +1 -1
- package/internal/utils/log.d.ts.map +1 -1
- package/internal/utils/log.js +2 -0
- package/internal/utils/log.js.map +1 -1
- package/internal/utils/log.mjs +2 -0
- package/internal/utils/log.mjs.map +1 -1
- package/internal/utils/path.mjs.map +1 -1
- package/internal/utils/query.mjs.map +1 -1
- package/internal/utils/values.mjs.map +1 -1
- package/internal/utils.d.mts.map +1 -1
- package/internal/utils.d.ts.map +1 -1
- package/internal/utils.mjs.map +1 -1
- package/package.json +1 -1
- package/resource.d.mts +1 -0
- package/resource.d.mts.map +1 -1
- package/resource.d.ts +1 -0
- package/resource.d.ts.map +1 -1
- package/resource.mjs +1 -0
- package/resource.mjs.map +1 -1
- package/resources/analytics.d.mts +22 -2
- package/resources/analytics.d.mts.map +1 -1
- package/resources/analytics.d.ts +22 -2
- package/resources/analytics.d.ts.map +1 -1
- package/resources/analytics.mjs.map +1 -1
- package/resources/domains.d.mts +26 -26
- package/resources/domains.d.mts.map +1 -1
- package/resources/domains.d.ts +26 -26
- package/resources/domains.d.ts.map +1 -1
- package/resources/domains.js +8 -8
- package/resources/domains.js.map +1 -1
- package/resources/domains.mjs +8 -8
- package/resources/domains.mjs.map +1 -1
- package/resources/events.d.mts +49 -3
- package/resources/events.d.mts.map +1 -1
- package/resources/events.d.ts +49 -3
- package/resources/events.d.ts.map +1 -1
- package/resources/events.mjs.map +1 -1
- package/resources/index.d.mts +4 -4
- package/resources/index.d.mts.map +1 -1
- package/resources/index.d.ts +4 -4
- package/resources/index.d.ts.map +1 -1
- package/resources/index.mjs.map +1 -1
- package/resources/links/bulk.d.mts +10 -0
- package/resources/links/bulk.d.mts.map +1 -1
- package/resources/links/bulk.d.ts +10 -0
- package/resources/links/bulk.d.ts.map +1 -1
- package/resources/links/bulk.mjs.map +1 -1
- package/resources/links/index.d.mts +1 -1
- package/resources/links/index.d.mts.map +1 -1
- package/resources/links/index.d.ts +1 -1
- package/resources/links/index.d.ts.map +1 -1
- package/resources/links/index.mjs.map +1 -1
- package/resources/links/links.d.mts +257 -201
- package/resources/links/links.d.mts.map +1 -1
- package/resources/links/links.d.ts +257 -201
- package/resources/links/links.d.ts.map +1 -1
- package/resources/links/links.js +21 -21
- package/resources/links/links.js.map +1 -1
- package/resources/links/links.mjs +21 -21
- package/resources/links/links.mjs.map +1 -1
- package/resources/links.d.mts.map +1 -1
- package/resources/links.d.ts.map +1 -1
- package/resources/links.mjs.map +1 -1
- package/resources/projects.d.mts.map +1 -1
- package/resources/projects.d.ts.map +1 -1
- package/resources/projects.mjs.map +1 -1
- package/resources/qrcodes/bulk.d.mts +83 -7
- package/resources/qrcodes/bulk.d.mts.map +1 -1
- package/resources/qrcodes/bulk.d.ts +83 -7
- package/resources/qrcodes/bulk.d.ts.map +1 -1
- package/resources/qrcodes/bulk.mjs.map +1 -1
- package/resources/qrcodes/index.d.mts +1 -1
- package/resources/qrcodes/index.d.mts.map +1 -1
- package/resources/qrcodes/index.d.ts +1 -1
- package/resources/qrcodes/index.d.ts.map +1 -1
- package/resources/qrcodes/index.mjs.map +1 -1
- package/resources/qrcodes/qrcodes.d.mts +385 -169
- package/resources/qrcodes/qrcodes.d.mts.map +1 -1
- package/resources/qrcodes/qrcodes.d.ts +385 -169
- package/resources/qrcodes/qrcodes.d.ts.map +1 -1
- package/resources/qrcodes/qrcodes.js +11 -11
- package/resources/qrcodes/qrcodes.js.map +1 -1
- package/resources/qrcodes/qrcodes.mjs +11 -11
- package/resources/qrcodes/qrcodes.mjs.map +1 -1
- package/resources/qrcodes.d.mts.map +1 -1
- package/resources/qrcodes.d.ts.map +1 -1
- package/resources/qrcodes.mjs.map +1 -1
- package/resources/tags.d.mts +12 -12
- package/resources/tags.d.mts.map +1 -1
- package/resources/tags.d.ts +12 -12
- package/resources/tags.d.ts.map +1 -1
- package/resources/tags.js +6 -6
- package/resources/tags.js.map +1 -1
- package/resources/tags.mjs +6 -6
- package/resources/tags.mjs.map +1 -1
- package/resources/track.d.mts +8 -7
- package/resources/track.d.mts.map +1 -1
- package/resources/track.d.ts +8 -7
- package/resources/track.d.ts.map +1 -1
- package/resources/track.mjs.map +1 -1
- package/resources.d.mts.map +1 -1
- package/resources.d.ts.map +1 -1
- package/resources.mjs.map +1 -1
- package/src/client.ts +25 -5
- package/src/internal/types.ts +6 -8
- package/src/internal/utils/env.ts +2 -2
- package/src/internal/utils/log.ts +2 -0
- package/src/resources/analytics.ts +32 -2
- package/src/resources/domains.ts +37 -37
- package/src/resources/events.ts +80 -3
- package/src/resources/index.ts +4 -4
- package/src/resources/links/bulk.ts +22 -0
- package/src/resources/links/index.ts +1 -1
- package/src/resources/links/links.ts +289 -212
- package/src/resources/qrcodes/bulk.ts +118 -7
- package/src/resources/qrcodes/index.ts +1 -1
- package/src/resources/qrcodes/qrcodes.ts +603 -309
- package/src/resources/tags.ts +16 -16
- package/src/resources/track.ts +8 -7
- package/src/version.ts +1 -1
- package/uploads.d.mts +1 -0
- package/uploads.d.mts.map +1 -1
- package/uploads.d.ts +1 -0
- package/uploads.d.ts.map +1 -1
- package/uploads.mjs +1 -0
- package/uploads.mjs.map +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
|
@@ -23,6 +23,21 @@ export class Qrcodes extends APIResource {
|
|
|
23
23
|
return this._client.post('/qrcodes', { body, ...options });
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
+
/**
|
|
27
|
+
* Retrieve a paginated list of QR Codes for the authenticated workspace.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```ts
|
|
31
|
+
* const qrCodes = await client.qrcodes.list();
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
list(
|
|
35
|
+
query: QrcodeListParams | null | undefined = {},
|
|
36
|
+
options?: RequestOptions,
|
|
37
|
+
): APIPromise<QrcodeListResponse> {
|
|
38
|
+
return this._client.get('/qrcodes', { query, ...options });
|
|
39
|
+
}
|
|
40
|
+
|
|
26
41
|
/**
|
|
27
42
|
* Retrieve the info for a QR Code.
|
|
28
43
|
*
|
|
@@ -56,21 +71,6 @@ export class Qrcodes extends APIResource {
|
|
|
56
71
|
return this._client.put(path`/qrcodes/${qrcodeID}`, { body, ...options });
|
|
57
72
|
}
|
|
58
73
|
|
|
59
|
-
/**
|
|
60
|
-
* Retrieve a paginated list of QR Codes for the authenticated workspace.
|
|
61
|
-
*
|
|
62
|
-
* @example
|
|
63
|
-
* ```ts
|
|
64
|
-
* const qrCodes = await client.qrcodes.list();
|
|
65
|
-
* ```
|
|
66
|
-
*/
|
|
67
|
-
list(
|
|
68
|
-
query: QrcodeListParams | null | undefined = {},
|
|
69
|
-
options?: RequestOptions,
|
|
70
|
-
): APIPromise<QrcodeListResponse> {
|
|
71
|
-
return this._client.get('/qrcodes', { query, ...options });
|
|
72
|
-
}
|
|
73
|
-
|
|
74
74
|
/**
|
|
75
75
|
* Delete a QR Code for the authenticated workspace.
|
|
76
76
|
*
|
|
@@ -291,6 +291,11 @@ export interface QrCode {
|
|
|
291
291
|
*/
|
|
292
292
|
rewrite: boolean;
|
|
293
293
|
|
|
294
|
+
/**
|
|
295
|
+
* Smart rules for conditional destination routing by request attribute.
|
|
296
|
+
*/
|
|
297
|
+
rules: Array<QrCode.Rule> | null;
|
|
298
|
+
|
|
294
299
|
/**
|
|
295
300
|
* The amount of the sale generated by the link.
|
|
296
301
|
*/
|
|
@@ -371,8 +376,10 @@ export interface QrCode {
|
|
|
371
376
|
| 'crypto'
|
|
372
377
|
| 'sms'
|
|
373
378
|
| 'facetime'
|
|
379
|
+
| 'geo'
|
|
374
380
|
| 'latlog'
|
|
375
|
-
| 'pix'
|
|
381
|
+
| 'pix'
|
|
382
|
+
| 'whatsapp';
|
|
376
383
|
|
|
377
384
|
/**
|
|
378
385
|
* The date and time the QR code was updated last.
|
|
@@ -426,6 +433,12 @@ export interface QrCode {
|
|
|
426
433
|
*/
|
|
427
434
|
vcard: { [key: string]: string } | null;
|
|
428
435
|
|
|
436
|
+
/**
|
|
437
|
+
* The WhatsApp click-to-chat info: E.164 number (digits only) and optional
|
|
438
|
+
* prefilled message.
|
|
439
|
+
*/
|
|
440
|
+
whatsapp: QrCode.Whatsapp | null;
|
|
441
|
+
|
|
429
442
|
/**
|
|
430
443
|
* The width of the QR code.
|
|
431
444
|
*/
|
|
@@ -436,6 +449,14 @@ export interface QrCode {
|
|
|
436
449
|
*/
|
|
437
450
|
wifi: { [key: string]: string } | null;
|
|
438
451
|
|
|
452
|
+
/**
|
|
453
|
+
* Typographic styles applied to the frame label text. Object with optional keys:
|
|
454
|
+
* `weight` (`normal` | `bold`), `style` (`normal` | `italic`), `family` (`sans` |
|
|
455
|
+
* `sans-condensed` | `serif` | `serif-elegant` | `mono`), `size` (`s` | `m` | `l`
|
|
456
|
+
* | `xl`). Every field is enum-gated on write; omitted keys render with defaults.
|
|
457
|
+
*/
|
|
458
|
+
frameTextStyles?: QrCode.FrameTextStyles | null;
|
|
459
|
+
|
|
439
460
|
/**
|
|
440
461
|
* The ID of the page to redirect to before the QR code destination.
|
|
441
462
|
*/
|
|
@@ -447,6 +468,44 @@ export interface QrCode {
|
|
|
447
468
|
pageUrl?: string | null;
|
|
448
469
|
}
|
|
449
470
|
|
|
471
|
+
export namespace QrCode {
|
|
472
|
+
export interface Rule {
|
|
473
|
+
attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language';
|
|
474
|
+
|
|
475
|
+
operator: 'equals' | 'not_equals';
|
|
476
|
+
|
|
477
|
+
url: string;
|
|
478
|
+
|
|
479
|
+
value: string;
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
/**
|
|
483
|
+
* The WhatsApp click-to-chat info: E.164 number (digits only) and optional
|
|
484
|
+
* prefilled message.
|
|
485
|
+
*/
|
|
486
|
+
export interface Whatsapp {
|
|
487
|
+
number: string;
|
|
488
|
+
|
|
489
|
+
message?: string;
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
/**
|
|
493
|
+
* Typographic styles applied to the frame label text. Object with optional keys:
|
|
494
|
+
* `weight` (`normal` | `bold`), `style` (`normal` | `italic`), `family` (`sans` |
|
|
495
|
+
* `sans-condensed` | `serif` | `serif-elegant` | `mono`), `size` (`s` | `m` | `l`
|
|
496
|
+
* | `xl`). Every field is enum-gated on write; omitted keys render with defaults.
|
|
497
|
+
*/
|
|
498
|
+
export interface FrameTextStyles {
|
|
499
|
+
family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono';
|
|
500
|
+
|
|
501
|
+
size?: 's' | 'm' | 'l' | 'xl';
|
|
502
|
+
|
|
503
|
+
style?: 'normal' | 'italic';
|
|
504
|
+
|
|
505
|
+
weight?: 'normal' | 'bold';
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
|
|
450
509
|
export type QrcodeListResponse = Array<QrCode>;
|
|
451
510
|
|
|
452
511
|
export interface QrcodeDeleteResponse {
|
|
@@ -460,7 +519,20 @@ export interface QrcodeCreateParams {
|
|
|
460
519
|
/**
|
|
461
520
|
* The type of content of the QR code.
|
|
462
521
|
*/
|
|
463
|
-
type:
|
|
522
|
+
type:
|
|
523
|
+
| 'url'
|
|
524
|
+
| 'text'
|
|
525
|
+
| 'email'
|
|
526
|
+
| 'wifi'
|
|
527
|
+
| 'phone'
|
|
528
|
+
| 'vcard'
|
|
529
|
+
| 'crypto'
|
|
530
|
+
| 'sms'
|
|
531
|
+
| 'facetime'
|
|
532
|
+
| 'geo'
|
|
533
|
+
| 'latlog'
|
|
534
|
+
| 'pix'
|
|
535
|
+
| 'whatsapp';
|
|
464
536
|
|
|
465
537
|
/**
|
|
466
538
|
* The destination URL for Android for the QR code for device targeting Android.
|
|
@@ -473,7 +545,8 @@ export interface QrcodeCreateParams {
|
|
|
473
545
|
archived?: boolean;
|
|
474
546
|
|
|
475
547
|
/**
|
|
476
|
-
* The background color of the QR code.
|
|
548
|
+
* The background color of the QR code (hex or CSS keyword). Invalid values are
|
|
549
|
+
* coerced to default.
|
|
477
550
|
*/
|
|
478
551
|
bgColor?: string;
|
|
479
552
|
|
|
@@ -544,7 +617,8 @@ export interface QrcodeCreateParams {
|
|
|
544
617
|
facetime?: { [key: string]: string } | null;
|
|
545
618
|
|
|
546
619
|
/**
|
|
547
|
-
* The foreground color of the QR code.
|
|
620
|
+
* The foreground color of the QR code (hex or CSS keyword). Invalid values are
|
|
621
|
+
* coerced to default.
|
|
548
622
|
*/
|
|
549
623
|
fgColor?: string;
|
|
550
624
|
|
|
@@ -578,15 +652,26 @@ export interface QrcodeCreateParams {
|
|
|
578
652
|
frameColor?: string;
|
|
579
653
|
|
|
580
654
|
/**
|
|
581
|
-
*
|
|
655
|
+
* Label text rendered inside the frame (e.g. "SCAN ME", a product SKU). Maximum
|
|
656
|
+
* 200 characters. Word-wraps to multiple lines at larger sizes; the frame bar
|
|
657
|
+
* grows vertically to fit.
|
|
582
658
|
*/
|
|
583
659
|
frameText?: string;
|
|
584
660
|
|
|
585
661
|
/**
|
|
586
|
-
*
|
|
587
|
-
*
|
|
662
|
+
* Color of the frame label text (hex `#RRGGBB`, `#RGB`, `#RRGGBBAA`, or a CSS
|
|
663
|
+
* keyword from the allowlist). When omitted, a contrasting color is derived
|
|
664
|
+
* automatically from `frameColor`.
|
|
665
|
+
*/
|
|
666
|
+
frameTextColor?: string | null;
|
|
667
|
+
|
|
668
|
+
/**
|
|
669
|
+
* Typographic styles applied to the frame label text. Every key is enum-gated —
|
|
670
|
+
* unknown keys or out-of-enum values are rejected to prevent SVG attribute
|
|
671
|
+
* injection. All fields are optional; omitted keys fall back to the default
|
|
672
|
+
* (normal weight, normal style, sans family, medium size).
|
|
588
673
|
*/
|
|
589
|
-
|
|
674
|
+
frameTextStyles?: QrcodeCreateParams.FrameTextStyles | null;
|
|
590
675
|
|
|
591
676
|
/**
|
|
592
677
|
* Geographic segmentation information for the QR code in the JSON format
|
|
@@ -662,6 +747,12 @@ export interface QrcodeCreateParams {
|
|
|
662
747
|
*/
|
|
663
748
|
phone?: string | null;
|
|
664
749
|
|
|
750
|
+
/**
|
|
751
|
+
* The prefix for the randomly generated key. If provided, the key will be prefixed
|
|
752
|
+
* with this value.
|
|
753
|
+
*/
|
|
754
|
+
prefix?: string;
|
|
755
|
+
|
|
665
756
|
/**
|
|
666
757
|
* If the QR code has pre-redirection.
|
|
667
758
|
*/
|
|
@@ -682,6 +773,11 @@ export interface QrcodeCreateParams {
|
|
|
682
773
|
*/
|
|
683
774
|
rewrite?: boolean;
|
|
684
775
|
|
|
776
|
+
/**
|
|
777
|
+
* Smart rules for conditional destination routing by request attribute.
|
|
778
|
+
*/
|
|
779
|
+
rules?: Array<QrcodeCreateParams.Rule> | null;
|
|
780
|
+
|
|
685
781
|
/**
|
|
686
782
|
* The shape of the design around the QR code (none, square, circle).
|
|
687
783
|
*/
|
|
@@ -728,6 +824,13 @@ export interface QrcodeCreateParams {
|
|
|
728
824
|
*/
|
|
729
825
|
tagNames?: string | Array<string>;
|
|
730
826
|
|
|
827
|
+
/**
|
|
828
|
+
* ID of a QR code (in the same project) marked as a template. Its customization
|
|
829
|
+
* fields (colors, logo, pattern, shape, frame) will be applied to the new QR code
|
|
830
|
+
* unless explicitly overridden.
|
|
831
|
+
*/
|
|
832
|
+
templateId?: string | null;
|
|
833
|
+
|
|
731
834
|
/**
|
|
732
835
|
* The text of the QR code.
|
|
733
836
|
*/
|
|
@@ -772,6 +875,12 @@ export interface QrcodeCreateParams {
|
|
|
772
875
|
*/
|
|
773
876
|
webhookIds?: Array<string> | null;
|
|
774
877
|
|
|
878
|
+
/**
|
|
879
|
+
* The WhatsApp click-to-chat info: E.164 number (digits only) and optional
|
|
880
|
+
* prefilled message.
|
|
881
|
+
*/
|
|
882
|
+
whatsapp?: QrcodeCreateParams.Whatsapp | null;
|
|
883
|
+
|
|
775
884
|
/**
|
|
776
885
|
* Logo width in pixels. When omitted, a proportional size is used based on the QR
|
|
777
886
|
* code size (about 10–20% depending on size).
|
|
@@ -785,6 +894,40 @@ export interface QrcodeCreateParams {
|
|
|
785
894
|
}
|
|
786
895
|
|
|
787
896
|
export namespace QrcodeCreateParams {
|
|
897
|
+
/**
|
|
898
|
+
* Typographic styles applied to the frame label text. Every key is enum-gated —
|
|
899
|
+
* unknown keys or out-of-enum values are rejected to prevent SVG attribute
|
|
900
|
+
* injection. All fields are optional; omitted keys fall back to the default
|
|
901
|
+
* (normal weight, normal style, sans family, medium size).
|
|
902
|
+
*/
|
|
903
|
+
export interface FrameTextStyles {
|
|
904
|
+
/**
|
|
905
|
+
* Font family used for the frame label text. `sans` = Arial / Helvetica (default).
|
|
906
|
+
* `sans-condensed` = Arial Narrow. `serif` = Georgia / Times New Roman.
|
|
907
|
+
* `serif-elegant` = Palatino Linotype / Book Antiqua. `mono` = Courier New. Values
|
|
908
|
+
* resolve to safe system font stacks on the rendered SVG.
|
|
909
|
+
*/
|
|
910
|
+
family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono';
|
|
911
|
+
|
|
912
|
+
/**
|
|
913
|
+
* Font size preset for the frame label. `s` = 60 viewBox units, `m` = 89.1
|
|
914
|
+
* (default), `l` = 120, `xl` = 150. Larger sizes grow the frame bar vertically to
|
|
915
|
+
* fit. Extremely long text auto-shrinks to keep within 4 lines (floor 48).
|
|
916
|
+
*/
|
|
917
|
+
size?: 's' | 'm' | 'l' | 'xl';
|
|
918
|
+
|
|
919
|
+
/**
|
|
920
|
+
* Font style of the frame label text. `italic` applies `font-style="italic"`.
|
|
921
|
+
*/
|
|
922
|
+
style?: 'normal' | 'italic';
|
|
923
|
+
|
|
924
|
+
/**
|
|
925
|
+
* Font weight of the frame label text. `bold` renders at SVG `font-weight="700"`,
|
|
926
|
+
* `normal` at `400`.
|
|
927
|
+
*/
|
|
928
|
+
weight?: 'normal' | 'bold';
|
|
929
|
+
}
|
|
930
|
+
|
|
788
931
|
/**
|
|
789
932
|
* Geographic segmentation information for the QR code in the JSON format
|
|
790
933
|
* `{[COUNTRY]: https://example.com }`.
|
|
@@ -1290,207 +1433,458 @@ export namespace QrcodeCreateParams {
|
|
|
1290
1433
|
|
|
1291
1434
|
ZW?: string;
|
|
1292
1435
|
}
|
|
1293
|
-
}
|
|
1294
1436
|
|
|
1295
|
-
export interface
|
|
1296
|
-
|
|
1297
|
-
* The domain of the QR code to be retrieved. For example, for
|
|
1298
|
-
* `codeqr.link/github`, the domain is `codeqr.link`.
|
|
1299
|
-
*/
|
|
1300
|
-
domain: string;
|
|
1437
|
+
export interface Rule {
|
|
1438
|
+
attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language';
|
|
1301
1439
|
|
|
1302
|
-
|
|
1303
|
-
* The key of the QR code to be retrieved. For example, for `codeqr.link/github`,
|
|
1304
|
-
* the key is `github`.
|
|
1305
|
-
*/
|
|
1306
|
-
key: string;
|
|
1440
|
+
operator: 'equals' | 'not_equals';
|
|
1307
1441
|
|
|
1308
|
-
|
|
1309
|
-
* The slug of the project to which the QR code belongs. For example, for
|
|
1310
|
-
* `app.codeqr.io/acme`, the projectSlug is `acme`.
|
|
1311
|
-
*/
|
|
1312
|
-
projectSlug: string;
|
|
1442
|
+
url: string;
|
|
1313
1443
|
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
* when passed as a query parameter.
|
|
1317
|
-
*/
|
|
1318
|
-
externalId?: string;
|
|
1444
|
+
value: string;
|
|
1445
|
+
}
|
|
1319
1446
|
|
|
1320
1447
|
/**
|
|
1321
|
-
* The
|
|
1448
|
+
* The WhatsApp click-to-chat info: E.164 number (digits only) and optional
|
|
1449
|
+
* prefilled message.
|
|
1322
1450
|
*/
|
|
1323
|
-
|
|
1451
|
+
export interface Whatsapp {
|
|
1452
|
+
number: string;
|
|
1453
|
+
|
|
1454
|
+
message?: string;
|
|
1455
|
+
}
|
|
1324
1456
|
}
|
|
1325
1457
|
|
|
1326
|
-
export interface
|
|
1458
|
+
export interface QrcodeListParams {
|
|
1327
1459
|
/**
|
|
1328
|
-
* The
|
|
1460
|
+
* The comments to filter by.
|
|
1329
1461
|
*/
|
|
1330
|
-
|
|
1462
|
+
comments?: string;
|
|
1331
1463
|
|
|
1332
1464
|
/**
|
|
1333
|
-
*
|
|
1465
|
+
* Filter QR codes created after this date
|
|
1334
1466
|
*/
|
|
1335
|
-
|
|
1467
|
+
createdAfter?: string;
|
|
1336
1468
|
|
|
1337
1469
|
/**
|
|
1338
|
-
*
|
|
1470
|
+
* Filter QR codes created before this date
|
|
1339
1471
|
*/
|
|
1340
|
-
|
|
1472
|
+
createdBefore?: string;
|
|
1341
1473
|
|
|
1342
1474
|
/**
|
|
1343
|
-
* The
|
|
1475
|
+
* The domain to filter the QR codes. For example, `ac.me`. If not provided, all QR
|
|
1476
|
+
* codes of the project will be returned.
|
|
1344
1477
|
*/
|
|
1345
|
-
|
|
1478
|
+
domain?: string;
|
|
1346
1479
|
|
|
1347
1480
|
/**
|
|
1348
|
-
*
|
|
1481
|
+
* Filter QR codes expiring after this date
|
|
1349
1482
|
*/
|
|
1350
|
-
|
|
1483
|
+
expiresAfter?: string;
|
|
1351
1484
|
|
|
1352
1485
|
/**
|
|
1353
|
-
* The
|
|
1486
|
+
* The date and time the QR code will expire in ISO-8601 format. Must be in the
|
|
1487
|
+
* future.
|
|
1354
1488
|
*/
|
|
1355
|
-
|
|
1489
|
+
expiresAt?: string | null;
|
|
1356
1490
|
|
|
1357
1491
|
/**
|
|
1358
|
-
*
|
|
1359
|
-
* used for custom link preview if `proxy` is true.
|
|
1492
|
+
* Filter QR codes expiring before this date
|
|
1360
1493
|
*/
|
|
1361
|
-
|
|
1494
|
+
expiresBefore?: string;
|
|
1362
1495
|
|
|
1363
1496
|
/**
|
|
1364
|
-
*
|
|
1365
|
-
* provided. Learn more: https://codeqr.link/noindex
|
|
1497
|
+
* The folder ID to filter the QR codes by.
|
|
1366
1498
|
*/
|
|
1367
|
-
|
|
1499
|
+
folderId?: string;
|
|
1368
1500
|
|
|
1369
1501
|
/**
|
|
1370
|
-
*
|
|
1371
|
-
* be used (or `codeqr.link` if the project does not have domains).
|
|
1502
|
+
* Filter by QR code format - static or dynamic
|
|
1372
1503
|
*/
|
|
1373
|
-
|
|
1504
|
+
format?: 'static' | 'dynamic';
|
|
1374
1505
|
|
|
1375
1506
|
/**
|
|
1376
|
-
*
|
|
1507
|
+
* Filter QR codes with/without comments
|
|
1377
1508
|
*/
|
|
1378
|
-
|
|
1509
|
+
hasComments?: boolean;
|
|
1379
1510
|
|
|
1380
1511
|
/**
|
|
1381
|
-
*
|
|
1512
|
+
* Filter QR codes with/without custom social media cards
|
|
1382
1513
|
*/
|
|
1383
|
-
|
|
1514
|
+
hasCustomSocial?: boolean;
|
|
1384
1515
|
|
|
1385
1516
|
/**
|
|
1386
|
-
*
|
|
1517
|
+
* Filter QR codes with/without device targeting
|
|
1387
1518
|
*/
|
|
1388
|
-
|
|
1519
|
+
hasDevice?: boolean;
|
|
1389
1520
|
|
|
1390
1521
|
/**
|
|
1391
|
-
*
|
|
1392
|
-
* future.
|
|
1522
|
+
* Filter QR codes with/without expiration date
|
|
1393
1523
|
*/
|
|
1394
|
-
|
|
1524
|
+
hasExpiration?: boolean;
|
|
1395
1525
|
|
|
1396
1526
|
/**
|
|
1397
|
-
*
|
|
1398
|
-
* identify the QR code in the future. It must be prefixed with `ext_` when passed
|
|
1399
|
-
* as a query parameter.
|
|
1527
|
+
* Filter QR codes with/without geo-targeting
|
|
1400
1528
|
*/
|
|
1401
|
-
|
|
1529
|
+
hasGeo?: boolean;
|
|
1402
1530
|
|
|
1403
1531
|
/**
|
|
1404
|
-
*
|
|
1532
|
+
* Filter QR codes with/without password protection
|
|
1405
1533
|
*/
|
|
1406
|
-
|
|
1534
|
+
hasPassword?: boolean;
|
|
1407
1535
|
|
|
1408
1536
|
/**
|
|
1409
|
-
*
|
|
1537
|
+
* Filter QR codes with/without tags
|
|
1410
1538
|
*/
|
|
1411
|
-
|
|
1539
|
+
hasTags?: boolean;
|
|
1412
1540
|
|
|
1413
1541
|
/**
|
|
1414
|
-
*
|
|
1542
|
+
* Filter QR codes with/without UTM parameters
|
|
1415
1543
|
*/
|
|
1416
|
-
|
|
1544
|
+
hasUTM?: boolean;
|
|
1417
1545
|
|
|
1418
1546
|
/**
|
|
1419
|
-
*
|
|
1547
|
+
* The page number for pagination.
|
|
1420
1548
|
*/
|
|
1421
|
-
|
|
1549
|
+
page?: number;
|
|
1422
1550
|
|
|
1423
1551
|
/**
|
|
1424
|
-
* The
|
|
1425
|
-
* folder.
|
|
1552
|
+
* The number of items per page.
|
|
1426
1553
|
*/
|
|
1427
|
-
|
|
1554
|
+
pageSize?: number;
|
|
1428
1555
|
|
|
1429
1556
|
/**
|
|
1430
|
-
* The
|
|
1431
|
-
* frame-6). frame-5/6 are top-bar variants. Unknown ids fall back to no frame at
|
|
1432
|
-
* render.
|
|
1557
|
+
* The password to filter by.
|
|
1433
1558
|
*/
|
|
1434
|
-
|
|
1559
|
+
password?: string;
|
|
1435
1560
|
|
|
1436
1561
|
/**
|
|
1437
|
-
* The
|
|
1438
|
-
*
|
|
1562
|
+
* The slug of the project to which the QR code belongs. For example, for
|
|
1563
|
+
* `app.codeqr.io/acme`, the projectSlug is `acme`.
|
|
1439
1564
|
*/
|
|
1440
|
-
|
|
1565
|
+
projectSlug?: string;
|
|
1441
1566
|
|
|
1442
1567
|
/**
|
|
1443
|
-
*
|
|
1568
|
+
* Maximum number of scans
|
|
1444
1569
|
*/
|
|
1445
|
-
|
|
1570
|
+
scansMax?: number;
|
|
1446
1571
|
|
|
1447
1572
|
/**
|
|
1448
|
-
*
|
|
1449
|
-
* contrasting color is derived from the frame color.
|
|
1573
|
+
* Minimum number of scans
|
|
1450
1574
|
*/
|
|
1451
|
-
|
|
1575
|
+
scansMin?: number;
|
|
1452
1576
|
|
|
1453
1577
|
/**
|
|
1454
|
-
*
|
|
1455
|
-
*
|
|
1578
|
+
* The search term to filter the QR codes. The search term will be matched against
|
|
1579
|
+
* the QR code slug, title, and the destination URL.
|
|
1456
1580
|
*/
|
|
1457
|
-
|
|
1581
|
+
search?: string;
|
|
1458
1582
|
|
|
1459
1583
|
/**
|
|
1460
|
-
*
|
|
1461
|
-
*
|
|
1584
|
+
* If should include archived QR codes in the response. The default is `false` if
|
|
1585
|
+
* not provided.
|
|
1462
1586
|
*/
|
|
1463
|
-
|
|
1587
|
+
showArchived?: boolean;
|
|
1464
1588
|
|
|
1465
1589
|
/**
|
|
1466
|
-
* The
|
|
1467
|
-
*
|
|
1590
|
+
* The field to order the QR codes. The default is `createdAt`, and the order of
|
|
1591
|
+
* sorting is always descending.
|
|
1468
1592
|
*/
|
|
1469
|
-
|
|
1593
|
+
sort?: 'createdAt' | 'scans' | 'lastClicked';
|
|
1470
1594
|
|
|
1471
1595
|
/**
|
|
1472
|
-
*
|
|
1596
|
+
* @deprecated [DEPRECATED (use tagIds instead)]: The unique ID of the tag assigned
|
|
1597
|
+
* to the QR code.
|
|
1473
1598
|
*/
|
|
1474
|
-
|
|
1599
|
+
tagId?: string;
|
|
1475
1600
|
|
|
1476
1601
|
/**
|
|
1477
|
-
*
|
|
1602
|
+
* The IDs of the tags to filter the QR codes.
|
|
1478
1603
|
*/
|
|
1479
|
-
|
|
1604
|
+
tagIds?: string | Array<string>;
|
|
1480
1605
|
|
|
1481
1606
|
/**
|
|
1482
|
-
* The
|
|
1483
|
-
* generated.
|
|
1607
|
+
* The unique name of the tags assigned to the QR code (case insensitive).
|
|
1484
1608
|
*/
|
|
1485
|
-
|
|
1609
|
+
tagNames?: string | Array<string>;
|
|
1486
1610
|
|
|
1487
1611
|
/**
|
|
1488
|
-
*
|
|
1612
|
+
* If should include QR codes with conversion tracking enabled. The default is
|
|
1613
|
+
* `false` if not provided.
|
|
1489
1614
|
*/
|
|
1490
|
-
|
|
1615
|
+
trackConversion?: boolean;
|
|
1491
1616
|
|
|
1492
1617
|
/**
|
|
1493
|
-
*
|
|
1618
|
+
* Filter by QR code type
|
|
1619
|
+
*/
|
|
1620
|
+
type?:
|
|
1621
|
+
| 'url'
|
|
1622
|
+
| 'text'
|
|
1623
|
+
| 'email'
|
|
1624
|
+
| 'wifi'
|
|
1625
|
+
| 'phone'
|
|
1626
|
+
| 'vcard'
|
|
1627
|
+
| 'crypto'
|
|
1628
|
+
| 'sms'
|
|
1629
|
+
| 'facetime'
|
|
1630
|
+
| 'geo'
|
|
1631
|
+
| 'latlog'
|
|
1632
|
+
| 'pix'
|
|
1633
|
+
| 'whatsapp';
|
|
1634
|
+
|
|
1635
|
+
/**
|
|
1636
|
+
* Filter QR codes marked as templates.
|
|
1637
|
+
*/
|
|
1638
|
+
useAsTemplate?: boolean;
|
|
1639
|
+
|
|
1640
|
+
/**
|
|
1641
|
+
* The ID of the user to filter by.
|
|
1642
|
+
*/
|
|
1643
|
+
userId?: string;
|
|
1644
|
+
|
|
1645
|
+
/**
|
|
1646
|
+
* Filter by UTM campaign value
|
|
1647
|
+
*/
|
|
1648
|
+
utm_campaign?: string;
|
|
1649
|
+
|
|
1650
|
+
/**
|
|
1651
|
+
* Filter by UTM content value
|
|
1652
|
+
*/
|
|
1653
|
+
utm_content?: string;
|
|
1654
|
+
|
|
1655
|
+
/**
|
|
1656
|
+
* Filter by UTM medium value
|
|
1657
|
+
*/
|
|
1658
|
+
utm_medium?: string;
|
|
1659
|
+
|
|
1660
|
+
/**
|
|
1661
|
+
* Filter by UTM source value
|
|
1662
|
+
*/
|
|
1663
|
+
utm_source?: string;
|
|
1664
|
+
|
|
1665
|
+
/**
|
|
1666
|
+
* Filter by UTM term value
|
|
1667
|
+
*/
|
|
1668
|
+
utm_term?: string;
|
|
1669
|
+
|
|
1670
|
+
/**
|
|
1671
|
+
* If should include tags in the response. The default is `false` if not provided.
|
|
1672
|
+
*/
|
|
1673
|
+
withTags?: boolean;
|
|
1674
|
+
}
|
|
1675
|
+
|
|
1676
|
+
export interface QrcodeRetrieveParams {
|
|
1677
|
+
/**
|
|
1678
|
+
* The domain of the QR code to be retrieved. For example, for
|
|
1679
|
+
* `codeqr.link/github`, the domain is `codeqr.link`.
|
|
1680
|
+
*/
|
|
1681
|
+
domain: string;
|
|
1682
|
+
|
|
1683
|
+
/**
|
|
1684
|
+
* The key of the QR code to be retrieved. For example, for `codeqr.link/github`,
|
|
1685
|
+
* the key is `github`.
|
|
1686
|
+
*/
|
|
1687
|
+
key: string;
|
|
1688
|
+
|
|
1689
|
+
/**
|
|
1690
|
+
* The slug of the project to which the QR code belongs. For example, for
|
|
1691
|
+
* `app.codeqr.io/acme`, the projectSlug is `acme`.
|
|
1692
|
+
*/
|
|
1693
|
+
projectSlug: string;
|
|
1694
|
+
|
|
1695
|
+
/**
|
|
1696
|
+
* This is the ID of the QR code in your database. It must be prefixed with `ext_`
|
|
1697
|
+
* when passed as a query parameter.
|
|
1698
|
+
*/
|
|
1699
|
+
externalId?: string;
|
|
1700
|
+
|
|
1701
|
+
/**
|
|
1702
|
+
* The unique ID of the QR code.
|
|
1703
|
+
*/
|
|
1704
|
+
qrCodeId?: string;
|
|
1705
|
+
}
|
|
1706
|
+
|
|
1707
|
+
export interface QrcodeUpdateParams {
|
|
1708
|
+
/**
|
|
1709
|
+
* The destination URL for Android for the QR code for device targeting Android.
|
|
1710
|
+
*/
|
|
1711
|
+
android?: string | null;
|
|
1712
|
+
|
|
1713
|
+
/**
|
|
1714
|
+
* If the QR code is archived.
|
|
1715
|
+
*/
|
|
1716
|
+
archived?: boolean;
|
|
1717
|
+
|
|
1718
|
+
/**
|
|
1719
|
+
* The background color of the QR code (hex or CSS keyword). Invalid values are
|
|
1720
|
+
* coerced to default.
|
|
1721
|
+
*/
|
|
1722
|
+
bgColor?: string;
|
|
1723
|
+
|
|
1724
|
+
/**
|
|
1725
|
+
* The comments for the QR code.
|
|
1726
|
+
*/
|
|
1727
|
+
comments?: string | null;
|
|
1728
|
+
|
|
1729
|
+
/**
|
|
1730
|
+
* The static content of the QR code.
|
|
1731
|
+
*/
|
|
1732
|
+
contentStatic?: string | null;
|
|
1733
|
+
|
|
1734
|
+
/**
|
|
1735
|
+
* The cryptocurrency information of the QR code.
|
|
1736
|
+
*/
|
|
1737
|
+
crypto?: { [key: string]: string } | null;
|
|
1738
|
+
|
|
1739
|
+
/**
|
|
1740
|
+
* The description of the QR code generated via `api.codeqr.io/metatags`. Will be
|
|
1741
|
+
* used for custom link preview if `proxy` is true.
|
|
1742
|
+
*/
|
|
1743
|
+
description?: string | null;
|
|
1744
|
+
|
|
1745
|
+
/**
|
|
1746
|
+
* Allow search engines to index your QR code. The default is `false` if not
|
|
1747
|
+
* provided. Learn more: https://codeqr.link/noindex
|
|
1748
|
+
*/
|
|
1749
|
+
doIndex?: boolean;
|
|
1750
|
+
|
|
1751
|
+
/**
|
|
1752
|
+
* The domain of the QR code. If not provided, the main domain of the project will
|
|
1753
|
+
* be used (or `codeqr.link` if the project does not have domains).
|
|
1754
|
+
*/
|
|
1755
|
+
domain?: string;
|
|
1756
|
+
|
|
1757
|
+
/**
|
|
1758
|
+
* The email information of the QR code.
|
|
1759
|
+
*/
|
|
1760
|
+
email?: { [key: string]: string } | null;
|
|
1761
|
+
|
|
1762
|
+
/**
|
|
1763
|
+
* If the QR code should have excavated areas.
|
|
1764
|
+
*/
|
|
1765
|
+
excavate?: boolean;
|
|
1766
|
+
|
|
1767
|
+
/**
|
|
1768
|
+
* The URL to redirect when the QR code expires.
|
|
1769
|
+
*/
|
|
1770
|
+
expiredUrl?: string | null;
|
|
1771
|
+
|
|
1772
|
+
/**
|
|
1773
|
+
* The date and time the QR code will expire in ISO-8601 format. Must be in the
|
|
1774
|
+
* future.
|
|
1775
|
+
*/
|
|
1776
|
+
expiresAt?: string | null;
|
|
1777
|
+
|
|
1778
|
+
/**
|
|
1779
|
+
* This is the ID of the QR code in your database. If defined, it can be used to
|
|
1780
|
+
* identify the QR code in the future. It must be prefixed with `ext_` when passed
|
|
1781
|
+
* as a query parameter.
|
|
1782
|
+
*/
|
|
1783
|
+
externalId?: string | null;
|
|
1784
|
+
|
|
1785
|
+
/**
|
|
1786
|
+
* The FaceTime information of the QR code.
|
|
1787
|
+
*/
|
|
1788
|
+
facetime?: { [key: string]: string } | null;
|
|
1789
|
+
|
|
1790
|
+
/**
|
|
1791
|
+
* The foreground color of the QR code (hex or CSS keyword). Invalid values are
|
|
1792
|
+
* coerced to default.
|
|
1793
|
+
*/
|
|
1794
|
+
fgColor?: string;
|
|
1795
|
+
|
|
1796
|
+
/**
|
|
1797
|
+
* If the QR code is filled.
|
|
1798
|
+
*/
|
|
1799
|
+
filled?: boolean;
|
|
1800
|
+
|
|
1801
|
+
/**
|
|
1802
|
+
* If the QR code is flexible.
|
|
1803
|
+
*/
|
|
1804
|
+
flexible?: boolean;
|
|
1805
|
+
|
|
1806
|
+
/**
|
|
1807
|
+
* The unique ID of the folder assigned to the QR code. Omit or set to null for no
|
|
1808
|
+
* folder.
|
|
1809
|
+
*/
|
|
1810
|
+
folderId?: string | null;
|
|
1811
|
+
|
|
1812
|
+
/**
|
|
1813
|
+
* The type of frame of the QR code (e.g. none, frame-1, frame-2, frame-3, frame-5,
|
|
1814
|
+
* frame-6). frame-5/6 are top-bar variants. Unknown ids fall back to no frame at
|
|
1815
|
+
* render.
|
|
1816
|
+
*/
|
|
1817
|
+
frame?: string;
|
|
1818
|
+
|
|
1819
|
+
/**
|
|
1820
|
+
* The color of the frame (hex or CSS keyword). Invalid values are coerced to
|
|
1821
|
+
* default.
|
|
1822
|
+
*/
|
|
1823
|
+
frameColor?: string;
|
|
1824
|
+
|
|
1825
|
+
/**
|
|
1826
|
+
* Label text rendered inside the frame (e.g. "SCAN ME", a product SKU). Maximum
|
|
1827
|
+
* 200 characters. Word-wraps to multiple lines at larger sizes; the frame bar
|
|
1828
|
+
* grows vertically to fit.
|
|
1829
|
+
*/
|
|
1830
|
+
frameText?: string;
|
|
1831
|
+
|
|
1832
|
+
/**
|
|
1833
|
+
* Color of the frame label text (hex `#RRGGBB`, `#RGB`, `#RRGGBBAA`, or a CSS
|
|
1834
|
+
* keyword from the allowlist). When omitted, a contrasting color is derived
|
|
1835
|
+
* automatically from `frameColor`.
|
|
1836
|
+
*/
|
|
1837
|
+
frameTextColor?: string | null;
|
|
1838
|
+
|
|
1839
|
+
/**
|
|
1840
|
+
* Typographic styles applied to the frame label text. Every key is enum-gated —
|
|
1841
|
+
* unknown keys or out-of-enum values are rejected to prevent SVG attribute
|
|
1842
|
+
* injection. All fields are optional; omitted keys fall back to the default
|
|
1843
|
+
* (normal weight, normal style, sans family, medium size).
|
|
1844
|
+
*/
|
|
1845
|
+
frameTextStyles?: QrcodeUpdateParams.FrameTextStyles | null;
|
|
1846
|
+
|
|
1847
|
+
/**
|
|
1848
|
+
* Geographic segmentation information for the QR code in the JSON format
|
|
1849
|
+
* `{[COUNTRY]: https://example.com }`.
|
|
1850
|
+
*/
|
|
1851
|
+
geo?: QrcodeUpdateParams.Geo | null;
|
|
1852
|
+
|
|
1853
|
+
/**
|
|
1854
|
+
* Logo height in pixels. When omitted, a proportional size is used based on the QR
|
|
1855
|
+
* code size (about 10–20% depending on size).
|
|
1856
|
+
*/
|
|
1857
|
+
height?: number;
|
|
1858
|
+
|
|
1859
|
+
/**
|
|
1860
|
+
* The image of the QR code generated via `api.codeqr.io/metatags`. Will be used
|
|
1861
|
+
* for custom link preview if `proxy` is true.
|
|
1862
|
+
*/
|
|
1863
|
+
image?: string | null;
|
|
1864
|
+
|
|
1865
|
+
/**
|
|
1866
|
+
* The destination URL for iOS for the QR code for device targeting iOS.
|
|
1867
|
+
*/
|
|
1868
|
+
ios?: string | null;
|
|
1869
|
+
|
|
1870
|
+
/**
|
|
1871
|
+
* If the form is mandatory for the page.
|
|
1872
|
+
*/
|
|
1873
|
+
isFormMandatory?: boolean;
|
|
1874
|
+
|
|
1875
|
+
/**
|
|
1876
|
+
* The slug of the QR code. If not provided, a random slug of 7 characters will be
|
|
1877
|
+
* generated.
|
|
1878
|
+
*/
|
|
1879
|
+
key?: string;
|
|
1880
|
+
|
|
1881
|
+
/**
|
|
1882
|
+
* The latitude and longitude information of the QR code.
|
|
1883
|
+
*/
|
|
1884
|
+
latlog?: { [key: string]: string } | null;
|
|
1885
|
+
|
|
1886
|
+
/**
|
|
1887
|
+
* The level of error correction of the QR code.
|
|
1494
1888
|
*/
|
|
1495
1889
|
level?: string;
|
|
1496
1890
|
|
|
@@ -1524,6 +1918,12 @@ export interface QrcodeUpdateParams {
|
|
|
1524
1918
|
*/
|
|
1525
1919
|
phone?: string | null;
|
|
1526
1920
|
|
|
1921
|
+
/**
|
|
1922
|
+
* The prefix for the randomly generated key. If provided, the key will be prefixed
|
|
1923
|
+
* with this value.
|
|
1924
|
+
*/
|
|
1925
|
+
prefix?: string;
|
|
1926
|
+
|
|
1527
1927
|
/**
|
|
1528
1928
|
* If the QR code has pre-redirection.
|
|
1529
1929
|
*/
|
|
@@ -1544,6 +1944,11 @@ export interface QrcodeUpdateParams {
|
|
|
1544
1944
|
*/
|
|
1545
1945
|
rewrite?: boolean;
|
|
1546
1946
|
|
|
1947
|
+
/**
|
|
1948
|
+
* Smart rules for conditional destination routing by request attribute.
|
|
1949
|
+
*/
|
|
1950
|
+
rules?: Array<QrcodeUpdateParams.Rule> | null;
|
|
1951
|
+
|
|
1547
1952
|
/**
|
|
1548
1953
|
* The shape of the design around the QR code (none, square, circle).
|
|
1549
1954
|
*/
|
|
@@ -1590,6 +1995,13 @@ export interface QrcodeUpdateParams {
|
|
|
1590
1995
|
*/
|
|
1591
1996
|
tagNames?: string | Array<string>;
|
|
1592
1997
|
|
|
1998
|
+
/**
|
|
1999
|
+
* ID of a QR code (in the same project) marked as a template. Its customization
|
|
2000
|
+
* fields (colors, logo, pattern, shape, frame) will be applied to the new QR code
|
|
2001
|
+
* unless explicitly overridden.
|
|
2002
|
+
*/
|
|
2003
|
+
templateId?: string | null;
|
|
2004
|
+
|
|
1593
2005
|
/**
|
|
1594
2006
|
* The text of the QR code.
|
|
1595
2007
|
*/
|
|
@@ -1609,7 +2021,20 @@ export interface QrcodeUpdateParams {
|
|
|
1609
2021
|
/**
|
|
1610
2022
|
* The type of content of the QR code.
|
|
1611
2023
|
*/
|
|
1612
|
-
type?:
|
|
2024
|
+
type?:
|
|
2025
|
+
| 'url'
|
|
2026
|
+
| 'text'
|
|
2027
|
+
| 'email'
|
|
2028
|
+
| 'wifi'
|
|
2029
|
+
| 'phone'
|
|
2030
|
+
| 'vcard'
|
|
2031
|
+
| 'crypto'
|
|
2032
|
+
| 'sms'
|
|
2033
|
+
| 'facetime'
|
|
2034
|
+
| 'geo'
|
|
2035
|
+
| 'latlog'
|
|
2036
|
+
| 'pix'
|
|
2037
|
+
| 'whatsapp';
|
|
1613
2038
|
|
|
1614
2039
|
/**
|
|
1615
2040
|
* The destination URL of the QR code.
|
|
@@ -1639,6 +2064,12 @@ export interface QrcodeUpdateParams {
|
|
|
1639
2064
|
*/
|
|
1640
2065
|
webhookIds?: Array<string> | null;
|
|
1641
2066
|
|
|
2067
|
+
/**
|
|
2068
|
+
* The WhatsApp click-to-chat info: E.164 number (digits only) and optional
|
|
2069
|
+
* prefilled message.
|
|
2070
|
+
*/
|
|
2071
|
+
whatsapp?: QrcodeUpdateParams.Whatsapp | null;
|
|
2072
|
+
|
|
1642
2073
|
/**
|
|
1643
2074
|
* Logo width in pixels. When omitted, a proportional size is used based on the QR
|
|
1644
2075
|
* code size (about 10–20% depending on size).
|
|
@@ -1652,6 +2083,40 @@ export interface QrcodeUpdateParams {
|
|
|
1652
2083
|
}
|
|
1653
2084
|
|
|
1654
2085
|
export namespace QrcodeUpdateParams {
|
|
2086
|
+
/**
|
|
2087
|
+
* Typographic styles applied to the frame label text. Every key is enum-gated —
|
|
2088
|
+
* unknown keys or out-of-enum values are rejected to prevent SVG attribute
|
|
2089
|
+
* injection. All fields are optional; omitted keys fall back to the default
|
|
2090
|
+
* (normal weight, normal style, sans family, medium size).
|
|
2091
|
+
*/
|
|
2092
|
+
export interface FrameTextStyles {
|
|
2093
|
+
/**
|
|
2094
|
+
* Font family used for the frame label text. `sans` = Arial / Helvetica (default).
|
|
2095
|
+
* `sans-condensed` = Arial Narrow. `serif` = Georgia / Times New Roman.
|
|
2096
|
+
* `serif-elegant` = Palatino Linotype / Book Antiqua. `mono` = Courier New. Values
|
|
2097
|
+
* resolve to safe system font stacks on the rendered SVG.
|
|
2098
|
+
*/
|
|
2099
|
+
family?: 'sans' | 'sans-condensed' | 'serif' | 'serif-elegant' | 'mono';
|
|
2100
|
+
|
|
2101
|
+
/**
|
|
2102
|
+
* Font size preset for the frame label. `s` = 60 viewBox units, `m` = 89.1
|
|
2103
|
+
* (default), `l` = 120, `xl` = 150. Larger sizes grow the frame bar vertically to
|
|
2104
|
+
* fit. Extremely long text auto-shrinks to keep within 4 lines (floor 48).
|
|
2105
|
+
*/
|
|
2106
|
+
size?: 's' | 'm' | 'l' | 'xl';
|
|
2107
|
+
|
|
2108
|
+
/**
|
|
2109
|
+
* Font style of the frame label text. `italic` applies `font-style="italic"`.
|
|
2110
|
+
*/
|
|
2111
|
+
style?: 'normal' | 'italic';
|
|
2112
|
+
|
|
2113
|
+
/**
|
|
2114
|
+
* Font weight of the frame label text. `bold` renders at SVG `font-weight="700"`,
|
|
2115
|
+
* `normal` at `400`.
|
|
2116
|
+
*/
|
|
2117
|
+
weight?: 'normal' | 'bold';
|
|
2118
|
+
}
|
|
2119
|
+
|
|
1655
2120
|
/**
|
|
1656
2121
|
* Geographic segmentation information for the QR code in the JSON format
|
|
1657
2122
|
* `{[COUNTRY]: https://example.com }`.
|
|
@@ -2157,197 +2622,26 @@ export namespace QrcodeUpdateParams {
|
|
|
2157
2622
|
|
|
2158
2623
|
ZW?: string;
|
|
2159
2624
|
}
|
|
2160
|
-
}
|
|
2161
|
-
|
|
2162
|
-
export interface QrcodeListParams {
|
|
2163
|
-
/**
|
|
2164
|
-
* The comments to filter by.
|
|
2165
|
-
*/
|
|
2166
|
-
comments?: string;
|
|
2167
|
-
|
|
2168
|
-
/**
|
|
2169
|
-
* Filter QR codes created after this date
|
|
2170
|
-
*/
|
|
2171
|
-
createdAfter?: string;
|
|
2172
|
-
|
|
2173
|
-
/**
|
|
2174
|
-
* Filter QR codes created before this date
|
|
2175
|
-
*/
|
|
2176
|
-
createdBefore?: string;
|
|
2177
|
-
|
|
2178
|
-
/**
|
|
2179
|
-
* The domain to filter the QR codes. For example, `ac.me`. If not provided, all QR
|
|
2180
|
-
* codes of the project will be returned.
|
|
2181
|
-
*/
|
|
2182
|
-
domain?: string;
|
|
2183
|
-
|
|
2184
|
-
/**
|
|
2185
|
-
* Filter QR codes expiring after this date
|
|
2186
|
-
*/
|
|
2187
|
-
expiresAfter?: string;
|
|
2188
|
-
|
|
2189
|
-
/**
|
|
2190
|
-
* The date and time the QR code will expire in ISO-8601 format. Must be in the
|
|
2191
|
-
* future.
|
|
2192
|
-
*/
|
|
2193
|
-
expiresAt?: string | null;
|
|
2194
|
-
|
|
2195
|
-
/**
|
|
2196
|
-
* Filter QR codes expiring before this date
|
|
2197
|
-
*/
|
|
2198
|
-
expiresBefore?: string;
|
|
2199
|
-
|
|
2200
|
-
/**
|
|
2201
|
-
* The folder ID to filter the QR codes by.
|
|
2202
|
-
*/
|
|
2203
|
-
folderId?: string;
|
|
2204
|
-
|
|
2205
|
-
/**
|
|
2206
|
-
* Filter by QR code format - static or dynamic
|
|
2207
|
-
*/
|
|
2208
|
-
format?: 'static' | 'dynamic';
|
|
2209
|
-
|
|
2210
|
-
/**
|
|
2211
|
-
* Filter QR codes with/without comments
|
|
2212
|
-
*/
|
|
2213
|
-
hasComments?: boolean;
|
|
2214
|
-
|
|
2215
|
-
/**
|
|
2216
|
-
* Filter QR codes with/without custom social media cards
|
|
2217
|
-
*/
|
|
2218
|
-
hasCustomSocial?: boolean;
|
|
2219
|
-
|
|
2220
|
-
/**
|
|
2221
|
-
* Filter QR codes with/without device targeting
|
|
2222
|
-
*/
|
|
2223
|
-
hasDevice?: boolean;
|
|
2224
|
-
|
|
2225
|
-
/**
|
|
2226
|
-
* Filter QR codes with/without expiration date
|
|
2227
|
-
*/
|
|
2228
|
-
hasExpiration?: boolean;
|
|
2229
|
-
|
|
2230
|
-
/**
|
|
2231
|
-
* Filter QR codes with/without geo-targeting
|
|
2232
|
-
*/
|
|
2233
|
-
hasGeo?: boolean;
|
|
2234
2625
|
|
|
2235
|
-
|
|
2236
|
-
|
|
2237
|
-
*/
|
|
2238
|
-
hasPassword?: boolean;
|
|
2626
|
+
export interface Rule {
|
|
2627
|
+
attribute: 'device' | 'country' | 'utm_source' | 'utm_medium' | 'utm_campaign' | 'referrer' | 'language';
|
|
2239
2628
|
|
|
2240
|
-
|
|
2241
|
-
* Filter QR codes with/without tags
|
|
2242
|
-
*/
|
|
2243
|
-
hasTags?: boolean;
|
|
2244
|
-
|
|
2245
|
-
/**
|
|
2246
|
-
* Filter QR codes with/without UTM parameters
|
|
2247
|
-
*/
|
|
2248
|
-
hasUTM?: boolean;
|
|
2629
|
+
operator: 'equals' | 'not_equals';
|
|
2249
2630
|
|
|
2250
|
-
|
|
2251
|
-
* The page number for pagination.
|
|
2252
|
-
*/
|
|
2253
|
-
page?: number;
|
|
2254
|
-
|
|
2255
|
-
/**
|
|
2256
|
-
* The number of items per page.
|
|
2257
|
-
*/
|
|
2258
|
-
pageSize?: number;
|
|
2259
|
-
|
|
2260
|
-
/**
|
|
2261
|
-
* The password to filter by.
|
|
2262
|
-
*/
|
|
2263
|
-
password?: string;
|
|
2631
|
+
url: string;
|
|
2264
2632
|
|
|
2265
|
-
|
|
2266
|
-
|
|
2267
|
-
* `app.codeqr.io/acme`, the projectSlug is `acme`.
|
|
2268
|
-
*/
|
|
2269
|
-
projectSlug?: string;
|
|
2270
|
-
|
|
2271
|
-
/**
|
|
2272
|
-
* Maximum number of scans
|
|
2273
|
-
*/
|
|
2274
|
-
scansMax?: number;
|
|
2275
|
-
|
|
2276
|
-
/**
|
|
2277
|
-
* Minimum number of scans
|
|
2278
|
-
*/
|
|
2279
|
-
scansMin?: number;
|
|
2280
|
-
|
|
2281
|
-
/**
|
|
2282
|
-
* The search term to filter the QR codes. The search term will be matched against
|
|
2283
|
-
* the QR code slug and the destination URL.
|
|
2284
|
-
*/
|
|
2285
|
-
search?: string;
|
|
2286
|
-
|
|
2287
|
-
/**
|
|
2288
|
-
* If should include archived QR codes in the response. The default is `false` if
|
|
2289
|
-
* not provided.
|
|
2290
|
-
*/
|
|
2291
|
-
showArchived?: boolean;
|
|
2292
|
-
|
|
2293
|
-
/**
|
|
2294
|
-
* The field to order the QR codes. The default is `createdAt`, and the order of
|
|
2295
|
-
* sorting is always descending.
|
|
2296
|
-
*/
|
|
2297
|
-
sort?: 'createdAt' | 'scans' | 'lastClicked';
|
|
2298
|
-
|
|
2299
|
-
/**
|
|
2300
|
-
* @deprecated [DEPRECATED (use tagIds instead)]: The unique ID of the tag assigned
|
|
2301
|
-
* to the QR code.
|
|
2302
|
-
*/
|
|
2303
|
-
tagId?: string;
|
|
2304
|
-
|
|
2305
|
-
/**
|
|
2306
|
-
* The IDs of the tags to filter the QR codes.
|
|
2307
|
-
*/
|
|
2308
|
-
tagIds?: string | Array<string>;
|
|
2309
|
-
|
|
2310
|
-
/**
|
|
2311
|
-
* The unique name of the tags assigned to the QR code (case insensitive).
|
|
2312
|
-
*/
|
|
2313
|
-
tagNames?: string | Array<string>;
|
|
2314
|
-
|
|
2315
|
-
/**
|
|
2316
|
-
* If should include QR codes with conversion tracking enabled. The default is
|
|
2317
|
-
* `false` if not provided.
|
|
2318
|
-
*/
|
|
2319
|
-
trackConversion?: boolean;
|
|
2320
|
-
|
|
2321
|
-
/**
|
|
2322
|
-
* Filter by QR code type
|
|
2323
|
-
*/
|
|
2324
|
-
type?:
|
|
2325
|
-
| 'url'
|
|
2326
|
-
| 'text'
|
|
2327
|
-
| 'email'
|
|
2328
|
-
| 'wifi'
|
|
2329
|
-
| 'phone'
|
|
2330
|
-
| 'vcard'
|
|
2331
|
-
| 'crypto'
|
|
2332
|
-
| 'sms'
|
|
2333
|
-
| 'facetime'
|
|
2334
|
-
| 'latlog'
|
|
2335
|
-
| 'pix';
|
|
2336
|
-
|
|
2337
|
-
/**
|
|
2338
|
-
* Filter QR codes marked as templates.
|
|
2339
|
-
*/
|
|
2340
|
-
useAsTemplate?: boolean;
|
|
2633
|
+
value: string;
|
|
2634
|
+
}
|
|
2341
2635
|
|
|
2342
2636
|
/**
|
|
2343
|
-
* The
|
|
2637
|
+
* The WhatsApp click-to-chat info: E.164 number (digits only) and optional
|
|
2638
|
+
* prefilled message.
|
|
2344
2639
|
*/
|
|
2345
|
-
|
|
2640
|
+
export interface Whatsapp {
|
|
2641
|
+
number: string;
|
|
2346
2642
|
|
|
2347
|
-
|
|
2348
|
-
|
|
2349
|
-
*/
|
|
2350
|
-
withTags?: boolean;
|
|
2643
|
+
message?: string;
|
|
2644
|
+
}
|
|
2351
2645
|
}
|
|
2352
2646
|
|
|
2353
2647
|
Qrcodes.Bulk = Bulk;
|
|
@@ -2358,9 +2652,9 @@ export declare namespace Qrcodes {
|
|
|
2358
2652
|
type QrcodeListResponse as QrcodeListResponse,
|
|
2359
2653
|
type QrcodeDeleteResponse as QrcodeDeleteResponse,
|
|
2360
2654
|
type QrcodeCreateParams as QrcodeCreateParams,
|
|
2655
|
+
type QrcodeListParams as QrcodeListParams,
|
|
2361
2656
|
type QrcodeRetrieveParams as QrcodeRetrieveParams,
|
|
2362
2657
|
type QrcodeUpdateParams as QrcodeUpdateParams,
|
|
2363
|
-
type QrcodeListParams as QrcodeListParams,
|
|
2364
2658
|
};
|
|
2365
2659
|
|
|
2366
2660
|
export {
|