Skip to main content

Order Processing

Administrative order processing, lifecycle management, and bulk operations within the DashClicks platform.

Core Operations

Order Retrieval

Get All Orders

  • Service Method: orderService.getOrders()
  • Controller: orderController.getOrders
  • Route: GET /v1/admin/orders
  • Parameters:
    • start_date, end_date - Date range filtering
    • onboarding_status - Onboarding status filter
    • order_inactivity - Order inactivity filter
    • product - Product type filter
    • setup_status - Setup status filter
    • q - Search query
    • sort_by, order - Sorting options
    • page, limit - Pagination
  • Returns: Paginated orders with setup stages and onboarding links

Order Creation

Create Order

  • Service Method: orderService.addOrder({ orderInfo, req })
  • Controller: orderController.saveOrder
  • Route: POST /v1/admin/orders
  • Parameters: Order information with manual source designation
  • Returns: Created order object

Order Updates

Update Setup Status

  • Service Method: orderService.updateStatus({ order_id, setup, dashclicks })
  • Controller: orderController.updateSetupStatus
  • Route: PUT /v1/admin/orders/:id/status
  • Purpose: Update product-specific setup stages
  • Parameters: Order ID, setup stage information, staff authorization
  • Returns: Updated setup status

Update Order

  • Service Method: orderService.updateOrder({ orderId, dashclicks, userId })
  • Controller: orderController.updateOrder
  • Route: PUT /v1/admin/orders/:id
  • Purpose: General order updates (marked as deprecated in favor of projects app)
  • Returns: Updated order data

Update Onboarding Status

  • Service Method: orderService.updateOnboardingStatus({ order_id, payload, dashclicks, account_id, user_id })
  • Controller: orderController.updateOnboardingStatus
  • Route: PUT /v1/admin/orders/:id/onboarding
  • Purpose: Update order onboarding status and workflow
  • Returns: Updated onboarding status

Order Management

Clear Order

  • Service Method: orderService.clearOrder({ orderId })
  • Controller: orderController.clearOrder
  • Route: DELETE /v1/admin/orders/:id
  • Purpose: Remove order record from database
  • Returns: Deletion count confirmation
  • Parameters: Order ID, new status, status change reason
  • Returns: Updated order with status history

Bulk Status Update

  • Endpoint: POST /v1/admin/orders/bulk-update
  • Purpose: Mass order status updates for operational efficiency
  • Access: Order Admin, Setup Manager
  • Parameters: Order IDs array, status updates, bulk processing options
  • Returns: Bulk update results with processing summary

Order Management

Cancel Order

  • Endpoint: PUT /v1/admin/orders/:id/cancel
  • Purpose: Administrative order cancellation with reason tracking
  • Access: Order Admin only
  • Parameters: Order ID, cancellation reason, refund processing
  • Returns: Cancelled order with cancellation details

Clear Order

  • Endpoint: DELETE /v1/admin/orders/:id
  • Purpose: Administrative order cleanup and data removal
  • Access: Order Admin only
  • Parameters: Order ID, cleanup reason, data retention options
  • Returns: Cleanup confirmation with removal details

Order Processing Workflows

Standard Order Processing Flow

  1. Order Receipt: Initial order processing and validation
  2. Account Assignment: Account relationship establishment
  3. Product Configuration: Service-specific setup initialization
  4. Team Assignment: Resource allocation and team assignment
  5. Status Tracking: Progress monitoring and update management
  6. Completion Processing: Final delivery and closure

Administrative Override Flow

  1. Override Request: Administrative intervention request
  2. Authorization Validation: Staff permission verification
  3. Override Processing: Manual processing execution
  4. Audit Logging: Override action documentation
  5. Status Update: Post-override status management
  6. Notification Processing: Stakeholder notification delivery

Bulk Processing Flow

  1. Batch Validation: Bulk operation data validation
  2. Processing Queue: Batch operation queuing
  3. Sequential Processing: Individual order processing
  4. Error Handling: Failure detection and recovery
  5. Results Compilation: Processing results aggregation
  6. Completion Notification: Bulk operation completion alert

Service Methods

Core Processing Services

getOrders(filters, options)

  • Purpose: Administrative order query system with advanced filtering
  • Parameters:
    • filters - Date range, status, product, search criteria
    • options - Pagination, sorting, analytics preferences
  • Returns: Filtered order dataset with administrative metadata
  • Collections: _store.orders, _accounts, _products

addOrder(orderData, adminUser)

  • Purpose: Administrative order creation with manual source tracking
  • Parameters:
    • orderData - Complete order information and configuration
    • adminUser - Administrator creating the order
  • Returns: Created order object with processing status
  • Collections: _store.orders, _activity

updateOrder(orderId, updateData, adminUser)

  • Purpose: Comprehensive order updates with administrative oversight
  • Parameters:
    • orderId - Order identifier for update
    • updateData - Fields and values to update
    • adminUser - Administrator performing update
  • Returns: Updated order with change tracking
  • Collections: _store.orders, _activity

clearOrder(orderId, reason, adminUser)

  • Purpose: Administrative order cleanup with audit trail
  • Parameters:
    • orderId - Order identifier for cleanup
    • reason - Cleanup justification
    • adminUser - Administrator performing cleanup
  • Returns: Cleanup confirmation with details
  • Collections: _store.orders, _activity

Bulk Operation Services

bulkUpdateStatus(orderIds, statusUpdate, adminUser)

  • Purpose: Mass order status updates with batch processing
  • Parameters:
    • orderIds - Array of order identifiers
    • statusUpdate - Status change information
    • adminUser - Administrator performing bulk update
  • Returns: Bulk update results with success/failure breakdown
  • Collections: _store.orders, _activity

bulkOrderProcessing(orders, processingOptions, adminUser)

  • Purpose: Batch order processing for operational efficiency
  • Parameters:
    • orders - Array of orders for processing
    • processingOptions - Batch processing configuration
    • adminUser - Administrator initiating bulk processing
  • Returns: Processing results with detailed outcomes
  • Collections: _store.orders, _activity

Data Management

Order Data Structure

  • Order Information: Complete order details and configuration
  • Account Association: Account relationship and hierarchy
  • Product Configuration: Service-specific setup and parameters
  • Status History: Complete order lifecycle tracking
  • Administrative Metadata: Processing information and audit data

Validation Framework

  • Order Data Validation: Comprehensive order information validation
  • Account Validation: Account relationship and permission validation
  • Product Validation: Service configuration and availability validation
  • Administrative Validation: Staff authorization and permission checks
  • Business Rule Validation: Platform policy and rule compliance

Performance Optimization

  • Query Optimization: Efficient database queries for order retrieval
  • Bulk Processing: Optimized batch operations for mass updates
  • Caching Strategy: Strategic caching for frequently accessed data
  • Index Management: Database indexing for performance enhancement

Error Handling

Processing Errors

  • Order Not Found: Invalid or inaccessible order identifier
  • Validation Error: Invalid order data or configuration
  • Authorization Error: Insufficient permissions for operation
  • Processing Error: Order processing pipeline failure
  • System Error: Platform or infrastructure failure

Recovery Mechanisms

  • Automatic Retry: Retry logic for transient failures
  • Manual Intervention: Administrative override for complex issues
  • Rollback Support: Transaction rollback for failed operations
  • Error Logging: Comprehensive error tracking and analysis
  • Alert System: Automated alerts for critical failures

Authorization Framework

Role-Based Access

  • Order Admin: Full administrative access to all order operations
  • Setup Manager: Order processing and status management
  • Account Manager: Account-specific order oversight
  • Fulfillment Team: Order processing and completion operations

Permission Matrix

  • Create: New order creation and initialization
  • Read: Order information and status access
  • Update: Order modification and status changes
  • Delete: Order cleanup and removal operations
  • Bulk: Mass order operations and batch processing

Integration Points

Account Management

  • Order-account relationship management
  • Account-based filtering and organization
  • Cross-account order coordination

Product Management

  • Product configuration and validation
  • Service-specific order processing
  • Product catalog integration

Communication System

  • Order status notifications
  • Administrative alerts and updates
  • Client communication coordination

Analytics System

  • Order processing metrics
  • Performance tracking and reporting
  • Administrative dashboard integration

Usage Examples

Retrieve Orders with Filtering

const orders = await orderService.getOrders(
{
startDate: '2024-01-01',
endDate: '2024-12-31',
status: 'in_progress',
product: 'seo_services',
},
{ page: 1, limit: 50, sort: { createdAt: -1 } },
);

Create New Order

const newOrder = await orderService.addOrder(
{
accountId: 'account123',
productId: 'seo_premium',
configuration: { keywords: 50, reporting: 'monthly' },
source: 'admin_manual',
},
adminUser,
);

Bulk Status Update

const bulkResult = await orderService.bulkUpdateStatus(
['order1', 'order2', 'order3'],
{ status: 'completed', completionDate: new Date() },
adminUser,
);

Update Order Details

const updatedOrder = await orderService.updateOrder(
'order123',
{ priority: 'high', assignedTeam: 'premium_team' },
adminUser,
);
💬

Documentation Assistant

Ask me anything about the docs

Hi! I'm your documentation assistant. Ask me anything about the docs!

I can help you with:
- Code examples
- Configuration details
- Troubleshooting
- Best practices

Try asking: How do I configure the API?
09:31 AM