Intercambiar documentos a través de SFTP: From SFTP (pull), To SFTP (push), estructura de carpetas y configuración.
No toda integración se realiza a través de una conexión API directa. Para sistemas que trabajan con intercambio de archivos, la PSB ofrece integración SFTP. La PSB recupera periódicamente archivos de su servidor SFTP (From SFTP) o deposita documentos recibidos en su servidor SFTP (To SFTP). Ambos flujos se configuran mediante SFTP-hooks.
Puede crear una conexión SFTP a través de la plataforma en Conexiones > Nueva conexión general > SFTP Connector. Las claves de conexión que genere aquí las necesitará posteriormente para la configuración del hook.
Con From SFTP, la PSB recupera periódicamente archivos de su servidor SFTP y los procesa como documentos. Esto resulta útil si su sistema de origen exporta archivos a una carpeta en un servidor SFTP, por ejemplo facturas en formato UBL o XML.
From SFTP trabaja con cinco carpetas en su servidor SFTP:
La PSB verifica por defecto cada 15 minutos si hay archivos nuevos en el readDirectory. Este intervalo es configurable.
Un hook From SFTP tiene la siguiente action:
sftp://gebruiker:wachtwoord@host:poort?readDirectory=/upload&pendingDirectory=/pending&duplicateDirectory=/duplicate&successDirectory=/success&errorDirectory=/error#md5-fingerprint
El hook también debe contener un publishTopic que indique cómo deben procesarse los archivos recuperados, por ejemplo SendInvoice para el envío de facturas.
Además del publishTopic principal, hacen falta los supporting topics correspondientes para que el hook mueva los archivos a la carpeta de estado correcta:
SendInvoiceInvoiceSent, InvoiceSentErrorReceiveInvoiceInvoiceReceived, InvoiceReceivedErrorLos archivos con un estado intermedio *Retry (p. ej. InvoiceSentRetry) permanecen en pendingDirectory hasta que llega un estado definitivo.
{
"action": "sftp://user:pass@sftp.bedrijf.nl:22?readDirectory=/out&pendingDirectory=/out/pending&duplicateDirectory=/out/duplicate&successDirectory=/out/success&errorDirectory=/out/error#aa:bb:cc:dd:ee:ff",
"topics": [],
"publishTopics": ["SendInvoice"]
}
En cada poll, la PSB verifica el readDirectory, mueve los archivos a pending, los procesa y luego los coloca en success o error. Los archivos que ya fueron procesados anteriormente se mueven al duplicateDirectory.
Con To SFTP, la PSB coloca automáticamente los documentos recibidos en su servidor SFTP. Esto es ideal si su sistema procesa archivos desde una carpeta en lugar de a través de un webhook de API.
Para To SFTP solo necesita un inboxDirectory:
{
"action": "sftp://user:pass@sftp.bedrijf.nl:22?inboxDirectory=/inbox#aa:bb:cc:dd:ee:ff",
"topics": ["InvoiceReceived"]
}
Cada documento recibido se coloca como archivo en el inboxDirectory. Por defecto, To SFTP sube por documento, no como un lote ZIP periódico. Un envío masivo periódico requiere un batch hook aparte. Opcionalmente, targetDocumentTypeId filtra por un tipo de documento concreto. No es una transformación automática.
Si el emisor no puede colocar el PDF y el XML en carpetas distintas (ambos archivos llegan a la misma carpeta SFTP), usa el parámetro de consulta fileNameFilter en los hooks SFTP. El parámetro va antes de la huella (#) en la action del hook.
Configura dos hooks From SFTP en el mismo host y la misma carpeta:
.xmlSendInvoiceInvoiceSent, InvoiceSentError.pdfReceiveAttachmentAttachmentReceived, AttachmentReceivedErrorEl hook PDF puede ser read-and-delete: entonces solo hace falta un readDirectory y la PSB elimina el archivo tras procesarlo, en lugar de moverlo. También puedes usar las mismas carpetas de estado (pending, success, error, duplicate) que el hook XML.
Tras recuperar ambos archivos, un join hook une el XML y el PDF en un documento combinado (SendInvoiceJoined). Consulta Join hooks.
Ambos flujos SFTP utilizan un MD5-fingerprint para la verificación del servidor. El fingerprint se encuentra después del signo # en la hook-action y garantiza que la PSB solo se conecte al servidor SFTP correcto. Esto previene ataques man-in-the-middle.
Puede encontrar el MD5-fingerprint de su servidor SFTP en la configuración del servidor o conectándose a través de un cliente SFTP. El formato es una serie de pares hexadecimales separados por dos puntos, por ejemplo aa:bb:cc:dd:ee:ff:00:11:22:33:44:55:66:77:88:99.
Una entrega SFTP y una ingesta ERP posterior (por ejemplo To SFTP hacia Unit4 ERP CR) son dos hooks distintos que funcionan de forma independiente — no una sola cadena con un estado compartido.
Un documento marcado como descargado en eConnect solo confirma que el hook de entrega ha recogido o colocado el archivo. Por sí solo no dice si el ERP lo ha leído después con éxito.
Para cada hook hay monitorización mediante los topics HookSentError (fallo definitivo) y HookSentRetry (reintento intermedio). Configura por hook una acción de monitorización sobre estos topics, con un mail hook o un webhook secundario.
Una organización que envía facturas desde su sistema ERP y desea importar facturas recibidas:
/sftp/outbox. La PSB las recupera cada 15 minutos y las envía a través de Peppol./sftp/inbox. El sistema ERP lee la carpeta periódicamente e importa los documentos.Ambos flujos funcionan de forma independiente y pueden configurarse por separado.
La integración SFTP se utiliza frecuentemente en la práctica para conexiones con Unit4 ERP CR y ERP7, donde el intercambio de archivos a través de una carpeta SFTP es el método estándar para intercambiar documentos de facturación.
Asegúrese de que el usuario SFTP tenga permisos de escritura en todas las carpetas configuradas. La PSB necesita poder mover archivos entre las carpetas. Verifique también que el firewall de su servidor SFTP permita conexiones entrantes desde las direcciones IP de eConnect.
El intervalo de pull de 15 minutos es estándar. Si necesita un intervalo más corto o más largo, contacte con TechSupport.
La huella corresponde al host de su servidor SFTP y garantiza que la PSB solo se conecte al servidor previsto. Así limita el riesgo de ataques man-in-the-middle. El formato son pares hexadecimales separados por dos puntos, como se describe en la documentación.
Con From SFTP, la PSB recupera periódicamente archivos de sus carpetas y los procesa como documentos (por ejemplo, exportar facturas a readDirectory). Con To SFTP, la PSB coloca los documentos recibidos en su inboxDirectory para que su sistema los lea desde una carpeta en lugar de mediante un webhook.
El usuario debe poder escribir en todas las carpetas configuradas y mover archivos, porque la PSB mueve archivos entre read, pending, success y error, entre otras. Compruebe también que su cortafuegos permita conexiones entrantes desde las direcciones IP de eConnect.
No. Descargado solo confirma que el hook de entrega (To SFTP) ha recogido o colocado el archivo en el servidor SFTP. La ingesta ERP posterior es un hook distinto e independiente. Configura por hook la monitorización con HookSentError y HookSentRetry.
¿Desea saber más sobre el intercambio de documentos a través de la PSB? Consulte la visión general de entrega multi-channel o lea cómo configurar webhooks para notificaciones en tiempo real.
Ver la documentación de la API