@expo/apple-utils 2.1.18 → 2.1.20
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/build/index.js +1 -1
- package/package.json +3 -3
- package/ts-declarations/expo__app-store/app-store.d.ts +987 -437
|
@@ -1413,212 +1413,203 @@ declare module "connect/models/ContentProvider" {
|
|
|
1413
1413
|
} | undefined) => Promise<ContentProvider[]>;
|
|
1414
1414
|
}
|
|
1415
1415
|
}
|
|
1416
|
-
declare module "connect/models/
|
|
1416
|
+
declare module "connect/models/AppClipAppStoreReviewDetail" {
|
|
1417
|
+
import { RequestContext } from "network/Request";
|
|
1417
1418
|
import { ConnectModel } from "connect/models/ConnectModel";
|
|
1418
|
-
export interface
|
|
1419
|
-
|
|
1420
|
-
* The bundle identifier of the App Clip.
|
|
1421
|
-
* @example 'com.bacon.app.Clip'
|
|
1422
|
-
*/
|
|
1423
|
-
bundleId: string;
|
|
1419
|
+
export interface AppClipAppStoreReviewDetailProps {
|
|
1420
|
+
invocationUrls: string[] | null;
|
|
1424
1421
|
}
|
|
1425
1422
|
/**
|
|
1426
|
-
*
|
|
1423
|
+
* App Store review detail for an App Clip default experience.
|
|
1427
1424
|
*
|
|
1428
|
-
*
|
|
1429
|
-
*
|
|
1425
|
+
* Holds the list of invocation URLs that App Review will use to launch the
|
|
1426
|
+
* App Clip during review.
|
|
1427
|
+
*
|
|
1428
|
+
* @see https://developer.apple.com/documentation/appstoreconnectapi/appclipappstorereviewdetail
|
|
1430
1429
|
*/
|
|
1431
|
-
export class
|
|
1430
|
+
export class AppClipAppStoreReviewDetail extends ConnectModel<AppClipAppStoreReviewDetailProps> {
|
|
1432
1431
|
static type: string;
|
|
1433
|
-
|
|
1434
|
-
* Get a single App Clip by ID.
|
|
1435
|
-
*
|
|
1436
|
-
* @param id App Clip ID
|
|
1437
|
-
*/
|
|
1438
|
-
static infoAsync: (context: import("AppStoreConnect").RequestContext, props: {
|
|
1432
|
+
static infoAsync: (context: RequestContext, props: {
|
|
1439
1433
|
id: string;
|
|
1440
1434
|
query?: import("connect/ConnectAPI").ConnectQueryParams;
|
|
1441
|
-
}) => Promise<
|
|
1442
|
-
|
|
1443
|
-
}
|
|
1444
|
-
declare module "connect/models/AppDataUsageGrouping" {
|
|
1445
|
-
import { ConnectModel } from "connect/models/ConnectModel";
|
|
1446
|
-
export interface AppDataUsageGroupingProps {
|
|
1447
|
-
deleted: boolean;
|
|
1448
|
-
}
|
|
1449
|
-
export class AppDataUsageGrouping extends ConnectModel<AppDataUsageGroupingProps> {
|
|
1450
|
-
static type: string;
|
|
1451
|
-
static deleteAsync: (context: import("AppStoreConnect").RequestContext, props: {
|
|
1435
|
+
}) => Promise<AppClipAppStoreReviewDetail>;
|
|
1436
|
+
static deleteAsync: (context: RequestContext, props: {
|
|
1452
1437
|
id: string;
|
|
1453
1438
|
}) => Promise<void>;
|
|
1439
|
+
static createAsync(context: RequestContext, { appClipDefaultExperienceId, attributes, }: {
|
|
1440
|
+
appClipDefaultExperienceId: string;
|
|
1441
|
+
attributes: Pick<AppClipAppStoreReviewDetailProps, 'invocationUrls'>;
|
|
1442
|
+
}): Promise<AppClipAppStoreReviewDetail>;
|
|
1443
|
+
updateAsync(options: Partial<Pick<AppClipAppStoreReviewDetailProps, 'invocationUrls'>>): Promise<AppClipAppStoreReviewDetail>;
|
|
1454
1444
|
deleteAsync(): Promise<void>;
|
|
1455
1445
|
}
|
|
1456
1446
|
}
|
|
1457
|
-
declare module "
|
|
1458
|
-
import
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1447
|
+
declare module "utils/crypto" {
|
|
1448
|
+
import * as crypto from 'crypto';
|
|
1449
|
+
export function getChecksum(value: crypto.BinaryLike): string;
|
|
1450
|
+
}
|
|
1451
|
+
declare module "connect/AssetAPI" {
|
|
1452
|
+
import { AxiosResponse } from 'axios';
|
|
1453
|
+
import { ParsingOptions, RequestContext, RequestProps } from "network/Request";
|
|
1454
|
+
import { ConnectClientAPI } from "connect/ConnectAPI";
|
|
1455
|
+
export interface UploadOperationHeader {
|
|
1456
|
+
name: string;
|
|
1457
|
+
value: string;
|
|
1463
1458
|
}
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
AUDIO = "AUDIO",
|
|
1471
|
-
BROWSING_HISTORY = "BROWSING_HISTORY",
|
|
1472
|
-
COARSE_LOCATION = "COARSE_LOCATION",
|
|
1473
|
-
CONTACTS = "CONTACTS",
|
|
1474
|
-
CRASH_DATA = "CRASH_DATA",
|
|
1475
|
-
CREDIT_AND_FRAUD = "CREDIT_AND_FRAUD",
|
|
1476
|
-
CUSTOMER_SUPPORT = "CUSTOMER_SUPPORT",
|
|
1477
|
-
DEVICE_ID = "DEVICE_ID",
|
|
1478
|
-
EMAIL_ADDRESS = "EMAIL_ADDRESS",
|
|
1479
|
-
EMAILS_OR_TEXT_MESSAGES = "EMAILS_OR_TEXT_MESSAGES",
|
|
1480
|
-
ENVIRONMENTAL_SCANNING = "ENVIRONMENTAL_SCANNING",
|
|
1481
|
-
FITNESS = "FITNESS",
|
|
1482
|
-
GAMEPLAY_CONTENT = "GAMEPLAY_CONTENT",
|
|
1483
|
-
HANDS = "HANDS",
|
|
1484
|
-
HEAD_MOVEMENT = "HEAD_MOVEMENT",
|
|
1485
|
-
HEALTH = "HEALTH",
|
|
1486
|
-
NAME = "NAME",
|
|
1487
|
-
OTHER_CONTACT_INFO = "OTHER_CONTACT_INFO",
|
|
1488
|
-
OTHER_DATA = "OTHER_DATA",
|
|
1489
|
-
OTHER_DIAGNOSTIC_DATA = "OTHER_DIAGNOSTIC_DATA",
|
|
1490
|
-
OTHER_FINANCIAL_INFO = "OTHER_FINANCIAL_INFO",
|
|
1491
|
-
OTHER_USAGE_DATA = "OTHER_USAGE_DATA",
|
|
1492
|
-
OTHER_USER_CONTENT = "OTHER_USER_CONTENT",
|
|
1493
|
-
PAYMENT_INFORMATION = "PAYMENT_INFORMATION",
|
|
1494
|
-
PERFORMANCE_DATA = "PERFORMANCE_DATA",
|
|
1495
|
-
PHONE_NUMBER = "PHONE_NUMBER",
|
|
1496
|
-
PHOTOS_OR_VIDEOS = "PHOTOS_OR_VIDEOS",
|
|
1497
|
-
PHYSICAL_ADDRESS = "PHYSICAL_ADDRESS",
|
|
1498
|
-
PRECISE_LOCATION = "PRECISE_LOCATION",
|
|
1499
|
-
PRODUCT_INTERACTION = "PRODUCT_INTERACTION",
|
|
1500
|
-
PURCHASE_HISTORY = "PURCHASE_HISTORY",
|
|
1501
|
-
SEARCH_HISTORY = "SEARCH_HISTORY",
|
|
1502
|
-
SENSITIVE_INFO = "SENSITIVE_INFO",
|
|
1503
|
-
USER_ID = "USER_ID"
|
|
1459
|
+
export interface UploadOperation {
|
|
1460
|
+
method: string;
|
|
1461
|
+
url: string;
|
|
1462
|
+
length: number;
|
|
1463
|
+
offset: number;
|
|
1464
|
+
requestHeaders: UploadOperationHeader[];
|
|
1504
1465
|
}
|
|
1505
|
-
export
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
}) => Promise<void>;
|
|
1513
|
-
deleteAsync(): Promise<void>;
|
|
1466
|
+
export enum AppMediaAssetStateState {
|
|
1467
|
+
AWAITING_UPLOAD = "AWAITING_UPLOAD",
|
|
1468
|
+
UPLOAD_COMPLETE = "UPLOAD_COMPLETE",
|
|
1469
|
+
/** Used by videoDeliveryState while Apple transcodes the video. */
|
|
1470
|
+
PROCESSING = "PROCESSING",
|
|
1471
|
+
COMPLETE = "COMPLETE",
|
|
1472
|
+
FAILED = "FAILED"
|
|
1514
1473
|
}
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
export interface AppDataUsageDataProtectionProps {
|
|
1519
|
-
deleted: boolean;
|
|
1474
|
+
export interface AppMediaStateError {
|
|
1475
|
+
code: string;
|
|
1476
|
+
description: string;
|
|
1520
1477
|
}
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
export enum AppDataUsageDataProtectionId {
|
|
1526
|
-
DATA_USED_TO_TRACK_YOU = "DATA_USED_TO_TRACK_YOU",
|
|
1527
|
-
DATA_LINKED_TO_YOU = "DATA_LINKED_TO_YOU",
|
|
1528
|
-
DATA_NOT_LINKED_TO_YOU = "DATA_NOT_LINKED_TO_YOU",
|
|
1529
|
-
DATA_NOT_COLLECTED = "DATA_NOT_COLLECTED"
|
|
1478
|
+
export interface AppMediaAssetState {
|
|
1479
|
+
errors: AppMediaStateError[];
|
|
1480
|
+
warnings: AppMediaStateError[];
|
|
1481
|
+
state: AppMediaAssetStateState;
|
|
1530
1482
|
}
|
|
1531
|
-
export
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1483
|
+
export interface ImageAsset {
|
|
1484
|
+
/**
|
|
1485
|
+
* @example 'https://is3-ssl.mzstatic.com/image/thumb/Purple118/v4/0c/26/16/0c261675-72c5-7e10-3fdc-c8a20ccebd77/AppIcon-1x_U007emarketing-85-220-0-6.png/{w}x{h}bb.{f}'
|
|
1486
|
+
*/
|
|
1487
|
+
templateUrl: string;
|
|
1488
|
+
/**
|
|
1489
|
+
* @example 1024
|
|
1490
|
+
*/
|
|
1491
|
+
width: number;
|
|
1492
|
+
/**
|
|
1493
|
+
* @example 1024
|
|
1494
|
+
*/
|
|
1495
|
+
height: number;
|
|
1496
|
+
}
|
|
1497
|
+
class AssetAPI extends ConnectClientAPI {
|
|
1498
|
+
get hostname(): string;
|
|
1499
|
+
requestAsync<T = any, R extends AxiosResponse<T> = AxiosResponse<T>>(context: RequestContext, request: RequestProps, options?: ParsingOptions): Promise<R>;
|
|
1500
|
+
uploadAsync(_context: RequestContext, { uploadOperations, bytes, }: {
|
|
1501
|
+
uploadOperations: UploadOperation[];
|
|
1502
|
+
bytes: Buffer;
|
|
1503
|
+
}): Promise<void>;
|
|
1540
1504
|
}
|
|
1505
|
+
export const assetClient: AssetAPI;
|
|
1541
1506
|
}
|
|
1542
|
-
declare module "connect/models/
|
|
1507
|
+
declare module "connect/models/AppClipHeaderImage" {
|
|
1508
|
+
import { RequestContext } from "network/Request";
|
|
1509
|
+
import { AppMediaAssetState, ImageAsset, UploadOperation } from "connect/AssetAPI";
|
|
1543
1510
|
import { ConnectModel } from "connect/models/ConnectModel";
|
|
1544
|
-
export interface
|
|
1545
|
-
|
|
1511
|
+
export interface AppClipHeaderImageProps {
|
|
1512
|
+
fileSize: number;
|
|
1513
|
+
fileName: string;
|
|
1514
|
+
sourceFileChecksum: string;
|
|
1515
|
+
imageAsset: ImageAsset;
|
|
1516
|
+
uploadOperations: UploadOperation[];
|
|
1517
|
+
assetDeliveryState: AppMediaAssetState;
|
|
1546
1518
|
}
|
|
1547
1519
|
/**
|
|
1548
|
-
*
|
|
1549
|
-
*
|
|
1520
|
+
* A header image for an App Clip default experience localization.
|
|
1521
|
+
*
|
|
1522
|
+
* Uses the same upload protocol as `AppScreenshot`:
|
|
1523
|
+
* 1. POST `/v1/appClipHeaderImages` with `fileName` + `fileSize` to reserve
|
|
1524
|
+
* the asset and obtain `uploadOperations`.
|
|
1525
|
+
* 2. PUT the binary data to each operation's URL via `assetClient`.
|
|
1526
|
+
* 3. PATCH the resource with `uploaded: true` and `sourceFileChecksum`.
|
|
1527
|
+
* 4. Optionally poll until `assetDeliveryState.state` is `COMPLETE`.
|
|
1528
|
+
*
|
|
1529
|
+
* @see https://developer.apple.com/documentation/appstoreconnectapi/appclipheaderimage
|
|
1550
1530
|
*/
|
|
1551
|
-
export
|
|
1552
|
-
THIRD_PARTY_ADVERTISING = "THIRD_PARTY_ADVERTISING",
|
|
1553
|
-
DEVELOPERS_ADVERTISING = "DEVELOPERS_ADVERTISING",
|
|
1554
|
-
ANALYTICS = "ANALYTICS",
|
|
1555
|
-
PRODUCT_PERSONALIZATION = "PRODUCT_PERSONALIZATION",
|
|
1556
|
-
APP_FUNCTIONALITY = "APP_FUNCTIONALITY",
|
|
1557
|
-
OTHER_PURPOSES = "OTHER_PURPOSES"
|
|
1558
|
-
}
|
|
1559
|
-
export class AppDataUsagePurpose extends ConnectModel<AppDataUsagePurposeProps> {
|
|
1531
|
+
export class AppClipHeaderImage extends ConnectModel<AppClipHeaderImageProps> {
|
|
1560
1532
|
static type: string;
|
|
1561
|
-
static
|
|
1562
|
-
query?: import("connect/ConnectAPI").ConnectQueryParams<Record<string, any>> | undefined;
|
|
1563
|
-
} | undefined) => Promise<AppDataUsagePurpose[]>;
|
|
1564
|
-
static deleteAsync: (context: import("AppStoreConnect").RequestContext, props: {
|
|
1533
|
+
static infoAsync: (context: RequestContext, props: {
|
|
1565
1534
|
id: string;
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
import { AppDataUsageDataProtection } from "connect/models/AppDataUsageDataProtection";
|
|
1574
|
-
import { AppDataUsageGrouping } from "connect/models/AppDataUsageGrouping";
|
|
1575
|
-
import { AppDataUsagePurpose } from "connect/models/AppDataUsagePurpose";
|
|
1576
|
-
import { ConnectModel } from "connect/models/ConnectModel";
|
|
1577
|
-
export interface AppDataUsageProps {
|
|
1578
|
-
category?: AppDataUsageCategory;
|
|
1579
|
-
grouping?: AppDataUsageGrouping;
|
|
1580
|
-
purpose?: AppDataUsagePurpose;
|
|
1581
|
-
dataProtection?: AppDataUsageDataProtection;
|
|
1582
|
-
}
|
|
1583
|
-
export class AppDataUsage extends ConnectModel<AppDataUsageProps> {
|
|
1584
|
-
static type: string;
|
|
1585
|
-
static DEFAULT_INCLUDES: string[];
|
|
1535
|
+
query?: import("connect/ConnectAPI").ConnectQueryParams;
|
|
1536
|
+
}) => Promise<AppClipHeaderImage>;
|
|
1537
|
+
static createAsync(context: RequestContext, { id, attributes, }: {
|
|
1538
|
+
/** AppClipDefaultExperienceLocalization id */
|
|
1539
|
+
id: string;
|
|
1540
|
+
attributes: Pick<AppClipHeaderImageProps, 'fileName' | 'fileSize'>;
|
|
1541
|
+
}): Promise<AppClipHeaderImage>;
|
|
1586
1542
|
/**
|
|
1543
|
+
* Upload a header image PNG to App Store Connect for an App Clip
|
|
1544
|
+
* default-experience localization.
|
|
1587
1545
|
*
|
|
1588
|
-
* @param id `
|
|
1589
|
-
* @param appDataUsageCategory `AppDataUsageCategory` id (`AppDataUsageCategoryId`)
|
|
1590
|
-
* @param appDataUsageProtection `AppDataUsageProtection` id (`AppDataUsageProtectionId`)
|
|
1591
|
-
* @param appDataUsagePurpose `AppDataUsagePurpose` id (`AppDataUsagePurposeId`)
|
|
1546
|
+
* @param id `AppClipDefaultExperienceLocalization` id
|
|
1592
1547
|
*/
|
|
1593
|
-
static
|
|
1548
|
+
static uploadAsync(context: RequestContext, { id, filePath, waitForProcessing, }: {
|
|
1594
1549
|
id: string;
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
}): Promise<AppDataUsage>;
|
|
1550
|
+
filePath: string;
|
|
1551
|
+
waitForProcessing?: boolean;
|
|
1552
|
+
}): Promise<AppClipHeaderImage>;
|
|
1599
1553
|
static deleteAsync: (context: RequestContext, props: {
|
|
1600
1554
|
id: string;
|
|
1601
1555
|
}) => Promise<void>;
|
|
1602
1556
|
deleteAsync(): Promise<void>;
|
|
1557
|
+
updateAsync(options: Partial<Pick<AppClipHeaderImageProps, 'sourceFileChecksum'>> & {
|
|
1558
|
+
uploaded?: boolean;
|
|
1559
|
+
}): Promise<AppClipHeaderImage>;
|
|
1560
|
+
isAwaitingUpload(): boolean;
|
|
1561
|
+
isComplete(): boolean;
|
|
1562
|
+
isFailed(): boolean;
|
|
1563
|
+
getErrorMessages(): string[];
|
|
1564
|
+
/**
|
|
1565
|
+
* Get a downloadable URL for the rendered image asset. Note that the
|
|
1566
|
+
* downloaded image is a re-rendered copy and will NOT match
|
|
1567
|
+
* `sourceFileChecksum`.
|
|
1568
|
+
*/
|
|
1569
|
+
getImageAssetUrl({ width, height, type, }: {
|
|
1570
|
+
width?: number;
|
|
1571
|
+
height?: number;
|
|
1572
|
+
type?: string | 'png';
|
|
1573
|
+
}): string | null;
|
|
1603
1574
|
}
|
|
1604
1575
|
}
|
|
1605
|
-
declare module "connect/models/
|
|
1576
|
+
declare module "connect/models/AppClipDefaultExperienceLocalization" {
|
|
1577
|
+
import { RequestContext } from "network/Request";
|
|
1578
|
+
import { AppClipHeaderImage } from "connect/models/AppClipHeaderImage";
|
|
1606
1579
|
import { ConnectModel } from "connect/models/ConnectModel";
|
|
1607
|
-
export interface
|
|
1608
|
-
published: boolean;
|
|
1609
|
-
/**
|
|
1610
|
-
* @example "2021-06-26T14:31:32.201-07:00"
|
|
1611
|
-
*/
|
|
1612
|
-
lastPublished: string;
|
|
1580
|
+
export interface AppClipDefaultExperienceLocalizationProps {
|
|
1613
1581
|
/**
|
|
1614
|
-
* @example
|
|
1582
|
+
* @example 'en-US'
|
|
1615
1583
|
*/
|
|
1616
|
-
|
|
1584
|
+
locale: string;
|
|
1585
|
+
subtitle: string | null;
|
|
1586
|
+
appClipHeaderImage?: AppClipHeaderImage | null;
|
|
1617
1587
|
}
|
|
1618
|
-
|
|
1588
|
+
/**
|
|
1589
|
+
* A localized subtitle and header image for an App Clip default experience.
|
|
1590
|
+
*
|
|
1591
|
+
* @see https://developer.apple.com/documentation/appstoreconnectapi/appclipdefaultexperiencelocalization
|
|
1592
|
+
*/
|
|
1593
|
+
export class AppClipDefaultExperienceLocalization extends ConnectModel<AppClipDefaultExperienceLocalizationProps> {
|
|
1619
1594
|
static type: string;
|
|
1620
|
-
|
|
1621
|
-
|
|
1595
|
+
static infoAsync: (context: RequestContext, props: {
|
|
1596
|
+
id: string;
|
|
1597
|
+
query?: import("connect/ConnectAPI").ConnectQueryParams;
|
|
1598
|
+
}) => Promise<AppClipDefaultExperienceLocalization>;
|
|
1599
|
+
static deleteAsync: (context: RequestContext, props: {
|
|
1600
|
+
id: string;
|
|
1601
|
+
}) => Promise<void>;
|
|
1602
|
+
static createAsync(context: RequestContext, { appClipDefaultExperienceId, attributes, }: {
|
|
1603
|
+
appClipDefaultExperienceId: string;
|
|
1604
|
+
attributes: Pick<AppClipDefaultExperienceLocalizationProps, 'locale' | 'subtitle'>;
|
|
1605
|
+
}): Promise<AppClipDefaultExperienceLocalization>;
|
|
1606
|
+
updateAsync(options: Partial<Pick<AppClipDefaultExperienceLocalizationProps, 'subtitle'>>): Promise<AppClipDefaultExperienceLocalization>;
|
|
1607
|
+
deleteAsync(): Promise<void>;
|
|
1608
|
+
/**
|
|
1609
|
+
* Get the header image for this localization. Returns null if none uploaded.
|
|
1610
|
+
*/
|
|
1611
|
+
getAppClipHeaderImageAsync(): Promise<AppClipHeaderImage | null>;
|
|
1612
|
+
}
|
|
1622
1613
|
}
|
|
1623
1614
|
declare module "connect/ProvisioningAPI" {
|
|
1624
1615
|
import { AxiosResponse } from 'axios';
|
|
@@ -2728,63 +2719,198 @@ declare module "connect/models/AppCategory" {
|
|
|
2728
2719
|
} | undefined) => Promise<AppCategory[]>;
|
|
2729
2720
|
}
|
|
2730
2721
|
}
|
|
2731
|
-
declare module "connect/
|
|
2732
|
-
import {
|
|
2733
|
-
import {
|
|
2734
|
-
|
|
2735
|
-
|
|
2736
|
-
name: string;
|
|
2737
|
-
|
|
2722
|
+
declare module "connect/models/AppInfoLocalization" {
|
|
2723
|
+
import { RequestContext } from "network/Request";
|
|
2724
|
+
import { ConnectModel } from "connect/models/ConnectModel";
|
|
2725
|
+
export interface AppInfoLocalizationProps {
|
|
2726
|
+
locale: string;
|
|
2727
|
+
name: string | null;
|
|
2728
|
+
subtitle: string | null;
|
|
2729
|
+
privacyPolicyUrl: string | null;
|
|
2730
|
+
privacyChoicesUrl: string | null;
|
|
2731
|
+
privacyPolicyText: string | null;
|
|
2738
2732
|
}
|
|
2739
|
-
|
|
2740
|
-
|
|
2741
|
-
|
|
2742
|
-
|
|
2743
|
-
|
|
2744
|
-
|
|
2733
|
+
/**
|
|
2734
|
+
* Used for updating basic metadata.
|
|
2735
|
+
*/
|
|
2736
|
+
export class AppInfoLocalization extends ConnectModel<AppInfoLocalizationProps> {
|
|
2737
|
+
static type: string;
|
|
2738
|
+
/**
|
|
2739
|
+
*
|
|
2740
|
+
* @param id `AppInfo` id
|
|
2741
|
+
*/
|
|
2742
|
+
static createAsync(context: RequestContext, { id, locale, }: {
|
|
2743
|
+
id: string;
|
|
2744
|
+
locale: string;
|
|
2745
|
+
}): Promise<AppInfoLocalization>;
|
|
2746
|
+
static deleteAsync: (context: RequestContext, props: {
|
|
2747
|
+
id: string;
|
|
2748
|
+
}) => Promise<void>;
|
|
2749
|
+
updateAsync(attributes: Partial<AppInfoLocalizationProps>): Promise<AppInfoLocalization>;
|
|
2745
2750
|
}
|
|
2746
|
-
|
|
2747
|
-
|
|
2748
|
-
|
|
2749
|
-
|
|
2750
|
-
|
|
2751
|
+
}
|
|
2752
|
+
declare module "connect/models/AppInfo" {
|
|
2753
|
+
import { RequestContext } from "network/Request";
|
|
2754
|
+
import { ConnectQueryParams } from "connect/ConnectAPI";
|
|
2755
|
+
import { AgeRatingDeclaration, KidsAgeBand } from "connect/models/AgeRatingDeclaration";
|
|
2756
|
+
import { AppCategory, AppCategoryId, AppSubcategoryId } from "connect/models/AppCategory";
|
|
2757
|
+
import { AppInfoLocalization, AppInfoLocalizationProps } from "connect/models/AppInfoLocalization";
|
|
2758
|
+
import { BundleIdPlatform } from "connect/models/BundleId";
|
|
2759
|
+
import { ConnectModel } from "connect/models/ConnectModel";
|
|
2760
|
+
export enum AppState {
|
|
2761
|
+
ACCEPTED = "ACCEPTED",
|
|
2762
|
+
DEVELOPER_REJECTED = "DEVELOPER_REJECTED",
|
|
2763
|
+
IN_REVIEW = "IN_REVIEW",
|
|
2764
|
+
PENDING_RELEASE = "PENDING_RELEASE",
|
|
2765
|
+
PREPARE_FOR_SUBMISSION = "PREPARE_FOR_SUBMISSION",
|
|
2766
|
+
READY_FOR_DISTRIBUTION = "READY_FOR_DISTRIBUTION",
|
|
2767
|
+
READY_FOR_REVIEW = "READY_FOR_REVIEW",
|
|
2768
|
+
REJECTED = "REJECTED",
|
|
2769
|
+
REPLACED_WITH_NEW_INFO = "REPLACED_WITH_NEW_INFO",
|
|
2770
|
+
WAITING_FOR_REVIEW = "WAITING_FOR_REVIEW"
|
|
2751
2771
|
}
|
|
2752
|
-
|
|
2753
|
-
|
|
2754
|
-
|
|
2772
|
+
/** @deprecated 3.3 - use {@link AppState} instead. */
|
|
2773
|
+
export enum AppStoreState {
|
|
2774
|
+
READY_FOR_SALE = "READY_FOR_SALE",
|
|
2775
|
+
PROCESSING_FOR_APP_STORE = "PROCESSING_FOR_APP_STORE",
|
|
2776
|
+
PENDING_DEVELOPER_RELEASE = "PENDING_DEVELOPER_RELEASE",
|
|
2777
|
+
PENDING_APPLE_RELEASE = "PENDING_APPLE_RELEASE",
|
|
2778
|
+
IN_REVIEW = "IN_REVIEW",
|
|
2779
|
+
WAITING_FOR_REVIEW = "WAITING_FOR_REVIEW",
|
|
2780
|
+
DEVELOPER_REJECTED = "DEVELOPER_REJECTED",
|
|
2781
|
+
REJECTED = "REJECTED",
|
|
2782
|
+
PREPARE_FOR_SUBMISSION = "PREPARE_FOR_SUBMISSION",
|
|
2783
|
+
METADATA_REJECTED = "METADATA_REJECTED",
|
|
2784
|
+
INVALID_BINARY = "INVALID_BINARY"
|
|
2755
2785
|
}
|
|
2756
|
-
export
|
|
2757
|
-
|
|
2758
|
-
|
|
2759
|
-
state: AppMediaAssetStateState;
|
|
2786
|
+
export enum AustraliaAgeRating {
|
|
2787
|
+
FIFTEEN = "FIFTEEN",
|
|
2788
|
+
EIGHTEEN = "EIGHTEEN"
|
|
2760
2789
|
}
|
|
2761
|
-
|
|
2790
|
+
/** @deprecated 2.2 - use {@link BrazilAgeRatingV2} instead. */
|
|
2791
|
+
export enum BrazilAgeRating {
|
|
2792
|
+
L = "L",
|
|
2793
|
+
TEN = "TEN",
|
|
2794
|
+
TWELVE = "TWELVE",
|
|
2795
|
+
FOURTEEN = "FOURTEEN",
|
|
2796
|
+
SIXTEEN = "SIXTEEN",
|
|
2797
|
+
EIGHTEEN = "EIGHTEEN"
|
|
2798
|
+
}
|
|
2799
|
+
export enum BrazilAgeRatingV2 {
|
|
2800
|
+
SELF_RATED_L = "SELF_RATED_L",
|
|
2801
|
+
SELF_RATED_TEN = "SELF_RATED_TEN",
|
|
2802
|
+
SELF_RATED_TWELVE = "SELF_RATED_TWELVE",
|
|
2803
|
+
SELF_RATED_FOURTEE = "SELF_RATED_FOURTEE",
|
|
2804
|
+
SELF_RATED_SIXTEEN = "SELF_RATED_SIXTEEN",
|
|
2805
|
+
SELF_RATED_EIGHTEE = "SELF_RATED_EIGHTEE",
|
|
2806
|
+
OFFICIAL_L = "OFFICIAL_L",
|
|
2807
|
+
OFFICIAL_TEN = "OFFICIAL_TEN",
|
|
2808
|
+
OFFICIAL_TWELVE = "OFFICIAL_TWELVE",
|
|
2809
|
+
OFFICIAL_FOURTEEN = "OFFICIAL_FOURTEEN",
|
|
2810
|
+
OFFICIAL_SIXTEEN = "OFFICIAL_SIXTEEN",
|
|
2811
|
+
OFFICIAL_EIGHTEEN = "OFFICIAL_EIGHTEEN"
|
|
2812
|
+
}
|
|
2813
|
+
export enum KoreaAgeRating {
|
|
2814
|
+
ALL = "ALL",
|
|
2815
|
+
TWELVE = "TWELVE",
|
|
2816
|
+
FIFTEEN = "FIFTEEN",
|
|
2817
|
+
NINETEEN = "NINETEEN",
|
|
2818
|
+
NOT_APPLICABLE = "NOT_APPLICABLE"
|
|
2819
|
+
}
|
|
2820
|
+
export enum AppStoreAgeRating {
|
|
2821
|
+
FOUR_PLUS = "FOUR_PLUS"
|
|
2822
|
+
}
|
|
2823
|
+
/**
|
|
2824
|
+
* @see https://developer.apple.com/documentation/appstoreconnectapi/appinfo/attributes-data.dictionary
|
|
2825
|
+
* @see https://developer.apple.com/documentation/appstoreconnectapi/appinfoupdaterequest/data-data.dictionary
|
|
2826
|
+
*/
|
|
2827
|
+
export interface AppInfoProps {
|
|
2762
2828
|
/**
|
|
2763
|
-
*
|
|
2829
|
+
* The app’s age rating as it appears on the App Store for all platforms.
|
|
2830
|
+
* @since 1.2
|
|
2764
2831
|
*/
|
|
2765
|
-
|
|
2832
|
+
appStoreAgeRating: AppStoreAgeRating | null;
|
|
2766
2833
|
/**
|
|
2767
|
-
*
|
|
2834
|
+
* The state of an app version in the App Store.
|
|
2835
|
+
* @since 1.2
|
|
2836
|
+
* @deprecated 3.3 - use {@link state} instead.
|
|
2768
2837
|
*/
|
|
2769
|
-
|
|
2838
|
+
appStoreState: AppStoreState;
|
|
2770
2839
|
/**
|
|
2771
|
-
*
|
|
2840
|
+
* The app’s age rating as it appears on the App Store in Australia for all platforms.
|
|
2841
|
+
* @since 3.6.0
|
|
2772
2842
|
*/
|
|
2773
|
-
|
|
2843
|
+
australiaAgeRating: AustraliaAgeRating | null;
|
|
2844
|
+
/**
|
|
2845
|
+
* The app’s age rating as it appears on the App Store in Brazil for all platforms.
|
|
2846
|
+
* @since 1.2
|
|
2847
|
+
* @deprecated 2.2 - use {@link brazilAgeRatingV2} instead.
|
|
2848
|
+
*/
|
|
2849
|
+
brazilAgeRating: BrazilAgeRating | null;
|
|
2850
|
+
/**
|
|
2851
|
+
* The app’s age rating as it appears on the App Store in Brazil for all platforms.
|
|
2852
|
+
* @since 2.2
|
|
2853
|
+
*/
|
|
2854
|
+
brazilAgeRatingV2: BrazilAgeRatingV2 | null;
|
|
2855
|
+
/**
|
|
2856
|
+
* A Made for Kids app’s age band.
|
|
2857
|
+
* @since 1.2
|
|
2858
|
+
*/
|
|
2859
|
+
kidsAgeBand: KidsAgeBand | null;
|
|
2860
|
+
/**
|
|
2861
|
+
* The app’s age rating as it appears on the App Store in South Korea for all platforms.
|
|
2862
|
+
* @since 3.6.0
|
|
2863
|
+
*/
|
|
2864
|
+
koreaAgeRating: KoreaAgeRating | null;
|
|
2865
|
+
/**
|
|
2866
|
+
* The state of an app version in the App Store.
|
|
2867
|
+
* @since 3.3
|
|
2868
|
+
*/
|
|
2869
|
+
state: AppState | null;
|
|
2870
|
+
primaryCategory?: AppCategory;
|
|
2871
|
+
primarySubcategoryOne?: AppCategory;
|
|
2872
|
+
primarySubcategoryTwo?: AppCategory;
|
|
2873
|
+
secondaryCategory?: AppCategory;
|
|
2874
|
+
secondarySubcategoryOne?: AppCategory;
|
|
2875
|
+
secondarySubcategoryTwo?: AppCategory;
|
|
2774
2876
|
}
|
|
2775
|
-
|
|
2776
|
-
|
|
2777
|
-
|
|
2778
|
-
|
|
2779
|
-
|
|
2780
|
-
|
|
2781
|
-
|
|
2877
|
+
export interface CategoryIds {
|
|
2878
|
+
primaryCategory?: AppCategoryId;
|
|
2879
|
+
primarySubcategoryOne?: AppSubcategoryId;
|
|
2880
|
+
primarySubcategoryTwo?: AppSubcategoryId;
|
|
2881
|
+
secondaryCategory?: AppCategoryId;
|
|
2882
|
+
secondarySubcategoryOne?: AppSubcategoryId;
|
|
2883
|
+
secondarySubcategoryTwo?: AppSubcategoryId;
|
|
2884
|
+
}
|
|
2885
|
+
export class AppInfo extends ConnectModel<AppInfoProps> {
|
|
2886
|
+
static type: string;
|
|
2887
|
+
static DEFAULT_INCLUDES: string[];
|
|
2888
|
+
static createAsync(context: RequestContext, { id, versionString, platform, }: {
|
|
2889
|
+
id: string;
|
|
2890
|
+
versionString: string;
|
|
2891
|
+
platform: BundleIdPlatform;
|
|
2892
|
+
}): Promise<AppInfo>;
|
|
2893
|
+
static infoAsync: (context: RequestContext, props: {
|
|
2894
|
+
id: string;
|
|
2895
|
+
query?: ConnectQueryParams;
|
|
2896
|
+
}) => Promise<AppInfo>;
|
|
2897
|
+
static deleteAsync: (context: RequestContext, props: {
|
|
2898
|
+
id: string;
|
|
2899
|
+
}) => Promise<void>;
|
|
2900
|
+
updateCategoriesAsync(categories?: CategoryIds): Promise<AppInfo>;
|
|
2901
|
+
/**
|
|
2902
|
+
* Get the age rating declaration for this app info.
|
|
2903
|
+
* The ageRatingDeclaration relationship moved from appStoreVersions to appInfos
|
|
2904
|
+
* in App Store Connect API.
|
|
2905
|
+
*/
|
|
2906
|
+
getAgeRatingDeclarationAsync({ query, }?: {
|
|
2907
|
+
query?: ConnectQueryParams;
|
|
2908
|
+
}): Promise<AgeRatingDeclaration | null>;
|
|
2909
|
+
getLocalizationsAsync({ query, }?: {
|
|
2910
|
+
query?: ConnectQueryParams;
|
|
2911
|
+
}): Promise<AppInfoLocalization[]>;
|
|
2912
|
+
createLocalizationAsync({ locale, }: Pick<AppInfoLocalizationProps, 'locale'>): Promise<AppInfoLocalization>;
|
|
2782
2913
|
}
|
|
2783
|
-
export const assetClient: AssetAPI;
|
|
2784
|
-
}
|
|
2785
|
-
declare module "utils/crypto" {
|
|
2786
|
-
import * as crypto from 'crypto';
|
|
2787
|
-
export function getChecksum(value: crypto.BinaryLike): string;
|
|
2788
2914
|
}
|
|
2789
2915
|
declare module "connect/models/AppStoreReviewAttachment" {
|
|
2790
2916
|
import { RequestContext } from "network/Request";
|
|
@@ -2867,8 +2993,11 @@ declare module "connect/models/AppPreview" {
|
|
|
2867
2993
|
sourceFileChecksum: string;
|
|
2868
2994
|
/**
|
|
2869
2995
|
* Time code for the preview frame (poster image).
|
|
2870
|
-
*
|
|
2871
|
-
*
|
|
2996
|
+
* Must be exactly 4-segment "HH:MM:SS:FF" format where FF is frames.
|
|
2997
|
+
* 3-segment ("MM:SS:FF") and 5+ segment formats are rejected with "Invalid format!".
|
|
2998
|
+
* Values beyond the video duration are silently accepted (clamped to last frame).
|
|
2999
|
+
* Empty string and null are rejected with "previewFrameTimeCode attribute is missing!".
|
|
3000
|
+
* @example "00:00:05:01"
|
|
2872
3001
|
*/
|
|
2873
3002
|
previewFrameTimeCode: string | null;
|
|
2874
3003
|
mimeType: string;
|
|
@@ -2877,6 +3006,15 @@ declare module "connect/models/AppPreview" {
|
|
|
2877
3006
|
* Only available after processing is complete.
|
|
2878
3007
|
*/
|
|
2879
3008
|
videoUrl: string | null;
|
|
3009
|
+
/**
|
|
3010
|
+
* Preview frame/poster image with processing state.
|
|
3011
|
+
* Contains the image asset and its processing state (e.g., COMPLETE, PROCESSING).
|
|
3012
|
+
* This is the detailed version returned by the API after setting a preview frame time code.
|
|
3013
|
+
*/
|
|
3014
|
+
previewFrameImage: {
|
|
3015
|
+
image: ImageAsset;
|
|
3016
|
+
state: AppMediaAssetState;
|
|
3017
|
+
} | null;
|
|
2880
3018
|
/**
|
|
2881
3019
|
* Preview frame/poster image asset.
|
|
2882
3020
|
* Contains templateUrl with {w}, {h}, {f} placeholders.
|
|
@@ -2884,6 +3022,12 @@ declare module "connect/models/AppPreview" {
|
|
|
2884
3022
|
previewImage: ImageAsset | null;
|
|
2885
3023
|
uploadOperations: UploadOperation[];
|
|
2886
3024
|
assetDeliveryState: AppMediaAssetState;
|
|
3025
|
+
/**
|
|
3026
|
+
* Video-specific delivery state. Tracks video transcoding/processing progress
|
|
3027
|
+
* separately from the asset upload state.
|
|
3028
|
+
* Only present for video previews (not screenshots).
|
|
3029
|
+
*/
|
|
3030
|
+
videoDeliveryState: AppMediaAssetState | null;
|
|
2887
3031
|
}
|
|
2888
3032
|
/**
|
|
2889
3033
|
* App Preview (video) for App Store listings.
|
|
@@ -2908,7 +3052,7 @@ declare module "connect/models/AppPreview" {
|
|
|
2908
3052
|
* @param id AppPreviewSet ID
|
|
2909
3053
|
* @param filePath Path to the video file (MP4, MOV)
|
|
2910
3054
|
* @param waitForProcessing Wait for Apple to process the video (default: true)
|
|
2911
|
-
* @param previewFrameTimeCode Optional time code for preview frame (e.g., "00:05:00" for 5 seconds)
|
|
3055
|
+
* @param previewFrameTimeCode Optional time code for preview frame in "HH:MM:SS:FF" format (e.g., "00:00:05:00" for 5 seconds)
|
|
2912
3056
|
*/
|
|
2913
3057
|
static uploadAsync(context: RequestContext, { id, filePath, waitForProcessing, previewFrameTimeCode, }: {
|
|
2914
3058
|
id: string;
|
|
@@ -2923,6 +3067,11 @@ declare module "connect/models/AppPreview" {
|
|
|
2923
3067
|
updateAsync(options: Partial<AppPreviewProps> & {
|
|
2924
3068
|
uploaded?: boolean;
|
|
2925
3069
|
}): Promise<AppPreview>;
|
|
3070
|
+
/**
|
|
3071
|
+
* Set the poster frame (preview image) for this app preview.
|
|
3072
|
+
* @param previewFrameTimeCode Time code in "HH:MM:SS:FF" format (e.g., "00:00:05:01" for ~5 seconds)
|
|
3073
|
+
*/
|
|
3074
|
+
setPreviewFrameAsync(previewFrameTimeCode: string): Promise<AppPreview>;
|
|
2926
3075
|
isAwaitingUpload(): boolean;
|
|
2927
3076
|
isProcessing(): boolean;
|
|
2928
3077
|
isComplete(): boolean;
|
|
@@ -3692,6 +3841,10 @@ declare module "connect/models/ResolutionCenterMessage" {
|
|
|
3692
3841
|
fromActor: unknown;
|
|
3693
3842
|
}
|
|
3694
3843
|
export type ResolutionCenterMessageQueryFilter = ConnectQueryFilter<ResolutionCenterMessageProps, 'rejections'>;
|
|
3844
|
+
/**
|
|
3845
|
+
* Resolution center messages require session auth (Iris API).
|
|
3846
|
+
* These endpoints are NOT available with API key (JWT) authentication.
|
|
3847
|
+
*/
|
|
3695
3848
|
export class ResolutionCenterMessage extends ConnectModel<ResolutionCenterMessageProps> {
|
|
3696
3849
|
static type: string;
|
|
3697
3850
|
static getAsync: (context: import("AppStoreConnect").RequestContext, props?: {
|
|
@@ -3703,23 +3856,85 @@ declare module "connect/models/ResolutionCenterMessage" {
|
|
|
3703
3856
|
} | undefined) => Promise<ResolutionCenterMessage[]>;
|
|
3704
3857
|
}
|
|
3705
3858
|
}
|
|
3706
|
-
declare module "connect/models/
|
|
3707
|
-
import {
|
|
3859
|
+
declare module "connect/models/ResolutionCenterDraftMessage" {
|
|
3860
|
+
import { RequestContext } from "network/Request";
|
|
3708
3861
|
import { ConnectModel } from "connect/models/ConnectModel";
|
|
3709
|
-
|
|
3710
|
-
|
|
3711
|
-
|
|
3712
|
-
/** '
|
|
3713
|
-
|
|
3714
|
-
/** '
|
|
3715
|
-
|
|
3862
|
+
import { ResolutionCenterMessage } from "connect/models/ResolutionCenterMessage";
|
|
3863
|
+
interface ResolutionCenterDraftMessageProps {
|
|
3864
|
+
messageBody: string;
|
|
3865
|
+
/** @example '2026-04-13T20:26:31.914Z' */
|
|
3866
|
+
createdDate: string;
|
|
3867
|
+
/** @example '2026-04-13T20:26:31.883Z' */
|
|
3868
|
+
lastUpdatedDate: string;
|
|
3716
3869
|
}
|
|
3717
|
-
|
|
3718
|
-
|
|
3719
|
-
|
|
3720
|
-
|
|
3721
|
-
|
|
3722
|
-
|
|
3870
|
+
/**
|
|
3871
|
+
* Draft messages in the resolution center. Used as an intermediate step
|
|
3872
|
+
* before sending a reply to App Review.
|
|
3873
|
+
*
|
|
3874
|
+
* Requires session auth (Iris API). NOT available with API key (JWT) authentication.
|
|
3875
|
+
*
|
|
3876
|
+
* Flow: createAsync (draft) → sendAsync (publish draft as message)
|
|
3877
|
+
*/
|
|
3878
|
+
export class ResolutionCenterDraftMessage extends ConnectModel<ResolutionCenterDraftMessageProps> {
|
|
3879
|
+
static type: string;
|
|
3880
|
+
/**
|
|
3881
|
+
* Create a draft message on a resolution center thread.
|
|
3882
|
+
*
|
|
3883
|
+
* POST /iris/v1/resolutionCenterDraftMessages
|
|
3884
|
+
*/
|
|
3885
|
+
static createAsync(context: RequestContext, { threadId, messageBody, }: {
|
|
3886
|
+
threadId: string;
|
|
3887
|
+
messageBody: string;
|
|
3888
|
+
}): Promise<ResolutionCenterDraftMessage>;
|
|
3889
|
+
static deleteAsync: (context: RequestContext, props: {
|
|
3890
|
+
id: string;
|
|
3891
|
+
}) => Promise<void>;
|
|
3892
|
+
/**
|
|
3893
|
+
* Update the draft message body.
|
|
3894
|
+
*
|
|
3895
|
+
* PATCH /iris/v1/resolutionCenterDraftMessages/{id}
|
|
3896
|
+
*/
|
|
3897
|
+
updateAsync({ messageBody, }: {
|
|
3898
|
+
messageBody: string;
|
|
3899
|
+
}): Promise<ResolutionCenterDraftMessage>;
|
|
3900
|
+
/**
|
|
3901
|
+
* Delete this draft message.
|
|
3902
|
+
*
|
|
3903
|
+
* DELETE /iris/v1/resolutionCenterDraftMessages/{id}
|
|
3904
|
+
*/
|
|
3905
|
+
deleteAsync(): Promise<void>;
|
|
3906
|
+
/**
|
|
3907
|
+
* Send this draft message, publishing it as a resolution center message.
|
|
3908
|
+
*
|
|
3909
|
+
* POST /iris/v1/resolutionCenterMessages
|
|
3910
|
+
*/
|
|
3911
|
+
sendAsync(): Promise<ResolutionCenterMessage>;
|
|
3912
|
+
}
|
|
3913
|
+
}
|
|
3914
|
+
declare module "connect/models/ReviewRejection" {
|
|
3915
|
+
import { ConnectQueryFilter } from "connect/ConnectAPI";
|
|
3916
|
+
import { ConnectModel } from "connect/models/ConnectModel";
|
|
3917
|
+
export interface ReviewRejectionReason {
|
|
3918
|
+
/** @example '2.5' */
|
|
3919
|
+
reasonSection: string;
|
|
3920
|
+
/** @example 'Performance: Software Requirements' */
|
|
3921
|
+
reasonDescription: string;
|
|
3922
|
+
/** @example '2.5.4' */
|
|
3923
|
+
reasonCode: string;
|
|
3924
|
+
}
|
|
3925
|
+
interface ReviewRejectionProps {
|
|
3926
|
+
reasons: ReviewRejectionReason[];
|
|
3927
|
+
}
|
|
3928
|
+
export type ReviewRejectionQueryFilter = ConnectQueryFilter<ReviewRejectionProps & {
|
|
3929
|
+
'resolutionCenterMessage.resolutionCenterThread': string;
|
|
3930
|
+
}, 'resolutionCenterMessage.resolutionCenterThread'>;
|
|
3931
|
+
/**
|
|
3932
|
+
* Review rejections require session auth (Iris API).
|
|
3933
|
+
* These endpoints are NOT available with API key (JWT) authentication.
|
|
3934
|
+
*/
|
|
3935
|
+
export class ReviewRejection extends ConnectModel<ReviewRejectionProps> {
|
|
3936
|
+
static type: string;
|
|
3937
|
+
static getAsync: (context: import("AppStoreConnect").RequestContext, props?: {
|
|
3723
3938
|
query?: import("connect/ConnectAPI").ConnectQueryParams<Partial<{
|
|
3724
3939
|
'resolutionCenterMessage.resolutionCenterThread': string | string[];
|
|
3725
3940
|
} & {
|
|
@@ -3733,6 +3948,7 @@ declare module "connect/models/ResolutionCenterThread" {
|
|
|
3733
3948
|
import type { AppStoreVersion } from "connect/models/AppStoreVersion";
|
|
3734
3949
|
import type { Build } from "connect/models/Build";
|
|
3735
3950
|
import { ConnectModel } from "connect/models/ConnectModel";
|
|
3951
|
+
import { ResolutionCenterDraftMessage } from "connect/models/ResolutionCenterDraftMessage";
|
|
3736
3952
|
import { ResolutionCenterMessage } from "connect/models/ResolutionCenterMessage";
|
|
3737
3953
|
import { ReviewRejection } from "connect/models/ReviewRejection";
|
|
3738
3954
|
export interface ResolutionCenterThreadProps {
|
|
@@ -3753,6 +3969,10 @@ declare module "connect/models/ResolutionCenterThread" {
|
|
|
3753
3969
|
build: string;
|
|
3754
3970
|
reviewSubmission: string;
|
|
3755
3971
|
}, 'build' | 'appStoreVersion' | 'threadType' | 'reviewSubmission'>;
|
|
3972
|
+
/**
|
|
3973
|
+
* Resolution center threads require session auth (Iris API).
|
|
3974
|
+
* These endpoints are NOT available with API key (JWT) authentication.
|
|
3975
|
+
*/
|
|
3756
3976
|
export class ResolutionCenterThread extends ConnectModel<ResolutionCenterThreadProps> {
|
|
3757
3977
|
static type: string;
|
|
3758
3978
|
static DEFAULT_INCLUDES: string[];
|
|
@@ -3769,7 +3989,28 @@ declare module "connect/models/ResolutionCenterThread" {
|
|
|
3769
3989
|
getResolutionCenterMessagesAsync({ query, }?: {
|
|
3770
3990
|
query?: ConnectQueryParams;
|
|
3771
3991
|
}): Promise<ResolutionCenterMessage[]>;
|
|
3992
|
+
/**
|
|
3993
|
+
* Get the current draft message for this thread, if any.
|
|
3994
|
+
*
|
|
3995
|
+
* GET /iris/v1/resolutionCenterThreads/{id}/resolutionCenterDraftMessage
|
|
3996
|
+
* Note: singular endpoint (not plural), returns a single object not an array.
|
|
3997
|
+
*/
|
|
3998
|
+
getDraftMessageAsync(): Promise<ResolutionCenterDraftMessage | null>;
|
|
3772
3999
|
fetchRejectionReasonsAsync(): Promise<ReviewRejection[]>;
|
|
4000
|
+
/**
|
|
4001
|
+
* Create a draft message on this thread.
|
|
4002
|
+
* Use `draft.sendAsync()` to publish it.
|
|
4003
|
+
*/
|
|
4004
|
+
createDraftMessageAsync({ messageBody, }: {
|
|
4005
|
+
messageBody: string;
|
|
4006
|
+
}): Promise<ResolutionCenterDraftMessage>;
|
|
4007
|
+
/**
|
|
4008
|
+
* Send a reply to this resolution center thread.
|
|
4009
|
+
* Creates a draft and immediately publishes it.
|
|
4010
|
+
*/
|
|
4011
|
+
sendReplyAsync({ messageBody }: {
|
|
4012
|
+
messageBody: string;
|
|
4013
|
+
}): Promise<ResolutionCenterMessage>;
|
|
3773
4014
|
}
|
|
3774
4015
|
}
|
|
3775
4016
|
declare module "connect/models/Build" {
|
|
@@ -4097,197 +4338,290 @@ declare module "connect/models/AppStoreVersion" {
|
|
|
4097
4338
|
rejectAsync(): Promise<boolean>;
|
|
4098
4339
|
}
|
|
4099
4340
|
}
|
|
4100
|
-
declare module "connect/models/
|
|
4341
|
+
declare module "connect/models/AppClipDefaultExperience" {
|
|
4101
4342
|
import { RequestContext } from "network/Request";
|
|
4343
|
+
import { ConnectQueryParams } from "connect/ConnectAPI";
|
|
4344
|
+
import { AppClipAppStoreReviewDetail } from "connect/models/AppClipAppStoreReviewDetail";
|
|
4345
|
+
import { AppClipDefaultExperienceLocalization } from "connect/models/AppClipDefaultExperienceLocalization";
|
|
4346
|
+
import { AppStoreVersion } from "connect/models/AppStoreVersion";
|
|
4102
4347
|
import { ConnectModel } from "connect/models/ConnectModel";
|
|
4103
|
-
export
|
|
4104
|
-
|
|
4105
|
-
|
|
4106
|
-
|
|
4107
|
-
|
|
4108
|
-
|
|
4109
|
-
|
|
4348
|
+
export enum AppClipAction {
|
|
4349
|
+
OPEN = "OPEN",
|
|
4350
|
+
VIEW = "VIEW",
|
|
4351
|
+
PLAY = "PLAY"
|
|
4352
|
+
}
|
|
4353
|
+
export interface AppClipDefaultExperienceProps {
|
|
4354
|
+
action: AppClipAction | null;
|
|
4355
|
+
appClipDefaultExperienceLocalizations?: AppClipDefaultExperienceLocalization[];
|
|
4356
|
+
appClipAppStoreReviewDetail?: AppClipAppStoreReviewDetail | null;
|
|
4357
|
+
releaseWithAppStoreVersion?: AppStoreVersion | null;
|
|
4110
4358
|
}
|
|
4111
4359
|
/**
|
|
4112
|
-
*
|
|
4360
|
+
* The default experience for an App Clip.
|
|
4361
|
+
*
|
|
4362
|
+
* One default experience exists per App Clip, optionally linked to a specific
|
|
4363
|
+
* App Store version via `releaseWithAppStoreVersion`. The default experience
|
|
4364
|
+
* holds per-locale subtitles + header images and the App Store review detail
|
|
4365
|
+
* (invocation URLs).
|
|
4366
|
+
*
|
|
4367
|
+
* @see https://developer.apple.com/documentation/appstoreconnectapi/appclipdefaultexperience
|
|
4113
4368
|
*/
|
|
4114
|
-
export class
|
|
4369
|
+
export class AppClipDefaultExperience extends ConnectModel<AppClipDefaultExperienceProps> {
|
|
4370
|
+
static type: string;
|
|
4371
|
+
static infoAsync: (context: RequestContext, props: {
|
|
4372
|
+
id: string;
|
|
4373
|
+
query?: ConnectQueryParams;
|
|
4374
|
+
}) => Promise<AppClipDefaultExperience>;
|
|
4375
|
+
static deleteAsync: (context: RequestContext, props: {
|
|
4376
|
+
id: string;
|
|
4377
|
+
}) => Promise<void>;
|
|
4378
|
+
static createAsync(context: RequestContext, { appClipId, releaseWithAppStoreVersionId, appClipDefaultExperienceTemplateId, attributes, }: {
|
|
4379
|
+
appClipId: string;
|
|
4380
|
+
releaseWithAppStoreVersionId?: string;
|
|
4381
|
+
/**
|
|
4382
|
+
* Optional id of an existing default experience to copy. Apple uses
|
|
4383
|
+
* this to clone localizations + review detail from a previous version's
|
|
4384
|
+
* default experience into the new one.
|
|
4385
|
+
*/
|
|
4386
|
+
appClipDefaultExperienceTemplateId?: string;
|
|
4387
|
+
attributes?: Partial<Pick<AppClipDefaultExperienceProps, 'action'>>;
|
|
4388
|
+
}): Promise<AppClipDefaultExperience>;
|
|
4389
|
+
updateAsync(options: Partial<Pick<AppClipDefaultExperienceProps, 'action'>> & {
|
|
4390
|
+
releaseWithAppStoreVersionId?: string | null;
|
|
4391
|
+
}): Promise<AppClipDefaultExperience>;
|
|
4392
|
+
deleteAsync(): Promise<void>;
|
|
4393
|
+
/**
|
|
4394
|
+
* Get the localizations (locale + subtitle + optional header image) for this default experience.
|
|
4395
|
+
*/
|
|
4396
|
+
getAppClipDefaultExperienceLocalizationsAsync({ query, }?: {
|
|
4397
|
+
query?: ConnectQueryParams;
|
|
4398
|
+
}): Promise<AppClipDefaultExperienceLocalization[]>;
|
|
4399
|
+
/**
|
|
4400
|
+
* Get the App Store review detail (invocation URLs) for this default experience.
|
|
4401
|
+
* Returns null if none has been created yet.
|
|
4402
|
+
*/
|
|
4403
|
+
getAppClipAppStoreReviewDetailAsync(): Promise<AppClipAppStoreReviewDetail | null>;
|
|
4404
|
+
createAppClipDefaultExperienceLocalizationAsync(attributes: Pick<AppClipDefaultExperienceLocalization['attributes'], 'locale' | 'subtitle'>): Promise<AppClipDefaultExperienceLocalization>;
|
|
4405
|
+
}
|
|
4406
|
+
}
|
|
4407
|
+
declare module "connect/models/AppClip" {
|
|
4408
|
+
import { ConnectQueryParams } from "connect/ConnectAPI";
|
|
4409
|
+
import { AppClipDefaultExperience } from "connect/models/AppClipDefaultExperience";
|
|
4410
|
+
import { ConnectModel } from "connect/models/ConnectModel";
|
|
4411
|
+
export interface AppClipProps {
|
|
4412
|
+
/**
|
|
4413
|
+
* The bundle identifier of the App Clip.
|
|
4414
|
+
* @example 'com.bacon.app.Clip'
|
|
4415
|
+
*/
|
|
4416
|
+
bundleId: string;
|
|
4417
|
+
}
|
|
4418
|
+
/**
|
|
4419
|
+
* An App Clip associated with an app in App Store Connect.
|
|
4420
|
+
*
|
|
4421
|
+
* App Clips are lightweight versions of apps that let users perform quick tasks
|
|
4422
|
+
* without downloading the full app.
|
|
4423
|
+
*/
|
|
4424
|
+
export class AppClip extends ConnectModel<AppClipProps> {
|
|
4115
4425
|
static type: string;
|
|
4116
4426
|
/**
|
|
4427
|
+
* Get a single App Clip by ID.
|
|
4117
4428
|
*
|
|
4118
|
-
* @param id
|
|
4429
|
+
* @param id App Clip ID
|
|
4119
4430
|
*/
|
|
4120
|
-
static
|
|
4431
|
+
static infoAsync: (context: import("AppStoreConnect").RequestContext, props: {
|
|
4121
4432
|
id: string;
|
|
4122
|
-
|
|
4123
|
-
})
|
|
4124
|
-
|
|
4433
|
+
query?: ConnectQueryParams;
|
|
4434
|
+
}) => Promise<AppClip>;
|
|
4435
|
+
/**
|
|
4436
|
+
* Get the default experiences associated with this App Clip.
|
|
4437
|
+
*
|
|
4438
|
+
* Eagerly includes localizations and the App Store review detail so callers
|
|
4439
|
+
* can avoid follow-up requests.
|
|
4440
|
+
*
|
|
4441
|
+
* @see https://developer.apple.com/documentation/appstoreconnectapi/get-v1-appclips-_id_-appclipdefaultexperiences
|
|
4442
|
+
*/
|
|
4443
|
+
getAppClipDefaultExperiencesAsync({ query, }?: {
|
|
4444
|
+
query?: ConnectQueryParams;
|
|
4445
|
+
}): Promise<AppClipDefaultExperience[]>;
|
|
4446
|
+
}
|
|
4447
|
+
}
|
|
4448
|
+
declare module "connect/models/AppDataUsageGrouping" {
|
|
4449
|
+
import { ConnectModel } from "connect/models/ConnectModel";
|
|
4450
|
+
export interface AppDataUsageGroupingProps {
|
|
4451
|
+
deleted: boolean;
|
|
4452
|
+
}
|
|
4453
|
+
export class AppDataUsageGrouping extends ConnectModel<AppDataUsageGroupingProps> {
|
|
4454
|
+
static type: string;
|
|
4455
|
+
static deleteAsync: (context: import("AppStoreConnect").RequestContext, props: {
|
|
4125
4456
|
id: string;
|
|
4126
4457
|
}) => Promise<void>;
|
|
4127
|
-
|
|
4458
|
+
deleteAsync(): Promise<void>;
|
|
4128
4459
|
}
|
|
4129
4460
|
}
|
|
4130
|
-
declare module "connect/models/
|
|
4131
|
-
import {
|
|
4132
|
-
import { ConnectQueryParams } from "connect/ConnectAPI";
|
|
4133
|
-
import { AgeRatingDeclaration, KidsAgeBand } from "connect/models/AgeRatingDeclaration";
|
|
4134
|
-
import { AppCategory, AppCategoryId, AppSubcategoryId } from "connect/models/AppCategory";
|
|
4135
|
-
import { AppInfoLocalization, AppInfoLocalizationProps } from "connect/models/AppInfoLocalization";
|
|
4136
|
-
import { BundleIdPlatform } from "connect/models/BundleId";
|
|
4461
|
+
declare module "connect/models/AppDataUsageCategory" {
|
|
4462
|
+
import { AppDataUsageGrouping } from "connect/models/AppDataUsageGrouping";
|
|
4137
4463
|
import { ConnectModel } from "connect/models/ConnectModel";
|
|
4138
|
-
export
|
|
4139
|
-
|
|
4140
|
-
|
|
4141
|
-
IN_REVIEW = "IN_REVIEW",
|
|
4142
|
-
PENDING_RELEASE = "PENDING_RELEASE",
|
|
4143
|
-
PREPARE_FOR_SUBMISSION = "PREPARE_FOR_SUBMISSION",
|
|
4144
|
-
READY_FOR_DISTRIBUTION = "READY_FOR_DISTRIBUTION",
|
|
4145
|
-
READY_FOR_REVIEW = "READY_FOR_REVIEW",
|
|
4146
|
-
REJECTED = "REJECTED",
|
|
4147
|
-
REPLACED_WITH_NEW_INFO = "REPLACED_WITH_NEW_INFO",
|
|
4148
|
-
WAITING_FOR_REVIEW = "WAITING_FOR_REVIEW"
|
|
4464
|
+
export interface AppDataUsageCategoryProps {
|
|
4465
|
+
deleted: boolean;
|
|
4466
|
+
grouping: AppDataUsageGrouping;
|
|
4149
4467
|
}
|
|
4150
|
-
/**
|
|
4151
|
-
|
|
4152
|
-
|
|
4153
|
-
|
|
4154
|
-
|
|
4155
|
-
|
|
4156
|
-
|
|
4157
|
-
|
|
4158
|
-
|
|
4159
|
-
|
|
4160
|
-
|
|
4161
|
-
|
|
4162
|
-
|
|
4468
|
+
/**
|
|
4469
|
+
* @see https://appstoreconnect.apple.com/iris/v1/appDataUsageCategories
|
|
4470
|
+
* @example `apple-utils app-data-usage-category:get`
|
|
4471
|
+
*/
|
|
4472
|
+
export enum AppDataUsageCategoryId {
|
|
4473
|
+
ADVERTISING_DATA = "ADVERTISING_DATA",
|
|
4474
|
+
AUDIO = "AUDIO",
|
|
4475
|
+
BROWSING_HISTORY = "BROWSING_HISTORY",
|
|
4476
|
+
COARSE_LOCATION = "COARSE_LOCATION",
|
|
4477
|
+
CONTACTS = "CONTACTS",
|
|
4478
|
+
CRASH_DATA = "CRASH_DATA",
|
|
4479
|
+
CREDIT_AND_FRAUD = "CREDIT_AND_FRAUD",
|
|
4480
|
+
CUSTOMER_SUPPORT = "CUSTOMER_SUPPORT",
|
|
4481
|
+
DEVICE_ID = "DEVICE_ID",
|
|
4482
|
+
EMAIL_ADDRESS = "EMAIL_ADDRESS",
|
|
4483
|
+
EMAILS_OR_TEXT_MESSAGES = "EMAILS_OR_TEXT_MESSAGES",
|
|
4484
|
+
ENVIRONMENTAL_SCANNING = "ENVIRONMENTAL_SCANNING",
|
|
4485
|
+
FITNESS = "FITNESS",
|
|
4486
|
+
GAMEPLAY_CONTENT = "GAMEPLAY_CONTENT",
|
|
4487
|
+
HANDS = "HANDS",
|
|
4488
|
+
HEAD_MOVEMENT = "HEAD_MOVEMENT",
|
|
4489
|
+
HEALTH = "HEALTH",
|
|
4490
|
+
NAME = "NAME",
|
|
4491
|
+
OTHER_CONTACT_INFO = "OTHER_CONTACT_INFO",
|
|
4492
|
+
OTHER_DATA = "OTHER_DATA",
|
|
4493
|
+
OTHER_DIAGNOSTIC_DATA = "OTHER_DIAGNOSTIC_DATA",
|
|
4494
|
+
OTHER_FINANCIAL_INFO = "OTHER_FINANCIAL_INFO",
|
|
4495
|
+
OTHER_USAGE_DATA = "OTHER_USAGE_DATA",
|
|
4496
|
+
OTHER_USER_CONTENT = "OTHER_USER_CONTENT",
|
|
4497
|
+
PAYMENT_INFORMATION = "PAYMENT_INFORMATION",
|
|
4498
|
+
PERFORMANCE_DATA = "PERFORMANCE_DATA",
|
|
4499
|
+
PHONE_NUMBER = "PHONE_NUMBER",
|
|
4500
|
+
PHOTOS_OR_VIDEOS = "PHOTOS_OR_VIDEOS",
|
|
4501
|
+
PHYSICAL_ADDRESS = "PHYSICAL_ADDRESS",
|
|
4502
|
+
PRECISE_LOCATION = "PRECISE_LOCATION",
|
|
4503
|
+
PRODUCT_INTERACTION = "PRODUCT_INTERACTION",
|
|
4504
|
+
PURCHASE_HISTORY = "PURCHASE_HISTORY",
|
|
4505
|
+
SEARCH_HISTORY = "SEARCH_HISTORY",
|
|
4506
|
+
SENSITIVE_INFO = "SENSITIVE_INFO",
|
|
4507
|
+
USER_ID = "USER_ID"
|
|
4163
4508
|
}
|
|
4164
|
-
export
|
|
4165
|
-
|
|
4166
|
-
|
|
4509
|
+
export class AppDataUsageCategory extends ConnectModel<AppDataUsageCategoryProps> {
|
|
4510
|
+
static type: string;
|
|
4511
|
+
static getAsync: (context: import("AppStoreConnect").RequestContext, props?: {
|
|
4512
|
+
query?: import("connect/ConnectAPI").ConnectQueryParams<Record<string, any>> | undefined;
|
|
4513
|
+
} | undefined) => Promise<AppDataUsageCategory[]>;
|
|
4514
|
+
static deleteAsync: (context: import("AppStoreConnect").RequestContext, props: {
|
|
4515
|
+
id: string;
|
|
4516
|
+
}) => Promise<void>;
|
|
4517
|
+
deleteAsync(): Promise<void>;
|
|
4167
4518
|
}
|
|
4168
|
-
|
|
4169
|
-
|
|
4170
|
-
|
|
4171
|
-
|
|
4172
|
-
|
|
4173
|
-
FOURTEEN = "FOURTEEN",
|
|
4174
|
-
SIXTEEN = "SIXTEEN",
|
|
4175
|
-
EIGHTEEN = "EIGHTEEN"
|
|
4519
|
+
}
|
|
4520
|
+
declare module "connect/models/AppDataUsageDataProtection" {
|
|
4521
|
+
import { ConnectModel } from "connect/models/ConnectModel";
|
|
4522
|
+
export interface AppDataUsageDataProtectionProps {
|
|
4523
|
+
deleted: boolean;
|
|
4176
4524
|
}
|
|
4177
|
-
|
|
4178
|
-
|
|
4179
|
-
|
|
4180
|
-
|
|
4181
|
-
|
|
4182
|
-
|
|
4183
|
-
|
|
4184
|
-
|
|
4185
|
-
|
|
4186
|
-
OFFICIAL_TWELVE = "OFFICIAL_TWELVE",
|
|
4187
|
-
OFFICIAL_FOURTEEN = "OFFICIAL_FOURTEEN",
|
|
4188
|
-
OFFICIAL_SIXTEEN = "OFFICIAL_SIXTEEN",
|
|
4189
|
-
OFFICIAL_EIGHTEEN = "OFFICIAL_EIGHTEEN"
|
|
4525
|
+
/**
|
|
4526
|
+
* @see https://appstoreconnect.apple.com/iris/v1/appDataUsageDataProtections
|
|
4527
|
+
* @example `apple-utils app-data-usage-protection:get`
|
|
4528
|
+
*/
|
|
4529
|
+
export enum AppDataUsageDataProtectionId {
|
|
4530
|
+
DATA_USED_TO_TRACK_YOU = "DATA_USED_TO_TRACK_YOU",
|
|
4531
|
+
DATA_LINKED_TO_YOU = "DATA_LINKED_TO_YOU",
|
|
4532
|
+
DATA_NOT_LINKED_TO_YOU = "DATA_NOT_LINKED_TO_YOU",
|
|
4533
|
+
DATA_NOT_COLLECTED = "DATA_NOT_COLLECTED"
|
|
4190
4534
|
}
|
|
4191
|
-
export
|
|
4192
|
-
|
|
4193
|
-
|
|
4194
|
-
|
|
4195
|
-
|
|
4196
|
-
|
|
4535
|
+
export class AppDataUsageDataProtection extends ConnectModel<AppDataUsageDataProtectionProps> {
|
|
4536
|
+
static type: string;
|
|
4537
|
+
static getAsync: (context: import("AppStoreConnect").RequestContext, props?: {
|
|
4538
|
+
query?: import("connect/ConnectAPI").ConnectQueryParams<Record<string, any>> | undefined;
|
|
4539
|
+
} | undefined) => Promise<AppDataUsageDataProtection[]>;
|
|
4540
|
+
static deleteAsync: (context: import("AppStoreConnect").RequestContext, props: {
|
|
4541
|
+
id: string;
|
|
4542
|
+
}) => Promise<void>;
|
|
4543
|
+
deleteAsync(): Promise<void>;
|
|
4197
4544
|
}
|
|
4198
|
-
|
|
4199
|
-
|
|
4545
|
+
}
|
|
4546
|
+
declare module "connect/models/AppDataUsagePurpose" {
|
|
4547
|
+
import { ConnectModel } from "connect/models/ConnectModel";
|
|
4548
|
+
export interface AppDataUsagePurposeProps {
|
|
4549
|
+
deleted: boolean;
|
|
4200
4550
|
}
|
|
4201
4551
|
/**
|
|
4202
|
-
* @see https://
|
|
4203
|
-
* @
|
|
4552
|
+
* @see https://appstoreconnect.apple.com/iris/v1/appDataUsagePurposes
|
|
4553
|
+
* @example `apple-utils app-data-usage-purpose:get`
|
|
4204
4554
|
*/
|
|
4205
|
-
export
|
|
4206
|
-
|
|
4207
|
-
|
|
4208
|
-
|
|
4209
|
-
|
|
4210
|
-
|
|
4211
|
-
|
|
4212
|
-
|
|
4213
|
-
|
|
4214
|
-
|
|
4215
|
-
|
|
4216
|
-
|
|
4217
|
-
|
|
4218
|
-
|
|
4219
|
-
|
|
4220
|
-
|
|
4221
|
-
|
|
4222
|
-
/**
|
|
4223
|
-
* The app’s age rating as it appears on the App Store in Brazil for all platforms.
|
|
4224
|
-
* @since 1.2
|
|
4225
|
-
* @deprecated 2.2 - use {@link brazilAgeRatingV2} instead.
|
|
4226
|
-
*/
|
|
4227
|
-
brazilAgeRating: BrazilAgeRating | null;
|
|
4228
|
-
/**
|
|
4229
|
-
* The app’s age rating as it appears on the App Store in Brazil for all platforms.
|
|
4230
|
-
* @since 2.2
|
|
4231
|
-
*/
|
|
4232
|
-
brazilAgeRatingV2: BrazilAgeRatingV2 | null;
|
|
4233
|
-
/**
|
|
4234
|
-
* A Made for Kids app’s age band.
|
|
4235
|
-
* @since 1.2
|
|
4236
|
-
*/
|
|
4237
|
-
kidsAgeBand: KidsAgeBand | null;
|
|
4238
|
-
/**
|
|
4239
|
-
* The app’s age rating as it appears on the App Store in South Korea for all platforms.
|
|
4240
|
-
* @since 3.6.0
|
|
4241
|
-
*/
|
|
4242
|
-
koreaAgeRating: KoreaAgeRating | null;
|
|
4243
|
-
/**
|
|
4244
|
-
* The state of an app version in the App Store.
|
|
4245
|
-
* @since 3.3
|
|
4246
|
-
*/
|
|
4247
|
-
state: AppState | null;
|
|
4248
|
-
primaryCategory?: AppCategory;
|
|
4249
|
-
primarySubcategoryOne?: AppCategory;
|
|
4250
|
-
primarySubcategoryTwo?: AppCategory;
|
|
4251
|
-
secondaryCategory?: AppCategory;
|
|
4252
|
-
secondarySubcategoryOne?: AppCategory;
|
|
4253
|
-
secondarySubcategoryTwo?: AppCategory;
|
|
4555
|
+
export enum AppDataUsagePurposeId {
|
|
4556
|
+
THIRD_PARTY_ADVERTISING = "THIRD_PARTY_ADVERTISING",
|
|
4557
|
+
DEVELOPERS_ADVERTISING = "DEVELOPERS_ADVERTISING",
|
|
4558
|
+
ANALYTICS = "ANALYTICS",
|
|
4559
|
+
PRODUCT_PERSONALIZATION = "PRODUCT_PERSONALIZATION",
|
|
4560
|
+
APP_FUNCTIONALITY = "APP_FUNCTIONALITY",
|
|
4561
|
+
OTHER_PURPOSES = "OTHER_PURPOSES"
|
|
4562
|
+
}
|
|
4563
|
+
export class AppDataUsagePurpose extends ConnectModel<AppDataUsagePurposeProps> {
|
|
4564
|
+
static type: string;
|
|
4565
|
+
static getAsync: (context: import("AppStoreConnect").RequestContext, props?: {
|
|
4566
|
+
query?: import("connect/ConnectAPI").ConnectQueryParams<Record<string, any>> | undefined;
|
|
4567
|
+
} | undefined) => Promise<AppDataUsagePurpose[]>;
|
|
4568
|
+
static deleteAsync: (context: import("AppStoreConnect").RequestContext, props: {
|
|
4569
|
+
id: string;
|
|
4570
|
+
}) => Promise<void>;
|
|
4571
|
+
deleteAsync(): Promise<void>;
|
|
4254
4572
|
}
|
|
4255
|
-
|
|
4256
|
-
|
|
4257
|
-
|
|
4258
|
-
|
|
4259
|
-
|
|
4260
|
-
|
|
4261
|
-
|
|
4573
|
+
}
|
|
4574
|
+
declare module "connect/models/AppDataUsage" {
|
|
4575
|
+
import { RequestContext } from "network/Request";
|
|
4576
|
+
import { AppDataUsageCategory } from "connect/models/AppDataUsageCategory";
|
|
4577
|
+
import { AppDataUsageDataProtection } from "connect/models/AppDataUsageDataProtection";
|
|
4578
|
+
import { AppDataUsageGrouping } from "connect/models/AppDataUsageGrouping";
|
|
4579
|
+
import { AppDataUsagePurpose } from "connect/models/AppDataUsagePurpose";
|
|
4580
|
+
import { ConnectModel } from "connect/models/ConnectModel";
|
|
4581
|
+
export interface AppDataUsageProps {
|
|
4582
|
+
category?: AppDataUsageCategory;
|
|
4583
|
+
grouping?: AppDataUsageGrouping;
|
|
4584
|
+
purpose?: AppDataUsagePurpose;
|
|
4585
|
+
dataProtection?: AppDataUsageDataProtection;
|
|
4262
4586
|
}
|
|
4263
|
-
export class
|
|
4587
|
+
export class AppDataUsage extends ConnectModel<AppDataUsageProps> {
|
|
4264
4588
|
static type: string;
|
|
4265
4589
|
static DEFAULT_INCLUDES: string[];
|
|
4266
|
-
|
|
4267
|
-
|
|
4268
|
-
|
|
4269
|
-
|
|
4270
|
-
|
|
4271
|
-
|
|
4590
|
+
/**
|
|
4591
|
+
*
|
|
4592
|
+
* @param id `App` id
|
|
4593
|
+
* @param appDataUsageCategory `AppDataUsageCategory` id (`AppDataUsageCategoryId`)
|
|
4594
|
+
* @param appDataUsageProtection `AppDataUsageProtection` id (`AppDataUsageProtectionId`)
|
|
4595
|
+
* @param appDataUsagePurpose `AppDataUsagePurpose` id (`AppDataUsagePurposeId`)
|
|
4596
|
+
*/
|
|
4597
|
+
static createAsync(context: RequestContext, { id, appDataUsageCategory, appDataUsageProtection, appDataUsagePurpose, }: {
|
|
4272
4598
|
id: string;
|
|
4273
|
-
|
|
4274
|
-
|
|
4599
|
+
appDataUsageCategory?: string;
|
|
4600
|
+
appDataUsageProtection?: string;
|
|
4601
|
+
appDataUsagePurpose?: string;
|
|
4602
|
+
}): Promise<AppDataUsage>;
|
|
4275
4603
|
static deleteAsync: (context: RequestContext, props: {
|
|
4276
4604
|
id: string;
|
|
4277
4605
|
}) => Promise<void>;
|
|
4278
|
-
|
|
4606
|
+
deleteAsync(): Promise<void>;
|
|
4607
|
+
}
|
|
4608
|
+
}
|
|
4609
|
+
declare module "connect/models/AppDataUsagesPublishState" {
|
|
4610
|
+
import { ConnectModel } from "connect/models/ConnectModel";
|
|
4611
|
+
export interface AppDataUsagesPublishStateProps {
|
|
4612
|
+
published: boolean;
|
|
4279
4613
|
/**
|
|
4280
|
-
*
|
|
4281
|
-
* The ageRatingDeclaration relationship moved from appStoreVersions to appInfos
|
|
4282
|
-
* in App Store Connect API.
|
|
4614
|
+
* @example "2021-06-26T14:31:32.201-07:00"
|
|
4283
4615
|
*/
|
|
4284
|
-
|
|
4285
|
-
|
|
4286
|
-
|
|
4287
|
-
|
|
4288
|
-
|
|
4289
|
-
|
|
4290
|
-
|
|
4616
|
+
lastPublished: string;
|
|
4617
|
+
/**
|
|
4618
|
+
* @example "Evan Bacon"
|
|
4619
|
+
*/
|
|
4620
|
+
lastPublishedBy: string;
|
|
4621
|
+
}
|
|
4622
|
+
export class AppDataUsagesPublishState extends ConnectModel<AppDataUsagesPublishStateProps> {
|
|
4623
|
+
static type: string;
|
|
4624
|
+
updateAsync(options: Pick<AppDataUsagesPublishStateProps, 'published'>): Promise<AppDataUsagesPublishState>;
|
|
4291
4625
|
}
|
|
4292
4626
|
}
|
|
4293
4627
|
declare module "connect/models/AppPriceTier" {
|
|
@@ -4296,12 +4630,119 @@ declare module "connect/models/AppPriceTier" {
|
|
|
4296
4630
|
static type: string;
|
|
4297
4631
|
}
|
|
4298
4632
|
}
|
|
4633
|
+
declare module "connect/models/Territory" {
|
|
4634
|
+
import { ConnectModel } from "connect/models/ConnectModel";
|
|
4635
|
+
export interface TerritoryProps {
|
|
4636
|
+
/**
|
|
4637
|
+
* @example 'USD'
|
|
4638
|
+
*/
|
|
4639
|
+
currency: string;
|
|
4640
|
+
}
|
|
4641
|
+
export class Territory extends ConnectModel<TerritoryProps> {
|
|
4642
|
+
static type: string;
|
|
4643
|
+
static getAsync: (context: import("AppStoreConnect").RequestContext, props?: {
|
|
4644
|
+
query?: import("connect/ConnectAPI").ConnectQueryParams<Record<string, any>> | undefined;
|
|
4645
|
+
} | undefined) => Promise<Territory[]>;
|
|
4646
|
+
}
|
|
4647
|
+
}
|
|
4648
|
+
declare module "connect/models/AppPricePoint" {
|
|
4649
|
+
import { RequestContext } from "network/Request";
|
|
4650
|
+
import { ConnectQueryFilter, ConnectQueryParams } from "connect/ConnectAPI";
|
|
4651
|
+
import { AppPriceTier } from "connect/models/AppPriceTier";
|
|
4652
|
+
import { ConnectModel } from "connect/models/ConnectModel";
|
|
4653
|
+
import { Territory } from "connect/models/Territory";
|
|
4654
|
+
export interface AppPricePointProps {
|
|
4655
|
+
customerPrice: string;
|
|
4656
|
+
proceeds: string;
|
|
4657
|
+
/** @deprecated Only populated via the legacy iris endpoint. */
|
|
4658
|
+
priceTier?: AppPriceTier;
|
|
4659
|
+
territory?: Territory;
|
|
4660
|
+
}
|
|
4661
|
+
export type AppPricePointQueryFilter = ConnectQueryFilter<{
|
|
4662
|
+
territory: string;
|
|
4663
|
+
priceTier: string;
|
|
4664
|
+
app: string;
|
|
4665
|
+
}, 'territory' | 'priceTier' | 'app'>;
|
|
4666
|
+
export class AppPricePoint extends ConnectModel<AppPricePointProps> {
|
|
4667
|
+
static type: string;
|
|
4668
|
+
/**
|
|
4669
|
+
* Legacy list endpoint (iris). Kept for backwards compatibility; new callers
|
|
4670
|
+
* should use the app-scoped {@link AppPricePoint.getForAppAsync} helper which
|
|
4671
|
+
* uses the public App Store Connect API.
|
|
4672
|
+
*/
|
|
4673
|
+
static getAsync: (context: RequestContext, props?: {
|
|
4674
|
+
query?: ConnectQueryParams<Partial<{
|
|
4675
|
+
app: string | string[];
|
|
4676
|
+
territory: string | string[];
|
|
4677
|
+
priceTier: string | string[];
|
|
4678
|
+
} & {
|
|
4679
|
+
id?: string;
|
|
4680
|
+
}>> | undefined;
|
|
4681
|
+
} | undefined) => Promise<AppPricePoint[]>;
|
|
4682
|
+
/**
|
|
4683
|
+
* Look up a single price point by id (ex: `UNHB5PT4MA`).
|
|
4684
|
+
*
|
|
4685
|
+
* Uses the legacy iris endpoint for compatibility with existing callers.
|
|
4686
|
+
* The modern equivalent is `GET /v3/appPricePoints/{id}`.
|
|
4687
|
+
*/
|
|
4688
|
+
static infoAsync: (context: RequestContext, props: {
|
|
4689
|
+
id: string;
|
|
4690
|
+
query?: ConnectQueryParams;
|
|
4691
|
+
}) => Promise<AppPricePoint>;
|
|
4692
|
+
/**
|
|
4693
|
+
* Fetch the valid price points for a given app, optionally filtered by
|
|
4694
|
+
* territory. This is the replacement for the deprecated global
|
|
4695
|
+
* `appPriceTiers` lookup and is used when constructing an
|
|
4696
|
+
* {@link AppPriceSchedule}. Price point ids are app-specific.
|
|
4697
|
+
*
|
|
4698
|
+
* @see https://developer.apple.com/documentation/appstoreconnectapi/get-v1-apps-_id_-apppricepoints
|
|
4699
|
+
*/
|
|
4700
|
+
static getForAppAsync(context: RequestContext, { id, query, }: {
|
|
4701
|
+
/** App id (e.g. `1234567890`). */
|
|
4702
|
+
id: string;
|
|
4703
|
+
query?: ConnectQueryParams<AppPricePointQueryFilter>;
|
|
4704
|
+
}): Promise<AppPricePoint[]>;
|
|
4705
|
+
}
|
|
4706
|
+
}
|
|
4299
4707
|
declare module "connect/models/AppPrice" {
|
|
4708
|
+
import { AppPricePoint } from "connect/models/AppPricePoint";
|
|
4300
4709
|
import { AppPriceTier } from "connect/models/AppPriceTier";
|
|
4301
4710
|
import { ConnectModel } from "connect/models/ConnectModel";
|
|
4711
|
+
import { Territory } from "connect/models/Territory";
|
|
4302
4712
|
export interface AppPriceProps {
|
|
4303
|
-
|
|
4304
|
-
|
|
4713
|
+
/**
|
|
4714
|
+
* ISO-8601 start date for this price (e.g. `2024-01-31`).
|
|
4715
|
+
*
|
|
4716
|
+
* When used as a "manual" price inside an {@link AppPriceSchedule} create
|
|
4717
|
+
* request, passing `null` (or omitting the attribute) means "effective
|
|
4718
|
+
* immediately".
|
|
4719
|
+
*/
|
|
4720
|
+
startDate: string | null;
|
|
4721
|
+
/**
|
|
4722
|
+
* ISO-8601 end date. Optional — typically not set by callers and returned by
|
|
4723
|
+
* Apple only for historical automatic prices.
|
|
4724
|
+
*/
|
|
4725
|
+
endDate?: string | null;
|
|
4726
|
+
/**
|
|
4727
|
+
* Whether this price was set manually as part of an
|
|
4728
|
+
* {@link AppPriceSchedule}, or automatically computed by Apple from the
|
|
4729
|
+
* schedule's `baseTerritory` price. Only populated on reads.
|
|
4730
|
+
*/
|
|
4731
|
+
manual?: boolean;
|
|
4732
|
+
/**
|
|
4733
|
+
* The price point this price refers to. Populated on reads, and required
|
|
4734
|
+
* when constructing an `AppPrice` to pass to
|
|
4735
|
+
* {@link AppPriceSchedule.createAsync}.
|
|
4736
|
+
*/
|
|
4737
|
+
appPricePoint?: AppPricePoint;
|
|
4738
|
+
/** Territory this price applies to (read-only). */
|
|
4739
|
+
territory?: Territory;
|
|
4740
|
+
/**
|
|
4741
|
+
* Legacy price tier (e.g. `1`, `2`, ...). Only populated by the deprecated
|
|
4742
|
+
* iris endpoint. New callers should use {@link AppPriceProps.appPricePoint}.
|
|
4743
|
+
* @deprecated Apple removed the global tier system in late 2023.
|
|
4744
|
+
*/
|
|
4745
|
+
priceTier?: AppPriceTier;
|
|
4305
4746
|
}
|
|
4306
4747
|
export class AppPrice extends ConnectModel<AppPriceProps> {
|
|
4307
4748
|
static type: string;
|
|
@@ -4314,6 +4755,123 @@ declare module "connect/models/AppPrice" {
|
|
|
4314
4755
|
}) => Promise<AppPrice>;
|
|
4315
4756
|
}
|
|
4316
4757
|
}
|
|
4758
|
+
declare module "connect/models/AppPriceSchedule" {
|
|
4759
|
+
/**
|
|
4760
|
+
* App price schedule — the "base territory" pricing model Apple introduced in
|
|
4761
|
+
* late 2023, replacing the legacy `appPriceTier`-driven
|
|
4762
|
+
* `App.updateAsync({ appPriceTier, territories })` flow.
|
|
4763
|
+
*
|
|
4764
|
+
* A schedule describes the full set of manual prices for an app. Creating a
|
|
4765
|
+
* new schedule REPLACES any prior schedule entirely, so callers must include
|
|
4766
|
+
* every manual price they want to keep.
|
|
4767
|
+
*
|
|
4768
|
+
* @see https://developer.apple.com/documentation/appstoreconnectapi/appPriceSchedules
|
|
4769
|
+
* @see https://developer.apple.com/documentation/appstoreconnectapi/post-v1-apppriceschedules
|
|
4770
|
+
* @see https://developer.apple.com/documentation/appstoreconnectapi/get-v1-apps-_id_-apppriceschedule
|
|
4771
|
+
*/
|
|
4772
|
+
import { RequestContext } from "network/Request";
|
|
4773
|
+
import { ConnectQueryParams } from "connect/ConnectAPI";
|
|
4774
|
+
import { AppPrice } from "connect/models/AppPrice";
|
|
4775
|
+
import { ConnectModel } from "connect/models/ConnectModel";
|
|
4776
|
+
import { Territory } from "connect/models/Territory";
|
|
4777
|
+
export interface AppPriceScheduleProps {
|
|
4778
|
+
/** Territory used as the reference for automatically-computed prices. */
|
|
4779
|
+
baseTerritory?: Territory;
|
|
4780
|
+
/**
|
|
4781
|
+
* Manual prices explicitly set by the developer. Each entry ties an
|
|
4782
|
+
* {@link AppPricePoint} to an (optional) `startDate`.
|
|
4783
|
+
*/
|
|
4784
|
+
manualPrices?: AppPrice[];
|
|
4785
|
+
/**
|
|
4786
|
+
* Prices automatically computed by Apple for territories not covered by
|
|
4787
|
+
* `manualPrices`, using the `baseTerritory` price point as a reference.
|
|
4788
|
+
* Read-only.
|
|
4789
|
+
*/
|
|
4790
|
+
automaticPrices?: AppPrice[];
|
|
4791
|
+
}
|
|
4792
|
+
/**
|
|
4793
|
+
* Shape of a manual price when creating an {@link AppPriceSchedule}. Each
|
|
4794
|
+
* entry becomes an inline `appPrices` resource in the POST body, referencing
|
|
4795
|
+
* an existing `appPricePoint` id (look these up via
|
|
4796
|
+
* {@link AppPricePoint.getForAppAsync}).
|
|
4797
|
+
*/
|
|
4798
|
+
export interface AppPriceScheduleManualPriceInput {
|
|
4799
|
+
/** Id of the target `appPricePoint`. */
|
|
4800
|
+
appPricePointId: string;
|
|
4801
|
+
/**
|
|
4802
|
+
* ISO-8601 date (YYYY-MM-DD) for when this price should take effect.
|
|
4803
|
+
* Pass `null` (or omit) for "effective immediately".
|
|
4804
|
+
*/
|
|
4805
|
+
startDate?: string | null;
|
|
4806
|
+
/**
|
|
4807
|
+
* Optional end date. Typically unused on creates — callers express "end"
|
|
4808
|
+
* by scheduling a follow-up price with a later `startDate`.
|
|
4809
|
+
*/
|
|
4810
|
+
endDate?: string | null;
|
|
4811
|
+
}
|
|
4812
|
+
export class AppPriceSchedule extends ConnectModel<AppPriceScheduleProps> {
|
|
4813
|
+
static type: string;
|
|
4814
|
+
static DEFAULT_INCLUDES: string[];
|
|
4815
|
+
/**
|
|
4816
|
+
* Fetch a single schedule by id.
|
|
4817
|
+
*
|
|
4818
|
+
* @see https://developer.apple.com/documentation/appstoreconnectapi/get-v1-apppriceschedules-_id_
|
|
4819
|
+
*/
|
|
4820
|
+
static infoAsync: (context: RequestContext, props: {
|
|
4821
|
+
id: string;
|
|
4822
|
+
query?: ConnectQueryParams;
|
|
4823
|
+
}) => Promise<AppPriceSchedule>;
|
|
4824
|
+
/**
|
|
4825
|
+
* Fetch the current schedule for an app.
|
|
4826
|
+
*
|
|
4827
|
+
* @see https://developer.apple.com/documentation/appstoreconnectapi/get-v1-apps-_id_-apppriceschedule
|
|
4828
|
+
*/
|
|
4829
|
+
static getForAppAsync(context: RequestContext, { id, query, }: {
|
|
4830
|
+
/** App id. */
|
|
4831
|
+
id: string;
|
|
4832
|
+
query?: ConnectQueryParams;
|
|
4833
|
+
}): Promise<AppPriceSchedule | null>;
|
|
4834
|
+
/**
|
|
4835
|
+
* Create a new price schedule for an app. This REPLACES any prior
|
|
4836
|
+
* schedule — callers must include every manual price they want to keep.
|
|
4837
|
+
*
|
|
4838
|
+
* Manual prices are passed as inline `appPrices` resources referencing
|
|
4839
|
+
* existing `appPricePoint` ids. Look up valid price point ids for the target
|
|
4840
|
+
* app (and optionally a specific territory) via
|
|
4841
|
+
* {@link AppPricePoint.getForAppAsync}.
|
|
4842
|
+
*
|
|
4843
|
+
* @example
|
|
4844
|
+
* ```ts
|
|
4845
|
+
* const pricePoints = await AppPricePoint.getForAppAsync(context, {
|
|
4846
|
+
* id: app.id,
|
|
4847
|
+
* query: { filter: { territory: 'USA' } },
|
|
4848
|
+
* });
|
|
4849
|
+
* await AppPriceSchedule.createAsync(context, {
|
|
4850
|
+
* appId: app.id,
|
|
4851
|
+
* baseTerritoryId: 'USA',
|
|
4852
|
+
* manualPrices: [{ appPricePointId: pricePoints[0].id }],
|
|
4853
|
+
* });
|
|
4854
|
+
* ```
|
|
4855
|
+
*
|
|
4856
|
+
* @see https://developer.apple.com/documentation/appstoreconnectapi/post-v1-apppriceschedules
|
|
4857
|
+
*/
|
|
4858
|
+
static createAsync(context: RequestContext, { appId, baseTerritoryId, manualPrices, }: {
|
|
4859
|
+
/** Id of the app the schedule is being set on. */
|
|
4860
|
+
appId: string;
|
|
4861
|
+
/**
|
|
4862
|
+
* Id of the territory (e.g. `USA`) whose manual price Apple should use
|
|
4863
|
+
* as the reference for automatic prices in other territories.
|
|
4864
|
+
*/
|
|
4865
|
+
baseTerritoryId: string;
|
|
4866
|
+
/**
|
|
4867
|
+
* Manual prices to apply. An empty array makes the app free in the
|
|
4868
|
+
* base territory (Apple requires at least one entry matching the base
|
|
4869
|
+
* territory's price point in practice).
|
|
4870
|
+
*/
|
|
4871
|
+
manualPrices: AppPriceScheduleManualPriceInput[];
|
|
4872
|
+
}): Promise<AppPriceSchedule>;
|
|
4873
|
+
}
|
|
4874
|
+
}
|
|
4317
4875
|
declare module "connect/models/BetaAppLocalization" {
|
|
4318
4876
|
import { RequestContext } from "network/Request";
|
|
4319
4877
|
import { ConnectQueryFilter } from "connect/ConnectAPI";
|
|
@@ -4714,7 +5272,7 @@ declare module "connect/models/ReviewSubmission" {
|
|
|
4714
5272
|
static getAsync: (context: RequestContext, props?: {
|
|
4715
5273
|
query?: ConnectQueryParams<Partial<{
|
|
4716
5274
|
platform: Platform | Platform[];
|
|
4717
|
-
state: "COMPLETE" | "
|
|
5275
|
+
state: "COMPLETE" | "IN_REVIEW" | "READY_FOR_REVIEW" | "WAITING_FOR_REVIEW" | "UNRESOLVED_ISSUES" | "CANCELING" | "COMPLETING" | ("COMPLETE" | "IN_REVIEW" | "READY_FOR_REVIEW" | "WAITING_FOR_REVIEW" | "UNRESOLVED_ISSUES" | "CANCELING" | "COMPLETING")[];
|
|
4718
5276
|
} & {
|
|
4719
5277
|
id?: string;
|
|
4720
5278
|
}>> | undefined;
|
|
@@ -4744,21 +5302,6 @@ declare module "connect/models/ReviewSubmission" {
|
|
|
4744
5302
|
getResolutionCenterThreadsAsync(): Promise<ResolutionCenterThread[]>;
|
|
4745
5303
|
}
|
|
4746
5304
|
}
|
|
4747
|
-
declare module "connect/models/Territory" {
|
|
4748
|
-
import { ConnectModel } from "connect/models/ConnectModel";
|
|
4749
|
-
export interface TerritoryProps {
|
|
4750
|
-
/**
|
|
4751
|
-
* @example 'USD'
|
|
4752
|
-
*/
|
|
4753
|
-
currency: string;
|
|
4754
|
-
}
|
|
4755
|
-
export class Territory extends ConnectModel<TerritoryProps> {
|
|
4756
|
-
static type: string;
|
|
4757
|
-
static getAsync: (context: import("AppStoreConnect").RequestContext, props?: {
|
|
4758
|
-
query?: import("connect/ConnectAPI").ConnectQueryParams<Record<string, any>> | undefined;
|
|
4759
|
-
} | undefined) => Promise<Territory[]>;
|
|
4760
|
-
}
|
|
4761
|
-
}
|
|
4762
5305
|
declare module "connect/models/App" {
|
|
4763
5306
|
import { RequestContext } from "network/Request";
|
|
4764
5307
|
import { ConnectQueryFilter, ConnectQueryParams } from "connect/ConnectAPI";
|
|
@@ -4770,6 +5313,8 @@ declare module "connect/models/App" {
|
|
|
4770
5313
|
import { AppDataUsagesPublishState } from "connect/models/AppDataUsagesPublishState";
|
|
4771
5314
|
import { AppInfo, AppStoreState } from "connect/models/AppInfo";
|
|
4772
5315
|
import { AppPrice } from "connect/models/AppPrice";
|
|
5316
|
+
import { AppPricePoint, AppPricePointQueryFilter } from "connect/models/AppPricePoint";
|
|
5317
|
+
import { AppPriceSchedule, AppPriceScheduleManualPriceInput } from "connect/models/AppPriceSchedule";
|
|
4773
5318
|
import { AppStoreVersion, AppStoreVersionProps } from "connect/models/AppStoreVersion";
|
|
4774
5319
|
import { BetaAppLocalization, BetaAppLocalizationProps } from "connect/models/BetaAppLocalization";
|
|
4775
5320
|
import { BetaAppReviewDetail, BetaAppReviewDetailProps } from "connect/models/BetaAppReviewDetail";
|
|
@@ -4931,6 +5476,36 @@ declare module "connect/models/App" {
|
|
|
4931
5476
|
getAvailableTerritoriesAsync({ query, }?: {
|
|
4932
5477
|
query?: ConnectQueryParams;
|
|
4933
5478
|
}): Promise<Territory[]>;
|
|
5479
|
+
/**
|
|
5480
|
+
* Get the current base-territory price schedule for this app, or `null` if
|
|
5481
|
+
* none has been set. This is the read half of the modern pricing API
|
|
5482
|
+
* (replaces the legacy `prices` relationship populated by
|
|
5483
|
+
* `App.updateAsync({ appPriceTier, territories })`).
|
|
5484
|
+
*
|
|
5485
|
+
* @see https://developer.apple.com/documentation/appstoreconnectapi/get-v1-apps-_id_-apppriceschedule
|
|
5486
|
+
*/
|
|
5487
|
+
getPriceScheduleAsync({ query, }?: {
|
|
5488
|
+
query?: ConnectQueryParams;
|
|
5489
|
+
}): Promise<AppPriceSchedule | null>;
|
|
5490
|
+
/**
|
|
5491
|
+
* Create (replace) the price schedule for this app. See
|
|
5492
|
+
* {@link AppPriceSchedule.createAsync} for important details — this
|
|
5493
|
+
* REPLACES any prior schedule entirely.
|
|
5494
|
+
*/
|
|
5495
|
+
createPriceScheduleAsync({ baseTerritoryId, manualPrices, }: {
|
|
5496
|
+
baseTerritoryId: string;
|
|
5497
|
+
manualPrices: AppPriceScheduleManualPriceInput[];
|
|
5498
|
+
}): Promise<AppPriceSchedule>;
|
|
5499
|
+
/**
|
|
5500
|
+
* List the valid price points for this app, optionally filtered by
|
|
5501
|
+
* territory. Use this to look up a concrete `appPricePoint` id to pass to
|
|
5502
|
+
* {@link App.createPriceScheduleAsync}.
|
|
5503
|
+
*
|
|
5504
|
+
* @see https://developer.apple.com/documentation/appstoreconnectapi/get-v1-apps-_id_-apppricepoints
|
|
5505
|
+
*/
|
|
5506
|
+
getAppPricePointsAsync({ query, }?: {
|
|
5507
|
+
query?: ConnectQueryParams<AppPricePointQueryFilter>;
|
|
5508
|
+
}): Promise<AppPricePoint[]>;
|
|
4934
5509
|
getInAppPurchasesAsync({ query, }?: {
|
|
4935
5510
|
query?: ConnectQueryParams<InAppPurchaseQueryFilter>;
|
|
4936
5511
|
}): Promise<InAppPurchase[]>;
|
|
@@ -4943,6 +5518,10 @@ declare module "connect/models/App" {
|
|
|
4943
5518
|
platform?: Platform;
|
|
4944
5519
|
includes?: string[];
|
|
4945
5520
|
}): Promise<ReviewSubmission | null>;
|
|
5521
|
+
getUnresolvedReviewSubmissionAsync({ platform, includes, }?: {
|
|
5522
|
+
platform?: Platform;
|
|
5523
|
+
includes?: string[];
|
|
5524
|
+
}): Promise<ReviewSubmission | null>;
|
|
4946
5525
|
getReviewSubmissionsAsync({ query, }?: {
|
|
4947
5526
|
query?: ConnectQueryParams;
|
|
4948
5527
|
}): Promise<ReviewSubmission[]>;
|
|
@@ -5132,41 +5711,6 @@ declare module "connect/models/ApiKey" {
|
|
|
5132
5711
|
revokeAsync(): Promise<ApiKey>;
|
|
5133
5712
|
}
|
|
5134
5713
|
}
|
|
5135
|
-
declare module "connect/models/AppPricePoint" {
|
|
5136
|
-
import { ConnectQueryFilter } from "connect/ConnectAPI";
|
|
5137
|
-
import { AppPriceTier } from "connect/models/AppPriceTier";
|
|
5138
|
-
import { ConnectModel } from "connect/models/ConnectModel";
|
|
5139
|
-
import { Territory } from "connect/models/Territory";
|
|
5140
|
-
export interface AppPricePointProps {
|
|
5141
|
-
customerPrice: string;
|
|
5142
|
-
proceeds: string;
|
|
5143
|
-
priceTier?: AppPriceTier;
|
|
5144
|
-
territory?: Territory;
|
|
5145
|
-
}
|
|
5146
|
-
export type AppPricePointQueryFilter = ConnectQueryFilter<{
|
|
5147
|
-
territory: string;
|
|
5148
|
-
priceTier: string;
|
|
5149
|
-
}, 'territory' | 'priceTier'>;
|
|
5150
|
-
export class AppPricePoint extends ConnectModel<AppPricePointProps> {
|
|
5151
|
-
static type: string;
|
|
5152
|
-
static getAsync: (context: import("AppStoreConnect").RequestContext, props?: {
|
|
5153
|
-
query?: import("connect/ConnectAPI").ConnectQueryParams<Partial<{
|
|
5154
|
-
territory: string | string[];
|
|
5155
|
-
priceTier: string | string[];
|
|
5156
|
-
} & {
|
|
5157
|
-
id?: string;
|
|
5158
|
-
}>> | undefined;
|
|
5159
|
-
} | undefined) => Promise<AppPricePoint[]>;
|
|
5160
|
-
/**
|
|
5161
|
-
*
|
|
5162
|
-
* @param id `AppPricePoint` id (ex: UNHB5PT4MA)
|
|
5163
|
-
*/
|
|
5164
|
-
static infoAsync: (context: import("AppStoreConnect").RequestContext, props: {
|
|
5165
|
-
id: string;
|
|
5166
|
-
query?: import("connect/ConnectAPI").ConnectQueryParams;
|
|
5167
|
-
}) => Promise<AppPricePoint>;
|
|
5168
|
-
}
|
|
5169
|
-
}
|
|
5170
5714
|
declare module "connect/models/BetaCrashLog" {
|
|
5171
5715
|
/**
|
|
5172
5716
|
* The crash log text associated with a beta feedback crash submission.
|
|
@@ -5459,6 +6003,10 @@ declare module "connect/index" {
|
|
|
5459
6003
|
export * from "connect/models/ApiKey";
|
|
5460
6004
|
export * from "connect/models/App";
|
|
5461
6005
|
export * from "connect/models/AppClip";
|
|
6006
|
+
export * from "connect/models/AppClipAppStoreReviewDetail";
|
|
6007
|
+
export * from "connect/models/AppClipDefaultExperience";
|
|
6008
|
+
export * from "connect/models/AppClipDefaultExperienceLocalization";
|
|
6009
|
+
export * from "connect/models/AppClipHeaderImage";
|
|
5462
6010
|
export * from "connect/models/AppDataUsage";
|
|
5463
6011
|
export * from "connect/models/AppDataUsageCategory";
|
|
5464
6012
|
export * from "connect/models/AppDataUsageDataProtection";
|
|
@@ -5471,6 +6019,7 @@ declare module "connect/index" {
|
|
|
5471
6019
|
export * from "connect/models/AppInfoLocalization";
|
|
5472
6020
|
export * from "connect/models/AppPrice";
|
|
5473
6021
|
export * from "connect/models/AppPricePoint";
|
|
6022
|
+
export * from "connect/models/AppPriceSchedule";
|
|
5474
6023
|
export * from "connect/models/AppPriceTier";
|
|
5475
6024
|
export * from "connect/models/AppPreview";
|
|
5476
6025
|
export * from "connect/models/AppPreviewSet";
|
|
@@ -5504,6 +6053,7 @@ declare module "connect/index" {
|
|
|
5504
6053
|
export * from "connect/models/BundleId";
|
|
5505
6054
|
export * from "connect/models/BundleIdCapability";
|
|
5506
6055
|
export * from "connect/models/ContentProvider";
|
|
6056
|
+
export * from "connect/models/ResolutionCenterDraftMessage";
|
|
5507
6057
|
export * from "connect/models/ResolutionCenterMessage";
|
|
5508
6058
|
export * from "connect/models/ResolutionCenterThread";
|
|
5509
6059
|
export * from "connect/models/ReviewRejection";
|