SOP-011: Inbox SMS Setup
Current Last updated: December 2024| Document Control | |
|---|---|
| SOP ID | SOP-011 |
| Version | 1.0 |
| Status | Active |
| Source | AYCD Zendesk |
Purpose
Configure AYCD Inbox SMS to receive and retrieve phone verification codes (OTPs) for automated account creation and verification workflows.
SMS vs Mail Overview
┌─────────────────────────────────────────────────────────────────────────────────┐
│ SMS VS MAIL COMPARISON │
├─────────────────────────────────────────────────────────────────────────────────┤
│ │
│ INBOX MAIL INBOX SMS │
│ ────────── ───────── │
│ │
│ ┌─────────────────────────┐ ┌─────────────────────────┐ │
│ │ │ │ │ │
│ │ Email-based OTPs │ │ Phone-based OTPs │ │
│ │ Unlimited addresses │ │ Virtual phone numbers │ │
│ │ Custom domains │ │ US numbers available │ │
│ │ Lower cost │ │ Higher trust │ │
│ │ │ │ Country-specific │ │
│ │ │ │ │ │
│ └─────────────────────────┘ └─────────────────────────┘ │
│ │
│ BEST FOR: BEST FOR: │
│ • Shopify stores • Nike, Adidas │
│ • Most e-commerce • Footsites │
│ • Account creation • High-security sites │
│ • General verification • Phone-required signups │
│ │
│ SITES USE: SITES USE: │
│ Email verification only SMS/Phone verification │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘Prerequisites
┌─────────────────────────────────────────────────────────────────┐
│ REQUIREMENTS │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Subscriptions: │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ ✓ AYCD Toolbox Subscription │ │
│ │ ✓ Inbox SMS Subscription │ │
│ │ (Separate from Mail subscription) │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ Software: │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ ✓ AYCD Toolbox installed │ │
│ │ ✓ Bot that supports Inbox SMS API │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ Note: SMS numbers have limited availability and may require │
│ queuing during high-demand periods. │
│ │
└─────────────────────────────────────────────────────────────────┘Inbox SMS Setup Flow
┌─────────────────────────────────────────────────────────────────────────────────┐
│ INBOX SMS SETUP FLOW │
├─────────────────────────────────────────────────────────────────────────────────┤
│ │
│ START │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────┐ │
│ │ 1. Go to Inbox Dashboard │ │
│ │ aycd.io/account#inbox │ │
│ └───────────────┬─────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────┐ │
│ │ 2. Navigate to SMS Section │ │
│ └───────────────┬─────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────┐ │
│ │ 3. Copy SMS API Key │ │
│ └───────────────┬─────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────┐ │
│ │ 4. Configure Bot with │ │
│ │ SMS API Key │ │
│ └───────────────┬─────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────┐ │
│ │ 5. Request phone number │ │
│ │ for target site │ │
│ └───────────────┬─────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────┐ │
│ │ 6. Receive and retrieve OTP │ │
│ └───────────────┬─────────────────┘ │
│ │ │
│ ▼ │
│ SUCCESS │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘Step-by-Step Instructions
Step 1: Access Inbox Dashboard
Navigate to your Inbox dashboard:
┌─────────────────────────────────────────────────────────────────┐
│ AYCD Account Dashboard │
├─────────────────────────────────────────────────────────────────┤
│ │
│ [Billing] [AutoSolve] [AutoSolve AI] [Inbox] [Discord] │
│ ▲ │
│ │ │
│ Click here │
│ │
└─────────────────────────────────────────────────────────────────┘Step 2: Navigate to SMS Section
┌─────────────────────────────────────────────────────────────────┐
│ Inbox Dashboard │
├─────────────────────────────────────────────────────────────────┤
│ │
│ [ Mail ] [ SMS ] │
│ ▲ │
│ │ │
│ Click here │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ SMS API Key: │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ sms_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx │ │
│ └───────────────────────────────────────────────────────────┘ │
│ │
│ [Copy API Key] │
│ │
│ Status: Active │
│ SMS Credits: 100 │
│ Numbers in Pool: 50 │
│ │
└─────────────────────────────────────────────────────────────────┘Step 3: Copy SMS API Key
Click Copy API Key to copy your SMS API Key.
Important
The SMS API Key is different from the Mail API Key. Make sure you're copying the correct one!
Step 4: Configure Bot with SMS API Key
┌─────────────────────────────────────────────────────────────────┐
│ [Your Bot] - SMS/Phone Settings │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Phone Provider: [ AYCD Inbox SMS ▼ ] │
│ │
│ SMS API Key: │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ sms_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx │ │
│ └───────────────────────────────────────────────────────────┘ │
│ │
│ Country: [ United States ▼ ] │
│ │
│ [Save] │
│ │
└─────────────────────────────────────────────────────────────────┘Step 5: Phone Number Request Process
┌─────────────────────────────────────────────────────────────────────────────────┐
│ SMS NUMBER REQUEST FLOW │
├─────────────────────────────────────────────────────────────────────────────────┤
│ │
│ Bot needs phone number │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ API Request │ │
│ │ POST /sms/number/request │ │
│ │ Body: { "service": "nike", "country": "US" } │ │
│ └───────────────────────────────────┬─────────────────────────────────────┘ │
│ │ │
│ ┌────────────────────────┴────────────────────────┐ │
│ │ │ │
│ ▼ ▼ │
│ ┌─────────────────────┐ ┌─────────────────────┐ │
│ │ Number Available │ │ Number Queued │ │
│ │ │ │ │ │
│ │ Returns: │ │ Returns: │ │
│ │ +1-555-123-4567 │ │ queue_id: abc123 │ │
│ │ │ │ position: 5 │ │
│ └──────────┬──────────┘ └──────────┬──────────┘ │
│ │ │ │
│ │ Poll for number │
│ │ │ │
│ └────────────────────┬───────────────────────────┘ │
│ │ │
│ ▼ │
│ Phone number received │
│ Use for verification │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘Step 6: OTP Retrieval
┌─────────────────────────────────────────────────────────────────────────────────┐
│ SMS OTP RETRIEVAL │
├─────────────────────────────────────────────────────────────────────────────────┤
│ │
│ AUTOMATIC (Bot handles everything) │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 1. Bot requests number ──► Inbox returns +1-555-123-4567 │ │
│ │ │ │
│ │ 2. Bot enters number on site │ │
│ │ │ │
│ │ 3. Site sends SMS ──► Inbox receives message │ │
│ │ │ │
│ │ 4. Bot polls for OTP ──► Inbox returns "123456" │ │
│ │ │ │
│ │ 5. Bot enters OTP ──► Account verified! │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
│ MANUAL (API calls for developers) │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ Request Number: │ │
│ │ POST https://api.aycd.io/inbox/v1/sms/number/request │ │
│ │ Headers: { "Authorization": "Bearer sms_xxxxx" } │ │
│ │ Body: { "service": "nike", "country": "US" } │ │
│ │ │ │
│ │ Response: │ │
│ │ { "number": "+15551234567", "number_id": "num_abc123" } │ │
│ │ │ │
│ │ ─────────────────────────────────────────────────────────────────── │ │
│ │ │ │
│ │ Get OTP: │ │
│ │ GET https://api.aycd.io/inbox/v1/sms/otp │ │
│ │ Headers: { "Authorization": "Bearer sms_xxxxx" } │ │
│ │ Params: { "number_id": "num_abc123", "timeout": 120 } │ │
│ │ │ │
│ │ Response: │ │
│ │ { "otp": "123456", "message": "Your code is 123456" } │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘Supported Services
┌─────────────────────────────────────────────────────────────────────────────────┐
│ SUPPORTED SMS SERVICES │
├─────────────────────────────────────────────────────────────────────────────────┤
│ │
│ SERVICE CODE SITE AVAILABILITY │
│ ─────────────────────────────────────────────────────────────────────────────│
│ │
│ nike Nike.com High │
│ snkrs SNKRS App High │
│ adidas Adidas.com Medium │
│ yeezysupply Yeezy Supply Medium │
│ footlocker Foot Locker High │
│ champs Champs Sports High │
│ eastbay Eastbay High │
│ finishline Finish Line High │
│ jdsports JD Sports Medium │
│ supreme Supreme Medium │
│ shopify Shopify Stores High │
│ amazon Amazon Limited │
│ google Google Limited │
│ discord Discord Medium │
│ │
│ Note: Availability varies based on number pool and demand. │
│ Use the API to check current availability for specific services. │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘SMS API Endpoints
┌─────────────────────────────────────────────────────────────────────────────────┐
│ SMS API REFERENCE │
├─────────────────────────────────────────────────────────────────────────────────┤
│ │
│ Base URL: https://api.aycd.io/inbox/v1 │
│ Authentication: Bearer token (your SMS API Key) │
│ │
│ ENDPOINTS: │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ Request Phone Number │ │
│ │ POST /sms/number/request │ │
│ │ Body: { "service": "string", "country": "string" } │ │
│ │ Returns: { "number": "string", "number_id": "string" } │ │
│ │ OR { "queued": true, "queue_id": "string" } │ │
│ │ │ │
│ │ ─────────────────────────────────────────────────────────────────── │ │
│ │ │ │
│ │ Check Queue Status │ │
│ │ GET /sms/queue/status │ │
│ │ Params: queue_id │ │
│ │ Returns: { "status": "waiting|ready", "position": number, │ │
│ │ "number": "string" (when ready) } │ │
│ │ │ │
│ │ ─────────────────────────────────────────────────────────────────── │ │
│ │ │ │
│ │ Get SMS OTP │ │
│ │ GET /sms/otp │ │
│ │ Params: number_id, timeout (seconds) │ │
│ │ Returns: { "otp": "string", "message": "string" } │ │
│ │ │ │
│ │ ─────────────────────────────────────────────────────────────────── │ │
│ │ │ │
│ │ Release Number │ │
│ │ POST /sms/number/release │ │
│ │ Body: { "number_id": "string" } │ │
│ │ Returns: { "success": true } │ │
│ │ Note: Release unused numbers to return them to the pool │ │
│ │ │ │
│ │ ─────────────────────────────────────────────────────────────────── │ │
│ │ │ │
│ │ Check Service Availability │ │
│ │ GET /sms/service/availability │ │
│ │ Params: service, country │ │
│ │ Returns: { "available": boolean, "estimated_wait": number } │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘SMS Credits and Pricing
┌─────────────────────────────────────────────────────────────────────────────────┐
│ SMS CREDITS SYSTEM │
├─────────────────────────────────────────────────────────────────────────────────┤
│ │
│ HOW CREDITS WORK: │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 1 Credit = 1 Phone Number Rental │ │
│ │ │ │
│ │ Request number ──► 1 credit deducted │ │
│ │ │ │ │
│ │ ├── Receive OTP ──► Done (credit consumed) │ │
│ │ │ │ │
│ │ └── No OTP within timeout ──► Credit may be refunded │ │
│ │ (depends on service) │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
│ CREDIT USAGE BY SERVICE: │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ Service Credits Notes │ │
│ │ ─────────────────────────────────────────────────────────────────── │ │
│ │ Nike/SNKRS 1 Standard │ │
│ │ Footsites 1 Standard │ │
│ │ Adidas 1 Standard │ │
│ │ Premium sites 2-3 Higher demand services │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
│ CHECK BALANCE: Dashboard shows current credit count │
│ ADD CREDITS: Purchase through aycd.io/account#billing │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘Best Practices
┌─────────────────────────────────────────────────────────────────────────────────┐
│ SMS BEST PRACTICES │
├─────────────────────────────────────────────────────────────────────────────────┤
│ │
│ 1. RELEASE UNUSED NUMBERS │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ If you request a number but don't use it: │ │
│ │ POST /sms/number/release ──► Returns to pool │ │
│ │ │ │
│ │ This helps everyone by keeping numbers available! │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
│ 2. CHECK AVAILABILITY BEFORE MASS TASKS │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ GET /sms/service/availability?service=nike │ │
│ │ │ │
│ │ Before running 100 tasks, check if numbers are available │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
│ 3. USE APPROPRIATE TIMEOUTS │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ Service Recommended Timeout │ │
│ │ ─────────────────────────────────────────────────────────────────── │ │
│ │ Nike/SNKRS 120 seconds │ │
│ │ Footsites 90 seconds │ │
│ │ Adidas 120 seconds │ │
│ │ Shopify 60 seconds │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
│ 4. HANDLE QUEUING GRACEFULLY │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ When numbers are queued: │ │
│ │ • Poll queue status every 5-10 seconds │ │
│ │ • Show queue position to user │ │
│ │ • Allow cancellation │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘Troubleshooting
┌─────────────────────────────────────────────────────────────────────────────────┐
│ TROUBLESHOOTING │
├─────────────────────────────────────────────────────────────────────────────────┤
│ │
│ ISSUE: No numbers available │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 1. Check service availability via API │ │
│ │ 2. Wait for queue if numbers are queued │ │
│ │ 3. Try at off-peak hours (early morning) │ │
│ │ 4. Try different country if supported │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
│ ISSUE: OTP not received │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 1. Verify number was entered correctly on site │ │
│ │ 2. Check if site accepted the number (some block VoIP) │ │
│ │ 3. Increase timeout value │ │
│ │ 4. Request a different number and try again │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
│ ISSUE: Number rejected by site │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ Some sites block certain number ranges: │ │
│ │ 1. Release the number │ │
│ │ 2. Request a new number │ │
│ │ 3. If persistent, site may have blocked Inbox numbers │ │
│ │ 4. Contact support for alternative solutions │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
│ ISSUE: Credits not deducting correctly │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 1. Check transaction history in dashboard │ │
│ │ 2. Contact support with number_id and timestamp │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘Verification Checklist
┌─────────────────────────────────────────────────────────────────┐
│ VERIFICATION CHECKLIST │
├─────────────────────────────────────────────────────────────────┤
│ │
│ □ Inbox SMS subscription active │
│ □ SMS credits available │
│ □ SMS API Key copied from dashboard │
│ □ API Key configured in bot │
│ □ Target service supported │
│ □ Test number request successful │
│ □ Test OTP received and extracted │
│ │
│ Inbox SMS is ready for phone verification! │
│ │
└─────────────────────────────────────────────────────────────────┘