Getting Started with Ping+ Media Integration
This guide walks you through integrating your application with Ping+ Media's messaging platform. The platform supports REST APIs for message submission, webhook callbacks for delivery updates, and SMPP for high-throughput scenarios.
Authentication
API Key Authentication
Generate API keys from your Ping+ Media dashboard. Each key has configurable permissions: send messages, read delivery reports, manage contacts, and access analytics.
Use the Authorization header with your API key: Authorization: Bearer YOUR_API_KEY
IP Whitelisting
Restrict API key usage to specific IP addresses for production environments. This prevents credential misuse even if your API key is compromised.
Sending Messages
Single Message
Submit individual messages with destination, content, and channel preference. The request body should include the destination phone number (to), preferred channel (sms, whatsapp, rcs), content object with message text, and options for sender ID and delivery callbacks.
Bulk Messages
Submit up to 1,000 messages per API call for batch operations. The platform handles queuing, rate limiting, and operator-specific routing automatically.
Template Messages
For WhatsApp and RCS, use pre-approved templates with variable substitution. Templates ensure compliance with platform policies and improve delivery rates.
Webhook Configuration
Delivery Receipts
Configure webhook endpoints to receive real-time delivery status updates. Each callback includes message ID, status, timestamp, and operator-specific metadata.
Inbound Messages
Receive customer replies through webhooks. Configure keyword-based routing to handle STOP requests, HELP queries, and two-way conversations automatically.
Webhook Security
All webhook payloads include HMAC-SHA256 signatures. Verify signatures to ensure callbacks originate from Ping+ Media and haven't been tampered with.
Error Handling
Retry Logic
Implement exponential backoff for transient errors (HTTP 5xx, rate limiting). Retry up to 3 times with delays of 1s, 5s, and 15s.
Idempotency
Use client-generated message IDs to prevent duplicate submissions during retries. The platform deduplicates based on your provided ID within a 24-hour window.
Status Codes
- 200: Message accepted
- 400: Invalid request (check payload format)
- 401: Authentication failure
- 429: Rate limit exceeded
- 500: Platform error (safe to retry)