API reference

Validate a cable account

Verify a smart card number. Request fields, response examples and integration guidance.

POST /customer-validation/cable-tv

Example request

Server-side HTTP request
curl --request POST \
  --url "https://api.strongmb.ng/v1/customer-validation/cable-tv" \
  --header "Authorization: Bearer $STRONGMB_API_KEY" \
  --header "Accept: application/json" \
  --header "Content-Type: application/json" \
  --data '{
  "smart_card_number": "0123456789",
  "product_code": "smb_dst_bou_a9c82"
}'

Verifies that a smart card number belongs to a valid account. On success, returns the account details and a verify_token that is required in the purchase request.

Request Body

Field Type Required Description
smart_card_number string Required The customer's smart card number (10–15 digits)
product_code string Required Product code from /products/cable-tv — identifies the provider

Request Example

JSON Payload
{
  "smart_card_number": "0123456789",
  "product_code": "smb_dst_bou_a9c82"
}
JSON — 200 Verified
{
  "status": true,
  "message": "Smart card number verified successfully.",
  "data": {
    "details": {
      "smart_card_number": "0123456789",
      "customer_name": "Strongmb User",
      "provider": "dstv",
      "renewal_amount": "5800",
      "due_date": "2026-08-10T00:00:00",
      "current_bouquet": ""
    },
    "verify_token": "cFRDbDk2WmZXamVPTm1vdy9RSnBiQzVxczJUR08zL1hLZWdmZm9YZStvOD0="
  },
  "metadata": { "code": "CABLE_TV_ACCOUNT_VERIFIED", "timestamp": 1786313276, "trace_id": "3DC1C5CD55" }
}
JSON — 400 Invalid Account
{
  "status": false,
  "message": "Invalid smart card number or the account is inactive.",
  "data": null,
  "metadata": { "code": "ERR_INVALID_CABLE_TV_ACCOUNT", "timestamp": 1786313342, "trace_id": "733C6EFE05" }
}
JSON — 400 Invalid Provider
{
  "status": false,
  "message": "The selected provider is invalid or unsupported.",
  "data": null,
  "metadata": { "code": "ERR_INVALID_CABLE_TV_PROVIDER", "timestamp": 1786313350, "trace_id": "8A1D2E3F4B" }
}

Response Codes

Code HTTP Meaning
CABLE_TV_ACCOUNT_VERIFIED 200 Smart card is valid. Save the verify_token — it is required in the purchase request.
ERR_INVALID_CABLE_TV_ACCOUNT 400 Smart card number is not found or the account is inactive.
ERR_INVALID_CABLE_TV_PROVIDER 400 The product_code maps to a provider that is not supported.

Understand the request fields

Field Integration guidance
smart_card_number The customer or smart-card number. Confirm the returned customer identity before purchase.
product_code An exact identifier from the matching product list, not a provider name or an identifier from a different API.

Response fields and types

Expand an object to explore its fields. [] indicates an array item. Error responses may return data: null.

Field path JSON type Meaning and handling
status boolean Whether this API request succeeded. Check the HTTP status and metadata.code when handling errors.
message string Human-readable description of the result. Use metadata.code for programmatic error handling instead of parsing this text.
data null | object Response data. Check the result before reading nested fields; an error may return null or validation details.
data.details object Transaction details for the purchased service. Fields vary by service.
data.details.smart_card_number string Cable TV smart-card identifier that was validated. Preserve it as a string.
data.details.customer_name string Customer name returned by validation. Show it to the user for confirmation before purchasing.
data.details.provider string Provider identifier associated with the purchased service.
data.details.renewal_amount string Renewal amount returned by the cable provider. Use it with the selected product and current pricing.
data.details.due_date string Due-date value returned by the provider. Its display format is provider-dependent.
data.details.current_bouquet string Current cable TV bouquet or package reported during customer validation.
data.verify_token string Opaque token returned by validation. Send it unchanged for the same customer and product when purchasing; do not display it publicly.
metadata object Diagnostic information about the response.
metadata.code string Machine-readable result code. Use it to distinguish validation, authentication and service errors.
metadata.timestamp integer Unix timestamp in seconds associated with the response.
metadata.trace_id string Correlation identifier for troubleshooting. Retain it with a redacted request when contacting support.

Customer names, phone numbers, meter and smart-card numbers in these examples are fictional placeholders. Replace them with valid customer details for real requests.

Test your integration Use the sandbox test values and examples.

Questions? Let’s work through them.

Having an issue or need help with your integration? Join the Strongmb Slack community to ask questions and get assistance from our team and other developers.

Keep API keys and customer details private when sharing examples.

Experiencing a service issue? Check Strongmb’s service status for incident updates.

Join our Slack community

Did this page help you?

Search documentation