🏢FBO API

Fulfillment by OZON - Complete warehouse operations management

✅ 13 Methods Across 3 Sections
📦

Supply Order Management

Create, track, and manage warehouse deliveries

🔄

Posting Operations

Complete FBO posting lifecycle management

🏗️

Warehouse Integration

Real-time availability and capacity monitoring

🚛

Logistics Coordination

Driver data, vehicle info, and timeslot management

📋 Methods Overview - 3 Specialized Sections

📦
Supply Order Management
6 methods
  • getSupplyOrdersList - List all supply orders
  • getSupplyOrder - Get specific order details
  • getSupplyOrderBundle - Bundle composition tracking
  • getSupplyOrderStatusCounter - Status statistics
  • createSupplyOrderPass - Generate delivery passes
  • getSupplyOrderPassStatus - Pass status tracking
→ View Supply Management Documentation
🕒
Timeslot & Logistics
3 methods
  • getSupplyOrderTimeslots - Available delivery slots
  • getSupplyOrderTimeslotStatus - Booking status
  • updateSupplyOrderTimeslot - Reschedule deliveries
→ View Timeslot Management Documentation
🏢
Warehouse & Operations
4 methods
  • getWarehouseAvailability - Capacity monitoring
  • getCancelReasons - Cancellation reasons
  • getPosting - Individual posting details
  • getPostingsList - Posting management
→ View Operations Documentation

🔄 Standard FBO Business Flow

Complete FBO Workflow Process

📝

Create Order

Initialize supply order

🏢

Check Availability

Verify warehouse capacity

🕒

Select Timeslot

Book delivery window

🚛

Set Logistics

Driver and vehicle data

📦

OZON Processing

Fulfillment handling

📊

Track Performance

Monitor and analyze

🚀 Quick Start Example

import { OzonSellerAPI } from 'daytona-ozon-seller-api';

const api = new OzonSellerAPI({
  clientId: 'your-client-id',
  apiKey: 'your-api-key'
});

// Complete FBO workflow example
async function fboWorkflowExample() {
  // 1. Check warehouse availability
  const warehouses = await api.fbo.getWarehouseAvailability();
  console.log('Available warehouses:', warehouses.warehouses?.length);

  // 2. Get supply orders
  const orders = await api.fbo.getSupplyOrdersList({
    since: '2024-01-01T00:00:00Z',
    to: '2024-01-31T23:59:59Z',
    filter: { status: ['created', 'confirmed'] },
    limit: 50
  });
  
  // 3. Process each order
  for (const order of orders.supply_orders || []) {
    // Get order details
    const orderDetails = await api.fbo.getSupplyOrder({
      supply_order_id: order.supply_order_id
    });
    
    // Get available timeslots
    const timeslots = await api.fbo.getSupplyOrderTimeslots({
      warehouse_id: order.warehouse_id,
      date_from: '2024-01-15T00:00:00Z',
      date_to: '2024-01-22T00:00:00Z'
    });
    
    // Update timeslot if needed
    if (timeslots.timeslots?.length > 0) {
      await api.fbo.updateSupplyOrderTimeslot({
        supply_order_id: order.supply_order_id,
        timeslot_id: timeslots.timeslots[0].timeslot_id
      });
    }
  }

  // 4. Get postings information
  const postings = await api.fbo.getPostingsList({
    since: '2024-01-01T00:00:00Z',
    to: '2024-01-31T23:59:59Z',
    filter: { status: ['shipped', 'delivered'] },
    with: { analytics_data: true, financial_data: true },
    limit: 100
  });
  
  console.log(`Processed ${postings.total} FBO postings`);
}

📊 Core Data Models

Supply Order Structure

interface FboSupplyOrder {
  supply_order_id: number;
  status: 'created' | 'confirmed' | 'shipped' | 'delivered' | 'cancelled';
  warehouse_id: number;
  planned_delivery_date: string;
  total_products: number;
  total_amount: number;
  created_at: string;
  updated_at: string;
}

Posting Structure

interface FboPosting {
  posting_number: string;
  status: 'awaiting_deliver' | 'delivered' | 'cancelled';
  warehouse_id: number;
  products: FboPostingProduct[];
  analytics_data?: FboAnalyticsData;
  financial_data?: FboFinancialData;
  created_at: string;
  delivered_at?: string;
}

Warehouse Availability

interface FboWarehouse {
  warehouse_id: number;
  name: string;
  location: string;
  capacity_utilization: number; // 0-100%
  is_accepting_supply: boolean;
  working_hours: {
    start_time: string;
    end_time: string;
    days: string[];
  };
}

🎯 Key Benefits

For Sellers

  • Hands-off Fulfillment: OZON handles storage, picking, packing, shipping
  • Scalable Operations: Leverage OZON's warehouse network
  • Reduced Complexity: No direct shipping or customer service
  • Prime Integration: Access to OZON Prime delivery benefits

For Operations

  • Centralized Management: Single API for all FBO operations
  • Real-time Visibility: Track orders and postings in real-time
  • Automated Processes: Reduce manual intervention
  • Performance Analytics: Comprehensive reporting and insights

⚠️ Important Considerations

Business Rules

  • Warehouse Scheduling: Timeslots must be booked in advance
  • Driver Documentation: Complete driver/vehicle data required
  • Quality Standards: Products must meet OZON quality requirements
  • Return Handling: OZON manages returns and customer service

Technical Requirements

  • API Rate Limits: Respect API throttling limits
  • Data Validation: Ensure all required fields are provided
  • Error Handling: Implement robust error recovery
  • Monitoring: Track API performance and success rates

Cost Implications

  • Storage Fees: Based on volume and duration
  • Fulfillment Costs: Per-order handling fees
  • Return Processing: Costs for return handling
  • Premium Services: Additional fees for expedited processing

📖 Detailed Documentation Sections