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