NUMU Docs
Contact
API
ThemesPartner Apps
API
ThemesPartner Apps
  1. Marketing
  • 🗂️ Overview
  • 🚀 Quickstart
  • Authentication
  • Webhooks
  • Errors
  • Pagination
  • Rate limits
  • API terms
  • Versioning
  • Changelog
  • Merchant APIs
    • Identity
      • Get current user
      • Identify the calling personal access token
    • Catalog
      • Create new product
      • List products
      • Get product by ID
      • Update product
      • Delete product
      • Upload product image
      • Delete product image
      • Set product image alt text
      • Download CSV import template
      • Import products from CSV
      • Export products as CSV
      • List variants for a product
      • Create a variant
      • Update a variant
      • Delete a variant
      • List gift cards
      • Issue a new gift card
      • Get gift card
      • List gift card transactions
      • Void a gift card (zero remaining balance)
      • Get inventory list
      • Get inventory statistics
      • Adjust stock level
      • Bulk adjust stock levels
      • List all inventory levels for a store
      • List inventory levels for a variant
      • List inventory levels at a location
      • Set inventory level at a location
      • List inventory transfers
      • Create a draft transfer
      • Get transfer
      • Replace lines (DRAFT only)
      • Move transfer through its state machine
      • Create new category
      • List categories
      • Get category by ID
      • Update category
      • Delete category
      • Upload category image
      • Create upsell rule
      • List upsell rules
      • Get upsell rule
      • Update upsell rule
      • Delete upsell rule
      • Create product bundle
      • List bundles for a store or product
      • Set bundles for a product (replace all)
      • Get bundle details
      • Update bundle
      • Delete bundle
      • Reorder bundles
    • Orders & fulfillment
      • List payment proofs for an order
      • List manual-payment orders awaiting merchant review
      • Create new order
      • List orders
      • Create a draft order
      • Convert draft order to a real order
      • List COD Autopilot exception orders
      • Resolve (dismiss) a COD Autopilot exception
      • Per-status order counts (list tab badges)
      • Update order
      • Cancel order
      • Update order status
      • Mark order as paid
      • Undo a manual mark-paid (payment back to pending)
      • Customer kept part of the order at the door
      • Get order timeline
      • List order activity stream (staff comments + system events)
      • Add a staff comment to an order
      • Bulk update order statuses
      • Resend order status email
      • Preview order status email
      • WhatsApp sends for an order
      • Resend the WhatsApp order confirmation
      • Abandoned vs recovered carts — counts, value, payback
      • List abandoned checkouts for a store
      • Get an abandoned checkout
      • Send a recovery email to the abandoned-checkout's customer
      • Manually mark an abandoned checkout as recovered
      • Turn an abandoned checkout into a real COD order
      • Send a WhatsApp abandoned-cart recovery nudge
      • Preview a CSV order import (parses headers + suggests mapping)
      • Execute a CSV order import with a confirmed mapping
      • List the target fields the importer understands
      • Send the order's payment link into a linked conversation
      • Request a refund for an order
      • List refunds for an order
      • Get refund details
      • Approve a refund request
      • Reject a refund request
      • Process a refund through payment provider
      • List all refunds for a store
      • List returns for the store
      • Get one return
      • Approve a pending return
      • Reject a return
      • Mark a return as physically received
      • Issue refund for a received return
      • Carrier catalog with this store's connection state
      • Save credentials for a carrier
      • Disconnect a carrier
      • Verify a carrier's stored credentials
      • Change a connected carrier's settings
      • Known Egyptian couriers to start from
      • This store's courier profiles
      • Add a courier
      • Update a courier
      • Remove a courier
      • Print waybills for a batch of shipments
      • Print one waybill
      • Export the pickup manifest as CSV
      • Preview a courier's status sheet
      • Apply reviewed status rows
      • Create shipment
      • List shipments
      • Bulk create shipments
      • Shipment dashboard stats
      • COD reconciliation summary
      • List pickups
      • Schedule a pickup
      • Get shipment detail
      • Update shipment on Bosta
      • Cancel shipment
      • Request return shipment
      • Track shipment
      • Print AWB (Air Waybill)
      • Get delivery details from Bosta
      • Get business pickup locations
      • Get pickup details
      • Update pickup
      • Cancel pickup
      • Get Bosta cities
      • Get zones in a city
      • Record an out-of-band payment against an order
      • Get order by ID or order number
    • Settings & money
      • Stream a payment proof image (merchant-authenticated)
      • Approve a customer-submitted proof
      • Reject a customer-submitted proof
      • Find perceptually similar prior proofs in this store
      • Create new invoice
      • List store invoices
      • Get invoice details
      • Update draft invoice
      • Delete draft invoice
      • Submit invoice to ETA
      • Download invoice PDF
      • Get (or create) the invoice for an order
      • List locations
      • Create location
      • Get location
      • Update location
      • Delete location
      • Get all store settings
      • Get payment settings
      • Update payment settings
      • Get COD trust network protection settings
      • Update COD trust network protection settings
      • Get COD Autopilot settings
      • Update COD Autopilot settings
      • Get storefront password-protection status
      • Enable/disable storefront password & set the password
      • Get the store's custom product-label definitions
      • Replace the store's custom product-label definitions
      • Save Paymob credentials
      • Get Paymob credentials status
      • Remove Paymob credentials
      • Save Kashier credentials
      • Get Kashier credentials status
      • Remove Kashier credentials
      • Save Fawaterak credentials
      • Get Fawaterak credentials status
      • Remove Fawaterak credentials
      • Save Moyasar credentials
      • Get Moyasar credentials status
      • Remove Moyasar credentials
      • Get shipping settings
      • Update shipping settings
      • Add shipping zone
      • Update shipping zone
      • Delete shipping zone
      • Save Bosta credentials
      • Get Bosta credentials status
      • Remove Bosta credentials
      • Get invoice/tax settings
      • Update invoice/tax settings
      • Get WhatsApp settings
      • Update WhatsApp settings
      • Get storefront customization settings
      • Update storefront customization (save draft)
      • Publish storefront customization to live store
      • Reset storefront customization to theme defaults
      • Upload a customization asset (logo, favicon, hero image)
      • List customization assets
      • Update an asset's alt text / display name
      • Delete a customization asset
      • Get checkout fields config
      • Update checkout fields config
      • Save InstaPay credentials
      • Get InstaPay credentials status
      • Remove InstaPay credentials
      • Save Vodafone Cash credentials
      • Get Vodafone Cash credentials status
      • Remove Vodafone Cash credentials
      • Save WE Pay credentials
      • Get WE Pay credentials status
      • Remove WE Pay credentials
      • Save Orange Cash credentials
      • Get Orange Cash credentials status
      • Remove Orange Cash credentials
      • Upload merchant-generated InstaPay QR image
      • Remove the uploaded InstaPay QR image
      • Get all tracking settings
      • Get the tracking-credential validation contract
      • Save Meta Pixel + CAPI settings
      • Disconnect Meta tracking
      • Send a synthetic Purchase test event to Meta
      • Get recent Meta CAPI events
      • Verify the Meta Pixel against Meta
      • Get Meta Event Match Quality
      • Get Meta tracking status
      • Save TikTok Pixel + Events API settings
      • Disconnect TikTok tracking
      • Send a synthetic Purchase test event to TikTok
      • Get recent TikTok Events API events
      • Get TikTok Events API deliveries that failed
      • Re-send failed TikTok Events API deliveries
      • Verify the TikTok Pixel against TikTok
      • Get TikTok tracking status
      • Get TikTok Marketing ad-performance report
      • Connect TikTok Shop (persist token + shop)
      • TikTok Shop connection status
      • Disconnect TikTok Shop
      • Get onboarding progress
      • Complete an onboarding step
      • Skip an onboarding step
      • Dismiss onboarding
      • Restore dismissed onboarding
      • Auto-configure store from wizard answers
      • List reconciliation runs
      • Get mismatches for a reconciliation run
      • Resolve or reopen a reconciliation mismatch
      • Trigger reconciliation for a date
      • Payment volume broken down by gateway
      • List shipping zones
      • Create a shipping zone
      • Get a shipping zone
      • Update a shipping zone
      • Deactivate (soft-delete) a shipping zone
      • Create a rate on a zone
      • Update a rate
      • Deactivate a rate
      • Return covered/uncovered governorates for the store
      • Apply the Quick Start: Egypt 4-zone preset
      • Preview rates for a cart (merchant calculator tool)
      • Get Balances
      • List Transactions
      • List Invoices
      • List installable apps
      • List installs for this store
      • Install an app
      • Update app settings
      • Disable app
      • Enable app
      • Uninstall app
      • Void a payment the merchant recorded by hand
      • Print the invoice for an order, paid or not
      • Signed link to a Partner App's own admin
      • The store's subscription to a paid app
      • Pay for a paid app from the store's wallet
      • Cancel a paid app at the end of the paid period
      • Re-send failed Meta Conversions API deliveries
    • Analytics
      • Get dashboard statistics
      • Get revenue chart data
      • Get top selling products (dashboard)
      • Get daily order streak
      • Get sales overview
      • Get sales chart data
      • Get top selling products (analytics)
      • Get sales by location
      • Get customer analytics
      • Get conversion statistics
      • Get orders by traffic source
      • Get COD rejection statistics
      • Get merchant health score
      • Get orders breakdown analytics
      • Get revenue breakdown analytics
      • Get customer RFM segmentation
      • Get inventory analytics (sell-through, ABC, dead stock)
      • Get product performance analytics
      • Get top storefront search terms
      • Customer health scores + states
      • Statistical predictions (stockouts, bands, repeat, COD)
      • Get active advisor signals
      • Dismiss an advisor signal
      • Re-run the advisor rules for this store now
      • Executive dashboard — what should I do today?
      • Anonymous peer benchmarks (k-anonymity gated)
      • Custom report: metrics grouped by a chosen dimension
      • Get weekly-digest preferences
      • Set weekly-digest preferences
      • Preview the weekly analytics digest
      • Get store-event annotations for charts
      • Get metric targets with live pace
      • Set metric targets
      • Get conversion funnel
      • Get marketing attribution analytics
      • Get customer LTV by first-touch acquisition channel
      • Get AI-powered store insights
      • Get sales forecast
      • Get customer sessions list
      • Get session detail timeline
      • Multi-touch attribution per channel + campaign
      • Get real-time analytics snapshot
      • Today's orders by location (governorate)
      • SSE stream for real-time analytics
    • Customers
      • Preview a CSV customer import (parses headers + suggests mapping)
      • Execute a CSV customer import with a confirmed mapping
      • List the target fields the customer importer understands
      • List store customers
      • Create a customer manually
      • Get customer by ID
      • Get customer COD trust network stats
      • Erase a customer's analytics footprint (DSAR)
      • Get a customer's full touchpoint journey
      • Conversations linked to this customer
      • Adopt a linked conversation's profile picture as the customer photo
    • Marketing
      • Create new coupon
        POST
      • List coupons
        GET
      • Get coupon by ID
        GET
      • Update coupon
        PATCH
      • Delete coupon
        DELETE
      • Bulk-update promotion priorities (drag-to-reorder)
        PATCH
      • Issue a short-lived preview token for the builder iframe
        POST
      • List promotions for a store
        GET
      • Create a new promotion
        POST
      • Get a single promotion by id
        GET
      • Update a promotion (optimistic lock via `version`)
        PATCH
      • Soft-delete (archive) a promotion
        DELETE
      • Duplicate a promotion as a new draft
        POST
      • Move a promotion to ACTIVE
        POST
      • Move a promotion to PAUSED
        POST
      • Move a promotion to ARCHIVED
        POST
      • Aggregate analytics for one promotion within a date range
        GET
      • List social connections
        GET
      • Connect social account
        POST
      • Disconnect social account
        DELETE
      • Fetch posts from connected account
        GET
      • Import social posts as draft products
        POST
      • Import products from Instagram/Facebook post URLs
        POST
      • Get Meta Embedded Signup config
        GET
      • Complete WhatsApp embedded signup
        POST
      • Disconnect WhatsApp Business
        DELETE
      • Get WhatsApp connection status
        GET
      • Get WhatsApp notification settings
        GET
      • Update WhatsApp notification settings
        PATCH
      • Get WhatsApp analytics
        GET
      • List recent WhatsApp messages
        GET
      • Connect merchant's own Meta WABA (BYO)
        POST
      • Disconnect BYO Meta WABA and revert to platform-managed
        DELETE
      • Get WhatsApp connection status (BYO-aware)
        GET
      • Update store-level WhatsApp preferences (e.g. message language)
        PATCH
      • Update notification toggles (BYO-path)
        PATCH
      • Get the store's WhatsApp access-gate state
        GET
      • Open (or resume) the bill for this store's WhatsApp access
        POST
      • Request WhatsApp access for this store (merchant)
        POST
      • List WhatsApp templates
        GET
      • Create WhatsApp template
        POST
      • Delete WhatsApp template
        DELETE
      • Sync template statuses from Meta
        POST
      • List registered email events
        GET
      • Get registry default template for an event/language
        GET
      • List merchant email templates
        GET
      • Create email template override
        POST
      • Get email template by ID
        GET
      • Update email template
        PUT
      • Delete email template
        DELETE
      • Preview an unsaved email-template draft
        POST
      • Preview a saved email template
        POST
      • Send a test email rendered from this template
        POST
      • List conversations (inbox)
        GET
      • Get unread conversation count
        GET
      • Get messages for a conversation
        GET
      • Send a message in a conversation
        POST
      • Update conversation (mark read, archive, assign)
        PATCH
      • List campaigns
        GET
      • Create campaign draft
        POST
      • Get campaign details
        GET
      • Update campaign draft
        PATCH
      • Send campaign now
        POST
      • Schedule campaign
        POST
      • Cancel scheduled campaign
        POST
      • List campaign recipients
        GET
      • Estimate audience size
        POST
      • List Opt Ins
        GET
      • Create Opt In
        POST
      • Revoke Opt In
        POST
      • List Scheduled Sends
        GET
      • Create Scheduled Send
        POST
      • Get Scheduled Send
        GET
      • Cancel Scheduled Send
        DELETE
      • List Dead Letters
        GET
      • Get Dead Letter
        GET
      • Replay Dead Letter
        POST
      • Connect Meta
        POST
      • Meta Callback
        POST
      • Connect Assets
        POST
      • Sync History
        POST
      • Disconnect Channel
        DELETE
      • List Connections
        GET
      • List Threads
        GET
      • Get Thread
        GET
      • Mark Read
        POST
      • Resolve Thread
        POST
      • Link Customer
        POST
      • Unlink Customer
        DELETE
      • List Messages
        GET
      • Send Message
        POST
      • Create Template
        POST
      • List Templates
        GET
    • Online store
      • List menus
      • Create menu
      • Get menu by handle
      • Update (or create) a menu by handle
      • Delete menu
      • List pages
      • Create page
      • Get page by handle
      • Update (or create) a page by handle
      • Delete page
      • List all themes available to a store (built-in + external)
      • Submit External Theme
      • Get External Theme Info
      • Remove External Theme
      • Connect a local theme dev server (numu-theme dev)
      • Get Build Status
      • Rebuild External Theme
      • Validate External Theme
      • List all theme installations for a store
      • Install a theme on the store
      • Get a specific installation
      • Rename a theme installation
      • Uninstall a theme from the store
      • Duplicate a theme installation into a new draft copy
      • Export an installation as a portable JSON document
      • Activate an installed theme
      • Save draft customization (not yet live)
      • Publish draft customization (goes live)
      • Generate a preview URL for an installation
      • List the store's theme workspace files
      • Read one workspace file
      • Create or overwrite a workspace file
      • Delete a workspace file
      • Seed a buildable starter theme into the workspace
      • Build & publish the code-editor workspace
      • Get Draft
      • Autosave Draft
      • Publish
      • List Versions
      • Get Version Payload
      • Restore Version
      • Discard Draft
      • Get Schemas
      • Resolve Theme
      • List undo entries
      • Append an undo entry
      • Clear undo stack
      • Remove an undo entry (after applying)
    • OAuth
      • Token
      • Revoke
  1. Marketing

Create Opt In

POST
https://numueg.app/api/v1/stores/{store_id}/whatsapp/opt-ins
Last modified:2026-09-19 16:39:33
x-numu-scope:marketing:write
Merchant-side opt-in creation. Used by import flows / API integrations.
Phone is canonicalized inside the use-case; 422 on parse failure.
Idempotent: if an active opt-in already exists for (store, phone) the
existing row is returned with 201 (no new row written).

Request

Authorization
Bearer Token
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
or
Path Params

Body Params application/jsonRequired

Examples

Responses

🟢201
application/json
Successful Response
Bodyapplication/json

🟠422
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://numueg.app/api/v1/stores//whatsapp/opt-ins' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
    "phone": "string",
    "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
    "source": "import"
}'
Response Response Example
201 - Example 1
{
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "store_id": "7fe87115-950c-4ae8-bd7e-970406bc9ac0",
    "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
    "phone": "string",
    "source": "checkout",
    "opted_in_at": "2019-08-24T14:15:22.123Z",
    "opted_out_at": "2019-08-24T14:15:22.123Z",
    "opt_out_reason": "inbound_stop_keyword"
}
Modified at 2026-09-19 16:39:33
Previous
List Opt Ins
Next
Revoke Opt In
Built with