You need to sign in to do that
Don't have an account?
Coolday
I am getting this error when I am sending JSON from postman - System.StringException: Invalid id:
@RestResource(urlMapping='/v1/Order/*') global class Order{ global class Result { webservice Integer returnCode; webservice String message=''; webservice String recordID; webservice String APIName='updateOrder'; } @HttpPost global static Result UpdateOrder() { Result res=new Result(); Map<String, Object> jsonMap = (Map<String, Object>) JSON.deserializeUntyped(RestContext.request.requestBody.toString()); system.debug('jsonMap---'+jsonMap); List<Object> objectRecords = (List<Object>)jsonMap.get('orderDetails'); Map<String, Object> recordValue = new Map<String, Object>(); Set<Id> orderIds = new Set<Id>(); Map<String, Map<String, Object>> objectMap = new Map<String, Map<String,Object>>(); for(Object o : objectRecords){ Map<String, Object> rec = new Map<String, Object>(); rec = (Map<String, Object>)o; orderIds.add((string)rec.get('orderId')); objectMap.put((string)rec.get('orderId'), rec); } List<Order> OrdersToBeUpdated = new List<Order>(); List<Order> OrderList =[SELECT id,Order_Id__c,Payment_Amount__c, Payment_Status__c FROM Order where Order_Id__c In: orderIds]; if(OrderList == null || OrderList.size() == 0){ res.returnCode = 401; res.message = 'No Order found with this Order ID'; return res; } if (!OrderList.isEmpty()) { for(order ordObj : OrderList){ Map<String, Object> orderResMap = objectMap.get(ordObj.Order_Id__c); ordObj.Payment_Status__c = (String)orderResMap.get('paymentStatus'); ordObj.Delivery_Status__c = (String)orderResMap.get('deliveryStatus'); ordObj.Payment_Amount__c = (decimal)orderResMap.get('pendingAmount'); ordObj.Paid_Amount__c = (decimal)orderResMap.get('paidAmount'); OrdersToBeUpdated.add(ordObj); system.debug('recordValue---'+orderResMap.get('orderId')); system.debug('recordValue---'+orderResMap.get('orderNumber')); system.debug('recordValue---'+orderResMap.get('paymentStatus')); system.debug('recordValue---'+orderResMap.get('pendingAmount')); } } if(!OrdersToBeUpdated.isEmpty()){ update OrdersToBeUpdated; res.returnCode = 200; res.message = 'Update successful'; return res; } return null; } }
I am getting this error when I am sending JSON from postman -
[
{
"errorCode": "APEX_ERROR",
"message": "System.StringException: Invalid id: 1ba4a3e6-d592-4e4e-836c-4b00284b0d6f\n\nExternal entry point"
}
]
Do you have any additional details like the line throwing this error? What is being printed in the debug statements?
system.debug('recordValue---'+orderResMap.get('orderId')); system.debug('recordValue---'+orderResMap.get('orderNumber')); system.debug('recordValue---'+orderResMap.get('paymentStatus')); system.debug('recordValue---'+orderResMap.get('pendingAmount'));
Thanks