You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.0 KiB
3.0 KiB
FE /ticketing — Integrasi mysupperapps_FE_PWA
Terakhir Diperbarui: 2026-07-03
Status: 📋 Fase 2 — setelah SMTP (atau paralel jika SMTP ditunda)
Repo FE:mysupperapps_FE_PWA(repo terpisah)
Arsitektur
my.gisportal.id/ticketing ──HTTPS──► Zammad REST API
│ │
└── JWT geonet-console (user AD) └── Token token=<api_token>
User login via geonet-console (LDAP AD). FE memanggil Zammad API dengan service token atau user token.
Prasyarat Zammad (server)
| Item | Status |
|---|---|
Zammad live https://zammad.gisportal.id |
✅ |
| LDAP AD sync | ✅ |
| API token admin / service | ✅ fe-ticketing-pwa (2026-07-03) — lihat server |
| Group & kategori tiket | 📋 Belum |
| SMTP notifikasi | ✅ sc138.idcloudhosting.cloud:465 |
Step — Sisi Zammad
1. API token — ✅ dibuat 2026-07-03
| Field | Nilai |
|---|---|
| Name | fe-ticketing-pwa |
| User | support@geonet.co.id |
| Permission | ticket.agent, ticket.customer, admin.ticket |
| Lokasi server | /opt/stacks/zammad/.fe-ticketing-token (chmod 600, jangan commit) |
Ambil token dari server:
ssh root@10.100.1.24 "cat /opt/stacks/zammad/.fe-ticketing-token"
Atau lihat di UI: Profile → Token Access (nama fe-ticketing-pwa).
Uji API — sudah diverifikasi GET /api/v1/tickets → HTTP 200.
curl -s -H "Authorization: Token token=<TOKEN>" \
https://zammad.gisportal.id/api/v1/tickets?per_page=5
3. Group untuk routing tiket
Manage → Groups — pastikan group default (mis. Users) ada untuk customer create ticket.
Step — Sisi FE (mysupperapps_FE_PWA)
| Task | File / lokasi |
|---|---|
| Client HTTP Zammad | src/lib/zammad-client.ts |
| Halaman list tiket | /ticketing route |
| Form buat tiket | POST /api/v1/tickets |
| Detail + balasan | GET ticket + POST ticket_articles |
Env FE (contoh):
VITE_ZAMMAD_BASE_URL=https://zammad.gisportal.id
VITE_ZAMMAD_API_TOKEN=<service_token>
Pertimbangan produksi: token di backend proxy (BFF), bukan di browser — evaluasi saat implementasi.
Endpoint utama
Lihat docs/api/overview.md.
| Method | Path | Use case FE |
|---|---|---|
| GET | /tickets |
Daftar tiket user |
| POST | /tickets |
Buat tiket baru |
| GET | /tickets/{id} |
Detail |
| POST | /ticket_articles |
Komentar / balasan |
| GET | /users/me |
Profil user Zammad |
| GET | /groups |
Pilihan group |
Urutan implementasi disarankan
- Token + curl test dari server/dev
zammad-client.ts— wrapper fetch + error handling- Halaman list tiket (read-only)
- Form create ticket
- Detail ticket + articles
- Polish UI + error states
Setelah FE OK
- Update
docs/project-status.md - Fase 3: Mailcow (email inbound)
- Fase 4: Webhook → geonet-push