

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Envío y recepción de mensajes AS2
<a name="send-as2-messages"></a>

En esta sección se describen los procesos de envío y recepción de mensajes AS2. También proporciona detalles sobre los nombres de archivo y las ubicaciones asociadas a los mensajes AS2.

En la siguiente tabla se enumeran los algoritmos de cifrado disponibles para los mensajes AS2 y cuándo se pueden utilizar.


| Algoritmo de cifrado | HTTP | HTTPS | Notas | 
| --- |--- |--- |--- |
| AES128\_CBC | Sí | Sí |  | 
| AES192\_CBC | Sí | Sí |  | 
| AES256\_CBC | Sí | Sí |  | 
| DES\_EDE3\_CBC | Sí | Sí | Utilice este algoritmo únicamente si debe admitir un cliente antiguo que lo requiera, ya que es un algoritmo de cifrado débil. | 
| NONE | No | Sí | Si envía mensajes a un servidor de Transfer Family, solo puede seleccionar NONE si utiliza un Application Load Balancer (ALB). | 

**Topics**
+ [Proceso de recepción de mensajes AS2](#as2-inbound-process)
+ [Enviar y recibir mensajes de AS2 a través de HTTPS](#as2-https-process)
+ [Transferencia de archivos mediante un conector AS2](#transfer-as2-connectors)
+ [Nombres y ubicaciones de los archivos](#file-names-as2)
+ [Códigos de estado](#status-codes)
+ [Ejemplos de archivos de JSON](#file-as2-json)

## Proceso de recepción de mensajes AS2
<a name="as2-inbound-process"></a>

El proceso entrante se define como un mensaje o un archivo que se transfiere a su AWS Transfer Family servidor. La secuencia de los mensajes entrantes es la siguiente:

1. Un proceso automatizado o de administración inicia un AS2 file transfer en el servidor AS2 remoto del socio.

1. El servidor AS2 remoto del socio firma y cifra el contenido del archivo y, a continuación, envía una solicitud HTTP POST a un punto de conexión de entrada AS2 alojado en Transfer Family.

1. Mediante los valores configurados para el servidor, los socios, los certificados y el acuerdo, Transfer Family descifra y verifica la carga útil del AS2. El contenido del archivo se almacena en el almacén de archivos configurado de Amazon S3.

1. La respuesta MDN firmada se devuelve en línea con la respuesta HTTP o de forma asíncrona mediante una solicitud HTTP POST independiente al servidor de origen.

1. Se escribe un registro de auditoría a Amazon CloudWatch con detalles sobre el intercambio.

1. El archivo descifrado está disponible en una carpeta llamada `inbox/processed`.

![Diagrama que muestra la secuencia de procesamiento de los mensajes entrantes.](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/images/as2-architecture-inbound.png)


## Enviar y recibir mensajes de AS2 a través de HTTPS
<a name="as2-https-process"></a>

En esta sección, se describe cómo configurar un servidor Transfer Family que utiliza el protocolo AS2 para enviar y recibir mensajes a través de HTTPS.

**Topics**
+ [Enviar mensajes de AS2 a través de HTTPS](#send-https)
+ [Recibir mensajes de AS2 a través de HTTPS](#receive-https)

### Enviar mensajes de AS2 a través de HTTPS
<a name="send-https"></a>

Para enviar mensajes de AS2 mediante HTTPS, cree un conector con la siguiente información:
+ Para la URL, especifique una URL HTTPS
+ Para el algoritmo de cifrado, selecciona cualquiera de los algoritmos disponibles.
**nota**  
 Para enviar mensajes a un servidor Transfer Family sin utilizar el cifrado (es decir, si selecciona el algoritmo `NONE` de cifrado), debe utilizar un Application Load Balancer (ALB).
+ Proporcione los valores restantes para el conector tal y como se describe en [Configure los conectores AS2](configure-as2-connector.md).

### Recibir mensajes de AS2 a través de HTTPS
<a name="receive-https"></a>

 AWS Transfer Family Actualmente, los servidores AS2 solo proporcionan transporte HTTP a través del puerto 5080. Sin embargo, puede finalizar el TLS en un balanceador de carga de redes o aplicaciones frente al punto final de VPC del servidor Transfer Family mediante el puerto y el certificado que prefiera. Con este método, puede hacer que los mensajes de AS2 entrantes utilicen HTTPS.

**Requisitos previos**
+ La VPC debe estar en el mismo lugar que su Región de AWS servidor Transfer Family.
+ Las subredes de la VPC deben estar dentro de las zonas de disponibilidad en las que desee utilizar el servidor.
**nota**  
Cada servidor Transfer Family admite hasta tres zonas de disponibilidad.
+ Asigne hasta tres direcciones IP elásticas en la misma región que su servidor. O puede optar por traer su propio intervalo de direcciones IP (BYOIP).
**nota**  
La cantidad de direcciones IP elásticas debe coincidir con la cantidad de zonas de disponibilidad que utilice con los puntos de conexión del servidor.

Puede configurar un Network Load Balance (NLB) o un Application Load Balancer (ALB). En la siguiente tabla se enumeran las ventajas y desventajas de cada enfoque.

En la siguiente tabla se muestran las diferencias en las capacidades cuando se utiliza un NLB y un ALB para finalizar el TLS.


| Característica | Network Load Balancer (NLB) | Application Load Balancer (ALB) | 
| --- | --- | --- | 
| Latencia | Menor latencia, ya que funciona en la capa de red. | Mayor latencia, ya que funciona en la capa de aplicación. | 
| Compatibilidad con direcciones IP estáticas | Puede adjuntar direcciones IP elásticas que pueden ser estáticas. | No se pueden adjuntar direcciones IP elásticas: proporciona un dominio cuyas direcciones IP subyacentes pueden cambiar. | 
| Enrutamiento avanzado | No admite el enrutamiento avanzado. | Admite el enrutamiento avanzado. Puede inyectar el `X-Forwarded-Proto` encabezado necesario para el AS2 sin cifrado.<br />Este encabezado se describe en el sitio web [X-Forwarded-Proto](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Proto)[developer.mozilla.org](https://developer.mozilla.org/). | 
| TLS/SSL rescisión | Admite la TLS/SSL rescisión | Soporta TLS/SSL la terminación | 
| TLS mutuo (mTLS) | Actualmente, Transfer Family no admite el uso de un NLB para los mTLs | Support for mTLS | 

------
#### [ Configure NLB ]

Este procedimiento describe cómo configurar un Network Load Balancer (NLB) con acceso a Internet en la VPC.<a name="create-nlb-AS2"></a>

**Creación de un equilibrador de carga de red y definición del punto de conexión de VPC del servidor como destino del equilibrador de carga**

1. Abra la consola de Amazon Elastic Compute Cloud en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Equilibradores de carga** y, a continuación, elija **Crear equilibrador de carga**.

1. En **equilibrador de carga de red**, seleccione **Crear**.

1. En la sección **Configuración básica**, introduzca la siguiente información:
   + En **Nombre**, escriba el nombre del equilibrador de carga.
   + En **Scheme**, elija **Internet-facing**.
   + En **Tipo de dirección IP**, elija **ipv4**.

1. En la sección **Asignaciones de red**, escriba la siguiente información:
   + En **VPC**, elija la nube privada virtual (VPC) que haya creado.
   + En **Asignaciones**, elija las zonas de disponibilidad asociadas a las subredes públicas que están disponibles en la misma VPC que utiliza con los puntos de conexión del servidor.
   + Para la **dirección IPv4** de cada subred, elija una de las direcciones IP elásticas que haya asignado.

1. En la sección **Oyentes y rutas**, escriba la siguiente información:
   + En **Protocol**, elija **TLS**.
   + En **Puerto**, escriba **5080**.
   + En **Acción predeterminada**, elija **Crear grupo objetivo**. Para obtener información detallada sobre la creación de un nuevo grupo objetivo, consulte [Creación de un grupo de destino](#create-target-group).

   Tras crear un grupo objetivo, introduzca su nombre en el campo **Acción predeterminada**.

1. En la sección **Configuración del agente de escucha seguro**, elija su certificado en el área de ** SSL/TLS certificados predeterminados**.

1. Elija **Crear un equilibrador de carga** para crear el equilibrador de carga de red.

1. (Opcional, pero recomendado) Active los registros de acceso del equilibrador de carga de red para mantener un registro de auditoría completo, tal y como se describe en [los registros de acceso del equilibrador de carga de red](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-access-logs.html).

   Recomendamos este paso porque la conexión TLS finaliza en el NLB. Por lo tanto, la dirección IP de origen que se refleja en sus grupos de CloudWatch registros AS2 de Transfer Family es la dirección IP privada del NLB, en lugar de la dirección IP externa de su socio comercial.

------
#### [ Configure ALB ]

Este procedimiento describe cómo configurar un Application Load Balancer (ALB) en la VPC.<a name="create-alb-AS2"></a>

**Para crear un Application Load Balancer y definir el punto final de VPC del servidor como destino del balanceador de carga**

1. Abra la consola de Amazon Elastic Compute Cloud en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Equilibradores de carga** y, a continuación, elija **Crear equilibrador de carga**.

1. En **Equilibrador de carga de aplicación**, elija **Create** (Crear).

1. En la consola ALB, cree un nuevo agente de escucha HTTP en el puerto 443 (HTTPS).

1. (Opcional). Si desea configurar la autenticación mutua (mTLS), configure los ajustes de seguridad y un almacén de confianza.

   1. Adjunte su SSL/TLS certificado al listener.

   1. En **Gestión de certificados de cliente**, selecciona **Autenticación mutua (mTLS)**.

   1. Elige **Verificar con un almacén de confianza.**

   1. En **Configuración avanzada de mTLS**, elija o cree un almacén de confianza cargando sus certificados de CA.

1. Cree un nuevo grupo de destino y añada las direcciones IP privadas de los puntos finales del servidor AS2 de Transfer Family como destinos en el puerto 5080. Para obtener información detallada sobre la creación de un nuevo grupo objetivo, consulte [Creación de un grupo de destino](#create-target-group).

1. Configure las comprobaciones de estado para que el grupo de destino utilice el protocolo HTTP en el puerto 5080.

1. Cree una nueva regla para reenviar el tráfico HTTPS del agente de escucha al grupo de destino.

1. Configure el agente de escucha para que use su certificado. SSL/TLS

------

Tras configurar el equilibrador de carga, los clientes se comunican con el equilibrador de carga a través del receptor de puertos personalizado. A continuación, el equilibrador de carga se comunica con el servidor a través del puerto 5080.<a name="create-target-group"></a>

**Creación de un grupo de destino**

1. Tras seleccionar **Crear grupo de destino** en el procedimiento anterior, accederá a la página **Especificar los detalles del grupo** para un nuevo grupo objetivo.

1.  En la sección **Configuración básica**, introduzca la siguiente información:
   + En **Elegir un tipo de destino**, elija **Direcciones IP**.
   + En **Nombre del grupo de destino**, escriba el nombre del grupo de destino.
   + En cuanto al **protocolo**, su selección depende de si utiliza un ALB o un NLB.
     + **Para un Network Load Balancer (NLB), elija TCP**
     + **Para un Application Load Balancer (ALB), elija HTTP**
   + En **Puerto**, escriba **5080**. 
   + En **Tipo de dirección IP**, elija **ipv4**.
   + En **VPC**, elija la VPC que ha creado para el servidor AS2 de Transfer Family.

1. <a name="vpc-register-targets"></a>En la sección **Health checks**, elige el **protocolo Health Check**.
   + **Para un ALB, elija HTTP**
   + **Para un NLB, elija TCP**

1. <a name="vpc-add-to-list"></a>Elija **Siguiente**.

1. En la página **Registrar objetivos**, escriba la siguiente información:
   + Para **Red**, confirme que esté especificada la VPC que creó para el servidor AS2 de Transfer Family.
   + Para **Dirección IPv4**, introduzca la dirección IPv4 privada de los puntos de conexión de su servidor Transfer Family AS2.

      Si tiene más de un punto de conexión para su servidor, elija **Agregar dirección IPv4** para agregar otra fila e introducir otra dirección IPv4. Repita este proceso hasta que haya introducido las direcciones IP privadas de todos los puntos de conexión del servidor.
   + Asegúrese de que **Puertos** esté configurado en **5080**.
   + Seleccione **Incluir como pendiente a continuación** para añadir sus entradas a la sección **Revisar objetivos**.

1. En la sección **Revisar objetivos**, revise sus objetivos de IP.

1. Seleccione **Crear grupo de destino** y, a continuación, vuelva al procedimiento anterior para crear su NLB e introduzca el nuevo grupo objetivo donde se indica.

**Prueba del acceso al servidor desde una dirección IP elástica**

Conéctese al servidor a través del puerto personalizado mediante una dirección IP elástica o el nombre DNS del equilibrador de carga de red.

**importante**  
Administre el acceso al servidor desde las direcciones IP de los clientes mediante las [listas de control de acceso de la red (ACL de la red)](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html) de las subredes configuradas en el equilibrador de carga. Los permisos de las ACL de red se establecen a nivel de subred, por lo que las reglas se aplican a todos los recursos que utilizan la subred. No puede controlar el acceso desde las direcciones IP de los clientes mediante grupos de seguridad, ya que el tipo de destino del equilibrador de carga se establece en **Direcciones IP** en lugar de en **instancias.** Por tanto, el equilibrador de carga no conserva las direcciones IP de origen. Si las [comprobaciones de estado del equilibrador de carga de red](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/target-group-health-checks.html) fallan, significa que el equilibrador de carga no puede conectarse al punto de conexión del servidor. Para solucionar este problema, compruebe lo siguiente:  
Confirme que el [grupo de seguridad asociado al punto de conexión del](https://aws.amazon.com/premiumsupport/knowledge-center/sftp-enable-elastic-ip-custom-port/) servidor permita las conexiones entrantes desde las subredes que están configuradas en el equilibrador de carga. El equilibrador de carga debe poder conectarse al punto de conexión del servidor a través del puerto 5080.
Confirme que el **Estado** esté **en línea**.

## Transferencia de archivos mediante un conector AS2
<a name="transfer-as2-connectors"></a>

Los conectores AS2 establecen una relación entre los socios comerciales para las transferencias de mensajes de AS2 desde un servidor Transfer Family a un destino externo propiedad del socio.

Puedes usar Transfer Family para enviar mensajes AS2 haciendo referencia al ID del conector y a las rutas de acceso a los archivos, como se muestra en el siguiente comando `start-file-transfer` AWS Command Line Interface (AWS CLI):

```
aws transfer start-file-transfer --connector-id c-{{1234567890abcdef0}} \
--send-file-paths "/amzn-s3-demo-source-bucket{{/myfile1.txt}}" "/amzn-s3-demo-source-bucket{{/myfile2.txt}}"
```

Para obtener los detalles de los conectores, ejecute el siguiente comando:

```
aws transfer list-connectors
```

El comando `list-connectors` devuelve los ID de los conectores, las URL y los nombres de recursos de Amazon (ARN) de los conectores.

Para devolver las propiedades de un conector concreto, ejecute el siguiente comando con el ID que desee usar:

```
aws transfer describe-connector --connector-id {{your-connector-id}}
```

El comando `describe-connector` devuelve todas las propiedades del conector, incluidas la URL, los roles, los perfiles, los avisos de disposición de mensajes (MDNs), las etiquetas y las métricas de supervisión.

Para confirmar que el socio recibió correctamente los archivos, consulte los archivos JSON y MDN. Estos archivos se nombran de acuerdo con las convenciones descritas en [Nombres y ubicaciones de los archivos](#file-names-as2). Si configuró una función de registro al crear el conector, también puede comprobar en sus CloudWatch registros el estado de los mensajes AS2.

Para ver los detalles del conector AS2, consulte [Visualización de los detalles del conector AS2](configure-as2-connector.md#connectors-view-info). Para obtener más información acerca de cómo crear un conector AS2, consulte [Configure los conectores AS2](configure-as2-connector.md).

**Para enviar un mensaje saliente de AS2**

El proceso de salida se define como un mensaje o un archivo que se envía AWS a un cliente o servicio externo. La secuencia de los mensajes salientes es la siguiente:

1. Un administrador llama al comando `start-file-transfer` AWS Command Line Interface (AWS CLI) o a la operación de la `StartFileTransfer` API. Esta operación hace referencia a una configuración `connector`.

1. Transfer Family detecta una nueva solicitud de archivo y localiza el archivo. El archivo está comprimido, firmado y cifrado. 

1. Un cliente HTTP de transferencia realiza una solicitud HTTP POST para transmitir la carga útil al servidor AS2 del socio. 

1. El proceso devuelve la respuesta MDN firmada, ya sea en línea con la respuesta HTTP (MDN síncrona o asíncrona).

1. A medida que el archivo pasa de una fase a otra de la transmisión, el proceso entrega al cliente el recibo de respuesta MDN y los detalles del procesamiento. 

1. El servidor AS2 remoto pone el archivo descifrado y verificado a disposición del administrador asociado.

![Diagrama que muestra la secuencia de procesamiento de los mensajes salientes.](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/images/as2-architecture-outbound.png)


El procesamiento AS2 es compatible con muchos de los protocolos RFC 4130 y se centra en los casos de uso comunes y en la integración con las implementaciones de servidores existentes. AS2-enabled Para más información sobre las configuraciones compatibles, consulte [Configuraciones AS2](create-b2b-server.md#as2-supported-configurations).

## Nombres y ubicaciones de los archivos
<a name="file-names-as2"></a>

En esta sección, se analizan las convenciones de nomenclatura de archivos para las transferencias de AS2.

En cuanto a las transferencias de archivos entrantes, tenga en cuenta lo siguiente:
+ El directorio base se especifica en un acuerdo. El directorio base es el nombre del bucket de Amazon S3 combinado con un prefijo, si lo hubiera. Por ejemplo, `/amzn-s3-demo-bucket/AS2-folder`.
+ Si un archivo entrante se procesa correctamente, el archivo (y el archivo JSON correspondiente) se guardan en la carpeta `/processed`. Por ejemplo, `/amzn-s3-demo-bucket/AS2-folder/processed`.

  El archivo JSON contiene los siguientes campos:
  + `agreement-id` 
  + `as2-from`
  + `as2-to`
  + `as2-message-id`
  + `transfer-id`
  + `client-ip`
  + `connector-id`
  + `failure-message`
  + `file-path`
  + `message-subject`
  + `mdn-message-id`
  + `mdn-subject`
  + `requester-file-name`
  + `requester-content-type`
  + `server-id`
  + `status-code`
  + `failure-code`
  + `transfer-size`
+ Si un archivo entrante no se puede procesar correctamente, el archivo (y el archivo JSON correspondiente) se guardan en la carpeta `/failed`. Por ejemplo, `/amzn-s3-demo-bucket/AS2-folder/failed`.
+ El archivo transferido se guarda en la carpeta `processed` como `{{original_filename}}.{{messageId}}.{{original_extension}}`. Es decir, el identificador del mensaje de la transferencia se añade al nombre del archivo, antes de su extensión original.
+ Se crea un archivo JSON y se guarda como `{{original_filename}}.{{messageId}}.{{original_extension}}.json`. Además de añadir el identificador del mensaje, la cadena `.json` se añade al nombre del archivo transferido.
+ Se crea un archivo de aviso de disposición de mensajes (MDN) y se guarda como `{{original_filename}}.{{messageId}}.{{original_extension}}.mdn`. Además de añadir el identificador del mensaje, la cadena `.mdn` se añade al nombre del archivo transferido.
+ Si hay un archivo entrante con el nombre `ExampleFileInS3Payload.dat`, se crean los siguientes archivos:
  + **File**: `ExampleFileInS3Payload.c4d6b6c7-23ea-4b8c-9ada-0cb811dc8b35@44313c54b0a46a36.dat`
  + **JSON**: `ExampleFileInS3Payload.c4d6b6c7-23ea-4b8c-9ada-0cb811dc8b35@44313c54b0a46a36.dat.json` 
  + **MDN**: `ExampleFileInS3Payload.c4d6b6c7-23ea-4b8c-9ada-0cb811dc8b35@44313c54b0a46a36.dat.mdn` 

En el caso de las transferencias salientes, el nombre es similar, con la diferencia de que no hay ningún archivo de mensajes entrantes y, además, el identificador de transferencia del mensaje transferido se añade al nombre del archivo. La operación de la `StartFileTransfer` API devuelve el identificador de transferencia (o cuando otro proceso o script llama a esta operación).
+ El `transfer-id` es un identificador que está asociado a una transferencia de archivos. Todas las solicitudes que forman parte de una llamada `StartFileTransfer` comparten un `transfer-id`.
+ El directorio base es el mismo que la ruta que se utiliza para el archivo fuente. Es decir, el directorio base es la ruta que se especifica en la operación o el comando de la `StartFileTransfer` API. `start-file-transfer` AWS CLI Por ejemplo: 

  ```
  aws transfer start-file-transfer --send-file-paths {{/amzn-s3-demo-bucket/AS2-folder/file-to-send.txt}}
  ```

  Si ejecutas este comando, los archivos MDN y JSON se guardan en `/amzn-s3-demo-bucket/AS2-folder/processed` (si las transferencias se realizan correctamente) o `/amzn-s3-demo-bucket/AS2-folder/failed` (si las transferencias no se realizan correctamente).
+ Se crea un archivo JSON y se guarda como `{{original_filename}}.{{transferId}}.{{messageId}}.{{original_extension}}.json`.
+ Se crea un archivo MDN y se guarda como `{{original_filename}}.{{transferId}}.{{messageId}}.{{original_extension}}.mdn`.
+ Si hay un archivo de salida con nombre `ExampleFileOutTestOutboundSyncMdn.dat`, se crean los siguientes archivos:
  + **JSON**: `ExampleFileOutTestOutboundSyncMdn.dedf4601-4e90-4043-b16b-579af35e0d83.fbe18db8-7361-42ff-8ab6-49ec1e435f34@c9c705f0baaaabaa.dat.json`
  + **MDN**: `ExampleFileOutTestOutboundSyncMdn.dedf4601-4e90-4043-b16b-579af35e0d83.fbe18db8-7361-42ff-8ab6-49ec1e435f34@c9c705f0baaaabaa.dat.mdn`

También puedes consultar los CloudWatch registros para ver los detalles de tus transferencias, incluidas las que hayan fallado.

## Códigos de estado
<a name="status-codes"></a>

En la siguiente tabla se enumeran todos los códigos de estado que se pueden registrar en los CloudWatch registros cuando tú o tu pareja enviáis un mensaje AS2. Los diferentes pasos de procesamiento de mensajes se aplican a diferentes tipos de mensajes y están destinados únicamente a la supervisión. Los estados COMPLETADO y FALLIDO representan el paso final del procesamiento y están visibles en los archivos JSON.


****  

| Código | Description (Descripción) | ¿Se ha completado el procesamiento? | 
| --- | --- | --- | 
| PROCESAMIENTO | El mensaje está en proceso de convertirse a su formato final. Por ejemplo, los pasos de descompresión y descifrado tienen este estado. | No | 
| MDN\_TRANSMIT | El procesamiento de mensajes envía una respuesta de MDN. | No | 
| MDN\_RECEIVE | El procesamiento de mensajes recibe una respuesta de MDN. | No | 
| COMPLETED | El procesamiento del mensaje se ha completado correctamente. Este estado incluye cuando se envía un MDN para un mensaje entrante o para la verificación por MDN de los mensajes salientes. | Sí | 
| ERROR | Se ha producido un error en el procesamiento del mensaje. Para obtener una lista de códigos de error, consulte[Códigos de error de AS2](as2-monitoring.md#as2-error-codes). | Sí | 

## Ejemplos de archivos de JSON
<a name="file-as2-json"></a>

En esta sección, se enumeran los archivos JSON de muestra para las transferencias entrantes y salientes, incluidos los archivos de muestra para las transferencias correctas y las transferencias que no se realizan correctamente.

Ejemplo de archivo saliente que se transfirió correctamente:

```
{
  "requester-content-type": "application/octet-stream",
  "message-subject": "File xyzTest from MyCompany_OID to partner YourCompany",
  "requester-file-name": "TestOutboundSyncMdn-9lmCr79hV.dat",
  "as2-from": "MyCompany_OID",
  "connector-id": "c-c21c63ceaaf34d99b",
  "status-code": "COMPLETED",
  "disposition": "automatic-action/MDN-sent-automatically; processed",
  "transfer-size": 3198,
  "mdn-message-id": "OPENAS2-11072022063009+0000-df865189-1450-435b-9b8d-d8bc0cee97fd@PartnerA_OID_MyCompany_OID",
  "mdn-subject": "Message be18db8-7361-42ff-8ab6-49ec1e435f34@c9c705f0baaaabaa has been accepted",
  "as2-to": "PartnerA_OID",
  "transfer-id": "dedf4601-4e90-4043-b16b-579af35e0d83",
  "file-path": "/amzn-s3-demo-bucket/as2testcell0000/openAs2/TestOutboundSyncMdn-9lmCr79hV.dat",
  "as2-message-id": "fbe18db8-7361-42ff-8ab6-49ec1e435f34@c9c705f0baaaabaa",
  "timestamp": "2022-07-11T06:30:10.791274Z"
}
```

Ejemplo de archivo saliente que se transfirió sin éxito:

```
{
  "failure-code": "HTTP_ERROR_RESPONSE_FROM_PARTNER",
  "status-code": "FAILED",
  "requester-content-type": "application/octet-stream",
  "subject": "Test run from Id da86e74d6e57464aae1a55b8596bad0a to partner 9f8474d7714e476e8a46ce8c93a48c6c",
  "transfer-size": 3198,
  "requester-file-name": "openAs2TestOutboundWrongAs2Ids-necco-3VYn5n8wE.dat",
  "as2-message-id": "9a9cc9ab-7893-4cb6-992a-5ed8b90775ff@718de4cec1374598",
  "failure-message": "http://Test123456789.us-east-1.elb.amazonaws.com:10080 returned status 500 for message with ID 9a9cc9ab-7893-4cb6-992a-5ed8b90775ff@718de4cec1374598",
  "transfer-id": "07bd3e07-a652-4cc6-9412-73ffdb97ab92",
  "connector-id": "c-056e15cc851f4b2e9",
  "file-path": "/amzn-s3-demo-bucket-4c1tq6ohjt9y/as2IntegCell0002/openAs2/openAs2TestOutboundWrongAs2Ids-necco-3VYn5n8wE.dat",
  "timestamp": "2022-07-11T21:17:24.802378Z"
}
```

Ejemplo de archivo entrante que se ha transferido correctamente:

```
{
  "requester-content-type": "application/EDI-X12",
  "subject": "File openAs2TestInboundAsyncMdn-necco-5Ab6bTfCO.dat sent from MyCompany to PartnerA",
  "client-ip": "10.0.109.105",
  "requester-file-name": "openAs2TestInboundAsyncMdn-necco-5Ab6bTfCO.dat",
  "as2-from": "MyCompany_OID",
  "status-code": "COMPLETED",
  "disposition": "automatic-action/MDN-sent-automatically; processed",
  "transfer-size": 1050,
  "mdn-subject": "Message Disposition Notification",
  "as2-message-id": "OPENAS2-11072022233606+0000-5dab0452-0ca1-4f9b-b622-fba84effff3c@MyCompany_OID_PartnerA_OID",
  "as2-to": "PartnerA_OID",
  "agreement-id": "a-f5c5cbea5f7741988",
  "file-path": "processed/openAs2TestInboundAsyncMdn-necco-5Ab6bTfCO.OPENAS2-11072022233606+0000-5dab0452-0ca1-4f9b-b622-fba84effff3c@MyCompany_OID_PartnerA_OID.dat",
  "server-id": "s-5f7422b04c2447ef9",
  "timestamp": "2022-07-11T23:36:36.105030Z"
}
```

Ejemplo de archivo entrante que se transfirió sin éxito:

```
{
  "failure-code": "INVALID_REQUEST",
  "status-code": "FAILED",
  "subject": "Sending a request from InboundHttpClientTests",
  "client-ip": "10.0.117.27",
  "as2-message-id": "testFailedLogs-TestRunConfig-Default-inbound-direct-integ-0c97ee55-af56-4988-b7b4-a3e0576f8f9c@necco",
  "as2-to": "0beff6af56c548f28b0e78841dce44f9",
  "failure-message": "Unsupported date format: 2022/123/456T",
  "agreement-id": "a-0ceec8ca0a3348d6a",
  "as2-from": "ab91a398aed0422d9dd1362710213880",
  "file-path": "failed/01187f15-523c-43ac-9fd6-51b5ad2b08f3.testFailedLogs-TestRunConfig-Default-inbound-direct-integ-0c97ee55-af56-4988-b7b4-a3e0576f8f9c@necco",
  "server-id": "s-0582af12e44540b9b",
  "timestamp": "2022-07-11T06:30:03.662939Z"
}
```