ConsorciAOC / eFact

Documentació del servei eFact
https://consorciaoc.github.io/eFact/
2 stars 3 forks source link

Ejemplos de peticiones eFact #2

Closed JoomBall closed 2 years ago

JoomBall commented 2 years ago

Bon dia, espero i agraeixo si algú pot ajudar en la integració a eFact.

He pedido los datos de integración a eFact como plataforma tipo B2BRouter para enviar/recibir estados facturas, los datos recibidos són: Usuari, contrasenya, Codi d’adreçament, Codi de plataforma.

Sinceramente no sé donde hay que añadir estos datos y como programar (crear/enviar) la petición a eFact, desde AOC no ofrecen soporte y es imposible pedir nada a través del formulario, solo existe este documento https://www.aoc.cat/wp-content/uploads/2017/04/di-emissio-e-fact-v3-1-1.pdf y por suerte alguna cosa más con vuestra documentación.

Esperaba encontrar algo parecido y fácil de utilizar como facturae https://github.com/josemmo/Facturae-PHP.

Realizar y validar la factura con facturae funciona perfectamente.

En fin, todavía no tengo certificado pero he empezado a realizar pruebas de conexión sin resultado, no sé realizar el XML/SOAP para enviar a eFact, ni cómo integrar mis datos.

PARTE DE MI CÓDIGO:

// Generate random IDs for this request $bodyId = "BodyId-" . rand(100000, 999999); $timestampId = "TimestampId-" . rand(100000, 999999);

$body = 'request><correo>notifications_ef@seres.es</correo

'.base64_encode($fac->export()).' salida.xml application/xml
    </request>
</sspp:enviarFactura>';

// Generate request body $reqBody = '' . $body . '</soapenv:Body>';

// Generate timestamp $timeCreated = time(); $timeExpires = $timeCreated + 60; $reqTimestamp = '' . '' . date('c', $timeCreated) . '</wsu:Created>' . '' . date('c', $timeExpires) . '</wsu:Expires>' . '</wsu:Timestamp>';

// Generate request header $reqHeader = ''; $reqHeader .= '';

// Add timestamp and close header $reqHeader .= $reqTimestamp; $reqHeader .= '</wsse:Security>'; $reqHeader .= '</soapenv:Header>';

// Generate final request $req = '' . $reqHeader . $reqBody . '</soapenv:Envelope>'; $req = '<?xml version="1.0" encoding="UTF-8"?>' . "\n" . $req;

$getEndpointUrl = 'https://efact.eacat.cat/HubConector/services/HubConnectorWS';

// Send request $ch = curl_init(); curl_setopt_array($ch, array( CURLOPT_URL => $getEndpointUrl, CURLOPT_RETURNTRANSFER => 1, CURLOPT_SSL_VERIFYPEER => 0, CURLOPT_TIMEOUT => 30, CURLOPT_POST => 1, CURLOPT_POSTFIELDS => $req, CURLOPT_HTTPHEADER => array( "Content-Type: text/xml;charset=UTF-8", "SOAPAction: #enviarFactura" ), CURLOPT_USERAGENT => Facturae::USER_AGENT )); $res = curl_exec($ch); curl_close($ch); unset($ch);

Moltes gràcies :)

code-efact

jmargalefp commented 2 years ago

Bon dia, Jo diria que el que t'han enviat es per poder enviar les factures a través de la seva plataforma FTP, aqui t'explica com funciona aquest sistema: https://www.aoc.cat/wp-content/uploads/2017/04/di-emissio-e-fact-v3-1-1.pdf El sistema FTP és anterior a aquest webservice que estan creant que és molt similar al de FACe. Jo tinc una aplicació web que envia les factures cap a FACe mitjançant la mateixa llibreria que tu comentes, però resulta que molts ajuntaments de Catalunya no tenen donats tots els codis DIR3 dels seus departaments a FACe, i quan vaig trobar que l'AOC havia creat aquest webservice que utilitza la mateixa estructura que FACe vaig veure la llum !! perquè diria que només canviant la URL de la llibreria perque apunti al servidor de l'AOC ja funcionaria, però sembla que perquè funcioni cal que ens donin d'alta els certificats per poder accedir al seu servidor AXIS però encara no han publicat les instruccions. He obert una consulta amb l'AOC i em deriven al sistema de FTP que no em compensa desenvolupar-lo pel volum de factures. A veure si obren l'alta d'aquest servei webservice ben aviat perquè seria perfecte. Abans les enviava a l'adreça de mail hubefact@aoc.cat, però de cop i volta van tallar aquesta via i només es poden enviar a través del formulari web on no hi ha enviament multiple i s'ha d'anar fent una a una. A veure si estem de sort i ens donen notícies aviat. Salut. Jordi.

JoomBall commented 2 years ago

Hola @jmargalefp ,

El que em sembla increïble es que ningú del consorciAOC es digni a contestar, de fet el suport tot es per email (impossible parlar per tlf amb un tècnic) i les contestacions han estat errònies i poc concises, i per aquí ja pensava en eliminar aquesta incidència (de fet aquí suposo penjaran aquesta nova funcionalitat de webservice).

Jo no havia treballat amb un sistema FTP com aquest i com dius només hi ha aquest arxiu PDF d'informació, en el que un cop llegit 50 vegades he entés bastant el funcionament, que per cert mal explicat i que falten detalls importants.

Actualment ho tinc en fase de proves i ara estic esperant resposta en un error en que estic paralitzat.

La veritat es que una cosa que es podria fer en poc temps i es probable que tardi uns 4 mesos, això sinó abandono per cansament.

PD: Comentar que el meu codi incial no te res a veure al actual. També que si aquest servei de webservice algú sap la data de posta en marxa estaria bé saber-ho.

jmargalefp commented 2 years ago

Jo m'estava esperant perquè en la resposta que em van donar va ser que en un parell de setmanes mirarien d'indicar com donar-se d'alta, però el tema s'està retrassant. A veure si en breu indiquen els passos a seguir, perquè francament, seria una gran millora poder enviar les factures a través d'aquest webservice. Salut. Jordi.

rgrange commented 2 years ago

Bon dia @JoomBall, Acabem d'afegir a la documentació les instruccions per donar-vos d'alta per utilitzar el servei. No oferim clients ni codi d'exemple per fer les integracions però si teniu qualsevol problema en fer la integració podeu adreçar-vos al nostre portal de suport: https://www.aoc.cat/portal-suport/efact-empreses-base-coneixement/ Gracies!