### Create MyInsights Index HTML Source: https://developer.veevacrm.com/doc/Content/CRM_topics/Veeva/myinsights This HTML file serves as the main structure for your MyInsights content. It includes meta tags, body content, and links to essential JavaScript libraries for MyInsights functionality. ```html
Hello, world! This is my MyInsights content.
``` -------------------------------- ### Reference JavaScript Libraries for MyInsights Source: https://developer.veevacrm.com/doc/Content/CRM_topics/Veeva/myinsights This snippet demonstrates how to reference the necessary JavaScript libraries required for MyInsights content. These include Q.js for promise handling, MyInsightsLibrary.js for Veeva CRM data queries, and a custom main.js file for content display logic. ```html ``` -------------------------------- ### MyInsights Where Clause Syntax Source: https://developer.veevacrm.com/doc/Content/CRM_topics/Veeva/myinsights This example demonstrates the correct syntax for constructing a 'Where Clause' in MyInsights. All conditions within the clause must use single quotes, and multiple conditions are joined by 'AND'. Account IDs are specified within curly braces. ```text where: 'scale = 'week_vod' AND 'dataType' ='NRx' AND AccountId in {'id1', 'id2', 'id3'}' ``` -------------------------------- ### Display Query Results with JavaScript Source: https://developer.veevacrm.com/doc/Content/CRM_topics/Veeva/myinsights The `printToScreen` JavaScript function is used in `index.html` to display information retrieved from the `resp` tag. This tag is populated by the `queryRecord` method in `main.js`. This function is essential for showing results within your MyInsights content. ```htmlHello, world! This is my X-Pages content.
``` -------------------------------- ### Get Object Metadata with Veeva CRM API Source: https://developer.veevacrm.com/doc/Content/CRM_topics/Vault/x-pages-library Retrieves the list of fields a user has Read permissions to for a specific object. It takes a configuration object with the object's API name and returns a promise that resolves with the object's metadata, including field names and data types. The example demonstrates how to fetch and display this metadata in the browser. ```javascript function start() { queryCRMData(); } function queryCRMData() { var configObject = { object: "Account", }; ds.getObjectMetadata(configObject).then( function(resp) { printToScreen(resp); }, function(err) { console.log(err); } ); } function printToScreen(jsonObj) { var test = document.getElementById("test"); test.innerHTML = JSON.stringify(jsonObj); } document.addEventListener("DOMContentLoaded", function(event) { start(); }); ``` -------------------------------- ### Launch CLM Presentation or Library Source: https://developer.veevacrm.com/doc/Content/CRM_topics/Vault/x-pages-library Launches a specific CLM presentation to a given slide or opens the CLM media library. It requires account ID and optionally presentation ID and media file name. The method logs the presentation against the Account. ```javascript ds.launchMediaForAccount("acct","MyPresentation","HomePage"); //Launches the CLM presentation with a presentation_id__v field of "MyPresentation" //and goes directly to the Key Message in that presentation with a media_file_name__v of "HomePage". //The presentation is logged against the Account with an SFC ID of "acct". ``` ```javascript ds.launchMediaForAccount("acct"); //Navigates to the CLM library to select the appropriate CLM presentation. //The presentation is logged against the Account with an SFDC ID of "acct". ``` -------------------------------- ### Query Veeva CRM Account Data with JavaScript Source: https://developer.veevacrm.com/doc/Content/CRM_topics/Veeva/myinsights This JavaScript code defines functions to query Veeva CRM data using the `ds.queryRecord` method. It configures the query to retrieve Account Name, Phone, and Fax fields, logs the response or errors, and updates the HTML to display the queried data. The script initiates the process upon DOM content loading. ```javascript function start() { queryCRMData(); } function queryCRMData() { var queryConfig = { object: "Account", fields: ["Name", "Phone", "sFax"], where: "", sort: [], limit: "10" }; ds.queryRecord(queryConfig).then( function (resp) { console.log(resp); printToScreen(resp); }, function(err) { console.log(err); } ); } function printToScreen(jsonObj) { var test = document.getElementById("test"); test.innerHTML = JSON.stringify(jsonObj); } document.addEventListener("DOMContentLoaded", function(event) { start(); }); ``` -------------------------------- ### launchMediaForAccount Source: https://developer.veevacrm.com/doc/Content/CRM_topics/Veeva/myinsights-veeva Launches a specific CLM presentation for an account or the CLM media library. ```APIDOC ## POST /launchMediaForAccount ### Description Launches a specific key message in a CLM presentation directly from MyInsights content or launches the CLM media library. ### Method POST ### Endpoint /launchMediaForAccount ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **account** (string) - Required - ID of the Account. - **presentationId** (string) - Optional - The Presentation_Id_vod field of the CLM_Presentation_vod record to launch. - **keyMessageMediaFileName** (string) - Optional - The Media_File_Name_vod field of the Key_Message_vod record to open directly. *Note: `presentationId` and `keyMessageMediaFileName` must be used together. Either both are populated or both are blank.* ### Request Example ```json { "account": "acct", "presentationId": "MyPresentation", "keyMessageMediaFileName": "HomePage" } ``` ### Response #### Success Response (200) Displays the specified CLM presentation or the CLM Library. #### Response Example (No specific JSON response structure provided, success is indicated by the display of the CLM presentation or library.) ``` -------------------------------- ### Delete Order Response Example Source: https://developer.veevacrm.com/doc/Content/CRM_topics/Vault/rest-api This is an example JSON response received after successfully deleting an Order. It indicates the status of the operation and the number of records deleted. ```JSON { "status": 0, "message": "'1' record(s) deleted", "data": {} } ``` -------------------------------- ### executeSuggestionAction Source: https://developer.veevacrm.com/doc/Content/CRM_topics/Veeva/myinsights-veeva Enables the execution, completion, and dismissal of suggestions. ```APIDOC ## POST /executeSuggestionAction ### Description Enables the execution, completion, and dismissal of suggestions. ### Method POST ### Endpoint /executeSuggestionAction ### Parameters #### Request Body - **SuggestionId** (string) - Required - 18-character SFDC ID of the Suggestion record. - **actionType** (string) - Required - Supports the following values: 'complete', 'dismiss', 'execute'. - **bulkExecution** (string) - Optional - Only applies when actionType = 'execute' and the Suggestion Type is Call2_vod. Supports the following values: 'none' or null, 'allAccount', 'allUser'. ### Request Example ```javascript ds.executeSuggestionAction(suggestionId, actionType).then(function(resp) { if(resp && resp.success) { // Operation completed ds.queryRecord({ object: "Suggestion_vod__c", fields: ["Title_vod__c", "RecordTypeId", "Posted_Date_vod__c"], where: "Account_vod__c = _accountId" }).then(function(resp) { // Update UI with latest suggestion response }); } else { // Operation cancelled } }, function(error) { // Operation interrupted due to an internal error }); ``` ### Response #### Success Response (200) - **success** (boolean) - Indicates if the action was successfully performed. #### Response Example ```json { "success": true } ``` ``` -------------------------------- ### Retrieve Order Status - HTTP GET Request Source: https://developer.veevacrm.com/doc/Content/CRM_topics/Vault/rest-api This snippet demonstrates how to retrieve the current status of an Order and its possible next states using an HTTP GET request to the '/orders//status' endpoint. ```HTTP GET: /orders//status ``` -------------------------------- ### Media Images for Presentations API Source: https://developer.veevacrm.com/doc/Content/CRM_topics/Vault/x-pages-library Retrieves thumbnail and preview image URLs for the first slide in specified CLM presentations. ```APIDOC ## getMediaImagesForPresentations ### Description Returns the thumbnail and preview image URLs for the first slide in specific CLM presentations. ### Method GET (or equivalent client-side method call) ### Endpoint Not applicable (client-side method) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Parameters - **presIds** (array of strings) - Required - An array of CLM presentation record IDs. ### Request Example ```javascript var presentations = [ "1234" , "2345" , "3456" ]; ds.getMediaImagesForPresentations(presentations); ``` ### Response #### Success Response (200) - **presentationId** (object) - Contains image URLs for the first slide of a specific presentation. - **thumbnail** (string) - URL for the thumbnail image. - **preview** (string) - URL for the preview image. #### Response Example ```json { "1234": { "thumbnail": "https://example.com/pres1_thumbnail.jpg", "preview": "https://example.com/pres1_preview.jpg" }, "2345": { "thumbnail": "https://example.com/pres2_thumbnail.jpg", "preview": "https://example.com/pres2_preview.jpg" } } ``` ``` -------------------------------- ### View Order Details API Endpoint Source: https://developer.veevacrm.com/doc/Content/CRM_topics/Vault/rest-api This GET endpoint allows clients to retrieve formatted order details. The server handles formatting based on the user's locale. No specific authentication or request body is detailed here, but it's assumed to be a standard HTTP GET request. ```http GET: /orders/ ``` -------------------------------- ### newRecord(configObject) Source: https://developer.veevacrm.com/doc/Content/CRM_topics/Veeva/myinsights-veeva Displays the native interface of the object within Veeva CRM, allowing for creation and interaction with records. ```APIDOC ## POST /newRecord ### Description The newRecord method displays the native interface of the object within Veeva CRM. Developers can use this method to create and send Approved Emails (Sent_Email_vod records) from MyInsights. However, only the Account_vod, Approved_Email_Template_vod, and Email_Fragments_vod fields are supported. ### Method POST ### Endpoint /newRecord ### Parameters #### Request Body - **configObject** (object) - Required - A configuration object used to pass in required values. - **object** (string) - Required - API name of the target object. - **fields** (object) - Required - Object of field API names required to pass in for the application to bring up specified action. ### Request Example ```javascript { "object": "Call2_vod__c", "fields": { "Account_vod__c": "00161000004vuXMAAY" } } ``` ### Response #### Success Response (200) When the request is successful, the application displays the native interface. ### Returns: When the request is successful, the application displays the native interface. ``` -------------------------------- ### Retrieve New Order Details - GET Request Source: https://developer.veevacrm.com/doc/Content/CRM_topics/Veeva/rest-api This snippet demonstrates how to make an HTTP GET request to retrieve details for a new order. It requires an `accountId` and optionally accepts parameters like `orderDate`, `recordTypeId`, `campaignId`, `contractId`, `accountGroup`, and `currencyISOCode`. The response includes order header fields and available order lines. ```javascript const accountId = "YOUR_ACCOUNT_ID"; const orderDate = "2023-10-27"; // Optional, defaults to current date const recordTypeId = "RECORD_TYPE_ID"; // Optional const campaignId = "CAMPAIGN_ID"; // Optional const contractId = "CONTRACT_ID"; // Optional const accountGroup = "ACCOUNT_GROUP_NAME"; // Optional const currencyISOCode = "USD"; // Optional let url = `/orders?accountId=${accountId}`; if (orderDate) url += `&orderDate=${orderDate}`; if (recordTypeId) url += `&recordTypeId=${recordTypeId}`; if (campaignId) url += `&campaignId=${campaignId}`; if (contractId) url += `&contractId=${contractId}`; if (accountGroup) url += `&accountGroup=${accountGroup}`; if (currencyISOCode) url += `¤cyISOCode=${currencyISOCode}`; // Example of making the GET request (using fetch API) fetch(url) .then(response => { if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } return response.json(); }) .then(data => { console.log("Order Details:", data); }) .catch(error => { console.error("Error fetching order details:", error); }); ``` -------------------------------- ### Get Account Addresses using Veeva CRM JavaScript Library Source: https://developer.veevacrm.com/doc/Content/CRM_topics/Veeva/clm-veeva This JavaScript code demonstrates how to retrieve all related address IDs for a given account using the Veeva CRM JavaScript library. It involves calling `getDataForCurrentObject` to get the current account ID, then `getAddresses_Account` to fetch the address IDs, and finally displays them. This function is designed for use in MyInsights and CLM content creation. ```javascript function getCurrentAccountId() { com.veeva.clm.getDataForCurrentObject("Account","Id",getAddressesForAccount); } function getAddressesForAccount(result) { if (result.success == true) { com.veeva.clm.getAddresses_Account(result.Account.Id, displayAddressIds); } } function displayAddressIds(result) { if (result.success == true) { alert(JSON.stringify(result.Address_vod__c[0].Id)); alert(JSON.stringify(result.Address_vod__c[1].Id)); } } ``` -------------------------------- ### Media Images for Slides API Source: https://developer.veevacrm.com/doc/Content/CRM_topics/Vault/x-pages-library Retrieves thumbnail and preview image URLs for specified CLM slides. ```APIDOC ## getMediaImagesForSlides ### Description Returns the thumbnail and preview image URLs for specific CLM slides. ### Method GET (or equivalent client-side method call) ### Endpoint Not applicable (client-side method) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Parameters - **slideIds** (array of strings) - Required - An array of key message record IDs. ### Request Example ```javascript var slides = [ "1234" , "2345" , "3456" ]; ds.getMediaImagesForSlides(slides); ``` ### Response #### Success Response (200) - **images** (object) - Contains image URLs for each slide. - **slideId** (object) - Contains image URLs for a specific slide. - **thumbnail** (string) - URL for the thumbnail image. - **preview** (string) - URL for the preview image. #### Response Example ```json { "1234": { "thumbnail": "https://example.com/thumbnail1.jpg", "preview": "https://example.com/preview1.jpg" }, "2345": { "thumbnail": "https://example.com/thumbnail2.jpg", "preview": "https://example.com/preview2.jpg" } } ``` ``` -------------------------------- ### Launch Selector - JavaScript Source: https://developer.veevacrm.com/doc/Content/CRM_topics/Vault/clm-vault Displays a slide selector for presentations and key messages. It takes an array of presentation slide objects and a callback function. The callback is notified if there are no valid key messages. Presentations are displayed in the requested order, but slides within are in their defined order. ```javascript function LaunchSelectorKeyMessages(frm){ divEle = document.getElementById("returned_result"); com.veeva.clm.launchSelector([{"Training_PID": [ "More-Than-1-TRAIN.zip", "More-Than-1-TRAIN50.zip", "More-Than-1-TRAIN75.zip", "More-Than-1-TRAIN100.zip", "More-Than-1-TRAIN125.zip" ]}], LSCallback); } ``` -------------------------------- ### Launch Selector Source: https://developer.veevacrm.com/doc/Content/CRM_topics/Vault/clm-vault Displays the slide selector interface with specified presentation slides. The callback function is notified if no valid key messages are found. ```APIDOC ## POST /launchSelector ### Description Shows the slide selector with specified presentation: key messages; callback gets notified if there are not any valid key messages. The selector displays presentations in the same order as requested, but slides are in the order as defined in the presentation, not the order specified in the request. ### Method POST ### Endpoint `/launchSelector` ### Parameters #### Path Parameters - None #### Query Parameters - **presentationSlides** (array) - Required - Array of presentation slide objects. - **callback** (function) - Required - Call back function which is used to return the information. ### Request Body ```json { "presentationSlides": [ { "Training_PID": [ "More-Than-1-TRAIN.zip", "More-Than-1-TRAIN50.zip" ] } ] } ``` ### Response #### Success Response (200) - **object** (object) - Callback function is invoked with the result. #### Response Example (Callback function `LSCallback` is invoked) ``` -------------------------------- ### GET /orders//status Source: https://developer.veevacrm.com/doc/Content/CRM_topics/Veeva/rest-api Retrieves the current status of an order and its next possible state transitions. ```APIDOC ## GET /orders//status ### Description Retrieve the current Order status and the next possible states for the Order status. ### Method GET ### Endpoint `/orders//status` ### Response #### Success Response (200) - **status** (integer) - Indicates the result of the operation. - **message** (string) - A message describing the outcome of the request. - **data** (object) - Contains order status information. - **AvailableOrderStatus** (array of strings) - A list of possible order statuses. - **Links** (array of objects) - Links to possible next states. - **rel** (string) - The relation type of the link. - **link** (string) - The URL for the related state. - **Status_vod__c** (string) - The current status of the order. - **Id** (string) - The unique identifier of the order. #### Response Example ```json { "status": 0, "message": "", "data": { "AvailableOrderStatus": [ "Submitted_vod__c", "Voided_vod__c" ], "Links": [ { "rel": "Submitted_vod__c", "link": "om/orders/a1H3B0000008OXKUA2/status" }, { "rel": "Voided_vod__c", "link": "om/orders/a1H3B0000008OXKUA2/status" } ], "Status_vod__c": "Saved_vod__c", "Id": "a1H3B0000008OXKUA2" } } ``` ``` -------------------------------- ### getProduct_MySetup API Source: https://developer.veevacrm.com/doc/Content/CRM_topics/Veeva/clm-veeva Retrieves record IDs of products based on a specified type that the current user has access to. It requires the product type and a callback function. ```APIDOC ## getProduct_MySetup(type, callback) ### Description Returns an array of record IDs of all products `(Product_vod__c)` of a specified type that the User has access to. ### Method `com.veeva.clm.getProduct_MySetup` ### Parameters #### Path Parameters - **type** (string) - Required - Specifies the Product Type (`Product_Type_vod__c` field on `Product_vod__c`). - **callback** (function) - Required - Call back function which is used to return the information. ### Request Example ```javascript //get all records aligned to the current user's MySetup where Product Type = 'Detail' function getDetailProducts() { com.veeva.clm.getProduct_MySetup("Detail", displayProductIds); } ``` ### Response #### Success Response (200) - **result** (object) - An object containing an array of product record IDs. #### Response Example ```javascript //return type is an array of record Id's from Product_vod__c function displayProductIds(result) { if (result.success == true && result.record_count > 0) { alert(JSON.stringify(result.Product_vod__c)); } } ``` ``` -------------------------------- ### Format Data for Creating Records (JavaScript) Source: https://developer.veevacrm.com/doc/Content/CRM_topics/Vault/clm-vault Prepares a string representation of data for the createRecordsOnExit() function. It accepts an array of object names and a corresponding array of value objects, returning a formatted string suitable for batch record creation. ```javascript com.veeva.clm.createRecordsOnExit = function() { var object1 = "Account"; var values1 = {}; values1.Preferred_Statin__c = "Juvastatin!"; var object2 = "KeyMessage"; var values2 = {}; values2.Customer_Field__c = "Saved information"; var objectArray = [object1, object2]; var valuesArray = [values1, values2]; return com.veeva.clm.formatCreateRecords (objectArray, valuesArray); } ``` -------------------------------- ### Get Survey Target Account Source: https://developer.veevacrm.com/doc/Content/CRM_topics/Vault/clm-vault Retrieves all related Question Responses for a given Survey Target. ```APIDOC ## GET /getSurveyTarget_Account ### Description Retrieves an array of record IDs for all Survey Targets associated with a specific account and survey. ### Method GET ### Endpoint /getSurveyTarget_Account ### Parameters #### Query Parameters - **surveyTarget** (string) - Required - Specifies the record ID of the Survey Target to get all related Question Responses from. - **callback** (function) - Required - The callback function to handle the returned information. ### Request Example ```javascript // Example of how to use getSurveyTarget_Account function getSurveyTargets(result) { if (result.success == true) { com.veeva.clm.getSurveyTarget_Account(AccId, result.Presentation.survey__v, displaySurveyTargetIds); } } ``` ### Response #### Success Response (200) - **survey_target__v** (array) - An array of record IDs from the Survey Target object. #### Response Example ```json { "success": true, "survey_target__v": [ "recordId1", "recordId2" ] } ``` ``` -------------------------------- ### JavaScript for Querying Vault CRM Data Source: https://developer.veevacrm.com/doc/Content/CRM_topics/Vault/x-pages This JavaScript code demonstrates how to query data from Veeva CRM using the X-Pages library. It defines a function `queryCRMData` that configures the query (object, fields, where clause, limit) and uses `ds.queryRecord` to fetch data. The results are then logged to the console and displayed on the screen. This requires the 'q.js', 'x-pages-library.js', and 'main.js' files to be included in the HTML. ```javascript function start() { queryCRMData(); } function queryCRMData() { var queryConfig = { object: "Account", fields: ["Name", "Phone", "sFax"], where: "", sort: [], limit: "10" }; ds.queryRecord(queryConfig).then( function (resp) { console.log(resp); printToScreen(resp); }, function(err) { console.log(err); } ); } function printToScreen(jsonObj) { var test = document.getElementById("test"); test.innerHTML = JSON.stringify(jsonObj); } document.addEventListener("DOMContentLoaded", function(event) { start(); }); ``` -------------------------------- ### Veeva CRM Order Pricing Response Example (JSON) Source: https://developer.veevacrm.com/doc/Content/CRM_topics/Vault/rest-api This JSON response illustrates the result of a pricing request for an order in Veeva CRM. It contains updated order header fields like Order_Total_Quantity_vod__c and Order_Net_Amount_vod__c, along with detailed pricing information for each order line. The response includes suggestions, calculated fields, and potential warnings or errors related to pricing. ```json { "status": 0, "message": "", "data": { "Order_List_Amount_vod__c": "1500000.0", "Payment_vod__c": "25", "Payment_Rule_vod__c": "25", "Order_Net_Amount_vod__c": "1350000.0", "Order_Total_Quantity_vod__c": "15.0", "Order_Total_Discount_vod__c": "10.00", "Order_Lines_vod__r": [ { "Product_vod__c": "a00Z000000J4sVoIAJ", "Quantity_vod__c": "15", "Net_Price_vod__c": "100000.0", "Free_Goods_vod__c": "10.0", "AvailableLinePayments": [], "AvailableBrandPayments": [ "Brand1", "Brand2" ], "AvailableGroupPayments": [], "Product_vod__r": { "Id": "a00Z000000J4sVoIAJ", "Name": "Order Product Order", "Product_Identifier_vod__c": "UserDefined", "Product_Type_vod__c": "Order", "Pricing_Bound_vod__c": false, "Description_vod__c": "Second", "BrandId": "a00Z000000HkfDkIAJ", "GroupIds": [], "KitParent": false, "InitialQuantityLimitBound": false }, "PricingErrorsAndWarnings": [], "FieldErrors": [], "Suggestions": [ "Suggestion range: 10-20" ], "CalculatedFields": { "Final_Net_Price_vod__c": "90000.0", "Line_Discount_Rule_vod__c": "10.000002", "Payment_vod__c": null, "Final_Net_Price_Rule_vod__c": "90000.0", "Total_Payment_vod__c": "25", "Free_Goods_Rule_vod__c": "10.0", "U_M_vod__c": null, "Brand_Warning_vod__c": null, "Group_Warning_vod__c": null, "Total_Discount_Rule_vod__c": "10.000002", "Rule_vod__c": "Qty > 0, 10 FG;;", "Order_Discount_Rule_vod__c": null, "Total_Discount_vod__c": "10.000002", "Payment_Rule_vod__c": null, "List_Price_Rule_vod__c": "100000.0", "Payment_Group_Rule_vod__c": null, "List_Amount_vod__c": "1500000.0", "Payment_Group_vod__c": null, "Delivery_Quantity_vod__c": null, "Payment_Brand_vod__c": "Brand1", "Free_Goods_vod__c": "10.0", "Group_Discount_Rule_vod__c": null, "Brand_Discount_Rule_vod__c": null, "Net_Price_vod__c": "90000.0", "Line_Warning_vod__c": null, "Discount_Calculation_Path_vod__c": null, "Total_Payment_Rule_vod__c": "25", "Net_Price_Rule_vod__c": "90000.0", "Product_Group_vod__c": null, "Payment_Brand_Rule_vod__c": "Brand1", "Line_Discount_vod__c": "10.000002", "Net_Amount_vod__c": "1350000.0", "Net_Amount_Rule_vod__c": "1350000.0", "Order_Discount_vod__c": null } } ] } } ``` -------------------------------- ### Order API - Get Eligible Accounts Source: https://developer.veevacrm.com/doc/Content/CRM_topics/Veeva/rest-api Retrieves a list of eligible accounts that can be used to create orders. ```APIDOC ## GET /accounts ### Description Retrieves a list of eligible accounts that can be used for creating orders. ### Method GET ### Endpoint /accounts ### Parameters (No specific parameters mentioned for this endpoint in the provided text. Query parameters might be available for filtering or pagination.) ### Request Example ``` GET /accounts ``` ### Response #### Success Response (200) - A list of account objects, each containing account details. #### Response Example (Example response will be a JSON array of account objects.) ``` -------------------------------- ### Get Media Images for Slides API Source: https://developer.veevacrm.com/doc/Content/CRM_topics/Veeva/myinsights-veeva Retrieves thumbnail and preview image URLs for specified CLM slides. ```APIDOC ## getMediaImagesForSlides(slideIds) ### Description Returns the thumbnail and preview image URLs for specific CLM slides. ### Method GET (implied, as it's a data retrieval function) ### Endpoint Not applicable (Client-side JavaScript function) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ```javascript ds.getMediaImagesForSlides(['slide_id_1', 'slide_id_2']); ``` ### Response #### Success Response (200) - **slide** (object) - An object where keys are slide IDs. - **thumbnailUrl** (string) - The URL for the slide's thumbnail image. - **previewUrl** (string) - The URL for the slide's preview image. #### Response Example ```json { "slide_id_1": { "thumbnailUrl": "https://example.com/thumbnails/slide1.jpg", "previewUrl": "https://example.com/previews/slide1.jpg" }, "slide_id_2": { "thumbnailUrl": "https://example.com/thumbnails/slide2.jpg", "previewUrl": "https://example.com/previews/slide2.jpg" } } ``` ``` -------------------------------- ### Get Picklist Value Labels Source: https://developer.veevacrm.com/doc/Content/CRM_topics/Vault/clm-vault Retrieves the translated label for each picklist value of a specified field within an object. ```APIDOC ## GET /getPicklistValueLabels ### Description Returns the translated label for each of the picklist values of the specified field. ### Method GET ### Endpoint `/getPicklistValueLabels` ### Parameters #### Path Parameters - None #### Query Parameters - **object** (string) - Required - API Name of the object. - **field** (string) - Required - API Name of the picklist field. - **callback** (function) - Required - Call back function which is used to return the information. ### Request Example ```javascript com.veeva.clm.getPicklistValueLabels("Account", "specialty_1__v", displaySpecialtyValues); ``` ### Response #### Success Response (200) - **object** (object) - An object containing key-value pairs where the key is the picklist value API name, and the value is the translated picklist label. #### Response Example ```json { "Account": { "Value_1__c": "Label 1", "Value_2__c": "Label 2" } } ``` ```