Need to create the scripted rest api for requested item with attachment
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yesterday
Hello everyone,
Could you please help me to create the Scripted rest api where I want to create one requested item of particular catalog with add an attachment kindly share me the steps to do this?
Regards,
Keshav
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
4 hours ago
Your code will look something like this:
var catItem = '6f4c677387f94ed0a4914229dabb3526'; //sys_id of your catalog item
gs.include('validators');
var cart = new sn_sc.CartJS(gs.generateGUID()); //Create cart
var item = {
'sysparm_id': catItem,
'sysparm_quantity': '1',
'variables': {
'yourvariablename': 'yourvariablevalue'
}
};
cart.addToCart(item);
var checkoutInfo = cart.checkoutCart();
var grRITM = new GlideRecord('sc_req_item');
grRITM.addQuery('request', checkoutInfo.request_id);
grRITM.query();
if (grRITM.next()) {
GlideSysAttachment.copy('tablewhereattachmentis', 'sys_idofrecordwithattachment', 'sc_req_item', grRITM.sys_id);
grRITM.update();
}
The line that says GlideSysAttachment.copy is where the attachment gets added. You would need to fill that in with the location of your attachment.
I hope that helps!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 hours ago
I just realized you said you wanted a scripted REST API. What I gave you is what we use in an inbound action. If there's a way to receive an email rather than an API call, you could use something like what I have above.
If it must be a REST call, you will have to create one call to submit the catalog item and send them back a RITM number and/or sys_id. Then they will probably have to do a second call to attach the attachment(s).