{"id":3833,"date":"2022-04-18T07:18:40","date_gmt":"2022-04-18T07:18:40","guid":{"rendered":"https:\/\/demo2wpopal.b-cdn.net\/digitaz\/?page_id=3833"},"modified":"2026-03-26T10:39:27","modified_gmt":"2026-03-26T10:39:27","slug":"seguimiento-de-pedidos","status":"publish","type":"page","link":"https:\/\/bangkingvapes.com\/es\/seguimiento-de-pedidos\/","title":{"rendered":"Seguimiento de pedidos"},"content":{"rendered":"\n<div class=\"row\"  id=\"row-724910312\">\n\n\n\t<div id=\"col-750472457\" class=\"col small-12 large-12\"  >\n\t\t\t\t<div class=\"col-inner\"  >\n\t\t\t\n\t\t\t\n\n\n\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\" \/>\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" \/>\n  <title>Logistics Tracking<\/title>\n  <style>\n    :root {\n      --primary: #000;\n      --accent: #00c29a;\n      --background: #f7f7f7;\n      --card-bg: #fff;\n    }\n\n    * {\n      box-sizing: border-box;\n    }\n\n    body {\n      background-color: var(--background);\n      font-family: Arial, sans-serif;\n      color: #333;\n      margin: 0;\n      padding: 20px;\n    }\n\n    .track-main {\n      width: 100%;\n      max-width: 1200px;\n      padding: 20px;\n      background-color: var(--card-bg);\n      border-radius: 10px;\n      box-shadow: 0 2px 10px rgba(0,0,0,0.05);\n      margin: 0 auto 40px auto;\n    }\n\n    .track-title {\n      font-size: 20px;\n      margin-bottom: 16px;\n      color: #222;\n    }\n\n    .track-form {\n      display: flex;\n      gap: 10px;\n      flex-wrap: wrap;\n      height: auto;\n    }\n\n    .track-input {\n      flex: 1 1 250px;\n      padding: 0 16px;\n      height: 55px;\n      font-size: 16px;\n      border: 1px solid #ccc;\n      border-radius: 6px;\n      background-color: var(--card-bg);\n      color: #333;\n    }\n\n    .track-button {\n      height: 55px;\n      padding: 0 24px;\n      font-size: 16px;\n      font-weight: bold;\n      color: white;\n      background-color: var(--primary);\n      border: none;\n      border-radius: 6px;\n      cursor: pointer;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n    }\n\n    .track-button:hover {\n      background-color: #222;\n    }\n\n    .lang-switch {\n      text-align: center;\n      margin: 20px 0;\n      font-size: 14px;\n      color: #888;\n    }\n\n    .lang-switch a {\n      color: #007bff;\n      margin: 0 5px;\n      text-decoration: none;\n      cursor: pointer;\n    }\n\n    .lang-switch a:hover {\n      text-decoration: underline;\n    }\n\n    .content-row {\n      display: flex;\n      flex-wrap: wrap;\n      gap: 40px;\n      max-width: 1200px;\n      margin: 0 auto;\n      align-items: flex-start;\n    }\n\n    .track-result {\n      flex: 1 1 60%;\n      min-width: 300px;\n    }\n\n    \/* \u65f6\u95f4\u8f74\u7ebf\u6761 *\/\n    .timeline {\n      position: relative;\n      padding: 20px 0;\n    }\n\n    .timeline::before {\n      content: '';\n      position: absolute;\n      left: 50%;\n      top: 0;\n      bottom: 0;\n      width: 4px;\n      background: #e0e0e0;\n      transform: translateX(-50%);\n    }\n\n    \/* \u6bcf\u6761\u65f6\u95f4\u8f74\u5361\u7247 *\/\n    .timeline-item {\n      position: relative;\n      width: 50%;\n      padding: 0 30px;\n      box-sizing: border-box;\n      margin-bottom: 30px;\n    }\n\n    .timeline-item .content {\n      background: var(--card-bg);\n      padding: 20px;\n      border-radius: 12px;\n      box-shadow: 0 3px 10px rgba(0,0,0,0.12);\n      position: relative;\n    }\n\n    \/* \u5706\u5f62\u56fe\u6807 *\/\n    .timeline-item .icon {\n      position: absolute;\n      top: 30px;\n      width: 20px;\n      height: 20px;\n      border-radius: 50%;\n      border: 3px solid #fff;\n      z-index: 2;\n      background-color: #ccc;\n      transition: background-color 0.3s;\n    }\n\n    .icon-current {\n      background-color: var(--accent);\n    }\n\n    \/* \u5de6\u53f3\u4ea4\u9519 *\/\n    .timeline-item.left {\n      left: 0;\n      text-align: right;\n    }\n\n    .timeline-item.left .icon {\n      right: -12px;\n    }\n\n    .timeline-item.right {\n      left: 50%;\n      text-align: left;\n    }\n\n    .timeline-item.right .icon {\n      left: -12px;\n    }\n\n    .timeline-item .time {\n      font-size: 14px;\n      color: #666;\n      margin-bottom: 8px;\n    }\n\n    .timeline-item .location {\n      font-size: 18px;\n      font-weight: 700;\n      margin-bottom: 10px;\n    }\n\n    .timeline-item .detail {\n      font-size: 15px;\n      line-height: 1.5;\n      color: #444;\n    }\n\n    \/* FAQ \u4fa7\u680f *\/\n    .right-panel {\n      flex: 1 1 35%;\n      max-width: 400px;\n      background: var(--card-bg);\n      padding: 20px;\n      border-radius: 10px;\n      box-shadow: 0 2px 10px rgba(0,0,0,0.05);\n    }\n\n    .faq-list {\n      list-style: none;\n      padding: 0;\n      margin: 0;\n    }\n\n    .faq-list li {\n      position: relative;\n      padding-left: 24px;\n      margin-bottom: 20px;\n      color: #333;\n    }\n\n    .faq-list li::before {\n      content: '';\n      position: absolute;\n      left: 0;\n      top: 6px;\n      width: 12px;\n      height: 12px;\n      background-color: #e74c3c;\n      border-radius: 50%;\n    }\n\n    .faq-list li strong {\n      font-size: 16px;\n      color: #c0392b;\n      margin-bottom: 6px;\n      display: block;\n    }\n\n    .faq-list li p {\n      font-size: 15px;\n      margin: 0;\n    }\n\n    \/* \u5c0f\u5c4f\u5e55\u9002\u914d\uff0c\u6539\u4e3a\u5355\u5217 *\/\n    @media (max-width: 900px) {\n      .content-row {\n        flex-direction: column;\n      }\n      .timeline::before {\n        left: 20px;\n        transform: none;\n      }\n      .timeline-item {\n        width: 100% !important;\n        padding-left: 50px;\n        padding-right: 20px;\n        margin-bottom: 25px;\n      }\n      .timeline-item.left,\n      .timeline-item.right {\n        left: 0 !important;\n        text-align: left !important;\n      }\n      .timeline-item .icon {\n        left: 10px !important;\n        right: auto !important;\n      }\n    }\n  <\/style>\n<\/head>\n<body>\n  <div class=\"track-main\">\n    <h6 class=\"track-title\">Logistics tracking number:<\/h6>\n    <div class=\"track-form\">\n      <input id=\"inputNo\" class=\"track-input\" placeholder=\"Please fill in Logistics tracking number\" type=\"text\" \/>\n      <button id=\"checkButton\" class=\"track-button\">Track<\/button>\n    <\/div>\n  <\/div>\n\n  <div class=\"lang-switch\">\n    <span>Language: <\/span>\n    <a href=\"javascript:translate.changeLanguage('english');\">English<\/a> |\n    <a href=\"javascript:translate.changeLanguage('deutsch');\">Deutsch<\/a> |\n    <a href=\"javascript:translate.changeLanguage('french');\">Fran\u00e7ais<\/a> |\n    <a href=\"javascript:translate.changeLanguage('spanish');\">Espa\u00f1ol<\/a> |\n    <a href=\"javascript:translate.changeLanguage('italian');\">Italiano<\/a> |\n    <a href=\"javascript:translate.changeLanguage('swedish');\">Svenska<\/a> |\n    <a href=\"javascript:translate.changeLanguage('dutch');\">Nederlands<\/a> |\n    <a href=\"javascript:translate.changeLanguage('chinese_simplified');\">\u7b80\u4f53\u4e2d\u6587<\/a>\n  <\/div>\n\n  <div class=\"content-row\">\n    <div id=\"trackingResults\" class=\"track-result\"><\/div>\n\n    <div class=\"right-panel\">\n      <h3>\u2013 FAQS:<\/h3>\n      <ul class=\"faq-list\">\n        <li>\n          <strong>Why can\u2019t I check the logistics information?<\/strong>\n          <p>The tracking number is wrong or the courier has just been sent out and the courier company hasn\u2019t updated it yet.<\/p>\n        <\/li>\n        <li>\n          <strong>How long does shipping take?<\/strong>\n          <p>This is usually 7\u201315 working days, and may take up to 20 working days during public holidays or inclement weather conditions.<\/p>\n        <\/li>\n        <li>\n          <strong>Why does the state stay the same?<\/strong>\n          <p>Please be patient as it may be due to public holidays, fewer flights, very high volume of cargo, or strict customs regulations.<\/p>\n        <\/li>\n        <li>\n          <strong>Signed for, but not received?<\/strong>\n          <p>Please contact our customer service.<\/p>\n        <\/li>\n      <\/ul>\n    <\/div>\n  <\/div>\n\n  <script src=\"https:\/\/code.jquery.com\/jquery-3.6.0.min.js\"><\/script>\n  <script>\n    let currentLanguage = localStorage.getItem('Language') || 'en';\n\n    function delUrlParam(param) {\n      let obj = new URL(window.location.href);\n      obj.searchParams.delete(param);\n      return obj.href;\n    }\n\n    function addUrlParam(key, value) {\n      let obj = new URL(window.location.href);\n      obj.searchParams.set(key, value);\n      return obj.href;\n    }\n\n    function addLinksToText(text) {\n      var regex = new RegExp(\"(https?:\/\/[^\\s]+)\", \"g\");\n      return text.replace(regex, match =>\n        '<a style=\"color: blue\" href=\"' + match + '\" target=\"_blank\">' + match + '<\/a>'\n      );\n    }\n\n    function performTrackingQuery(trackingNumber) {\n      jQuery('#trackingResults').html(`<p>Checking. Please wait....<\/p>`);\n      jQuery.ajax({\n        url: '\/wp-json\/api\/v1\/tracking\/' + trackingNumber,\n        method: 'GET',\n        success: async function (response) {\n          const list = JSON.parse(response);\n          let html = `<div class=\"timeline\">`;\n          list.forEach(function (item, index) {\n            const side = index % 2 === 0 ? 'left' : 'right';\n            const iconClass = index === 0 ? 'icon icon-current' : 'icon icon-history';\n            html += `\n              <div class=\"timeline-item ${side}\" id=\"track-item-${index}\">\n                <div class=\"${iconClass}\"><\/div>\n                <div class=\"content\">\n                  <div class=\"time\">${item.time}<\/div>\n                  <div class=\"location\" id=\"location-${index}\">Translating...<\/div>\n                  <div class=\"detail\" id=\"detail-${index}\">Translating...<\/div>\n                <\/div>\n              <\/div>\n            `;\n          });\n          html += `<\/div>`;\n          jQuery('#trackingResults').html(html);\n          translateAndUpdateBatch(list);\n        },\n        error: function () {\n          jQuery('#trackingResults').html(`<p>\u67e5\u8be2\u51fa\u9519\uff0c\u8bf7\u7a0d\u540e\u518d\u8bd5\u3002<\/p>`);\n        }\n      });\n    }\n\n    jQuery('#checkButton').click(function () {\n      var trackingNumber = jQuery('#inputNo').val();\n      if (trackingNumber.trim() !== '') {\n        history.pushState({}, 0, delUrlParam('no'));\n        history.pushState({}, 0, addUrlParam('no', trackingNumber));\n        performTrackingQuery(trackingNumber);\n      } else {\n        alert('Please enter the tracking number\uff01');\n      }\n    });\n\n    async function translateAndUpdateBatch(list) {\n      try {\n        const textsToTranslate = list.flatMap(item => [item.location, item.detail]);\n        const translatedTexts = await translateTexts(textsToTranslate);\n\n        list.forEach(function (item, index) {\n          jQuery(`#location-${index}`).html(translatedTexts[index * 2]);\n          jQuery(`#detail-${index}`).html(addLinksToText(translatedTexts[index * 2 + 1]));\n        });\n      } catch (error) {\n        console.error('Translation error:', error);\n        list.forEach(function (item, index) {\n          jQuery(`#location-${index}`).html(item.location);\n          jQuery(`#detail-${index}`).html(addLinksToText(item.detail));\n        });\n      }\n    }\n\n    var translate = {\n      changeLanguage: function (language) {\n        const languageMap = {\n          'english': 'en',\n          'deutsch': 'de',\n          'french': 'fr',\n          'spanish': 'es',\n          'italian': 'it',\n          'swedish': 'sv',\n          'dutch': 'nl',\n          'chinese_simplified': 'zh-Hans'\n        };\n        currentLanguage = languageMap[language] || 'en';\n        localStorage.setItem('Language', currentLanguage);\n\n        const list = jQuery('.timeline-item').map(function (index) {\n          return {\n            location: jQuery(`#location-${index}`).text(),\n            detail: jQuery(`#detail-${index}`).text()\n          };\n        }).get();\n\n        if (list.length > 0) {\n          list.forEach(function (_, index) {\n            jQuery(`#location-${index}`).html('Translating...');\n            jQuery(`#detail-${index}`).html('Translating...');\n          });\n          translateAndUpdateBatch(list);\n        }\n      }\n    };\n\n    async function translateTexts(texts) {\n      try {\n        const accessToken = await getAccessToken();\n        const response = await fetch(`https:\/\/api.cognitive.microsofttranslator.com\/translate?api-version=3.0&to=${currentLanguage}`, {\n          method: 'POST',\n          headers: {\n            'Content-Type': 'application\/json',\n            'Authorization': `Bearer ${accessToken}`,\n          },\n          body: JSON.stringify(texts.map(text => ({ 'Text': text })))\n        });\n        const data = await response.json();\n        return data.map(item => item.translations[0].text);\n      } catch (error) {\n        console.error('Translation error:', error);\n        return texts;\n      }\n    }\n\n    async function getAccessToken() {\n      const response = await fetch('https:\/\/edge.microsoft.com\/translate\/auth');\n      return await response.text();\n    }\n\n    jQuery(document).ready(function () {\n      const urlParams = new URLSearchParams(window.location.search);\n      const trackingNumber = urlParams.get('no');\n      if (trackingNumber) {\n        jQuery('#inputNo').val(trackingNumber);\n        performTrackingQuery(trackingNumber);\n      }\n    });\n  <\/script>\n<\/body>\n<\/html>\n\n\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\n\t\n\n\n<style>\n#row-724910312 > .col > .col-inner {\n  padding: 150px 0px 150px 0px;\n}\n<\/style>\n<\/div>\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-3833","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/bangkingvapes.com\/es\/wp-json\/wp\/v2\/pages\/3833","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bangkingvapes.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bangkingvapes.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bangkingvapes.com\/es\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/bangkingvapes.com\/es\/wp-json\/wp\/v2\/comments?post=3833"}],"version-history":[{"count":0,"href":"https:\/\/bangkingvapes.com\/es\/wp-json\/wp\/v2\/pages\/3833\/revisions"}],"wp:attachment":[{"href":"https:\/\/bangkingvapes.com\/es\/wp-json\/wp\/v2\/media?parent=3833"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}