<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://www.fact.com.mx/schema/ws"> <soapenv:Header/> <soapenv:Body> <ws:RequestTransaction> <ws:Requestor>0c320b03-d4f1-47bc-9fb4-77995f9bf33e</ws:Requestor> <ws:Transaction>TIMBRAR_RETENCION</ws:Transaction> <ws:Country>MX</ws:Country> <ws:Entity>RFC de la empresa que solicita timbrar</ws:Entity> <ws:User>0c320b03-d4f1-47bc-9fb4-77995f9bf33e</ws:User> <ws:UserName>MX.JES900109Q90.Juan</ws:UserName> <ws:Data1>XML del CFDI DE RETENCION a timbrar codificado en base 64</ws:Data1> <ws:Data2></ws:Data2> <ws:Data3></ws:Data3> </ws:RequestTransaction> </soapenv:Body> </soapenv:Envelope>
Transaction: Valor fijo "TIMBRAR_RETENCION".
Country: País de la empresa que solicita timbrar (en México, valor fijo "MX").
Entity: RFC de la empresa que solicita timbrar. Importante: nuestro esquema comercial permite que una empresa solicite timbrar CFDI de un tercero.
User: Parámetro obsoleto (repetir el valor Requestor).
UserName: Country.Entity.nombre_usuario (ejemplo: "MX.JES900109Q90.Juan").
En Data1: XML del CFDI DE RETENCION a timbrar (no puede contener timbre, el CFDI debe estar codificado en base 64)
En Data2: Vacío
En Data3: Vacío
Transacción Exitosa
ResponseData.ResponseData1 devuelve, en formato Base64, la cadena que contiene el XML del timbre.
ResponseData.ResponseData2 cantidad de timbres generados por la cuenta.
ResponseData.ResponseData3 valor fijo "OK".
Transacción NO Exitosa
ResponseData.ResponseData1 devuelve cadena vacía (excepto cuando se presenta el error 307 ya que aquí vendrá el timbre codificado en base64 del CFDI previamente timbrado).
ResponseData.ResponseData2 devuelve una cadena con el código del error (este código cumple con el formato exigido por el SAT).
ResponseData.ResponseData3 descripción del error ocurrido (ver tabla de errores).