Lewati ke konten

HTTP

messaging-http adalah provider messaging berbasis jawaban yang dihasilkan dari build-answer.json. Ini berguna saat sebuah sistem berbicara dengan digital worker melalui HTTP biasa, bukan melalui platform chat bernama.

Saat ini mendukung:

  • Memetakan permintaan JSON HTTP POST masuk menjadi event provider yang dinormalisasi
  • Pemeriksaan bearer token masuk atau header API key opsional
  • Menangkap header permintaan dan parameter query yang dipilih
  • Membuat deskripsi permintaan HTTP GET atau POST keluar dari payload pesan
  • Templating URL dengan nilai payload seperti {payload.case_id}
  1. Tambahkan pack provider

    Pilih messaging-http dengan gtc wizard atau tambahkan pack ke bundle dari katalog provider messaging.

  2. Konfigurasikan routing dan auth

    Gunakan jawaban setup yang dihasilkan untuk pack yang terpasang. Konfigurasi umum mencakup informasi route/public URL, auth opsional, header yang ditangkap, dan pengaturan permintaan keluar.

  3. Jalankan setup

    Terminal window
    gtc setup ./my-bundle
  4. Mulai runtime

    Terminal window
    gtc start ./my-bundle

HTTP masuk mengharapkan permintaan POST dengan body objek JSON. Provider memetakannya menjadi event seperti:

{
"provider": "messaging-http",
"direction": "inbound",
"kind": "http.webhook",
"idempotency_key": "req-1",
"source": {
"method": "POST",
"path": "/webhooks/acme",
"headers": {
"x-request-id": "req-1"
},
"query": {
"source": "test"
}
},
"payload": {
"case_id": "C123",
"event": "case.created"
}
}

Idempotency key diambil dari Idempotency-Key, X-Request-Id, payload.idempotency_key, atau payload.id jika ada.

Pesan keluar dikonversi menjadi deskripsi permintaan HTTP. Misalnya, dengan konfigurasi:

{
"method": "POST",
"url": "https://example.test/cases/{payload.case_id}",
"headers": {
"content-type": "application/json"
},
"timeout_ms": 5000
}

Payload pesan { "case_id": "C123", "status": "open" } menghasilkan:

{
"method": "POST",
"url": "https://example.test/cases/C123",
"headers": {
"content-type": "application/json"
},
"body": "{\"case_id\":\"C123\",\"status\":\"open\"}",
"timeout_ms": 5000
}
ArahProtokol dan portTujuan
MasukHTTPS 443 ke GreenticSistem eksternal yang mengirim permintaan JSON bergaya webhook
Masuk, pengembangan lokalHTTP pada port runtime/tester lokalPengujian lokal sebelum terminasi TLS/tunnel
KeluarHTTP atau HTTPS ke endpoint yang dikonfigurasiPermintaan keluar yang dibuat provider

Gunakan tester lokal:

Terminal window
./scripts/test_http.sh

Halaman tester memiliki tombol terpisah untuk pemetaan masuk dan pembuatan permintaan keluar, serta menampilkan status lulus/gagal yang jelas.