Dashboard de Tenis en Tiempo Real con WebSocket y JavaScript

Imagen
¿Por qué utilizar WebSocket en lugar de una API REST? El caso de Tennis API Cuando trabajamos con APIs, normalmente pensamos en solicitudes HTTP tradicionales donde una aplicación consulta información cada cierto tiempo. Sin embargo, para aplicaciones que requieren datos en tiempo real, existe una alternativa mucho más eficiente: WebSocket. Mientras exploraba las capacidades de Tennis API encontré su integración mediante Socket.IO, una tecnología que permite recibir actualizaciones en tiempo real sin necesidad de realizar consultas constantes al servidor. ¿Cómo funciona una API REST tradicional? Con una API REST, la aplicación debe preguntar periódicamente si existen nuevos datos. Por ejemplo: setInterval(async () => { const response = await fetch("/live-scores"); const data = await response.json(); console.log(data); }, 5000); En este caso la aplicación realiza una consulta cada 5 segundos. El problema es que muchas veces no existe información nue...

API para actualizar customer profile Oracle Cloud

 En ocasiones necesitamos actualizar datos para muchos registros y para evitar hacer esto uno por uno, Oracle tiene disponibles herramientas como SOAP Web Services y REST API Services.


En esta publicación vamos hacer una actualización del valor de Credit Limit (Limite de Credit) para un cliente en el modulo de AR (Account Receivable o de Cuentas por Cobrar)

Primero vamos a la liga de documentacion https://docs.oracle.com/en/ y ahí buscamos en este caso la sección de finanzas

Luego seleccionamos Integrate

Seleccionamos Review  SOAP Web Services

Dentro buscamos la sección de Customer Profile


Vamos a utilizar la URL que viene en esa pantalla


Service WSDL URL: https://servername/fscmService/ReceivablesCustomerProfileService?WSDL

Vamos a entrar a Postman y desde ahí vamos armar el xml , primero vamos agregar un request


Luego vamos a poner el tipo Post y vamos a poner la URL que vimos dos pasos atrás, solo tengan cuidado de cambiar el nombre de su servidor URL: https://servername/fscmService/ReceivablesCustomerProfileService?WSDL


Después vamos agregar nuestras credenciales de acceso a Oracle , en la sección de authorization , en la parte de Body vamos a marcar raw y XML.



Y en Body vamos a colocar el siguiente código de XML


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://xmlns.oracle.com/apps/financials/receivables/customers/customerProfileService/types/" xmlns:cus="http://xmlns.oracle.com/apps/financials/receivables/customers/customerProfileService/" xmlns:cus1="http://xmlns.oracle.com/apps/financials/receivables/customerSetup/customerProfiles/model/flex/CustomerProfileDff/" xmlns:cus2="http://xmlns.oracle.com/apps/financials/receivables/customerSetup/customerProfiles/model/flex/CustomerProfileGdf/">
   <soapenv:Header/>
   <soapenv:Body>
      <typ:updateCustomerProfile>
         <typ:customerProfile>
            <!--Optional:-->
            <cus:AccountNumber>Micliente</cus:AccountNumber>
            <!--Optional:-->
            <cus:CustomerAccountId>512396440</cus:CustomerAccountId>
            <!--Optional:-->
            <cus:CreditLimit>210</cus:CreditLimit>
            <!--Optional:-->
            <cus:CreditCurrencyCode>MXN</cus:CreditCurrencyCode>
         </typ:customerProfile>
      </typ:updateCustomerProfile>
   </soapenv:Body>
</soapenv:Envelope>

Los campos en negrita son los valores que deben cambiar
  • Micliente , este valor corresponde al código de cuenta del cliente que queremos actualizar
  • 512396440, este valor corresponde al id del código de cuenta de cliente
  • 210,este valor corresponde al nuevo monto de limite de crédito que queremos colocar
  • MXN,este valor corresponde a la moneda que queremos utilizar para el limite de crédito
NOTA: se crea un nuevo profile, el profile anterior lo cierra colocando fecha de fin el dia en que se ejecuta el proceso

Este Request lo podemos modificar para que podamos hacer una actualización masiva, para ver los pasos de como hacerlo, vean la liga de la entrada Como Actualizar DFF de recibos en CXC. De manera rapida lo que hay que hacer es ponerle un nombre de variable a los valores en negrita por ejemplo {{Micliente}} , {{Idcliente}}etcétera y estos valores colocarlos como encabezados en un archivo CSV y colocar los valores
de los registros que queremos actualizar.
EL XML se veria asi

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://xmlns.oracle.com/apps/financials/receivables/customers/customerProfileService/types/" xmlns:cus="http://xmlns.oracle.com/apps/financials/receivables/customers/customerProfileService/" xmlns:cus1="http://xmlns.oracle.com/apps/financials/receivables/customerSetup/customerProfiles/model/flex/CustomerProfileDff/" xmlns:cus2="http://xmlns.oracle.com/apps/financials/receivables/customerSetup/customerProfiles/model/flex/CustomerProfileGdf/">
   <soapenv:Header/>
   <soapenv:Body>
      <typ:updateCustomerProfile>
         <typ:customerProfile>
            <!--Optional:-->
            <cus:AccountNumber>{{Micliente}}</cus:AccountNumber>
            <!--Optional:-->
            <cus:CustomerAccountId>{{Idcliente}}</cus:CustomerAccountId>
            <!--Optional:-->
            <cus:CreditLimit>{{LimiteCredito}}</cus:CreditLimit>
            <!--Optional:-->
            <cus:CreditCurrencyCode>{{Moneda}}</cus:CreditCurrencyCode>
         </typ:customerProfile>
      </typ:updateCustomerProfile>
   </soapenv:Body>
</soapenv:Envelope>


Esperamos les sea de utilidad esta publicación y nos compartan

Comentarios

🚀 Mantener este blog funcionando requiere tiempo y café. ¡Puedes contribuir con uno aquí!

Entradas más populares de este blog

Guía Práctica: Ejemplo Completo de ASPX para Desarrolladores Web

👉 Cómo obtener el tipo de cambio en Excel con API de Banxico (paso a paso)

Macro en Word para automatizar documentos: genera diplomas en segundos (con código VBA)