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

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 &amp; 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 &amp; 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-@#$%^&amp; *!_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-@#$%^&amp; *!_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