---
title: "Panggil method RPC dan kirim event ke URL Anda dengan ERPC CLI"
description: "erpc rpc call mengirim satu request JSON-RPC ke mainnet Solana/Ethereum, x402 bayar per panggilan tanpa akun, dan erpc webhook mem-POST event RPC ke URL Anda."
canonical: "https://erpc.global/id/doc/erpc-cli/rpc-call-and-webhooks/"
locale: "id"
---

# Panggil method RPC dan kirim event ke URL Anda dengan ERPC CLI

`erpc rpc call` mengirim satu request JSON-RPC dari terminal Anda dengan akun ERPC Anda yang sudah masuk, atau membayar per panggilan dengan x402. `erpc webhook` mengirim event RPC ke URL Anda dengan POST.

Halaman ini menjelaskan ERPC CLI `v0.1.0-rc.4`, versi pra-rilis.

## Memanggil method RPC

Gunakan akun ERPC Anda yang sudah masuk untuk memanggil mainnet Solana atau Ethereum. CLI memilih endpoint bersama berdasarkan method-nya, atau Anda sendiri dapat memilih jaringannya.

```sh
erpc login
erpc rpc call getSlot
erpc --json rpc call eth_getBlockByNumber '["latest", false]' --network ethereum-mainnet
erpc rpc call eth_call --params-file params.json
printf '%s' '["finalized", false]' | erpc rpc call eth_getBlockByNumber -
erpc rpc call getHealth --endpoint-url http://127.0.0.1:8899
```

- **Parameter** berupa array atau objek JSON, file dengan `--params-file`, atau `-` untuk standard input. Tanpa parameter, sebuah panggilan mengirim `[]`.
- **Jaringan** yang tersedia adalah `solana-mainnet` dan `ethereum-mainnet` (juga `eth-mainnet`). `erpc rpc list-networks` menampilkan daftar jaringan yang memiliki shared RPC ERPC dan RPC x402.
- **Endpoint milik Anda sendiri:** `--endpoint-url` hanya memakai kredensial yang ada di URL tersebut. URL itu harus berupa URL aman atau loopback, tanpa informasi pengguna.

### Kunci milik akun yang dipakai sebuah panggilan

Sebuah akun dapat memiliki beberapa RPC key. `erpc rpc call` dan `erpc webhook run` mencobanya secara berurutan, dimulai dari yang utama, dengan satu panggilan `getHealth` untuk setiap kunci sebelum panggilan perintah itu sendiri. Kunci dinilai di shared RPC Solana, apa pun chain yang kemudian dipanggil.

Jika RPC tidak menerima satu kunci pun dan RPC tidak dapat ditanyai tentang salah satu kunci, perintah tetap berlanjut dengan kunci pertama yang tidak dapat ditanyakan, dan panggilan perintah itu sendiri yang akan menunjukkan hasilnya. Jika semua kunci ditolak, perintah gagal dengan `the shared RPC takes none of the account's API keys from this machine (<n> tried)`; lihat [Jika gagal](https://erpc.global/id/doc/erpc-cli/worker-troubleshooting/).

## Membayar per panggilan dengan x402

Untuk akses bayar per panggilan tanpa akun, minta quote x402. `--quote` menampilkan quote tanpa membaca wallet atau melakukan pembayaran.

Untuk membayar, jalankan perintah tanpa `--quote` di terminal. CLI menampilkan jumlahnya, meminta konfirmasi, lalu menandatangani pembayaran EURC di Base sesuai quote dengan wallet yang dikonfigurasi oleh `erpc wallet create`. Simpan EURC di Base dalam wallet tersebut ([Membayar dari wallet](https://erpc.global/id/doc/erpc-cli/ai/#membayar-dari-wallet)).

```sh
erpc rpc call getSlot --network solana-mainnet --x402 --quote
erpc rpc call eth_blockNumber --x402
```

## Mengirim event ke URL Anda

Webhook lokal melakukan subscribe ke WebSocket RPC dan mengirim event ke URL Anda dengan POST. Jalankan penerima, buat subscription-nya, lalu jalankan ID yang dikembalikan oleh `create`, di terminal atau melalui process supervisor Anda.

```sh
erpc webhook create --name slots --network solana-mainnet \
  --url http://127.0.0.1:8080/events --method slotSubscribe
erpc webhook create --name heads --network ethereum-mainnet \
  --url http://127.0.0.1:8080/events --method eth_subscribe --params '["newHeads"]'
erpc webhook list
erpc webhook run 1
```

Untuk aktivitas wallet di Solana, gunakan `--template solana-wallet --wallet ADDRESS` sebagai pengganti `--method`. Untuk log kontrak Ethereum, gunakan `--template evm-contract-events --address CONTRACT`. URL callback berupa HTTPS atau HTTP loopback, dan jaringannya sama dengan jaringan untuk `erpc rpc call`.

### Yang diterima penerima Anda

- Setiap POST berisi `webhook_id`, `network`, dan `notification` JSON-RPC aslinya. Kembalikan HTTP 2xx untuk menerimanya.
- Pengiriman dimulai dari subscription live yang sedang berjalan saat itu. Jika runner di-restart, runner melakukan subscribe ke event baru.
- Koneksi yang terputus atau callback yang gagal mengakhiri runner dengan status keluar bukan nol.
- `erpc webhook run` menerima `--once` untuk menguji satu kali pengiriman, dan `--endpoint-url` untuk memakai RPC WebSocket milik Anda sendiri.

## Mengelola webhook

| Perintah | Fungsinya |
| --- | --- |
| `erpc webhook list` | Menampilkan daftar subscription yang tersimpan |
| `erpc webhook show ID` | Menampilkan sebuah subscription. Kredensial callback tidak ditampilkan |
| `erpc webhook enabled-count` | Menghitung subscription yang diaktifkan di mesin ini |
| `erpc webhook pause ID` | Menonaktifkan pengiriman. Runner yang sedang berjalan akan berhenti |
| `erpc webhook activate ID` | Mengaktifkan `run` berikutnya |
| `erpc webhook delete ID` | Menghapus definisinya |

Perintah-perintah ini hanya memeriksa dan mengubah konfigurasi lokal. Di skrip, berikan `--yes` ke `pause`, `activate`, dan `delete`.
