Skip to main content

General configuration

All PingBell settings live at Stores → Configuration → Byte8 → PingBell Notifications. The section is website-default-only — the module is not store-view scoped, since pinging "the same humans" regardless of which storefront the order came through is almost always what you want.

General​

FieldDefaultNotes
Enable PingBell NotificationsNoMaster switch. When disabled, every observer short-circuits before making any HTTP call.
API KeyemptyYour pingbell.io API key. Stored AES-encrypted via Magento's Magento\Config\Model\Config\Backend\Encrypted backend model.

How the master switch behaves​

When Enable PingBell Notifications is set to No:

  • Every event observer (orders, invoices, shipments, credit memos, customers) early-returns before touching the HTTP client.
  • The Fetch Bells buttons in the Events section still work — they fetch bells from PingBell using the saved API key, regardless of the master switch. This lets you set bell IDs in advance, then flip the master switch on later.
  • Nothing is queued — disabling and re-enabling does not flush a backlog of unsent notifications.

How the API key is stored​

The field is declared in etc/adminhtml/system.xml as:

<field id="api_key" type="obscure">
<label>API Key</label>
<backend_model>Magento\Config\Model\Config\Backend\Encrypted</backend_model>
</field>

Practically that means:

  1. The raw key is encrypted with Magento's crypt_key from app/etc/env.php before going into core_config_data.
  2. The admin form shows ****** instead of the saved value, even when editing — you don't see the key in plaintext on the form.
  3. Byte8\PingBell\Model\Config::getApiKey() decrypts the value at runtime, only on demand when an event fires or when Fetch Bells is clicked.

If you rotate app/etc/env.php (i.e. the encryption key changes), the saved API key becomes unreadable and you'll need to paste it again.

Fetch Bells while the API key field is masked​

If you click Fetch Bells when the API key field is showing the masked ****** placeholder, the controller falls back to the saved (decrypted) key automatically — see Controller/Adminhtml/Config/FetchBells.php. You don't have to clear and re-paste the key just to fetch bells.

Where the per-event settings live​

The five PingBell ID fields each live one level down in the same section — see Event configuration.