I attempted to use the below and I am getting blanks when the page opens up. This is on https://developer.genesys.cloud/routing/outbound/upload-contacts-guide.
// Add contact lists to the UI contactLists.entities.forEach((contactList) => { $('#contactLists').append($('') .attr('value', contactList.id) .text(contactList.name));
The entire code I am using is:
<style type='text/css'>
.row {
margin-top: 8px;
}
</style>
<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
<script src="https://sdk-cdn.mypurecloud.com/javascript/157.0.0/purecloud-platform-client-v2.min.js"></script>
<script type='text/javascript'>
// This client ID expects the redirect URL to be http://localhost:8080/
const clientId = '945f7819-983d-4996-9595-e466fab0a604';
//const redirectUri = window.location.href;
const redirectUri = http://localhost:8080;
// Set Genesys Cloud objects
const platformClient = require('platformClient');
const client = platformClient.ApiClient.instance;
const outboundApi = new platformClient.OutboundApi();
// Set Genesys Cloud settings
client.setEnvironment('usw2.pure.cloud');
client.setPersistSettings(false, 'test_app');
$(document).ready(() => {
// Handle file selection
$('#file-input').change((event) => {
uploadContacts(event.target.files[0]);
});
// Authenticate with Genesys Cloud
client.loginImplicitGrant(clientId, redirectUri)
.then(() => {
console.log('Logged in');
// Get a list of contact lists
return outboundApi.getOutboundContactlists({ pageSize: 100 });
})
.then((contactLists) => {
// Add contact lists to the UI
contactLists.entities.forEach((contactList) => {
$('#contactLists').append($('<option></option>')
.attr('value', contactList.id)
.text(contactList.name));
});
})
.catch((err) => console.error(err));
function uploadContacts(file) {
const contactListId = $('#contactLists').find(':selected').val();
console.log('contactListId: ' + contactListId);
// Build form data object (POST request body)
const data = new FormData();
data.append('id', contactListId);
data.append('file', file);
data.append('fileType', 'contactlist');
data.append('contact-id-name', 'Contact ID');
// Build request
const request = {
url: 'https://apps.mypurecloud.com/uploads/v2/contactlist',
headers: {
Authorization: 'bearer ' + client.authData.accessToken
},
data: data,
processData: false,
contentType: false
};
// Upload contact list
$.post(request)
.then((data) => {
console.log('UPLOAD SUCCESS');
console.log(data);
// Show success
$('#upload-result').html($('<div>').addClass('alert alert-success').text('File uploaded successfully'));
})
.catch((err) => {
let message = $('<span>').text('File uploaded failed!');
if (err.status) {
message.append($('<p>').text(`${err.status} ${err.statusText}`));
message.append($('<p>').text(`Response body: ${err.responseText}`));
}
console.error(err);
// Show failure
$('#upload-result').html($('<div>').addClass('alert alert-danger').html(message));
});
}
</script>