Introduction to SRS Integration Partner Services#
Welcome to the SRS Integration Partner System (SIPS)! This guide helps software partners integrate with SRS Distribution to place orders, manage inventory, and track deliveries through our API.
π― What You'll Learn#
This documentation will guide you through:β
Setting up your API credentials and authentication
β
Making your first calls to validate customers and explore data
β
Implementing the complete order flow from product selection to submission
β
Setting up webhooks for real-time order updates
β
Best practices for production deployments
β±οΈ Time to Complete: Most integrations are live within 2-3 weeks following this guide
πΊοΈ Integration Journey#
1.
π Setup (Steps 1-2) - Get credentials and authenticate
2.
π Explore (Steps 3-4) - Validate and discover
3.
π Build (Steps 5-7) - Construct your order
4.
β
Execute (Step 8) - Submit and track
β
Integration Checklist#
Track your progress through the integration:π Click to see your integration checklist
Phase 2: Development (Week 1-2)Phase 3: Webhook Setup (Week 2)Phase 4: Production (Week 3)π Quick Navigation#
Choose your path based on your experience level:π New to SIPS? Click to see the complete learning path
Start here for a step-by-step guided experience:1.
π― Goal: Get your access token and make your first API call
2.
π― Goal: Submit your first test order successfully
3.
π― Goal: Receive order status updates automatically
π Looking for something specific? Click to see quick links
β FAQs - Frequently asked questions π API Reference - Detailed endpoint documentation
π Integration Overview - 8 Steps#
π Phase 1: Setup & Authentication (Steps 1-2)#
πΌ Step 1: Request Credentials - Click to expand
Include your company name and integration purpose
client_id - Your unique identifier
client_secret - Your authentication secret (keep secure!)
Response time: Usually within 1-2 business daysπ Security Tip: Never share your client_secret publicly or commit it to version control!
π Step 2: Authenticate - Click to expand
Endpoint: POST /authentication/tokenaccess_token - Your session token (valid 24 hours)
expires_in - Token expiration time in seconds
β° Token Management: Tokens expire after 24 hours. Implement automatic refresh before expiration!
π Phase 2: Explore & Validate (Steps 3-4)#
β
Step 3: Validate Customer - Click to expand
Verifies customer has access to API
Returns customer account details
Required before placing orders
validIndicator: true β
Customer can place orders
validIndicator: false β Customer not eligible
β οΈ Critical: Always check validIndicator before proceeding with orders!
π Step 4: Get Branch Locations - Click to expand
Available shipping methods per branch
Branch contact information
Show available branches to your users
Let customers choose preferred pickup/delivery location
π Phase 3: Build Your Order (Steps 5-7)#
πͺ Step 5: Find Customer Branches - Click to expand
Critical Information Retrieved:jobAccountNumber - Required for order submission
Customer-specific branch relationships
Delivery addresses (ShipTo locations)
{
"jobAccountNumber": 78,
"branchCode": "AMDEN",
"shipToSequenceNumber": 1
}
π‘ Pro Tip: Save the jobAccountNumber - you'll need it for every order!
π¦ Step 6: Get Available Products - Click to expand
Products available at the specific branch
Product IDs, names, and descriptions
Available units of measure (UOM)
Not all products are available at all branches
Shows current inventory availability
Prevents ordering unavailable items
π° Step 7: Get Pricing - Click to expand
Current prices per customer
Stock availability (In Stock / Out of Stock)
Product substitution options
{
"customerCode": "ABC123",
"branchCode": "AMDEN",
"productList": [
{
"productId": 12345,
"quantity": 10,
"uom": "EA"
}
]
}
β‘ Performance Tip: Prices are customer-specific. Always use the correct customerCode!
β
Phase 4: Submit Order (Step 8)#
π Step 8: Submit Order - Click to expand
Required Data (from previous steps):β
Validated customer (Step 3)
β
Job account number (Step 5)
β
Pricing information (Step 7)
{
"message": "Order Submitted",
"transactionID": "YOUR-UNIQUE-ID",
"orderID": "35818786",
"queueID": null
}
Synchronous: Immediate processing (Staging/Testing)
Asynchronous: Queue-based processing (Production - Recommended)
π― Success! You've completed the full integration flow!
π€ Order Submission Methods#
Staging Environment (Testing)#
π Important: Staging environment supports synchronous orders only and uses sync as the default submission method. All testing must use synchronous submission.
β‘ Synchronous Order Submission (Staging/Testing) - Click to expand
2.
System processes immediately
3.
Instant Order ID response (within seconds)
β
Order processed immediately
β
Instant Order ID response
β
Required for all Staging environment testing
β
Simple implementation, perfect for development
β οΈ Not available during system maintenance
Simple proof-of-concept implementations
{
"orderID": "12345678",
"transactionID": "YOUR-ID",
"queueID": null
}
Production Environment (Live Orders)#
β‘ Synchronous Orders - Click to expand
Order processed immediately
Instant Order ID response
Low-volume integrations (< 50 orders/day)
When immediate confirmation is required
β οΈ Orders may fail during system maintenance
β οΈ No automatic retry mechanism
β οΈ Requires manual error handling
π Asynchronous Orders (Recommended for Production) - Click to expand
2.
Order queued for processing
3.
Receive queueID immediately
4.
Order processes in background
5.
Webhook notification when complete
β
Orders queued safely during maintenance
β
Automatic retry on temporary failures
β
Better performance for high-volume
β
Real-time status updates via webhooks
High-volume integrations (50+ orders/day)
Mission-critical applications
Maximum reliability requirements
Must configure webhook endpoints
Must handle webhook notifications
{
"queueID": "queue-abc-123",
"orderID": "12345678",
"transactionID": "YOUR-ID",
"status": "queued"
}
Webhook Notification (when processed):{
"orderID": "12345678",
"status": "completed",
"processedDate": "2026-02-27T10:30:00Z"
}
π Production Recommendation: Use asynchronous orders with webhooks. This ensures orders are processed even during system maintenance. Webhook endpoints must be provided before Production deployment.
π API Environments#
π§ͺ Staging Environment (Testing) - Click to expand
Base URL: https://services-qa.roofhub.proβ
Safe for testing (no real orders)
β
Same API structure as Production
β οΈ Synchronous orders only
β οΈ Test data may be reset periodically
π Production Environment (Live Orders) - Click to expand
Base URL: Contact SRS API Support Team for Production credentialsβ
Asynchronous orders available (recommended)
β
High availability (99.9% uptime SLA)
β οΈ Requires Production credentials
β οΈ Real orders charge real money!
Completed Staging testing
Webhook endpoints configured
Production credentials from SRS team
β‘ Quick Start Resources#
API Collection#
π¦ Import Ready-to-Use Collections - Click to expand
Get started immediately with pre-configured API requests:β
Environment variables pre-set
β
Example payloads included
β
Complete request collection
β
Automated testing scripts
Quick Test with cURL#
π» Test instantly from your terminal - Click to expand
Test the API instantly from your terminal:Expected Response (Authentication):{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 86400
}
Expected Response (Branch Locations):[
{
"branchCode": "AMDEN",
"branchName": "SRS - Denver",
"city": "Denver",
"state": "CO"
}
]
π‘ Pro Tip: Save your credentials as environment variables:Then use them in scripts: curl -X POST $SRS_BASE_URL/authentication/token
π¬ Need Help?#
π§ Contact SRS API Support Team - Click to expand
β
Your client ID (NOT your secret!)
β
Environment (QA/Production)
β
Error details or question
β
Sample request/response (if applicable)
β
Transaction ID (if available)
Response Time: 1-2 business daysOrder processing failures
β Common Questions - Click to expand
Q: How long does credential approval take?A: Usually 1-2 business days after submission
Q: Can I test in Staging before Production?A: Yes! Staging is required before Production access
A: Yes, after 24 hours. Implement automatic refresh
Q: What's the rate limit?A: Contact API Support for current limits
Q: Can I use the same credentials for Staging and Production?A: No, you'll receive separate credentials for each environment
More questions? Check our FAQsπ Additional Resources - Click to expand
π¬ Partner Slack Channel (invitation required)
π¬ Monthly integration webinars
π¬ Integration best practices sessions
π― Ready to Start?#
Let's build something great together! πModified atΒ 2026-02-27 20:03:31