2013-10-29 7 views
6

हमें REST -OAuth कॉल के माध्यम से लीड्स को खातों में कनवर्ट करना होगा। हम उन्हें बनाने, अपडेट करने (संपादित करने) और विस्तारित लीड फ़ील्ड बनाने में सक्षम हैं लेकिन उन्हें रूपांतरित करने में सक्षम नहीं हैं।क्या लीड्स को खातों में बदलने के लिए सेलफोर्स में कोई आरईएसटी सेवा उपलब्ध है?

हमने पाया कि एसओएपी एपीआई के माध्यम से भी यही संभव है लेकिन हम केवल आरईएसटी ओथ का पालन कर रहे हैं।

उत्तर

8

हां और हमने इसे आरईएसटी कॉल के लिए एपेक्स क्लास बनाकर हल किया।

@RestResource(urlMapping='/Lead/*') 
global with sharing class RestLeadConvert {    

@HttpGet 
global static String doGet() { 
    String ret = 'fail'; 
    RestRequest req = RestContext.request; 
    RestResponse res = RestContext.response; 
    String leadId = req.requestURI.substring(req.requestURI.lastIndexOf('/')+1);    
    Database.LeadConvert lc = new Database.LeadConvert(); 
    lc.setLeadId(leadId); 

    LeadStatus convertStatus = [SELECT Id, MasterLabel FROM LeadStatus WHERE IsConverted=true LIMIT 1]; 
    lc.setConvertedStatus(convertStatus.MasterLabel);   
    Database.LeadConvertResult lcr ; 
    try{ 
     lcr = Database.convertLead(lc); 
     system.debug('*****lcr.isSuccess()'+lcr.isSuccess());    
     ret = 'ok'; 
    } 
    catch(exception ex){ 
     system.debug('***NOT CONVERTED**');   
    } 
    return ret; 
} 
} 

और तुम से

<Your Instance URL>/services/apexrest/Lead/<LeadId> 
+0

चाहेंगे कनेक्ट किए गए एप्लिकेशन के लिए इस काम के साथ-साथ इस कॉल का उपयोग कर सकते - नमूना कोड है? जैसा कि, यदि मेरा ऐप सर्वर एडब्ल्यूएस/जीसीई पर है? –

+0

इसे पोस्ट करने के लिए बहुत बहुत धन्यवाद। चूंकि सेल्सफोर्स को कोड तैनात करने के लिए यूनिट टेस्ट कवरेज की आवश्यकता होती है, क्या आप कृपया इस कोड के लिए अपना यूनिट टेस्ट पोस्ट कर सकते हैं? मुझे यकीन है कि यह लोगों की मदद करेगा। – melchoir55

संबंधित मुद्दे