meta data de esta página
  •  

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
lenguaje_php [2021/06/14 21:48]
jsojo [PASO 4: Recibir y procesar la respuesta del servicio web de integración de TFHKA]
lenguaje_php [2022/08/29 19:34] (actual)
lmartinez
Línea 1: Línea 1:
 ====== Ejemplo en lenguaje PHP ====== ====== Ejemplo en lenguaje PHP ======
  
-Tiene como objetivo ejemplificar el proceso de conexión, acceso y uso de las propiedades y métodos ofrecidos por el Servicio Web de Integración de TFHKA a través del lenguaje de programación PHP+Tiene como objetivo ejemplificar el proceso de conexión, acceso y uso de las propiedades y métodos ofrecidos por el Servicio Web de Integración de EBI a través del lenguaje de programación PHP
  
 Lo más importante es establecer los pasos necesarios para realizar una integración exitosa. Lo más importante es establecer los pasos necesarios para realizar una integración exitosa.
Línea 7: Línea 7:
 Criterios a tomar en cuenta: Criterios a tomar en cuenta:
  
-  * Establecer ruta y Tokens para conectarnos y utilizar los métodos expuestos por el Servicio Web de Integración de TFHKA+  * Establecer ruta y Tokens para conectarnos y utilizar los métodos expuestos por el Servicio Web de Integración de EBI 
-  * Construir / Armar el objeto Documento Electrónico (Factura) que se desea enviar al Servicio Web de Integración de TFHKA+  * Construir / Armar el objeto Documento Electrónico (Factura) que se desea enviar al Servicio Web de Integración de EBI 
-  * Enviar el documento al Servicio Web de Integración de TFHKA para su procesamiento. +  * Enviar el documento al Servicio Web de Integración de EBI para su procesamiento. 
-  * Recibir y procesar la respuesta del Servicio Web de TFHKA en nuestro proyecto, según sea requerido.+  * Recibir y procesar la respuesta del Servicio Web de EBI en nuestro proyecto, según sea requerido.
  
 Pasos para realizar la integración: Pasos para realizar la integración:
  
-PASO 1: Definir variables con la ruta y los tokens requeridos por el Servicio Web de Integración de TFHKA.+PASO 1: Definir variables con la ruta y los tokens requeridos por el Servicio Web de Integración de EBI .
  
-PASO 2: Construir el Documento Electrónico a enviar al Servicio Web de Integración de TFHKA.+PASO 2: Construir el Documento Electrónico a enviar al Servicio Web de Integración de EBI .
  
-PASO 3: Enviar el Documento Electrónico construido en el paso 3 al Servicio Web de Integración de TFHKA.+PASO 3: Enviar el Documento Electrónico construido en el paso 3 al Servicio Web de Integración de EBI .
  
-PASO 4: Recibir y procesar la Respuesta del Servicio Web de Integración de TFHKA.+PASO 4: Recibir y procesar la Respuesta del Servicio Web de Integración de EBI .
  
 **IMPORTANTE**: El Documento procesado será almacenado en la NUBE para que pueda ser consultado en cualquier momento. **IMPORTANTE**: El Documento procesado será almacenado en la NUBE para que pueda ser consultado en cualquier momento.
  
-Para mayor información y detalles sobre el proceso, puede consultar el **Manual de Integración de TFHKA**+Para mayor información y detalles sobre el proceso, puede consultar el **Manual de Integración de EBI **
  
-==== PASO 1: Definir variables con la ruta y los tokens requerido por el servicio web de TFHKA ====+===== PASO 1: Definir variables con la ruta y los tokens requerido por el servicio web de EBI =====
  
-//A continuación definiremos la ruta y los TOKENS requeridos por el Servicio Web de Integración de TFHKA para enviar documentos electrónicos, así como para utilizar otros métodos públicos expuestos  $ruta = "[[http://demoemision.thefactoryhka.com.pa/ws/obj/v1.0/Service.svc?singleWsdl]]"; //url del servicio  // //+//A continuación definiremos la ruta y los TOKENS requeridos por el Servicio Web de Integración de EBI para enviar documentos electrónicos, así como para utilizar otros métodos públicos expuestos  $ruta = "[[https://demointegracion.ebi-pac.com/ws/obj/v1.0/Service.svc?singleWsdl]]"; //url del servicio  // //
  
 // //$tokenEmpresa = "SOLICITAR";  //  // // //$tokenEmpresa = "SOLICITAR";  //  //
Línea 34: Línea 34:
 $tokenPassword = "SOLICITAR"; $tokenPassword = "SOLICITAR";
  
-==== PASO 2: Construir el documento electrónico a enviar al servicio web de integración de TFHKA ====+===== PASO 2: Construir el documento electrónico a enviar al servicio web de integración de EBI =====
  
 En este ejemplo utilizaremos Clases, Atributos y Métodos creados con la finalidad de organizar mejor la estructura del archivo y del cuerpo de código fuente en general. En este ejemplo utilizaremos Clases, Atributos y Métodos creados con la finalidad de organizar mejor la estructura del archivo y del cuerpo de código fuente en general.
Línea 74: Línea 74:
 $factura->totalesSubTotales = $totales; $factura->totalesSubTotales = $totales;
  
-- Ya teniendo listo el documento, es posible enviarlo al Servicio Web de Integración de TFHKA+- Ya teniendo listo el documento, es posible enviarlo al Servicio Web de Integración de EBI
  
-==== PASO 3: Enviar el documento electrónico construido en el paso 3 al servicio web de integración de TFHKA ====+===== PASO 3: Enviar el documento electrónico construido en el paso 3 al servicio web de integración de EBI =====
  
-A continuación definiremos la ruta y los TOKENS requeridos por el Servicio Web de Integración de TFHKA para enviar documentos electrónicos, así como para utilizar otros métodos públicos expuestos.+A continuación definiremos la ruta y los TOKENS requeridos por el Servicio Web de Integración de EBI para enviar documentos electrónicos, así como para utilizar otros métodos públicos expuestos.
  
 <code -> <code ->
Línea 89: Línea 89:
   );   );
  
-- A continuación, enviamos el documento al método "Enviar" del Servicio Web de Integración de TFHKA+- A continuación, enviamos el documento al método "Enviar" del Servicio Web de Integración de EBI
  
   $respWsPa = json_decode(json_encode($wsPa->__soapCall('Enviar', array($parametros))), true);   $respWsPa = json_decode(json_encode($wsPa->__soapCall('Enviar', array($parametros))), true);
Línea 97: Línea 97:
 </code> </code>
  
-==== PASO 4: Recibir y procesar la respuesta del servicio web de integración de TFHKA ====+===== PASO 4: Recibir y procesar la respuesta del servicio web de integración de EBI =====
  
-La respuesta del Servicio Web de TFHKA será enviada inmediatamente.+La respuesta del Servicio Web de EBIserá enviada inmediatamente.
  
 En este ejemplo, la respuesta del Servicio Web se muestra directamente a través de la pantalla. En este ejemplo, la respuesta del Servicio Web se muestra directamente a través de la pantalla.
Línea 105: Línea 105:
 En caso de recibir una respuesta positiva para el envío del Documento Electrónico (código 200), se presentará un enlace para observar los detalles a través de la página de Consulta de Facturas por Qr en una pestaña adicional de su navegador web. En caso de recibir una respuesta positiva para el envío del Documento Electrónico (código 200), se presentará un enlace para observar los detalles a través de la página de Consulta de Facturas por Qr en una pestaña adicional de su navegador web.
  
-La respuesta del Servicio Web de TFHKA incluye: código de la respuesta, resultado, mensaje, cufe y Qr, entre otros.+La respuesta del Servicio Web de EBI incluye: código de la respuesta, resultado, mensaje, cufe y Qr, entre otros.
  
 Para mayor detalle de la respuesta del Servicio Web, podría visualizar el resultado a través de la siguiente instrucción: var_dump($respWsPa["EnviarResult"]); Para mayor detalle de la respuesta del Servicio Web, podría visualizar el resultado a través de la siguiente instrucción: var_dump($respWsPa["EnviarResult"]);
Línea 299: Línea 299:
 </code> </code>
  
-==== Definición de clases para mostrar información en el Front de esta pagina de ejemplo   ====+===== Definición de clases para mostrar información en el Front de esta pagina de ejemplo =====
  
 <code -> <code ->
Línea 310: Línea 310:
   {   {
  
-    echo ("<div class='encabezado'>The Factory HKA C.A.</div><div class='encabezado6'>EJEMPLO DE INTEGRACIÓN DIRECTA PHP (v7 o superior)</div>");+    echo ("<div class='encabezado'>Electronic Business Intelligence</div><div class='encabezado6'>EJEMPLO DE INTEGRACIÓN DIRECTA PHP (v7 o superior)</div>");
  
   }   }
Línea 413: Línea 413:
  
 } }
 +</code>
 +
 +===== Definición de estilos CSS a utilizar en el Front de esta pagina de ejemplo =====
 +
 +<code ->
 +<style type="text/css">
 +
 +  .texto2 {
 +
 +    color: #990000;
 +
 +    font-size: 1rem;
 +
 +  }
 +
 +  .texto3 {
 +
 +    color: #002d99;
 +
 +    font-size: 1.8rem;
 +
 +    padding-left: 265px;
 +
 +  }
 +
 +  .texto4 {
 +
 +    color: #d52d06;
 +
 +    font-size: 1.5rem;
 +
 +    padding-left: 10px;
 +
 +  }
 +
 +  .texto6 {
 +
 +    color: #fff;
 +
 +    font-size: 1.5rem;
 +
 +    padding-left: 50px;
 +
 +  }
 +
 +  .encabezado {
 +
 +    margin: 10 0 5px 0;
 +
 +    padding: 15px;
 +
 +    border-top: 1px solid #E9ECEF;
 +
 +    background: #5077a3;
 +
 +    background: -webkit-linear-gradient(to bottom right, rgb(2, 66, 179) 0%, rgb(0, 47, 134) 100%);
 +
 +    background: linear-gradient(to bottom right, rgb(2, 66, 179) 0%, rgb(0, 47, 134) 100%);
 +
 +    box-shadow: 0px 1px 3px -1px rgba(41, 70, 97, 0.2);
 +
 +    position: relative;
 +
 +    border-bottom: 1px solid #E9ECEF;
 +
 +    color: #fff;
 +
 +    font-size: 1.9rem;
 +
 +    padding-left: 60px;
 +
 +  }
 +
 +  .encabezado2 {
 +
 +    width: 60%;
 +
 +    margin-top: 20px;
 +
 +    border: 2px solid #c8dbff;
 +
 +    background-color: #eef6ff;
 +
 +    position: relative;
 +
 +    color: #002d99;
 +
 +    font-size: 1rem;
 +
 +    border-radius: 10px;
 +
 +    padding: 5px;
 +
 +    line-height: 30px;
 +
 +    text-align: left;
 +
 +    text-indent: 50px;
 +
 +  }
 +
 +  .encabezado3 {
 +
 +    width: 100% margin-top: 10px;
 +
 +    background-color: #eef6ff;
 +
 +    position: relative;
 +
 +    color: #002d99;
 +
 +    font-size: 1rem;
 +
 +    border-radius: 5px;
 +
 +    padding: 5px;
 +
 +    line-height: 30px;
 +
 +    text-align: left;
 +
 +    padding-left: 40px
 +
 +  }
 +
 +  .encabezado4 {
 +
 +    width: 60%;
 +
 +    margin-top: 20px;
 +
 +    border: 2px solid #c8dbff;
 +
 +    border-radius: 10px;
 +
 +  }
 +
 +  .encabezado5 {
 +
 +    width: 60%;
 +
 +    margin-top: 50px;
 +
 +    border: 2px solid #c8dbff;
 +
 +    border-radius: 10px;
 +
 +  }
 +
 +  .encabezado6 {
 +
 +    margin: 10 0 30px 0;
 +
 +    padding: 0 30px;
 +
 +    border-top: 1px solid #c8dbff;
 +
 +    background-color: #eef6ff;
 +
 +    box-shadow: 0px 1px 3px -1px rgba(41, 70, 97, 0.2);
 +
 +    position: relative;
 +
 +    border-bottom: 1px solid #c8dbff;
 +
 +    color: #990000;
 +
 +    font-size: 1.6rem;
 +
 +    text-indent: 50px;
 +
 +  }
 +
 +  ul {
 +
 +    list-style: none;
 +
 +  }
 +
 +  li {
 +
 +    margin: 0px 0px 1px 0px;
 +
 +  }
 +
 +  button {
 +
 +    position: relative;
 +
 +    display: inline-block;
 +
 +    padding: 8px 10px;
 +
 +    background-image: linear-gradient(to bottom right, rgb(2, 66, 179) 0%, rgb(0, 47, 134) 100%);
 +
 +    background-image: -webkit-linear-gradient(to bottom right, rgb(2, 66, 179) 0%, rgb(0, 47, 134) 100%);
 +
 +    text-decoration: none;
 +
 +    color: #fff;
 +
 +    font-size: 15px;
 +
 +    font-family: sans-serif;
 +
 +    font-weight: 100;
 +
 +    border-radius: 5px;
 +
 +    float: right;
 +
 +  }
 +
 +  button:hover {
 +
 +    background: -webkit-linear-gradient(to bottom right, rgb(1, 85, 232) 0%, rgb(0, 81, 232) 100%);
 +
 +    background: linear-gradient(to bottom right, rgb(1, 85, 232) 0%, rgb(0, 81, 232) 100%);
 +
 +    color: #fff;
 +
 +  }
 +
 +  a {
 +
 +    position: relative;
 +
 +    display: inline-block;
 +
 +    padding: 8px 10px;
 +
 +    background-image: linear-gradient(to bottom right, rgb(2, 66, 179) 0%, rgb(0, 47, 134) 100%);
 +
 +    background-image: -webkit-linear-gradient(to bottom right, rgb(2, 66, 179) 0%, rgb(0, 47, 134) 100%);
 +
 +    text-decoration: none;
 +
 +    color: #fff;
 +
 +    font-size: 15px;
 +
 +    font-family: sans-serif;
 +
 +    font-weight: 100;
 +
 +    border-radius: 5px;
 +
 +    float: right;
 +
 +  }
 +
 +  a:hover {
 +
 +    background: -webkit-linear-gradient(to bottom right, rgb(1, 85, 232) 0%, rgb(0, 81, 232) 100%);
 +
 +    background: linear-gradient(to bottom right, rgb(1, 85, 232) 0%, rgb(0, 81, 232) 100%);
 +
 +    color: #fff;
 +
 +  }
 +
 +  hr {
 +
 +    border: 2px solid #c8dbff;
 +
 +    background-color: #eef6ff;
 +
 +  }
 +
 +</style>
 </code> </code>