developers.refinitiv.com
Open in
urlscan Pro
2600:9000:206f:7000:19:f220:7800:93a1
Public Scan
URL:
https://developers.refinitiv.com/en/article-catalog/article/legacy-api-migration
Submission: On January 28 via manual from PL — Scanned from DE
Submission: On January 28 via manual from PL — Scanned from DE
Form analysis
2 forms found in the DOM<form id="ftlContainer" data-form-reason="developer portal submit ftl details" novalidate="novalidate">
<div class="tr-VerticalSpacing tr-VerticalSpacing--l">
<div class="tr-Grid tr-Grid--even2">
<div class="tr-Grid-items">
<div class="tr-Grid-item">
<style>
.hidden {
display: none;
}
</style>
<div class="tr-VerticalSpacing tr-VerticalSpacing--m" id="screenNameWrapper">
<div class="tr-VerticalSpacing tr-VerticalSpacing--m">
<div class="tr-FormTextControl">
<label class="tr-FormTextControl-label" for="screenName">
<span class="tr-FormTextControl-labelText">Screen name</span>
<input class="tr-FormTextControl-input" title="" id="screenName" name="screenName" type="text" placeholder="E.g - Jack" autocomplete="off">
</label>
<span id="screenNameerrortext" class="hidden" style="color:red;"></span>
</div>
</div>
</div>
<script>
</script>
<style>
.hidden {
display: none;
}
</style>
<div class="tr-VerticalSpacing tr-VerticalSpacing--m" id="companyNameWrapper">
<div class="tr-VerticalSpacing tr-VerticalSpacing--m">
<div class="tr-FormTextControl">
<label class="tr-FormTextControl-label" for="companyName">
<span class="tr-FormTextControl-labelText">Company name</span>
<input class="tr-FormTextControl-input" title="" id="companyName" name="companyName" type="text" placeholder="E.g - Refinitiv" autocomplete="off">
</label>
<span id="companyNameerrortext" class="hidden" style="color:red;"></span>
</div>
</div>
</div>
<script>
</script>
<style>
.hidden {
display: none;
}
</style>
<div class="tr-VerticalSpacing tr-VerticalSpacing--m" id="spokenLangWrapper">
<div class="tr-VerticalSpacing tr-VerticalSpacing--m">
<div class="tr-FormTextControl">
<label class="tr-FormTextControl-label" for="spokenLang">
<span class="tr-FormTextControl-labelText">Spoken language(s) (Optional)</span>
<input class="tr-FormTextControl-input" title="" id="spokenLang" name="spokenLang" type="text" placeholder="Separate multiple values with commas" autocomplete="off">
</label>
<span id="spokenLangerrortext" class="hidden" style="color:red;"></span>
</div>
</div>
</div>
<script>
</script>
<style>
.hidden {
display: none;
}
</style>
<div class="tr-VerticalSpacing tr-VerticalSpacing--m" id="progLangWrapper">
<div class="tr-VerticalSpacing tr-VerticalSpacing--m">
<div class="tr-FormTextControl">
<label class="tr-FormTextControl-label" for="progLang">
<span class="tr-FormTextControl-labelText">Programming language(s) (Optional)</span>
<input class="tr-FormTextControl-input" title="" id="progLang" name="progLang" type="text" placeholder="Separate multiple values with commas" autocomplete="off">
</label>
<span id="progLangerrortext" class="hidden" style="color:red;"></span>
</div>
</div>
</div>
<script>
</script>
<div class="tr-VerticalSpacing tr-VerticalSpacing--m" id="checkbox1Label">
<div class="tr-VerticalSpacing tr-VerticalSpacing--m">
<div class="tr-FormTextControl tr-new-checkbox">
<label class="tr-FormTextControl-label" for="check1">
<input type="checkbox" id="check1" name="check1">
<span class="ui-checkbox__bg"></span>
<span>Share my full name, country and languages with other developers <a target="_blank"></a>
</span>
</label>
<label id="check1-error" class="error" for="check1"></label>
</div>
</div>
</div>
<div class="tr-VerticalSpacing tr-VerticalSpacing--m" id="checkbox2Label">
<div class="tr-VerticalSpacing tr-VerticalSpacing--m">
<div class="tr-FormTextControl tr-new-checkbox">
<label class="tr-FormTextControl-label" for="check2">
<input type="checkbox" id="check2" name="check2">
<span class="ui-checkbox__bg"></span>
<span>Share the company I work for and my email address with other developers <a target="_blank"></a>
</span>
</label>
<label id="check2-error" class="error" for="check2"></label>
</div>
</div>
</div>
<div class="tr-VerticalSpacing tr-VerticalSpacing--m" id="checkbox3Label">
<div class="tr-VerticalSpacing tr-VerticalSpacing--m">
<div class="tr-FormTextControl tr-new-checkbox">
<label class="tr-FormTextControl-label" for="check3">
<input type="checkbox" id="check3" name="check3">
<span class="ui-checkbox__bg"></span>
<span>I agree to <a href="/en/terms-of-use" target="_blank"> terms & conditions</a>
<h>
<h> and </h><a href="https://www.refinitiv.com/en/policies/privacy-statement" target="_blank">privacy policy</a>
</h>
</span>
</label>
<label id="check3-error" class="error" for="check3"></label>
</div>
</div>
</div>
<div class="tr-VerticalSpacing tr-VerticalSpacing--m" id="checkbox4Label">
<div class="tr-VerticalSpacing tr-VerticalSpacing--m">
<div class="tr-FormTextControl tr-new-checkbox">
<label class="tr-FormTextControl-label" for="check4">
<input type="checkbox" id="check4" name="check4">
<span class="ui-checkbox__bg"></span>
<span>Send me communications about Financial & Risk resources, including products or services. <a href="/en/testpagetermandcondition" target="_blank"></a>
</span>
</label>
<label id="check4-error" class="error" for="check4"></label>
</div>
</div>
</div>
<div class="tr-VerticalSpacing tr-VerticalSpacing--m">
<div class="tr-Grid tr-Grid--even2">
<div class="tr-Grid-items">
<div class="tr-Grid-item sr-backButtonArea">
<a class="tr-Anchor tr-Link tr-Link--iconLeft tr-Link--withIcon tr-Link--inline tr-Hidden">
<span class="tr-Link-icon">
<span class="tr-Svg">
<span class="tr-Svg-inner">
<svg aria-hidden="true" viewBox="0 0 24 24">
<g class="nc-icon-wrapper" fill="none" stroke="currentColor" stroke-width="2">
<path d="M22 12H2"></path>
<path d="M9 19l-7-7 7-7" stroke-linecap="square"></path>
</g>
</svg>
</span>
</span>
</span>
<span class="tr-Link-inner">Back</span>
</a>
</div>
<div class="tr-Grid-item ">
<button id="submitBtn" class="tr-Anchor tr-Button tr-Button--primary" type="submit">
<span class="tr-Button-body">Complete profile</span>
</button>
</div>
</div>
</div>
</div>
<input type="hidden" value="00018RA_DeveloperPortal_Inbound" name="elqFormName">
<input type="hidden" value="530566577" name="elqSiteId">
<input type="hidden" value="1111" name="elqCampaignId">
<input type="hidden">
<input type="hidden" value="0" name="hiddenField">
<input type="hidden" value="LeadSourceMostRecent" name="LeadSource-MostRecent">
<input type="hidden" value="secondaryleadsource" name="secondary_lead_source">
<input type="hidden" value="DetailleadSourcedetailmostrecent" name="Detail-LeadSourceDetail-MostRecent">
<input type="hidden" value="utm_campaign" name="utm_campaign">
<input type="hidden" value="utm_source" name="utm_source">
<input type="hidden" value="utm_medium" name="utm_medium">
<input type="hidden" value="utm_content" name="utm_content">
<input type="hidden">
<input type="hidden" value="utm_term" name="utm_term">
<input type="hidden" value="source_URL" name="source_URL">
<input type="hidden" value="hiddenCampaignId" name="hiddenCampaignId">
</div>
<div class="tr-Grid-item">
</div>
</div>
</div>
</div>
<div>
<style>
.hidden {
display: none;
}
</style>
<p class="hidden" id="constraintsAsString">{"messages":{"companyName":{"trengtext":"Please enter the company name in correct format","required":"Please enter the company name"},"screenName":{"answerHubScreenName":"Please enter the name in correct
format","required":"Please enter your screen name "}},"rules":{"companyName":{"trengtext":true,"required":true},"screenName":{"answerHubScreenName":true,"required":true}}}</p>
<script>
var country;
$.validator.addMethod('trtext', function(value, element) {
return this.optional(element) || value.match(new RegExp('^[A-Za-z]+$'));
}, 'only Strings are allowed');
$.validator.addMethod('tremail', function(value, element) {
return this.optional(element) || value.match(new RegExp('[a-zA-Z0-9_.-\.]+@[a-zA-Z0-9\-\_\.]+\.[a-zA-Z0-9]{2,4}$'));
}, 'Please specify the correct domain for your documents');
$.validator.addMethod('accountno', function(value, element) {
return this.optional(element) || value.match(new RegExp('[A](-)([0-9]{8})$'));
}, 'Please enter 8 digit customer number (A-xxxxxxxx)');
$.validator.addMethod('requestId', function(value, element) {
return this.optional(element) || value.match(new RegExp('^$|^[0][0-9]{7}$'));
}, 'Please enter correct requestId');
$.validator.addMethod('trinternaluser', function(value, element) {
return this.optional(element) || value.match(new RegExp('[a-zA-Z0-9_.-\.]+@(?!thomson.com|reuters.com|thomsonreuters.com|refinitiv.com|tr.com)[a-zA-Z0-9\-\_\.]+\.[a-zA-Z0-9]{2,4}$'));
}, 'Please enter a valid customer email address');
$.validator.addMethod('trphone', function(value, element) {
return this.optional(element) || value.match(new RegExp('(^\\+)((\\s*[0-9]\\s*){8,})(\\s*(x|X?)\\s*)((\\s*[0-9]\\s*)*\\d$)$'));
}, 'Please enter correct phone number');
$.validator.addMethod('phone', function(value, element) {
return this.optional(element) || value.match(new RegExp('(^\\+)((\\s*[()-]?[0-9]\\s*[()-]?){9,20})$'));
}, 'Please enter correct phone number');
$.validator.addMethod('trengtext', function(value, element) {
return this.optional(element) || value.match(new RegExp('^[a-zA-Z0-9-@#$%^& *!_s]*$'));
}, 'Chinize characters are not allowed');
$.validator.addMethod('trregtext', function(value, element) {
return this.optional(element) || value.match(new RegExp('^[a-zA-Z0-9-., \']*$'));
}, 'Only alphabets numbers or characters');
$.validator.addMethod('reftextarea', function(value, element) {
return this.optional(element) || value.match(new RegExp('[a-zA-Z0-9][\\sa-zA-Z0-9]'));
}, 'Spaces not allowed');
$.validator.addMethod('marketingemail', function(value, element) {
return this.optional(element) || value.match(new RegExp('^[+a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$'));
}, 'Please specify the correct domain for your documents');
$.validator.addMethod('answerHubScreenName', function(value, element) {
return this.optional(element) || value.match(new RegExp('^[\\w\\.\\-\\@\\+\\s]+$'));
}, 'Please enter the name in correct format');
$(document).ready(function() {});
</script>
</div>
</form>
<form id="Feedback-Modal" novalidate="novalidate">
<h1>Feedback</h1>
<style>
.hidden {
display: none;
}
</style>
<div class="tr-VerticalSpacing tr-VerticalSpacing--m" id="feedbackfirstnameWrapper">
<div class="tr-VerticalSpacing tr-VerticalSpacing--m">
<div class="tr-FormTextControl">
<label class="tr-FormTextControl-label" for="feedbackfirstname">
<span class="tr-FormTextControl-labelText">First name</span>
<input class="tr-FormTextControl-input" title="" id="feedbackfirstname" name="feedbackfirstname" type="text" autocomplete="off">
</label>
<span id="feedbackfirstnameerrortext" class="hidden" style="color:red;"></span>
</div>
</div>
</div>
<script>
</script>
<style>
.hidden {
display: none;
}
</style>
<div class="tr-VerticalSpacing tr-VerticalSpacing--m" id="feedbacklastnameWrapper">
<div class="tr-VerticalSpacing tr-VerticalSpacing--m">
<div class="tr-FormTextControl">
<label class="tr-FormTextControl-label" for="feedbacklastname">
<span class="tr-FormTextControl-labelText">Last name</span>
<input class="tr-FormTextControl-input" title="" id="feedbacklastname" name="feedbacklastname" type="text" autocomplete="off">
</label>
<span id="feedbacklastnameerrortext" class="hidden" style="color:red;"></span>
</div>
</div>
</div>
<script>
</script>
<style>
.hidden {
display: none;
}
</style>
<div class="tr-VerticalSpacing tr-VerticalSpacing--m" id="feedbackemailWrapper">
<div class="tr-VerticalSpacing tr-VerticalSpacing--m">
<div class="tr-FormTextControl">
<label class="tr-FormTextControl-label" for="feedbackemail">
<span class="tr-FormTextControl-labelText">Email address</span>
<input class="tr-FormTextControl-input" title="" id="feedbackemail" name="feedbackemail" type="email" autocomplete="off">
</label>
<span id="feedbackemailerrortext" class="hidden" style="color:red;"></span>
</div>
</div>
</div>
<script>
</script>
<div class="tr-VerticalSpacing tr-VerticalSpacing--m " id="feedbacktypeWrapper">
<div class="tr-FormSelectControl">
<label class="tr-FormSelectControl-label sr-FormSelectControl--labelWithIcon" for="feedbacktype">
<span class="tr-FormSelectControl-labelText">
<span>Feedback type</span>
</span>
<span class="tr-FormSelectControl-input">
<select id="feedbacktype" class="tr-FormSelectControl-select" name="feedbacktype">
<option value="generalFeedback" class="tr-FormSelectControl-option">General Feedback About This Site</option>
<option value="reportProblem" class="tr-FormSelectControl-option">Report a Problem With This Site</option>
</select>
<span class="tr-FormSelectControl-arrow">
<span class="tr-Svg" style="width: 1.5rem">
<span class="tr-Svg-inner">
<svg aria-hidden="true" viewBox="0 0 24 24">
<path d="M16 10l-4 4-4-4" fill="none" stroke="currentColor" stroke-linecap="square" stroke-width="2"></path>
</svg>
</span>
</span>
</span>
</span>
</label>
<label id="feedbacktype-error" class="error" for="feedbacktype"></label>
</div>
</div>
<script>
var reqField = "";
var fieldId = "feedbacktype";
if (reqField) {
$('#' + fieldId).prop('required', true);
}
</script>
<div class="tr-VerticalSpacing tr-VerticalSpacing--m " id="problemtypeWrapper">
<div class="tr-FormSelectControl">
<label class="tr-FormSelectControl-label sr-FormSelectControl--labelWithIcon" for="problemtype">
<span class="tr-FormSelectControl-labelText">
<span>Problem Type</span>
</span>
<span class="tr-FormSelectControl-input">
<select id="problemtype" class="tr-FormSelectControl-select" name="problemtype">
<option value="brokenlink" class="tr-FormSelectControl-option">Broken Link</option>
<option value="imagesnotdisplaying" class="tr-FormSelectControl-option">Images not displaying</option>
<option value="pagesnotdisplaying" class="tr-FormSelectControl-option">Pages not displaying</option>
<option value="other" class="tr-FormSelectControl-option">Other</option>
</select>
<span class="tr-FormSelectControl-arrow">
<span class="tr-Svg" style="width: 1.5rem">
<span class="tr-Svg-inner">
<svg aria-hidden="true" viewBox="0 0 24 24">
<path d="M16 10l-4 4-4-4" fill="none" stroke="currentColor" stroke-linecap="square" stroke-width="2"></path>
</svg>
</span>
</span>
</span>
</span>
</label>
<label id="problemtype-error" class="error" for="problemtype"></label>
</div>
</div>
<script>
var reqField = "";
var fieldId = "problemtype";
if (reqField) {
$('#' + fieldId).prop('required', true);
}
</script>
<style>
.hidden {
display: none;
}
</style>
<div class="tr-VerticalSpacing tr-VerticalSpacing--m" id="feedbackSubjectWrapper">
<div class="tr-VerticalSpacing tr-VerticalSpacing--m">
<div class="tr-FormTextControl">
<label class="tr-FormTextControl-label" for="feedbackSubject">
<span class="tr-FormTextControl-labelText">Subject</span>
<input class="tr-FormTextControl-input" title="" id="feedbackSubject" name="feedbackSubject" type="text" autocomplete="off">
</label>
<span id="feedbackSubjecterrortext" class="hidden" style="color:red;"></span>
</div>
</div>
</div>
<script>
</script>
<style>
.hidden {
display: none;
}
</style>
<div class="tr-VerticalSpacing tr-VerticalSpacing--m" id="messageWrapper">
<div class="tr-VerticalSpacing tr-VerticalSpacing--m">
<div class="tr-FormTextareaControl">
<label class="tr-FormTextareaControl-label" for="message">
<span class="tr-FormTextareaControl-labelText">Message</span>
<textarea class="tr-FormTextareaControl-input" title="" id="message" name="message" autocomplete="off"></textarea>
</label>
<span id="messageerrortext" class="hidden" style="color:red;"></span>
</div>
</div>
</div>
<script>
</script>
<p>Attach files to upload</p>
<div>
<div class="confdiv" id="feedbackattachment">
<div class="attachment-box">
<input type="file" class="uploadFile" name="feedbackattachment" id="-file-feedbackattachment" onchange="viewAttachment(this)">
<div>
<p class="m pull-left mild-bold file-details">Attachments <span class="file-detail"> (10 MB limit) </span>
</p>
</div>
<div>
<p class="tr-Link--withIcon tr-Link--primary m pull-right mild-bold file-details file_upload" id="addAttachment">
<span class="tr-Link-inner ">Attach file</span>
<span class="tr-Link-icon">
<span class="tr-Svg">
<span class="tr-Svg-inner">
<svg viewBox="0 0 64 64">
<path d="M48 16v28c0 8.8-7.2 16-16 16s-16-7.2-16-16V15c0-6.1 4.9-11 11-11s11 4.9 11 11v27c0 3.3-2.7 6-6 6s-6-2.7-6-6V16" fill="none" stroke="#4d4d4d" stroke-linecap="round" stroke-width="4"></path>
</svg>
</span>
</span>
</span>
</p>
</div>
<div id="feedbackattachment-feed__attachments-list" class="col-lg-12 col-md-12 col-sm-12 col-xs-12 feed__attachments-list"></div>
</div>
<input type="hidden" id="attachmentId" name="attachmentArr" value="">
<input type="hidden" id="attachArr" name="attachArr" value="">
<input type="hidden" id="fileArr" name="fileArr" value="">
<label class="error" for="-file-feedbackattachment"></label>
</div>
</div>
<div class="tr-VerticalSpacing tr-VerticalSpacing--m">
<div class="tr-Grid tr-Grid--even2">
<div class="tr-Grid-items">
<div class="tr-Grid-item sr-backButtonArea">
<a class="tr-Anchor tr-Link tr-Link--iconLeft tr-Link--withIcon tr-Link--inline tr-Hidden">
<span class="tr-Link-icon">
<span class="tr-Svg">
<span class="tr-Svg-inner">
<svg aria-hidden="true" viewBox="0 0 24 24">
<g class="nc-icon-wrapper" fill="none" stroke="currentColor" stroke-width="2">
<path d="M22 12H2"></path>
<path d="M9 19l-7-7 7-7" stroke-linecap="square"></path>
</g>
</svg>
</span>
</span>
</span>
<span class="tr-Link-inner">Back</span>
</a>
</div>
<div class="tr-Grid-item ">
<button id="feedbackSubmitButton" class="tr-Anchor tr-Button tr-Button--primary" type="submit">
<span class="tr-Button-body">Submit</span>
</button>
</div>
</div>
</div>
</div>
<div>
<style>
.hidden {
display: none;
}
</style>
<p class="hidden" id="constraintsAsString">{"messages":{"feedbacklastname":{"required":"Please enter last name"},"feedbackfirstname":{"required":"Please enter first name"},"problemtype":{"required":"Please select problem
type"},"feedbackemail":{"tremail":"Please enter email correctly","required":"Please enter email"},"message":{"required":"Please enter message"},"feedbackSubject":{"required":"Please enter subject"},"feedbacktype":{"required":"Please select
feedback
type"}},"rules":{"feedbacklastname":{"required":true},"feedbackfirstname":{"required":true},"problemtype":{"required":true},"feedbackemail":{"tremail":true,"required":true},"message":{"required":true},"feedbackSubject":{"required":true},"feedbacktype":{"required":true}}}
</p>
<script>
var country;
$.validator.addMethod('trtext', function(value, element) {
return this.optional(element) || value.match(new RegExp('^[A-Za-z]+$'));
}, 'only Strings are allowed');
$.validator.addMethod('tremail', function(value, element) {
return this.optional(element) || value.match(new RegExp('[a-zA-Z0-9_.-\.]+@[a-zA-Z0-9\-\_\.]+\.[a-zA-Z0-9]{2,4}$'));
}, 'Please specify the correct domain for your documents');
$.validator.addMethod('accountno', function(value, element) {
return this.optional(element) || value.match(new RegExp('[A](-)([0-9]{8})$'));
}, 'Please enter 8 digit customer number (A-xxxxxxxx)');
$.validator.addMethod('requestId', function(value, element) {
return this.optional(element) || value.match(new RegExp('^$|^[0][0-9]{7}$'));
}, 'Please enter correct requestId');
$.validator.addMethod('trinternaluser', function(value, element) {
return this.optional(element) || value.match(new RegExp('[a-zA-Z0-9_.-\.]+@(?!thomson.com|reuters.com|thomsonreuters.com|refinitiv.com|tr.com)[a-zA-Z0-9\-\_\.]+\.[a-zA-Z0-9]{2,4}$'));
}, 'Please enter a valid customer email address');
$.validator.addMethod('trphone', function(value, element) {
return this.optional(element) || value.match(new RegExp('(^\\+)((\\s*[0-9]\\s*){8,})(\\s*(x|X?)\\s*)((\\s*[0-9]\\s*)*\\d$)$'));
}, 'Please enter correct phone number');
$.validator.addMethod('phone', function(value, element) {
return this.optional(element) || value.match(new RegExp('(^\\+)((\\s*[()-]?[0-9]\\s*[()-]?){9,20})$'));
}, 'Please enter correct phone number');
$.validator.addMethod('trengtext', function(value, element) {
return this.optional(element) || value.match(new RegExp('^[a-zA-Z0-9-@#$%^& *!_s]*$'));
}, 'Chinize characters are not allowed');
$.validator.addMethod('trregtext', function(value, element) {
return this.optional(element) || value.match(new RegExp('^[a-zA-Z0-9-., \']*$'));
}, 'Only alphabets numbers or characters');
$.validator.addMethod('reftextarea', function(value, element) {
return this.optional(element) || value.match(new RegExp('[a-zA-Z0-9][\\sa-zA-Z0-9]'));
}, 'Spaces not allowed');
$.validator.addMethod('marketingemail', function(value, element) {
return this.optional(element) || value.match(new RegExp('^[+a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$'));
}, 'Please specify the correct domain for your documents');
$.validator.addMethod('answerHubScreenName', function(value, element) {
return this.optional(element) || value.match(new RegExp('^[\\w\\.\\-\\@\\+\\s]+$'));
}, 'Please enter the name in correct format');
$(document).ready(function() {});
</script>
</div>
</form>
Text Content
Loading GlobalGlobal Directory EXPLORE OUR SITES London Stock Exchange Group Refinitiv MyRefinitiv Refinitiv Perspectives London Stock Exchange FTSE Russell LCH Contact Us SignSign in/Register Sign in Register Problems signing In? Developer Community Developer Community * APIs APIs * Use Cases Use Cases * Articles Articles * Tools Tools * Videos Videos * Q&A Q&A ThankyouErrorModal Cancel Success-form THANK YOU THANK YOU FOR YOUR FEEDBACK AN ERROR OCCURED Support ticket number: Your support ticket has been created and emailed to you. We will review your message and get back to you shortly via email. Please try again later The attached file(s) are not uploaded because of invalid file(s) Close 1. Home 2. Article Catalog 3. Migrating from our Legacy APIs to our Strategic APIs Migrating from Refinitiv Legacy to Strategic APIs October 12,2021 * * * * * Umer Nalla Developer Advocate Developer Advocate Whilst, Refinitiv offers several current APIs and SDKs for working with Real-Time streaming data - many of our users have a considerable deployment of applications developed using our legacy APIs. Whilst we continue to support these legacy APIs in terms of investigation, analysis, replication, recommend workarounds and bug fixes for any issues, it is not feasible to provide the same level of support for things like newer OSs, compilers and IDEs - as we are able to do for our newer Strategic APIs. Or there are customers migrating from a legacy real-time delivery to a strategic one - from Elektron Connect to Refintiiv Real-Time Optimized. This has meant that many of our customers are increasingly looking to migrate their legacy applications away from these legacy APIs and rewrite them using the Strategic APIs. When we have previously helped developers migrating from a legacy API, there is often a certain level of anxiety. The code was usually written several years ago by someone else and could consist of several hundred or thousands of lines. Identifying and understanding the key Market Data related code snippets and things like key config parameters - may not always be obvious. Whilst we do have documentation for the legacy APIs - the required information is often spread out across several documents. In these circumstances, we usually find that a quick walkthrough of the key bits of the existing code usually goes a long way in alleviating these concerns. We often also help the customer in choosing a Strategic API to migrate to - by discussing their requirements and criteria in terms of performance, language choice and content - to help narrow the list down to the most appropriate candidate(s). To help guide customers in such a position, we recently delivered a Refinitiv Acadamy session around the topic of Legacy API migration which can be viewed below. 56:21 In addition to the above Academy Session recording, we have put together the following collection of articles and resources that should help them on this migration journey. Choosing your Refinitiv Real-Time Streaming API Migrating from the Legacy Robust Foundation API (RFA) to the Enterprise Message API (EMA) An overview of the Robust Foundation API - RFA Java / C++ An overview of the Robust Foundation API - RFA.NET Migrating from the Legacy SFC API to the Enterprise Message API (EMA) An overview of the Refinitiv System Foundation Classes - SFC Migrating an application from Elektron Connect to Refinitiv Real-Time Optimized Migrating from Elektron Connect to ERT in Cloud with LPC (Video) We hope you will find the above resources useful and if you require any further assistance feel free to ask on the Refinitiv Developer Community Forum Legacy API Migration * Choosing your Refinitiv Real-Time Streaming API July 30, 2021 • Umer Nalla * Migrating an application from Elektron Connect to Refinitiv Real-Time Optimized June 22, 2021 • Gurpreet Bal * Migrating from the Legacy RFA to Strategic EMA September 03, 2021 • Umer Nalla * Overview of the Robust Foundation API - RFA Java/C++ August 10, 2021 • Umer Nalla * Overview of the Robust Foundation API - RFA.Net August 10, 2021 • Umer Nalla * Migrating from the Legacy SFC to Strategic EMA August 10, 2021 • Umer Nalla * An overview of the Refinitiv System Foundation Classes - SFC August 10, 2021 • Umer Nalla Legacy API Migration, Strategic APIs * Financial Data Retrieval * Financial Data Contributions * Compiled * Cloud * C++ * Java * .NET ftlScreen WELCOME ! HELP US PERSONALISE YOUR EXPERIENCE BY COMPLETING YOUR PROFILE. Screen name Company name Spoken language(s) (Optional) Programming language(s) (Optional) Share my full name, country and languages with other developers Share the company I work for and my email address with other developers I agree to terms & conditions and privacy policy Send me communications about Financial & Risk resources, including products or services. Back Complete profile {"messages":{"companyName":{"trengtext":"Please enter the company name in correct format","required":"Please enter the company name"},"screenName":{"answerHubScreenName":"Please enter the name in correct format","required":"Please enter your screen name "}},"rules":{"companyName":{"trengtext":true,"required":true},"screenName":{"answerHubScreenName":true,"required":true}}} ftlErrorScreen THERE IS SOME PROBLEM WITH THE REQUEST SENT. Close versuccessModal Close EMAIL VERIFICATION SUCCESSFULLY DONE! Thank you for registering. You will typically receive your email confirmation within 20 mins with further instructions on how to proceed with access to Developer Community Close feedbackModal Close FEEDBACK First name Last name Email address Feedback type General Feedback About This Site Report a Problem With This Site Problem Type Broken Link Images not displaying Pages not displaying Other Subject Message Attach files to upload Attachments (10 MB limit) Attach file Back Submit {"messages":{"feedbacklastname":{"required":"Please enter last name"},"feedbackfirstname":{"required":"Please enter first name"},"problemtype":{"required":"Please select problem type"},"feedbackemail":{"tremail":"Please enter email correctly","required":"Please enter email"},"message":{"required":"Please enter message"},"feedbackSubject":{"required":"Please enter subject"},"feedbacktype":{"required":"Please select feedback type"}},"rules":{"feedbacklastname":{"required":true},"feedbackfirstname":{"required":true},"problemtype":{"required":true},"feedbackemail":{"tremail":true,"required":true},"message":{"required":true},"feedbackSubject":{"required":true},"feedbacktype":{"required":true}}} Refinitiv * Cookie Policy * Privacy Statement * Terms of use * Copyright * Do not sell my info