Request (Solicitud)

Es una petición o solicitud que realiza un cliente al servidor, que contiene los parámetros de envió a un web servicio web.


A continuación  se muestra los parámetros del servicio de cancelación así como las envolturas Soap Request y Response que se pueden obtener.


Parámetros de envió (Cancelación)


Parámetros
Descripción
UUID
UUID de la factura a cancelar, de tipo String.
username
El username es proporcionado por la plataforma de Finkok, de tipo String.
password
La contraseña es proporcionada por la plataforma de Finkok, de tipo String.
taxpayer_id
El RFC emisor de las facturas a cancelar.
Archivo .cer
El certificado de Sello Digital del emisor, debe ser en formato PEM y codificado en Base64, de tipo Base64Binary.
Archivo .key
La llave privada del emisor debe estar en formato PEM, encriptada en DES3 con openssl usando el passphare proporcionado por Finkok y codificado en base64,  de tipo Base64Binary.





Ejemplo de una Request (Cancelación)


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:can="http://facturacion.finkok.com/cancel" xmlns:apps="apps.services.soap.core.views" xmlns:can1="http://facturacion.finkok.com/cancellation">
   <soapenv:Header/>
   <soapenv:Body>
      <can:cancel>
         <can:UUIDS>
            <apps:uuids>
               <!--1 or more repetitions:-->
               <can1:string>20C45367-38B2-4F05-AD8B-994D94BA535D</can1:string>
            </apps:uuids>
         </can:UUIDS>
         <can:username>usernamefinkok@gmail.com</can:username>
         <can:password>$0porT3.</can:password>
         <can:taxpayer_id>TCM970625MB1</can:taxpayer_id>
         <can:cer>LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUY4RENDQTlpZ0F3SUJBZ0lVTWpBd01ERXdNREF3TURBek1EQXdNakkzTmpJd0RRWUpLb1pJaHZjTkFRRUwKQlFBd2dnRm1NU0F3SGdZRFZRUUREQmRCTGtNdUlESWdaR1VnY0hKMVpXSmhjeWcwTURrMktURXZNQzBHQTFVRQpDZ3dtVTJWeWRtbGphVzhnWkdVZ1FXUnRhVzVwYzNSeVlXTnB3N051SUZSeWFXSjFkR0Z5YVdFeE9EQTJCZ05WCkJBc01MMEZrYldsdWFYTjBjbUZqYWNPemJpQmtaU0JUWldkMWNtbGtZV1FnWkdVZ2JHRWdTVzVtYjNKdFlXTnAKdzdOdU1Ta3dKd1lKS29aSWh2Y05BUWtCRmhwaGMybHpibVYwUUhCeWRXVmlZWE11YzJGMExtZHZZaTV0ZURFbQpNQ1FHQTFVRUNRd2RRWFl1SUVocFpHRnNaMjhnTnpjc0lFTnZiQzRnUjNWbGNuSmxjbTh4RGpBTUJnTlZCQkVNCkJUQTJNekF3TVFzd0NRWURWUVFHRXdKTldERVpNQmNHQTFVRUNBd1FSR2x6ZEhKcGRHOGdSbVZrWlhKaGJERVMKTUJBR0ExVUVCd3dKUTI5NWIyRmp3NkZ1TVJVd0V3WURWUVF0RXd4VFFWUTVOekEzTURGT1RqTXhJVEFmQmdrcQpoa2lHOXcwQkNRSU1FbEpsYzNCdmJuTmhZbXhsT2lCQlEwUk5RVEFlRncweE5qRXdNakV5TURRM05EVmFGdzB5Ck1ERXdNakV5TURRM05EVmFNSUhjTVNnd0pnWURWUVFERXg5RlNrbEVUeUJTVDBSU1NVZFZSVm9nVUZWRlFreEIKSUZOQklFUkZJRU5XTVNnd0pnWURWUVFwRXg5RlNrbEVUeUJTVDBSU1NVZFZSVm9nVUZWRlFreEJJRk5CSUVSRgpJRU5XTVNnd0pnWURWUVFLRXg5RlNrbEVUeUJTVDBSU1NVZFZSVm9nVUZWRlFreEJJRk5CSUVSRklFTldNU1V3Ckl3WURWUVF0RXh4VVEwMDVOekEyTWpWTlFqRWdMeUJJUlVkVU56WXhNREF6TkZNeU1SNHdIQVlEVlFRRkV4VWcKTHlCSVJVZFVOell4TURBelRVUkdVazVPTURreEZUQVRCZ05WQkFzVURGQnlkV1ZpWVhOZlEwWkVTVENDQVNJdwpEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS0F6Q3NlaWtaWGtheVZpeEVsNDlYRkduOTBxClk2RXNWN3FiaTdNZjZ3SnZmb0VjTS9henVCdmFneTlLRmUvL0xxSW5kNEE0Sy9Kd2JiU2lWaUpjSjFlMFBMT0oKaE93YjhsN0h1ZS9uWHRtM2JQWktMOStRODdQQUZCODIvQ3daL3FOMVJLQUFCMUU4R3lRMDV5SW13NzFnTjdWYgpJMGkrOVltMUxUTG90VjV2UlNJTUpIRk53YzFkZDZRNHk4MlMvQ2JaZURRV0lhY0N0L2M1QXNsTDBwU3Y4RjZYCnpkZmV0R2JlbDNWb2lmc0EzcU5FMXEvSGVQdWEvSDFPSnVweUdPOWpLSmNPa1dFaDVwd2ljMzFGRFZFTXlSZUYKMlRDcVlMUEFINWxVNTI1U0pvUU9vdU9FR3V0VzJubk9rVHQ4eE9rUmQ5OUpmVEp2TS8zWTlaYjBEVmtDQXdFQQpBYU1kTUJzd0RBWURWUjBUQVFIL0JBSXdBREFMQmdOVkhROEVCQU1DQnNBd0RRWUpLb1pJaHZjTkFRRUxCUUFECmdnSUJBQStva0Nyc1lmMlBsNnBoRndMRnVvTnZPNHpjR1BDUXNScmw4OVpiRERnZFRoTDNpQW9pMHdiRE9sOSsKRWNKaUpURWZEZG84c2E2YzNZNXViZlo4em9nM1NkbGd1TCtGYjVCejdCMXNqMmhkUUZEdHZabDVna0UzdGRpZgo0T1NNaExRSW9sQnN2NDc0NkRNN2R0T1RLY2ozSGl3TzZLYkJQcUlGeGY2Qi96eTc0R2FmZzRyNkRvaVNucDEyCnZUaDUzZkRLT2pLQjdFSVg5K01idVdmd25xdGcwWk12a25PcFlrTENmREpUSVhETmhnazZ5a3d2YWFQeGlsTU0KZHZKU1J1dFdCcHJLRVpTNUcyNndTTG5uSWhXNko4WG03OXo4bndRWXJHdDZUZmJqQ3ZGTjdLYkZhVjFjNmhMdgo1Y1hpbDJrZGlyZjBDcFpXdkRFSTJaZlFLajJVUDBBczd6N2VJbDdWblk4bGJJZy9KTkFwT2ltWitmTGdtaWtICnNTZnFFOTRZempUQjNMTElZc2FjTEE4cE9XcW0vdHdrVWtDRklDN3grV1pJeUN0bHllZ3pRZHYxSSs5NVFzNS8KM1JLYjlKNjVMUGx2TUpnUEhWUFJHU0lPYkRMaXNrcUdJTk5tYVVMQjNwQUJxeFA5WGtTenBQUUk0TUU5SmFjegpUTjkvbUFFb3lwcjdEQlJQMlpwZUpNdXNJVnZjODhJaDJMaEJlb256YTdNaVA4dUJSVk1MU2ZHVXUrQW50ZGdrCjNBejVxLzNReis0Q3ZFZXg5dk5MMjRiTVhTZk03bUsrWWFsdzZMZUt2RFc0U010K0pIUTVmcDNjQlZ5VWJXZ2wKbWpqU3QyZWhZRGpSMnQrZUl1eHF5eXNoeTdpSjJRbGVNMGZ1SEUwTDJHQjNDOFJ3Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0=</can:cer>
         <can:key>LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpQcm9jLVR5cGU6IDQsRU5DUllQVEVECkRFSy1JbmZvOiBERVMtRURFMy1DQkMsQjQ4MzM5MkEwNTVEREY3MAoKanREd3EyalR1U1o4bWo0ZFBPMlowRDAveGtkTmIwYUJhYy9WVjNCUWlZOFpjZ0ZXUGh1U3FBOUd2VkRWM1l6TApOMEk3NmpkMng5K3JqVERLSnV2VTllckNveHpuUzl2OXE4dVNBZHdwRlpzdk02aDhPb0RRSnV5alNRVU40bzJkCmZxVWRnY0dvbWY1dlV3R0FHS2xuem42dVJJQ2k1ejVlc1dURWV5UVhSQ3pjK2FiaktZQTZEaXR1T2RMUFRDejgKd1VJeWw5Q0N3NEZtMEY2MEFaNXErUDRiNGEvMitNQjNqTkhSbFByZTVRYTlGYjJDeFUwd0pFOFB3aWFWb2ZuQwp6U3FCL2tUOWcvR3paMkRBaHZqNU0wNy9HalVVbHlhMzhPVThzY2hRbzR6Rmh2SjhiMmQ3eEJ0cExzdmY1U1hCCmtveGplOG9ITTFaUGdIc3RndnBwVmZxVE0yOVBWTUt1d3RQcjZ2MlBEWWFBaDlVbnNycTBzRXJ3dEJ4VEhJVWYKM0Y3WlBmakRqRzBqM1NueWxTQmd1UzNHK2owd0kvWnFtbEFzYmFzam4yS2U3V0xibGVIVENoR281ajc0czAyQgprVDNWMGtUWXBBYzlWV1h5Y21NUDY4SEVYM3RKN2gwdXo0K2NlblQ2RGVibUlUYzlSbzZpWFhwZ1RtbEZYNS9BCjcrL0wrRjR2ZHluNHBvQ1M2VTNSaDkwY2FVbHVFTTNDY2NjKzc0cEVZYmpxdFVIN2NTOHFKdmU0aTN3NmFQV1EKcnlQSUFiOFZsRmxlYW5VVDQ4MjFrb3QwSEZ3VTJOeG90ODNkWHNSRTh1Y1FvMG4wR3gxU0dmakRDejN5K2JoMQppZ0o0KytEcmw0MW1xekdYbFZLWFJzUzhUTjhVeW1OSnJPZUUwa1pvenQ5ZkFEQU9IMy9pVlJpZlc0c2VsZHZzClRUSGlyeXBOc01WRHcrdVFUQ2Y3VEdUQXBXa09OYUEwdkQ2MHd1U1FQMmI1MnhaSHFoQzArSFAyNmtZQ3RFZk4KSVp0YXJSckhlbytXMEd4RTk2WXFmZ3F6RGdxZ3cxMEZRcGdVK29maUtZYTRnNCtIMFZ0WjRQWk9JNE1ZdndMQQpoa0Z2K3ZEQ0U0TWJVbU53VGhKWUNObUl0Y1l3NkxhVDQ3cWpac05lbnFGQm5tKzVNSVlJYU82M1FKUmNMT09yCmdMSVpJaUhmS1lvQWFlMWFNaXdYTDh3WGZlejU4Z3R0NERoRXdvN09RanIyaU1rVFJ3V01pd3NnMExDcWVpYzIKbG9nVlFrU3hhOGNvTUI2aGpnV3U5NlMzaWg2eU85UjFPUHZId0FadXErN3dMY2trblE4eG16NHdCZEprZUphbQpXU3ZYWVFCK2xrVW8wODZUTHBXRnM5N2NuVTBUTUR5NGZUVkZvR3lacWRBQ2VhMU5OZGRocEhoSVZ4bDNscXRmCjc3QW1GN0lsdmFaakpaTCsrZHJzcnI0NnhyQlVyK2VCZWpaRFhqNjZ6ZnEvOVRmdEdMeHd3UU1xUVdvRW14UisKRE5tekdTekU3VlVkMWJmZ0JrZUwxZEFhNlROdkNYc25UallDK1cxVnByZW5sdGtCRmRsaE9zTzdWR0ZnaTFFbgpndmo0MWloQUt5d2I4K1ozT0hHRThJN0NITTJRLzJyTGZuYWkwV3pNZWVxNHUydFVOM2J4WWMvSHZvZVBkcXlLCkNjb0ZwbEQ5cm5ORHRUWUF3eFFjL1VQQWxCWVR5UzhKTlNjTUxHcTNjR0lXNHI0UFVGNXl2NHpweG9FKzZ6b1QKd0FFNmF2NkZIRHA0bnJhVGtBWDlFTWVkU2ZTWHVSeittMGxBM2lNeCtMNmZYMkRHRWdlbkZ6Z2s3YmdFM2preQpVMEw1ZjVZV1NaRHlIaWNtZTJ4YzEyWmhkNWV5eHIyK0VkbUhwUFFkUEVib004ak9qZTJVMjJMV2lzZmtJQVRHCnFKdWcvRW5ObWM0andWRzUrSXptTXJRQ0dmYUNaR1lXeW9sd2YxN3V6amFJcElwVTRnNW95N0FIREFJSEtZdUUKVWJPYXJoYzd4dXYvV0NDM1AzaiswZDFyQUZOd2VLWkpEWllKSFV4UmNhL005eUFXUDhLZHlRPT0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0=</can:key>
         <can:store_pending>TRUE</can:store_pending>
      </can:cancel>
   </soapenv:Body>
</soapenv:Envelope>


Response (respuesta) 

Es una respuesta que devuelve un servidor posterior al recibir y procesar una solicitudes, posiblemente el objeto más utilizado de todos, ya que  sirve para presentar en la pantalla del navegador del cliente el  resultado de cualquier código que hayamos escrito.


A continuación se muestra un Response del web service de cancelación:


Ejemplo de una Response (Cancelación)

<senv:Envelope xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:tns="http://facturacion.finkok.com/cancel" xmlns:plink="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" xmlns:xop="http://www.w3.org/2004/08/xop/include" xmlns:senc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s1="http://facturacion.finkok.com/cancellation" xmlns:s0="apps.services.soap.core.views" xmlns:s12env="http://www.w3.org/2003/05/soap-envelope/" xmlns:s12enc="http://www.w3.org/2003/05/soap-encoding/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:senv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
   <senv:Body>
      <tns:cancelResponse>
         <tns:cancelResult>
            <s0:Folios>
               <s0:Folio>
                  <s0:UUID>0E5A22EF-0029-4A97-85A3-32C92A726323</s0:UUID>
                  <s0:EstatusUUID>201</s0:EstatusUUID>
                  <s0:EstatusCancelacion>Petición de cancelación realizada exitosamente</s0:EstatusCancelacion>
               </s0:Folio>
            </s0:Folios>
            <s0:Acuse><![CDATA[<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><CancelaCFDResponse xmlns="http://cancelacfd.sat.gob.mx"><CancelaCFDResult Fecha="2018-08-16T12:46:59" RfcEmisor="TCM970625MB1"><Folios><UUID>0E5A22EF-0029-4A97-85A3-32C92A726323</UUID><EstatusUUID>201</EstatusUUID></Folios><Signature Id="SelloSAT" xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#hmac-sha512"/><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116"><XPath>not(ancestor-or-self::*[local-name()='Signature'])</XPath></Transform></Transforms><DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha512"/><DigestValue>P2lENAhvzEBJuAS1aIPcpZVjYN2A73ckFc0wkj+XPA2rp6NRIVGFEPL3qCSAwl2R2+xx1ZaItMkSuv+f5t3ZGA==</DigestValue></Reference></SignedInfo><SignatureValue>EeXPV2EIrQtZzERdWgvrVOkl5HVcBVwZChX2Q/q9W2KzliiVWTznzVNVPqzaAvGkaZqAdv6KzbPeD9fUXTpB5g==</SignatureValue><KeyInfo><KeyName>00001088888800000093</KeyName><KeyValue><RSAKeyValue><Modulus>yxMvUucuS+s3aeWTFZvJrrFWIdes7kIDJmO7DA5DP+ZTapofNt37fgeIHlTUdAVvd/fDKhfiwNSh+vbrNbD58X3UEdQor3ngb6zpjrDjgYsedckPLv6fro4DO0NXLCdALFqhN8ARyX77kYBnvIj1fOSVp401Vc3urLUtiEm16Kle3tOyWhfjgFzdK3oAIXF8oeei/GburWbJnpP+NeGaHVE5bkxLCBp5757nKVonXwzpfpEGuBp204NGkI2/jyA2EH8wyRN4yUvzjT7IJYrHng23klRDlJoRYwa98QQPdQSTpcrlNu8nLhpQdI/zMTLoNF2NiBCkQNuAMacKhnvlVw==</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue></KeyInfo></Signature></CancelaCFDResult></CancelaCFDResponse></s:Body></s:Envelope>]]></s0:Acuse>
            <s0:Fecha>2018-08-16T12:46:59</s0:Fecha>
            <s0:RfcEmisor>TCM970625MB1</s0:RfcEmisor>
         </tns:cancelResult>
      </tns:cancelResponse>
   </senv:Body>
</senv:Envelope>


Como obtener las Envolturas SOAP request y response


Para obtener las envolturas podemos hacer uso del software SOAPUI ya que nos permite generar ejemplos de las  envolturas SOAP, con esta herramienta puede obtener ejemplos de cada uno de los métodos tanto de las envolturas de petición  como de las respuestas.

SOAPUI nos va a ayudar en extraer la estructura del XML REQUEST, y también a obtener los resultados que pueden devolver  determinados datos, esta  herramienta se puede descargar desde el sitio web oficial www.soapui.org


Actualmente se tiene implementado rutinas de código en diferentes lenguajes de programación, para poder obtener estas envolturas, en caso de presentar alguna duda, se puede contactar con el área de soporte.



Para más información solicita apoyo a nuestros agentes de soporte, estarán gustosos de poder ayudarte:


Soporte Técnico

Tel. 55 4624 01 81 ext 2


soporte@finkok.com