Untitled
unknown
plain_text
4 years ago
1.8 kB
4
Indexable
public with sharing class WarehouseCalloutService { private static final String WAREHOUSE_URL = 'https://th-superbadge-apex.herokuapp.com/equipment'; //@future(callout=true) public static void runWarehouseEquipmentSync(){ Http http = new Http(); HttpRequest request = new HttpRequest(); request.setEndpoint(WAREHOUSE_URL); request.setMethod('GET'); HttpResponse response = http.send(request); List<Product2> warehouseEq = new List<Product2>(); if (response.getStatusCode() == 200){ List<Object> jsonResponse = (List<Object>)JSON.deserializeUntyped(response.getBody()); System.debug(response.getBody()); for (Object eq : jsonResponse){ Map<String,Object> mapJson = (Map<String,Object>)eq; Product2 myEq = new Product2(); myEq.Replacement_Part__c = (Boolean) mapJson.get('replacement'); myEq.Name = (String) mapJson.get('name'); myEq.Maintenance_Cycle__c = (Integer) mapJson.get('maintenanceperiod'); myEq.Lifespan_Months__c = (Integer) mapJson.get('lifespan'); myEq.Cost__c = (Decimal) mapJson.get('lifespan'); myEq.Warehouse_SKU__c = (String) mapJson.get('sku'); myEq.Current_Inventory__c = (Double) mapJson.get('quantity'); warehouseEq.add(myEq); } if (warehouseEq.size() > 0){ upsert warehouseEq; System.debug('Your equipment was synced with the warehouse one'); System.debug(warehouseEq); } } } }
Editor is loading...