Update Promotion
ソフト制限:
- プロモーションで管理される商品の最大数は、PromotionMaxManagedProducts に基づきます。デフォルト値は 900 です。
- リソース
-
1UPDATE_PROMOTION - 使用可能なバージョン
- 55.0
- Apex 要求の例
-
1String salesOrg = '0001'; 2String endpointName = 'UPDATE_PROMOTION'; 3Id promoId = 'promotionId'; 4cgcloud__Promotion__c promo = [SELECT Id, cgcloud__Anchor_Account__c, cgcloud__Date_From__c, cgcloud__Date_Thru__c, cgcloud__Delivery_Date_From__c, cgcloud__Delivery_Date_Thru__c, cgcloud__Placement_Date_From__c, cgcloud__Placement_Date_Thru__c, cgcloud__Commit_Date__c, cgcloud__Promotion_Template__c FROM cgcloud__Promotion__c WHERE Id=:promoId LIMIT 1]; 5String payload = JSON.serialize(new Map<String, Object>{ 6 'promotionid'=>promo.Id, 7 'phase'=>'Planning', 8 'active'=>true, 9 'version'=>2, 10 'isfrozen'=>false, 11 'accoundsetid'=>null, 12 'accountid'=>promo.cgcloud__Anchor_Account__c, 13 'commitdate'=>Datetime.newInstanceGmt(promo.cgcloud__cgcloud__Commit_Date__c.year(), promo.cgcloud__cgcloud__Commit_Date__c.month(), promo.cgcloud__cgcloud__Commit_Date__c.day()).getTime(), 14 'datefrom'=>Datetime.newInstanceGmt(promo.cgcloud__cgcloud__Date_From__c.year(), promo.cgcloud__Date_From__c.month(), promo.cgcloud__Date_From__c.day()).getTime(), 15 'datethru'=>Datetime.newInstanceGmt(promo.cgcloud__Date_Thru__c.year(), promo.cgcloud__Date_Thru__c.month(), promo.cgcloud__Date_Thru__c.day()).getTime(), 16 'manualcalculationinput'=>new Map<String, Object>(), 17 'instoredatefrom'=>Datetime.newInstanceGmt(promo.cgcloud__Placement_Date_From__c.year(), promo.cgcloud__Placement_Date_From__c.month(), promo.cgcloud__Placement_Date_From__c.day()).getTime(), 18 'instoredatethru'=>Datetime.newInstanceGmt(promo.cgcloud__Placement_Date_Thru__c.year(), promo.cgcloud__Placement_Date_Thru__c.month(), promo.cgcloud__Placement_Date_Thru__c.day()).getTime(), 19 'shipmentdatefrom'=>Datetime.newInstanceGmt(promo.cgcloud__Delivery_Date_From__c.year(), promo.cgcloud__Delivery_Date_From__c.month(), promo.cgcloud__Delivery_Date_From__c.day()).getTime(), 20 'shipmentdatethru'=>Datetime.newInstanceGmt(promo.cgcloud__Delivery_Date_Thru__c.year(), promo.cgcloud__Delivery_Date_Thru__c.month(), promo.cgcloud__Delivery_Date_Thru__c.day()).getTime(), 21 'promotiontemplateid'=>promo.cgcloud__Promotion_Template__c, 22 'salesorg'=>salesOrg, 23 'aggregationcategory'=>null, 24 'calculationmode' => 'Writeback', 25 'firstdayofweek' => 1, 26 'firstweekofyear' => 1, 27 'productgrouplevels' => new List<String>{'Category'} 28}); 29<namespace>.OffPlatformCallout request = new <namespace>.OffPlatformCallout(endpointName, salesOrg); 30<namespace>.OffPlatformCalloutResponse response = request.execute( 31 <namespace>.TransactionHandler.getTransactionIdentifier(), 32 null, 33 payload 34); 35 36system.debug(JSON.serialize(response));