

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Mengirim dan menerima AS2 pesan
<a name="send-as2-messages"></a>

Bagian ini menjelaskan proses untuk mengirim dan menerima AS2 pesan. Ini juga memberikan rincian tentang nama file dan lokasi yang terkait dengan pesan. AS2 

Tabel berikut mencantumkan algoritma enkripsi yang tersedia untuk AS2 pesan, dan kapan Anda dapat menggunakannya.


| Enkripsi algoritme | HTTP | HTTPS | Catatan | 
| --- |--- |--- |--- |
| AES128\$1CBC | Ya | Ya |  | 
| AES192\$1CBC | Ya | Ya |  | 
| AES256\$1CBC | Ya | Ya |  | 
| DES\$1 \$1CBC EDE3 | Ya | Ya | Hanya gunakan algoritma ini jika Anda harus mendukung klien lama yang membutuhkannya, karena ini adalah algoritma enkripsi yang lemah. | 
| NONE | Tidak | Ya | Jika Anda mengirim pesan ke server Transfer Family, Anda hanya dapat memilih NONE apakah Anda menggunakan Application Load Balancer (ALB). | 

**Topics**
+ [Menerima proses AS2 pesan](#as2-inbound-process)
+ [Mengirim dan menerima AS2 pesan melalui HTTPS](#as2-https-process)
+ [Mentransfer file dengan menggunakan konektor AS2](#transfer-as2-connectors)
+ [Nama dan lokasi file](#file-names-as2)
+ [Kode status](#status-codes)
+ [Contoh file JSON](#file-as2-json)

## Menerima proses AS2 pesan
<a name="as2-inbound-process"></a>

Proses inbound didefinisikan sebagai pesan atau file yang sedang ditransfer ke AWS Transfer Family server Anda. Urutan pesan masuk adalah sebagai berikut:

1. Admin atau proses otomatis memulai transfer AS2 file di AS2 server jarak jauh mitra.

1.  AS2 Server jarak jauh mitra menandatangani dan mengenkripsi konten file, lalu mengirimkan permintaan HTTP POST ke titik akhir AS2 masuk yang dihosting di Transfer Family.

1. Menggunakan nilai yang dikonfigurasi untuk server, mitra, sertifikat, dan perjanjian, Transfer Family mendekripsi dan memverifikasi muatan. AS2 Isi file disimpan di toko file Amazon S3 yang dikonfigurasi.

1. Respons MDN yang ditandatangani dikembalikan baik sebaris dengan respons HTTP, atau secara asinkron melalui permintaan HTTP POST terpisah kembali ke server asal.

1. Jejak audit ditulis ke Amazon CloudWatch dengan rincian tentang pertukaran.

1. File yang didekripsi tersedia dalam folder bernama. `inbox/processed`

![\[Diagram yang menunjukkan urutan pemrosesan untuk pesan masuk.\]](http://docs.aws.amazon.com/id_id/transfer/latest/userguide/images/as2-architecture-inbound.png)


## Mengirim dan menerima AS2 pesan melalui HTTPS
<a name="as2-https-process"></a>

Bagian ini menjelaskan cara mengonfigurasi server Transfer Family yang menggunakan AS2 protokol untuk mengirim dan menerima pesan melalui HTTPS.

**Topics**
+ [Kirim AS2 pesan melalui HTTPS](#send-https)
+ [Menerima AS2 pesan melalui HTTPS](#receive-https)

### Kirim AS2 pesan melalui HTTPS
<a name="send-https"></a>

Untuk mengirim AS2 pesan menggunakan HTTPS, buat konektor dengan informasi berikut:
+ Untuk URL, tentukan URL HTTPS
+ Untuk algoritma enkripsi, pilih salah satu algoritma yang tersedia.
**catatan**  
 Untuk mengirim pesan ke server Transfer Family saat tidak menggunakan enkripsi (yaitu, Anda memilih `NONE` untuk algoritma enkripsi), Anda harus menggunakan Application Load Balancer (ALB).
+ Berikan nilai yang tersisa untuk konektor seperti yang dijelaskan dalam[Konfigurasikan AS2 konektor](configure-as2-connector.md).

### Menerima AS2 pesan melalui HTTPS
<a name="receive-https"></a>

 AWS Transfer Family AS2 server saat ini hanya menyediakan transportasi HTTP melalui port 5080. Namun, Anda dapat menghentikan TLS pada penyeimbang beban jaringan atau aplikasi di depan titik akhir VPC server Transfer Family Anda dengan menggunakan port dan sertifikat pilihan Anda. Dengan pendekatan ini, Anda dapat memiliki AS2 pesan masuk menggunakan HTTPS.

**Prasyarat**
+ VPC harus sama Wilayah AWS dengan server Transfer Family Anda.
+ Subnet VPC Anda harus berada dalam Availability Zones tempat Anda ingin menggunakan server Anda.
**catatan**  
Setiap server Transfer Family dapat mendukung hingga tiga Availability Zone.
+ Alokasikan hingga tiga alamat IP Elastis di Wilayah yang sama dengan server Anda. Atau, Anda dapat memilih untuk membawa rentang alamat IP Anda sendiri (BYOIP).
**catatan**  
Jumlah alamat IP Elastis harus sesuai dengan jumlah Availability Zone yang Anda gunakan dengan endpoint server Anda.

Anda dapat mengonfigurasi Network Load Balance (NLB) atau Application Load Balancer (ALB). Tabel berikut mencantumkan pro dan kontra untuk setiap pendekatan.

Tabel di bawah ini memberikan perbedaan kemampuan saat Anda menggunakan NLB versus ALB untuk mengakhiri TLS.


| Fitur | Network Load Balancer (NLB) | Application Load Balancer (ALB) | 
| --- | --- | --- | 
| Latensi | Latensi yang lebih rendah karena beroperasi pada lapisan jaringan. | Latensi yang lebih tinggi karena beroperasi pada lapisan aplikasi. | 
| Dukungan IP statis | Dapat melampirkan alamat IP Elastis yang bisa statis. | Tidak dapat melampirkan alamat IP Elastis: menyediakan domain yang alamat IP dasarnya dapat berubah. | 
| Perutean lanjutan | Tidak mendukung perutean lanjutan. | Mendukung perutean lanjutan. Dapat menyuntikkan `X-Forwarded-Proto` header yang diperlukan AS2 tanpa enkripsi. [Header ini dijelaskan dalam [X-Forwarded-Proto](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Proto) di situs web developer.mozilla.org.](https://developer.mozilla.org/) | 
| Penghentian TLS/SSL | Mendukung TLS/SSL penghentian | Mendukung TLS/SSL penghentian | 
| TLS Bersama (mTLS) | Transfer Family saat ini tidak mendukung penggunaan NLB untuk mTL | Support untuk mTLS | 

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

Prosedur ini menjelaskan cara mengatur Network Load Balancer (NLB) yang menghadap ke internet di VPC Anda.<a name="create-nlb-AS2"></a>

**Untuk membuat Network Load Balancer dan mendefinisikan titik akhir VPC server sebagai target penyeimbang beban**

1. Buka konsol Amazon Elastic Compute Cloud di [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dari panel navigasi, pilih **Load Balancers, lalu pilih **Create** load balancer**.

1. Di bawah **Penyeimbang Beban Jaringan**, pilih **Buat**.

1. Di bagian **Konfigurasi dasar**, masukkan informasi berikut:
   + Untuk **Nama**, masukkan nama deskriptif untuk penyeimbang beban.
   + Untuk **Skema**, pilih yang menghadap ke **Internet**.
   + Untuk **jenis alamat IP**, pilih **IPv4**.

1. Di bagian **Pemetaan jaringan**, masukkan informasi berikut:
   + Untuk **VPC**, pilih virtual private cloud (VPC) yang Anda buat.
   + Di bawah **Pemetaan**, pilih Availability Zones yang terkait dengan subnet publik yang tersedia di VPC yang sama yang Anda gunakan dengan endpoint server Anda.
   + Untuk **IPv4 alamat** setiap subnet, pilih salah satu alamat IP elastis yang Anda alokasikan.

1. Di bagian **Pendengar dan perutean**, masukkan informasi berikut:
   + Untuk **Protokol**, pilih **TLS.**
   + Untuk **Port**, masukkan **5080**.
   + Untuk **tindakan Default**, pilih **Buat grup target**. Untuk detail pembuatan grup target baru, lihat[Untuk membuat grup target](#create-target-group).

   Setelah Anda membuat grup target, masukkan namanya di bidang **Tindakan default**.

1. Di bagian **Pengaturan pendengar aman**, pilih sertifikat Anda di area ** SSL/TLS sertifikat default**.

1. Pilih **Buat penyeimbang beban** untuk membuat NLB Anda.

1. (Opsional, tetapi disarankan) Aktifkan log akses untuk Network Load Balancer untuk mempertahankan jejak audit penuh, seperti yang dijelaskan dalam [log Access untuk Network Load Balancer Anda](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-access-logs.html).

   Kami merekomendasikan langkah ini karena koneksi TLS dihentikan di NLB. Oleh karena itu, alamat IP sumber yang tercermin dalam grup AS2 CloudWatch log Transfer Family Anda adalah alamat IP pribadi NLB, bukan alamat IP eksternal mitra dagang Anda.

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

Prosedur ini menjelaskan cara menyiapkan Application Load Balancer (ALB) di VPC Anda.<a name="create-alb-AS2"></a>

**Untuk membuat Application Load Balancer dan mendefinisikan titik akhir VPC server sebagai target penyeimbang beban**

1. Buka konsol Amazon Elastic Compute Cloud di [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dari panel navigasi, pilih **Load Balancers, lalu pilih **Create** load balancer**.

1. **Di bawah **Application Load Balancer**, pilih Buat.**

1. Di konsol ALB, buat pendengar HTTP baru di port 443 (HTTPS).

1. (Opsional). Jika Anda ingin mengatur otentikasi timbal balik (mTL), konfigurasikan pengaturan keamanan dan toko kepercayaan.

   1. Lampirkan SSL/TLS sertifikat Anda ke pendengar.

   1. Di bawah **penanganan sertifikat Klien**, pilih **Mutual Authentication (mTLS**).

   1. Pilih **Verifikasi dengan toko kepercayaan**.

   1. Di bawah **pengaturan mTLS tingkat lanjut**, pilih atau buat toko kepercayaan dengan mengunggah sertifikat CA Anda.

1. Buat grup target baru dan tambahkan alamat IP pribadi dari endpoint AS2 server Transfer Family Anda sebagai target pada port 5080. Untuk detail pembuatan grup target baru, lihat[Untuk membuat grup target](#create-target-group).

1. Konfigurasikan pemeriksaan kesehatan untuk kelompok target untuk menggunakan protokol HTTP pada port 5080.

1. Buat aturan baru untuk meneruskan lalu lintas HTTPS dari pendengar ke grup target.

1. Konfigurasikan listener untuk menggunakan sertifikat SSL/TLS Anda.

------

Setelah Anda mengatur penyeimbang beban, klien berkomunikasi dengan penyeimbang beban melalui pendengar port kustom. Kemudian, penyeimbang beban berkomunikasi dengan server melalui port 5080.<a name="create-target-group"></a>

**Untuk membuat grup target**

1. Setelah Anda memilih **Buat grup target** dalam prosedur sebelumnya, Anda akan dibawa ke halaman **Tentukan rincian grup** untuk grup target baru.

1.  Di bagian **Konfigurasi dasar**, masukkan informasi berikut.
   + Untuk **Pilih jenis target**, pilih **alamat IP**.
   + Untuk **Name**, masukkan nama untuk grup target.
   + Untuk **Protokol**, pilihan Anda tergantung pada apakah Anda menggunakan ALB atau NLB.
     + **Untuk Network Load Balancer (NLB), pilih TCP**
     + **Untuk Application Load Balancer (ALB), pilih HTTP**
   + Untuk **Port**, masukkan **5080**. 
   + Untuk jenis **alamat IP**, pilih **IPv4**.
   + Untuk **VPC**, pilih VPC yang Anda buat untuk server Transfer Family Anda. AS2 

1. <a name="vpc-register-targets"></a>Di bagian **Pemeriksaan Kesehatan**, pilih **protokol Pemeriksaan Kesehatan**.
   + **Untuk ALB, pilih HTTP**
   + **Untuk NLB, pilih TCP**

1. <a name="vpc-add-to-list"></a>Pilih **Berikutnya**.

1. Pada halaman **Daftar target**, masukkan informasi berikut:
   + Untuk **Jaringan**, konfirmasikan bahwa VPC yang Anda buat untuk AS2 server Transfer Family Anda ditentukan.
   + Untuk **IPv4 alamat**, masukkan IPv4 alamat pribadi titik akhir AS2 server Transfer Family Anda.

      Jika Anda memiliki lebih dari satu titik akhir untuk server Anda, pilih **Tambah IPv4 alamat** untuk menambahkan baris lain untuk memasukkan IPv4 alamat lain. Ulangi proses ini sampai Anda memasukkan alamat IP pribadi untuk semua titik akhir server Anda.
   + Pastikan bahwa **Port** diatur ke**5080**.
   + Pilih **Sertakan sebagai tertunda di bawah ini** untuk menambahkan entri Anda ke bagian **Tinjau target**.

1. Di bagian **Tinjau target**, tinjau target IP Anda.

1. Pilih **Buat grup target**, lalu kembali ke prosedur sebelumnya untuk membuat NLB Anda dan masukkan grup target baru di mana ditunjukkan.

**Uji akses ke server dari alamat IP Elastis**

Connect ke server melalui port kustom dengan menggunakan alamat IP Elastis atau nama DNS Network Load Balancer.

**penting**  
Kelola akses ke server Anda dari alamat IP klien dengan menggunakan [daftar kontrol akses jaringan (jaringan ACLs)](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html) untuk subnet yang dikonfigurasi pada penyeimbang beban. Izin ACL jaringan ditetapkan pada tingkat subnet, sehingga aturan berlaku untuk semua sumber daya yang menggunakan subnet. Anda tidak dapat mengontrol akses dari alamat IP klien dengan menggunakan grup keamanan, karena jenis target penyeimbang beban disetel ke **alamat IP**, bukan **Instans**. Oleh karena itu, penyeimbang beban tidak mempertahankan alamat IP sumber. Jika [pemeriksaan kesehatan Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/target-group-health-checks.html) gagal, ini berarti penyeimbang beban tidak dapat terhubung ke titik akhir server. Untuk memecahkan masalah ini, periksa hal berikut:  
Konfirmasikan bahwa [grup keamanan terkait titik akhir](https://aws.amazon.com/premiumsupport/knowledge-center/sftp-enable-elastic-ip-custom-port/) server memungkinkan koneksi masuk dari subnet yang dikonfigurasi pada penyeimbang beban. Load balancer harus dapat terhubung ke endpoint server melalui port 5080.
Konfirmasikan bahwa **Status** server sedang **Online**.

## Mentransfer file dengan menggunakan konektor AS2
<a name="transfer-as2-connectors"></a>

AS2 konektor membangun hubungan antara mitra dagang untuk transfer AS2 pesan dari server Transfer Family ke tujuan eksternal milik mitra.

Anda dapat menggunakan Transfer Family untuk mengirim AS2 pesan dengan mereferensikan ID konektor dan jalur ke file, seperti yang diilustrasikan dalam perintah `start-file-transfer` AWS Command Line Interface (AWS CLI) berikut:

```
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"
```

Untuk mendapatkan detail konektor Anda, jalankan perintah berikut:

```
aws transfer list-connectors
```

`list-connectors`Perintah mengembalikan konektor IDs, URLs, dan Amazon Resource Names (ARNs) untuk konektor Anda.

Untuk mengembalikan properti konektor tertentu, jalankan perintah berikut dengan ID yang ingin Anda gunakan:

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

`describe-connector`Perintah mengembalikan semua properti untuk konektor, termasuk URL, peran, profil, Pemberitahuan Disposisi Pesan (MDNs), tag, dan metrik pemantauan.

Anda dapat mengonfirmasi bahwa mitra berhasil menerima file dengan melihat file JSON dan MDN. File-file ini diberi nama sesuai dengan konvensi yang dijelaskan dalam[Nama dan lokasi file](#file-names-as2). Jika Anda mengonfigurasi peran logging saat membuat konektor, Anda juga dapat memeriksa CloudWatch log Anda untuk status AS2 pesan.

Untuk melihat detail AS2 konektor, lihat[Lihat detail AS2 konektor](configure-as2-connector.md#connectors-view-info). Untuk informasi selengkapnya tentang membuat AS2 konektor, lihat[Konfigurasikan AS2 konektor](configure-as2-connector.md).

**Untuk mengirim pesan AS2 keluar**

Proses keluar didefinisikan sebagai pesan atau file yang dikirim dari AWS ke klien atau layanan eksternal. Urutan pesan keluar adalah sebagai berikut:

1. Admin memanggil perintah `start-file-transfer` AWS Command Line Interface (AWS CLI) atau operasi `StartFileTransfer` API. Operasi ini mereferensikan `connector` konfigurasi.

1. Transfer Family mendeteksi permintaan file baru dan menemukan file tersebut. File dikompresi, ditandatangani, dan dienkripsi. 

1. Klien HTTP transfer melakukan permintaan HTTP POST untuk mengirimkan payload ke AS2 server mitra. 

1. Proses mengembalikan respons MDN yang ditandatangani, baik sejalan dengan respons HTTP (MDN sinkron atau asinkron).

1. Saat file bergerak di antara berbagai tahap transmisi, proses memberikan tanda terima respons MDN dan rincian pemrosesan kepada pelanggan. 

1.  AS2 Server jarak jauh membuat file yang didekripsi dan diverifikasi tersedia untuk admin mitra.

![\[Diagram yang menunjukkan urutan pemrosesan untuk pesan keluar.\]](http://docs.aws.amazon.com/id_id/transfer/latest/userguide/images/as2-architecture-outbound.png)


AS2 Processing mendukung banyak protokol RFC 4130, dengan fokus pada kasus penggunaan umum dan integrasi dengan implementasi server -enabled yang ada AS2. Untuk detail konfigurasi yang didukung, lihat[AS2 konfigurasi](create-b2b-server.md#as2-supported-configurations).

## Nama dan lokasi file
<a name="file-names-as2"></a>

Bagian ini membahas konvensi penamaan file untuk transfer. AS2 

Untuk transfer file masuk, perhatikan hal berikut:
+ Anda menentukan direktori dasar dalam perjanjian. Direktori dasar adalah nama bucket Amazon S3 yang dikombinasikan dengan awalan, jika ada. Misalnya, `/amzn-s3-demo-bucket/AS2-folder`.
+ Jika file yang masuk berhasil diproses, file (dan file JSON yang sesuai) disimpan ke folder`/processed`. Misalnya, `/amzn-s3-demo-bucket/AS2-folder/processed`.

  File JSON berisi bidang-bidang berikut:
  + `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`
+ Jika file yang masuk tidak dapat diproses dengan sukses, file (dan file JSON yang sesuai) disimpan ke folder`/failed`. Misalnya, `/amzn-s3-demo-bucket/AS2-folder/failed`.
+ File yang ditransfer disimpan dalam `processed` folder sebagai`original_filename.messageId.original_extension`. Artinya, ID pesan untuk transfer ditambahkan ke nama file, sebelum ekstensi aslinya.
+ File JSON dibuat dan disimpan sebagai `original_filename.messageId.original_extension.json` file. Selain ID pesan yang ditambahkan, string `.json` ditambahkan ke nama file yang ditransfer.
+ File Message Disposition Notice (MDN) dibuat dan disimpan sebagai `original_filename.messageId.original_extension.mdn` file. Selain ID pesan yang ditambahkan, string `.mdn` ditambahkan ke nama file yang ditransfer.
+ Jika ada file inbound bernama`ExampleFileInS3Payload.dat`, file-file berikut dibuat:
  + **Berkas** — `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` 

Untuk transfer keluar, penamaannya serupa, dengan perbedaan bahwa tidak ada file pesan masuk, dan juga, ID transfer untuk pesan yang ditransfer ditambahkan ke nama file. ID transfer dikembalikan oleh operasi `StartFileTransfer` API (atau ketika proses atau skrip lain memanggil operasi ini).
+ `transfer-id`Ini adalah pengidentifikasi yang terkait dengan transfer file. Semua permintaan yang merupakan bagian dari `StartFileTransfer` panggilan berbagi a`transfer-id`.
+ Direktori dasar sama dengan jalur yang Anda gunakan untuk file sumber. Artinya, direktori dasar adalah jalur yang Anda tentukan dalam operasi atau `start-file-transfer` AWS CLI perintah `StartFileTransfer` API. Contoh: 

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

  Jika Anda menjalankan perintah ini, file MDN dan JSON disimpan di `/amzn-s3-demo-bucket/AS2-folder/processed` (untuk transfer yang berhasil), atau `/amzn-s3-demo-bucket/AS2-folder/failed` (untuk transfer yang gagal).
+ File JSON dibuat dan disimpan sebagai `original_filename.transferId.messageId.original_extension.json` file.
+ File MDN dibuat dan disimpan sebagai `original_filename.transferId.messageId.original_extension.mdn` file.
+ Jika ada file keluar bernama`ExampleFileOutTestOutboundSyncMdn.dat`, file-file berikut dibuat:
  + **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`

Anda juga dapat memeriksa CloudWatch log untuk melihat detail transfer Anda, termasuk yang gagal.

## Kode status
<a name="status-codes"></a>

Tabel berikut mencantumkan semua kode status yang dapat dicatat ke CloudWatch log saat Anda atau pasangan mengirim AS2 pesan. Langkah-langkah pemrosesan pesan yang berbeda berlaku untuk jenis pesan yang berbeda dan dimaksudkan untuk pemantauan saja. Status COMPLETED dan FAILED mewakili langkah terakhir dalam pemrosesan, dan terlihat dalam file JSON.


****  

| Kode | Deskripsi | Pemrosesan selesai? | 
| --- | --- | --- | 
| PENGOLAHAN | Pesan sedang dalam proses dikonversi ke format akhirnya. Misalnya, langkah dekompresi dan dekripsi keduanya memiliki status ini. | Tidak | 
| MDN\$1TRANSMIT | Pemrosesan pesan adalah mengirimkan respons MDN. | Tidak | 
| MDN\$1RECEIVE | Pemrosesan pesan menerima respons MDN. | Tidak | 
| DISELESAIKAN | Pemrosesan pesan telah selesai dengan sukses. Keadaan ini termasuk ketika MDN dikirim untuk pesan masuk atau untuk verifikasi MDN dari pesan keluar. | Ya | 
| FAILED | Pemrosesan pesan telah gagal. Untuk daftar kode kesalahan, lihat[AS2 kode kesalahan](as2-monitoring.md#as2-error-codes). | Ya | 

## Contoh file JSON
<a name="file-as2-json"></a>

Bagian ini mencantumkan contoh file JSON untuk transfer masuk dan keluar, termasuk file sampel untuk transfer yang berhasil dan transfer yang gagal.

Contoh file keluar yang berhasil ditransfer:

```
{
  "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"
}
```

Contoh file keluar yang tidak berhasil ditransfer:

```
{
  "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"
}
```

Contoh file inbound yang berhasil ditransfer:

```
{
  "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"
}
```

Contoh file masuk yang tidak berhasil ditransfer:

```
{
  "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"
}
```