Note that the price time schedule listed in the included.x.id array must be listed in manualPrices.data.x.id, otherwise an error will be reported:
{
"errors" : [ {
"id" : "13b3b82d-ba4b-4fda-97e1-2c30a37bd729",
"status" : "409",
"code" : "ENTITY_ERROR.RELATIONSHIP.REQUIRED",
"title" : "The provided entity is missing a required relationship",
"detail" : "You must provide a value for the relationship 'inAppPurchasePricePoint' with this request",
"source" : {
"pointer" : "/included/3/relationships/inAppPurchasePricePoint"
}
} ]
}
relationships.inAppPurchasePricePoint.data.id needs to be set to the price point id corresponding to the required country or region. This is mainland China, so it is set to the corresponding price point of CHN. For countries or regions that need to customise the price, they need to set the price point of the corresponding country or region.
In addition, it should be noted that startDate and endDate of the price schedule of the base country. If there are multiple schedules, it must include all time periods, otherwise an error will be reported:
{
"errors" : [ {
"id" : "8ad9f644-bdb5-4eaf-9029-6b6451b68677",
"status" : "409",
"code" : "ENTITY_ERROR.INVALID_INTERVAL",
"title" : "There is a problem with the request entity",
"detail" : "Entire timeline must be covered for CHN. Adjacent intervals must not have a gap in between: [null - 2023-04-24T00:00] and [2023-04-25T00:00 - null]",
"source" : {
"pointer" : "/data/relationships/manualPrices"
}
} ]
}
Finally, the price point corresponding to the baseTerritory benchmark country must be set, otherwise an error will be reported:
{
"errors" : [ {
"id" : "4cb1ed03-fea8-467b-a9b0-a563087584f7",
"status" : "409",
"code" : "ENTITY_ERROR.BASE_TERRITORY_INTERVAL_REQUIRED",
"title" : "There is a problem with the request entity",
"detail" : "There must be at least one manual price for the base territory.",
"source" : {
"pointer" : "/data/relationships/manualPrices"
}
} ]
}
Finally, there is another note. In our example, the benchmark country mainland China (CHN) sets the global equilibrium price from now to the CNY¥ 2.50 price point used by 2023-04-25, starting from 2023-04-25, so that Set the global equilibrium price with the CNY¥1.00 price point. The exception is Hong Kong, China. From now on, it has been manually adjusting the customised price HKD $16.00. But the price schedule displayed in the background of Apple ASC:
Only 22 countries or regions will follow 2023-04-25 for automatic adjustment. The remaining 152 countries or regions, because the global equilibrium prices corresponding to CNY¥1.00 and CNY¥2.50 in the benchmark countries are the same price point, so they will not be automatically adjusted with 2023-04-25. It should be noted that the subsequent Apple price adjustment plan is also affected by factors such as foreign exchange rate or tax rate adjustment.
Summary, the rules that must be followed when setting the interface of a price adjustment (IAP level) of an IAP:
The baseTerritory base country must be set
Time schedule of price points in the benchmark country, necessarily covering all time periods
If it is a custom price, it must be listed at the price point of each country, and multiple countries cannot be specified in batches
A time schedule with a custom price, can only include a startDate or endDate, or a full time period when both are empty.
The above request example is a streamlined content, detailed request example (Python code implementation) and request response content, we put it in the GitHub repository 37iOS/AppStoreConnectAPI-Demo, subsequent API upgrades will be updated together, and you can obtain them yourself.
Topic:
App Store Distribution & Marketing
SubTopic:
App Store Connect API
Tags: