---
title: "Chiama metodi RPC e invia eventi al tuo URL con ERPC CLI"
description: "erpc rpc call invia una richiesta JSON-RPC alla mainnet Solana o Ethereum, x402 paga a chiamata senza account, erpc webhook invia eventi RPC in POST al tuo URL."
canonical: "https://erpc.global/it/doc/erpc-cli/rpc-call-and-webhooks/"
locale: "it"
---

# Chiama metodi RPC e invia eventi al tuo URL con ERPC CLI

`erpc rpc call` invia una richiesta JSON-RPC dal tuo terminale usando l'account ERPC con cui hai effettuato l'accesso, oppure paga ogni chiamata con x402. `erpc webhook` invia con POST gli eventi RPC al tuo URL.

Questa pagina descrive ERPC CLI `v0.1.0-rc.4`, una versione pre-release.

## Chiamare un metodo RPC

Usa l'account ERPC con cui hai effettuato l'accesso per chiamare la mainnet di Solana o di Ethereum. La CLI sceglie l'endpoint condiviso in base al metodo, oppure puoi selezionare tu la rete.

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

- **I parametri** sono un array o un oggetto JSON, un file con `--params-file`, oppure `-` per lo standard input. Senza parametri, una chiamata invia `[]`.
- **Le reti** sono `solana-mainnet` ed `ethereum-mainnet` (anche `eth-mainnet`). `erpc rpc list-networks` elenca le reti con RPC condiviso di ERPC e RPC x402.
- **Il tuo endpoint:** `--endpoint-url` usa solo le credenziali contenute in quell'URL. Deve essere un URL sicuro o di loopback, senza informazioni utente.

### Quale chiave dell'account viene usata da una chiamata

Un account può avere più chiavi RPC. `erpc rpc call` ed `erpc webhook run` le provano in ordine, a partire da quella primaria, con una chiamata `getHealth` per ciascuna chiave prima della propria chiamata. La chiave viene valutata sull'RPC Solana condiviso, qualunque sia la chain chiamata dopo.

Quando l'RPC non accetta nessuna chiave e per una di esse non è stato possibile interrogarlo, il comando prosegue con la prima chiave per cui non è stato possibile interrogarlo, e l'esito lo dirà la sua stessa chiamata. Quando tutte le chiavi vengono rifiutate, il comando fallisce con `the shared RPC takes none of the account's API keys from this machine (<n> tried)`: vedi [In caso di errore](https://erpc.global/it/doc/erpc-cli/worker-troubleshooting/).

## Pagare a chiamata con x402

Per un accesso a pagamento per chiamata senza account, richiedi un preventivo x402. `--quote` stampa il preventivo senza leggere un wallet né effettuare un pagamento.

Per pagare, esegui il comando senza `--quote` in un terminale. La CLI mostra l'importo, chiede conferma e firma con il wallet configurato da `erpc wallet create` il pagamento in EURC su Base indicato nel preventivo. Tieni EURC su Base in quel wallet ([Pagare da un wallet](https://erpc.global/it/doc/erpc-cli/ai/#pagare-da-un-wallet)).

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

## Inviare eventi al tuo URL

Un webhook locale si sottoscrive al WebSocket RPC e invia con POST gli eventi al tuo URL. Avvia un receiver, crea la sottoscrizione, poi esegui l'ID restituito da `create`, in un terminale o sotto il tuo supervisore di processi.

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

Per l'attività dei wallet su Solana, usa `--template solana-wallet --wallet ADDRESS` al posto di `--method`. Per i log dei contratti Ethereum, usa `--template evm-contract-events --address CONTRACT`. L'URL di callback è HTTPS o HTTP di loopback, e le reti sono le stesse di `erpc rpc call`.

### Cosa arriva al tuo receiver

- Ogni POST contiene `webhook_id`, `network` e la `notification` JSON-RPC originale. Restituisci HTTP 2xx per accettarlo.
- La consegna parte dalla sottoscrizione attiva al momento. Riavviare il runner crea una sottoscrizione ai nuovi eventi.
- Una disconnessione o una callback non riuscita terminano il runner con uno stato di uscita diverso da zero.
- `erpc webhook run` accetta `--once` per provare una singola consegna e `--endpoint-url` per usare il tuo RPC WebSocket.

## Gestire i webhook

| Comando | Cosa fa |
| --- | --- |
| `erpc webhook list` | Elenca le sottoscrizioni salvate |
| `erpc webhook show ID` | Mostra una sottoscrizione. Le credenziali della callback vengono omesse |
| `erpc webhook enabled-count` | Conta le sottoscrizioni abilitate su questa macchina |
| `erpc webhook pause ID` | Disabilita la consegna. Un runner in esecuzione termina |
| `erpc webhook activate ID` | Abilita un `run` successivo |
| `erpc webhook delete ID` | Rimuove la definizione |

Questi comandi leggono e modificano solo la configurazione locale. Negli script, passa `--yes` a `pause`, `activate` e `delete`.
