

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

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

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

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


| Enkripsi algoritme | HTTP | HTTPS | Catatan | 
| --- |--- |--- |--- |
| AES128\_CBC | Ya | Ya |  | 
| AES192\_CBC | Ya | Ya |  | 
| AES256\_CBC | Ya | Ya |  | 
| DES\_EDE3\_CBC | Ya | Ya | Gunakan algoritma ini hanya 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 jika Anda menggunakan Application Load Balancer (ALB). | 

**Topics**
+ [Menerima proses pesan AS2](#as2-inbound-process)
+ [Mengirim dan menerima pesan AS2 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 pesan AS2
<a name="as2-inbound-process"></a>

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

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

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

1. Menggunakan nilai yang dikonfigurasi untuk server, mitra, sertifikat, dan perjanjian, Transfer Family mendekripsi dan memverifikasi payload AS2. Isi file disimpan di penyimpanan 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.](https://docs.aws.amazon.com/id_id/transfer/latest/userguide/images/as2-architecture-inbound.png)


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

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

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

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

Untuk mengirim pesan AS2 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 konektor AS2](configure-as2-connector.md).

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

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

**Prasyarat**
+ VPC harus Wilayah AWS sama dengan server Transfer Family Anda.
+ Subnet VPC Anda harus berada dalam Zona Ketersediaan tempat Anda ingin menggunakan server Anda.
**catatan**  
Setiap server Transfer Family dapat mendukung hingga tiga Zona Ketersediaan.
+ Alokasikan hingga tiga alamat IP Elastic di Wilayah yang sama dengan server Anda. Atau, Anda dapat memilih untuk membawa rentang alamat IP Anda sendiri (BYOIP).
**catatan**  
Jumlah alamat IP Elastic harus sesuai dengan jumlah Zona Ketersediaan yang Anda gunakan dengan titik akhir 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 | Penyeimbang Beban Jaringan (NLB) | Penyeimbang Beban Aplikasi (ALB) | 
| --- | --- | --- | 
| Latensi | Latensi lebih rendah saat beroperasi di lapisan jaringan. | Latensi yang lebih tinggi saat beroperasi di 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 untuk AS2 tanpa enkripsi.<br />Header ini dijelaskan di [ X-Forwarded-Proto ](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Proto) situs [ developer.mozilla.org](https://developer.mozilla.org/). | 
| TLS/SSL penghentian | Mendukung TLS/SSL penghentian | Mendukung TLS/SSL penghentian | 
| TLS Bersama (mTLS) | Transfer Family saat ini tidak mendukung penggunaan NLB untuk MTL | Dukungan untuk MTL | 

------
#### [ 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 menentukan 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 ** Buat penyeimbang beban. **

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 ** Internet-facing**.
   + 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 Zona Ketersediaan yang terkait dengan subnet publik yang tersedia di VPC yang sama yang Anda gunakan dengan titik akhir server Anda.
   + Untuk alamat ** IPv4 ** dari setiap subnet, pilih salah satu alamat IP Elastic 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 kelompok sasaran](#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 [ akses untuk Penyeimbang B ](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-access-logs.html) eban Jaringan Anda.

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

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

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

**Untuk membuat Application Load Balancer dan menentukan 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 ** Buat penyeimbang beban. **

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 bersama (MTL), konfigurasikan pengaturan keamanan dan penyimpanan kepercayaan.

   1. Lampirkan SSL/TLS sertifikat Anda ke pendengar.

   1. Di bawah ** Penanganan sertifikat klien**, pilih O ** tentikasi bersama (MTL)**.

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

   1. Di bawah ** Pengaturan MTL lanj ** utan, pilih atau buat penyimpanan kepercayaan dengan mengunggah sertifikat CA Anda.

1. Buat grup target baru dan tambahkan alamat IP pribadi dari titik akhir server Transfer Family AS2 Anda sebagai target pada port 5080. Untuk detail pembuatan grup target baru, lihat[Untuk membuat kelompok sasaran](#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 pendengar untuk menggunakan SSL/TLS sertifikat Anda.

------

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

**Untuk membuat kelompok sasaran**

1. Setelah Anda memilih ** Buat grup target ** dalam prosedur sebelumnya, Anda akan dibawa ke ** halaman ** Tentukan detail 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 AS2 Anda.

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 server Transfer Family AS2 telah ditentukan.
   + Untuk alamat ** IPv4**, masukkan alamat IPv4 pribadi dari titik akhir server Transfer Family AS2 Anda.

      Jika Anda memiliki lebih dari satu titik akhir untuk server Anda, pilih ** Tambahkan alamat IPv4 ** untuk menambahkan baris lain untuk memasukkan alamat IPv4 lainnya. Ulangi proses ini sampai Anda memasukkan alamat IP pribadi untuk semua titik akhir server Anda.
   + Pastikan ** Ports ** diatur ke**5080**.
   + Pilih Ser ** takan sebagai tertunda di bawah ini ** untuk menambahkan entri Anda ke ** bagian ** Target Tinjau.

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 Elastic **

Hubungkan ke server melalui port khusus dengan menggunakan alamat IP Elastic atau nama DNS dari Network Load Balancer.

**penting**  
Kelola akses ke server Anda dari alamat IP klien dengan menggunakan daftar kontrol akses [ jaringan (ACL jaringan) ](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html) untuk subnet yang dikonfigurasi pada penyeimbang beban. Izin ACL jaringan diatur 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 diatur ke alamat ** IP, ** bukan ** Inst ** ans. 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 server ](https://aws.amazon.com/premiumsupport/knowledge-center/sftp-enable-elastic-ip-custom-port/) mengizinkan koneksi masuk dari subnet yang dikonfigurasi pada penyeimbang beban. Penyeimbang beban harus dapat terhubung ke titik akhir server melalui port 5080.
Konfirmasikan bahwa ** Status server ** sedang ** Online**.

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

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

Anda dapat menggunakan Transfer Family untuk mengirim pesan AS2 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
```

Per `list-connectors` intah mengembalikan ID konektor, URL, dan Nama Sumber Daya Amazon (ARN) 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}}
```

Per `describe-connector` intah 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 pesan AS2.

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

**Untuk mengirim pesan keluar AS2**

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

1. Admin memanggil perintah `start-file-transfer` AWS Command Line Interface (AWS CLI) atau operasi `StartFileTransfer` API. Operasi ini mereferensi `connector` kan 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 server AS2 mitra. 

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

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

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

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


Pemrosesan AS2 mendukung banyak protokol RFC 4130, dengan fokus pada kasus penggunaan umum dan integrasi dengan implementasi server yang ada AS2-enabled . Untuk detail konfigurasi yang didukung, lihat[Konfigurasi AS2](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 masuk berhasil diproses, file (dan file JSON yang sesuai) disimpan ke `/processed` folder. Misalnya, `/amzn-s3-demo-bucket/AS2-folder/processed`.

  File JSON berisi 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 masuk tidak dapat diproses dengan sukses, file (dan file JSON yang sesuai) disimpan ke `/failed` folder. 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`. Selain ID pesan yang ditambahkan, string `.json` ditambahkan ke nama file yang ditransfer.
+ File Pemberitahuan Disposisi Pesan (MDN) dibuat dan disimpan sebagai`{{original_filename}}.{{messageId}}.{{original_extension}}.mdn`. Selain ID pesan yang ditambahkan, string `.mdn` ditambahkan ke nama file yang ditransfer.
+ Jika ada file masuk bernama`ExampleFileInS3Payload.dat`, 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, penamaan 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).
+ Ini `transfer-id` adalah pengidentifikasi yang terkait dengan transfer file. Semua permintaan yang merupakan bagian dari `StartFileTransfer` panggilan berbagi a`transfer-id`.
+ Direktori dasar sama dengan path 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 MDN dibuat dan disimpan sebagai`{{original_filename}}.{{transferId}}.{{messageId}}.{{original_extension}}.mdn`.
+ Jika ada file keluar bernama`ExampleFileOutTestOutboundSyncMdn.dat`, 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 Anda mengirim pesan AS2. 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 akhir. Misalnya, langkah dekompresi dan dekripsi keduanya memiliki status ini. | Tidak | 
| MDN\_MENGIRIMKAN | Pemrosesan pesan mengirimkan respons MDN. | Tidak | 
| MDN\_TERIMA | Pemrosesan pesan menerima respons MDN. | Tidak | 
| DISELESAIKAN | Pemrosesan pesan telah selesai dengan sukses. Status ini termasuk ketika MDN dikirim untuk pesan masuk atau untuk verifikasi MDN pesan keluar. | Ya | 
| FAILED | Pemrosesan pesan gagal. Untuk daftar kode kesalahan, lihat[Kode kesalahan AS2](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 masuk 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"
}
```