Skip to main content

Nexmo SMS Gateway

Purpose​

Nexmo SMS Gateway activates the Nexmo SMS (Vonage) configuration supplied by SMS Gateway & API Routing. It updates that existing gateway record and uses the base module's request, routing and status code. It adds no standalone menu, sending wizard, callback controller or access role.

This guide describes the Odoo 19 source configuration. Adapter data was compared with 17, 18 and 20; no SMS, callback, provider-account change or runtime test was performed.

Before you start​

Install eis_sms_apis and corvus_nexmo_gateway for the same Odoo major version. The dependency uses Odoo SMS and declares no Enterprise-only requirement. Your hosting must permit custom addons. Provider account credentials and an authorised sender are separate prerequisites.

The wrapper sets its existing gateway to Active, leaves it unarchived, and sets Priority 220, even though credentials and sender values are placeholders. Installation is not proof that the provider connection is usable. Review the route in a controlled database before allowing live SMS traffic.

Access and setup​

A Settings administrator opens SMS Gateways under the phone/SMS configuration menu and selects Nexmo SMS (Vonage). The base gateway and status models grant access to Settings administrators; this adapter adds no permissions for ordinary senders.

The supplied configuration is:

SettingSource configuration
RequestPOST Form Data to https://rest.nexmo.com/sms/json
AuthenticationHTTP Basic with API key in Username and API secret in Password
Parametersfrom sender literal, to using {phone}, and text using {message}
RecipientsOne recipient per request
Response rulesHTTP 200 or text containing "message-count"; capture message-id

Replace the Username, Password and from parameter placeholders. Keep to as {phone} and text as {message}. The supplied wrapper uses HTTP Basic; it does not create api_key or api_secret form parameters. Confirm the authentication accepted by your account and endpoint before a live test rather than inferring it from the gateway name.

Workflow​

  1. Open the existing gateway and inspect API Settings, Authentication, and JSON Body or Parameters. If preparing an unfinished route, use Toggle State from Active to Disabled and ensure Settings does not still select it as the default gateway.
  2. Replace the relevant placeholders with approved configuration values. Review Request Preview as a visual template; it does not validate credentials, resolve every placeholder or contact the provider.
  3. Review Country Prefix, Priority, and the default SMS Gateway in Settings. The base engine selects the first matching active prefix route by priority, then the configured default, then the first active gateway. A configured default is selected without checking its state or archive flag: disabling or archiving it does not reliably remove it from routing. Remove it from the default selection while preparing it. This wrapper does not specify a country-prefix rule. Use IAP bypasses custom routing; Fallback to IAP? applies when no gateway was selected, not after a failed provider send.
  4. Activate only after the configuration and route have been approved for use. Any connectivity test must be a separately authorised SMS send using the provider's permitted test arrangement. Saving or previewing a configuration is not a delivery test.
  5. After an authorised send, inspect Total SMS, Sent SMS, Failed SMS and the Status tab. The engine accepts configured HTTP success or a matching success substring, unless an explicit Error Key matches. Review provider errors separately before equating a recorded success with delivery.

Practice scenario​

In an authorised training database, inspect Nexmo SMS (Vonage), identify its credential and sender placeholders, and compare its Priority 220 with another fictional route. Keep the training configuration disabled and unselected as default. Inspect the body/parameter structure without sending. This source-derived exercise has not been executed.

Troubleshooting and limitations​

The base package contains another gateway named Vonage (USA). This adapter updates the existing Nexmo record, so inspect the precise record and routing priority rather than assuming every Vonage-labelled entry is the same route. A message-count marker and HTTP 200 are not checks of every per-message status in the provider response. No delivery-callback mapping is supplied.

Delivery callbacks, when required, are configured in the base module's Delivery Callbacks tab. This adapter does not enable them or supply provider-specific payload mappings. The base endpoint uses its secret callback token and requires correlation with an existing SMS tracker. HTTP acceptance and a callback returning OK do not independently prove delivery.

Catalogue-qualified adapter versions are Odoo 17, 18, 19 and 20. Their provider XML and imports are identical in the reviewed comparison. The operational walkthrough is based on 19.0; the base engine's framework-specific differences still apply, so use matching packages. The adapter's XML is update data and can reapply supplied values when upgraded; review credentials, sender, state and routing after a module update.

Read SMS Gateway & API Routing for routing, permissions and callback setup. Use the Corvus apps catalogue to purchase the exact version. The live catalogue was checked; no provider-backed demo or message delivery was launched.

Open the Odoo 19 demo selector for this catalogue-qualified adapter. Catalogue qualification does not establish a working provider connection. No demo or SMS send was launched.