Rocket Tradeline
Rocket Tradeline Apis
- Author: BigPhilsnr
- Repository: https://github.com/BigPhilsnr/rocket-tradeline
- GitHub stars: 0
- Forks: 0
- License: MIT
- Category: Other
- Maintenance: Minimally Maintained
Install Rocket Tradeline
bench get-app https://github.com/BigPhilsnr/rocket-tradeline
Add the Frappe Gems badge to your README
Maintain Rocket Tradeline? Paste this into your README:
[](https://frappegems.com/gems/apps/BigPhilsnr/rocket-tradeline)
About Rocket Tradeline
🚀 Rockettradeline API Documentation
A comprehensive tradeline management system built on Frappe Framework with powerful cart management, payment processing, and user authentication features.
📋 Table of Contents
- Overview
- Base URL
- Authentication
- API Endpoints
- Response Format
- Error Codes
- Rate Limiting
- SDKs & Examples
🎯 Overview
The Rockettradeline API provides a complete solution for managing tradelines, shopping carts, payments, and user authentication. It's built on Frappe Framework and offers both RESTful APIs and advanced features like JWT authentication, real-time cart management, and secure payment processing.
Key Features
- 🔐 JWT Authentication - Secure token-based authentication
- 🛒 Advanced Cart Management - Full shopping cart lifecycle
- 💳 Payment Processing - Multiple payment methods and fee calculations
- 📧 Email Verification - Automated email verification system
- 👥 User Management - Complete user lifecycle management
- 🏦 Tradeline Management - Comprehensive tradeline operations
🌐 Base URL
Production: https://rockettradeline.com/api/method/
Staging: https://www.rockettradeline.com/api/method/
🔐 Authentication
The API uses JWT (JSON Web Token) authentication. Include the token in the request headers:
X-Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Authentication Flow
- Sign Up → Create account with email verification
- Login → Get JWT token
- Use Token → Include in all authenticated requests
- Refresh Token → Extend token expiry
📚 API Endpoints
🔑 Authentication APIs
POST /rockettradeline.api.auth.sign_up
Create a new user account with email verification.
Request Body:
{
"email": "user@example.com",
"full_name": "John Doe",
"password": "securepassword123",
"phone": "+1234567890"
}
Response:
{
"success": true,
"message": "Account created successfully! Please check your email to verify your account before logging in.",
"email_sent": true,
"user": {
"name": "user@example.com",
"email": "user@example.com",
"full_name": "John Doe",
"phone": "+1234567890",
"email_verified": false
},
"customer": {
"name": "CUST-00001",
"customer_name": "John Doe",
"customer_type": "Individual",
"email_id": "user@example.com",
"mobile_no": "+1234567890"
}
}
POST /rockettradeline.api.auth.login
Authenticate user and receive JWT token.
Request Body:
{
"usr": "user@example.com",
"pwd": "securepassword123"
}
Response:
{
"success": true,
"message": "Login successful",
"authorization_token": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 86400,
"user": {
"name": "user@example.com",
"email": "user@example.com",
"full_name": "John Doe",
"user_image": null,
"phone": "+1234567890",
"role_profile_name": null,
"roles": ["Customer"]
},
"customer": {
"name": "CUST-00001",
"customer_name": "John Doe",
"customer_type": "Individual",
"email_id": "user@example.com",
"mobile_no": "+1234567890"
}
}
GET /rockettradeline.api.auth.get_current_user
Get current authenticated user details.
Headers: X-Authorization: Bearer {token}
Response:
{
"success": true,
"user": {
"name": "user@example.com",
"email": "user@example.com",
"full_name": "John Doe",
"user_image": null,
"phone": "+1234567890",
"roles": ["Customer"],
"user_type": "Website User",
"enabled": true
},
"customer": {
"name": "CUST-00001",
"customer_name": "John Doe",
"customer_type": "Individual",
"email_id": "user@example.com",
"mobile_no": "+1234567890",
"addresses": []
}
}
PUT /rockettradeline.api.auth.update_profile
Update user profile information.
Headers: X-Authorization: Bearer {token}
Request Body:
{
"full_name": "John Smith",
"phone": "+1234567890",
"gender": "Male",
"date_of_birth": "1990-01-01",
"social_security_number": "123-45-6789",
"address_line1": "123 Main St",
"address_line2": "Apt 4B",
"city": "New York",
"state": "NY",
"zipcode": "10001",
"country": "United States",
"address_type": "Personal"
}
Response:
{
"success": true,
"message": "Profile updated successfully",
"user": {
"name": "user@example.com",
"email": "user@example.com",
"full_name": "John Smith",
"phone": "+1234567890",
"user_image": null,
"birth_date": "1990-01-01"
},
"customer": {
"name": "CUST-00001",
"customer_name": "John Smith",
"customer_type": "Individual",
"email_id": "user@example.com",
"mobile_no": "+1234567890",
"gender": "Male",
"tax_id": "123-45-6789"
},
"address": {
"name": "ADDR-00001",
"address_title": "John Smith - Personal",
"address_type": "Personal",
"address_line1": "123 Main St",
"address_line2": "Apt 4B",
"city": "New York",
"state": "NY",
"pincode": "10001",
"country": "United States"
}
}
GET /rockettradeline.api.auth.verify_email?token={verification_token}
Verify user email address.
Response: HTML page with verification status
POST /rockettradeline.api.auth.resend_verification_email
Resend email verification.
Request Body:
{
"email": "user@example.com"
}
POST /rockettradeline.api.auth.refresh_token
Refresh JWT token.
Headers: X-Authorization: Bearer {token}
Response:
{
"success": true,
"message": "Token refreshed successfully",
"authorization_token": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 86400
}
🏦 Tradeline APIs
GET /rockettradeline.api.tradeline.get_tradelines
Get list of available tradelines with filtering and pagination.
Parameters:
- limit (int): Number of records to return (default: 20)
- start (int): Starting offset (default: 0)
- search (string): Search by bank name
- filters (JSON): Advanced filtering options
Example Request:
GET /api/method/rockettradeline.api.tradeline.get_tradelines?limit=10&start=0&search=Chase&filters={"min_price":100,"max_price":500}
Response:
{
"success": true,
"tradelines": [
{
"name": "00017",
"bank": "JPMCB Chase",
"age_year": 2023,
"age_month": 0,
"credit_limit": 22400,
"price": 285.0,
"max_spots": 4,
"remaining_spots": 3,
"closing_date": 14,
"credit_utilization_rate": 0.0,
"status": "Active",
"bank_name": "JPMCB Chase"
}
]
}
GET /rockettradeline.api.tradeline.get_tradeline
Get detailed information about a specific tradeline.
Parameters:
- tradeline_id (string): Tradeline ID
Response:
{
"success": true,
"tradeline": {
"name": "00017",
"bank": "JPMCB Chase",
"bank_name": "JPMCB Chase",
"age_year": 2023,
"age_month": 0,
"credit_limit": 22400,
"price": 285.0,
"max_spots": 4,
"remaining_spots": 3,
"purchased_spots": 1,
"closing_date": 14,
"credit_utilization_rate": 0.0,
"status": "Active",
"balance": 0,
"card_holder": {
"name": "CH-00001",
"fullname": "John Cardholder",
"email": "cardholder@example.com",
"phone": "+1234567890"
},
"mailing_address": {
"name": "MA-00001"
}
}
}
GET /rockettradeline.api.tradeline.get_banks
Get list of available banks.
Response:
{
"success": true,
"banks": [
{
"name": "BANK-00001",
"bank_name": "Chase",
"image": "/files/chase-logo.png"
},
{
"name": "BANK-00002",
"bank_name": "Bank of America",
"image": "/files/boa-logo.png"
}
]
}
POST /rockettradeline.api.tradeline.create_tradeline 🔒
Create a new tradeline (requires authentication and permissions).
Headers: X-Authorization: Bearer {token}
Request Body:
{
"bank": "BANK-00001",
"age_year": 2020,
"age_month": 6,
"credit_limit": 15000,
"price": 250.0,
"max_spots": 5,
"closing_date": 15,
"card_holder": "CH-00001",
"mailing_address": "MA-00001",
"credit_utilization_rate": 0.0,
"balance": 0,
"status": "Active"
}
🛒 Cart Management APIs
POST /rockettradeline.api.cart.create_cart 🔒
Create a new shopping cart.
Headers: X-Authorization: Bearer {token}
Response:
{
"success": true,
"message": "Cart created successfully",
"cart": {
"name": "CART-0018",
"user_id": "user@example.com",
"customer": "CUST-00001",
"status": "Active",
"cart_expiry": "2025-09-16 01:48:04.844866",
"payment_mode": null,
"payment_status": "Pending",
"subtotal": 0.0,
"discount_amount": 0.0,
"tax_amount": 0.0,
"total_amount": 0.0,
"items": []
},
"cart_id": "CART-0018"
}
GET /rockettradeline.api.cart.get_cart 🔒
Get current active cart or specific cart by ID.
Headers: X-Authorization: Bearer {token}
Parameters:
- cart_id (optional): Specific cart ID
Response:
{
"success": true,
"cart": {
"name": "CART-0018",
"user_id": "user@example.com",
"customer": "CUST-00001",
"status": "Active",
"subtotal": 600.0,
"discount_amount": 0.0,
"tax_amount": 0.0,
"total_amount": 600.0,
"items": [
{
"name": "tkesje5e45",
"tradeline": "00018",
"tradeline_name": "BANK OF AMERICA",
"quantity": 2,
"rate": 300.0,
"amount": 600.0,
"tradeline_details": {
"bank": "BANK OF AMERICA",
"age_year": 2016,
"age_month": 0,
"credit_limit": 10300,
"max_spots": 2,
"status": "Active"
}
}
]
},
"cart_summary": {
"cart_id": "CART-0018",
"item_count": 1,
"subtotal": 600.0,
"discount_amount": 0.0,
"tax_amount": 0.0,
"total_amount": 600.0,
"is_expired": false
}
}
POST /rockettradeline.api.cart.add_to_cart 🔒
Add tradeline to cart.
Headers: X-Authorization: Bearer {token}
Request Body:
{
"tradeline_id": "00018",
"quantity": 1,
"cart_id": "CART-0018"
}
Response:
{
"success": true,
"message": "Item added to cart successfully",
"cart": {
"name": "CART-0018",
"total_amount": 300.0,
"items": [
{
"tradeline": "00018",
"tradeline_name": "BANK OF AMERICA",
"quantity": 1,
"rate": 300.0,
"amount": 300.0
}
]
},
"cart_summary": {
"cart_id": "CART-0018",
"item_count": 1,
"total_amount": 300.0
}
}
PUT /rockettradeline.api.cart.update_cart_item 🔒
Update item quantity in cart.
Headers: X-Authorization: Bearer {token}
Request Body:
{
"tradeline_id": "00018",
"quantity": 2,
"cart_id": "CART-0018"
}
DELETE /rockettradeline.api.cart.remove_from_cart 🔒
Remove item from cart.
Headers: X-Authorization: Bearer {token}
Request Body:
{
"tradeline_id": "00018",
"cart_id": "CART-0018"
}
DELETE /rockettradeline.api.cart.clear_cart 🔒
Clear all items from cart.
Headers: X-Authorization: Bearer {token}
Request Body:
{
"cart_id": "CART-0018"
}
POST /rockettradeline.api.cart.apply_discount 🔒
Apply discount to cart.
Headers: X-Authorization: Bearer {token}
Request Body: ```json { "dis
Related Other apps for Frappe & ERPNext
- Erpnext — Free and Open Source Enterprise Resource Planning (ERP)
- Helpdesk — Modern, Streamlined, Free and Open Source Customer Service Software
- Print Designer — Visual print designer for Frappe / ERPNext
- Ctr — CTR模型代码和学习笔记总结
- Whitelabel — Whitelabel ERPNext
- Fossunited — fossunited.org
- Helm — Helm Chart Repository for Frappe/ERPNext
- Frappe Attachments S3 — A frappe app to upload file attachments in doctypes to s3.