openapi: 3.0.3 info: title: "SFC Fulfillment API" version: "3.0.0" description: "English OpenAPI YAML index for Product, ASN, Order, and Utility endpoints." contact: name: "SFC IT Support" email: "IT_Support@SendFromChina.com" url: "https://www.sendfromchina.com/contact-us" servers: - url: "https://fulfill.sendfromchina.com" description: "SFC Fulfillment API production endpoint" tags: - name: Product description: "Product and inventory APIs" - name: ASN description: "Inbound and add-on service APIs" - name: Order description: "Order lifecycle APIs" - name: Utility description: "Country, warehouse, shipping type, and tracking APIs" security: - ApiKeyAuth: [] SignatureAuth: [] paths: /v3/products: post: tags: [Product] summary: "Create Product" responses: "200": $ref: "#/components/responses/SuccessResponse" /v3/products/{productCode}: get: tags: [Product] summary: "Get Product Information" parameters: - name: productCode in: path required: true schema: { type: string } responses: "200": $ref: "#/components/responses/SuccessResponse" put: tags: [Product] summary: "Edit Product" parameters: - name: productCode in: path required: true schema: { type: string } responses: "200": $ref: "#/components/responses/SuccessResponse" /v3/products/{productCode}/status: patch: tags: [Product] summary: "Edit Product Status" parameters: - name: productCode in: path required: true schema: { type: string } responses: "200": $ref: "#/components/responses/SuccessResponse" /v3/inventory: get: tags: [Product] summary: "Get Inventory Information" responses: "200": $ref: "#/components/responses/SuccessResponse" /v3/asns: post: tags: [ASN] summary: "Create ASN" responses: "200": $ref: "#/components/responses/SuccessResponse" /v3/asns/{asnNo}: get: tags: [ASN] summary: "Get ASN Information" parameters: - name: asnNo in: path required: true schema: { type: string } responses: "200": $ref: "#/components/responses/SuccessResponse" put: tags: [ASN] summary: "Edit ASN" parameters: - name: asnNo in: path required: true schema: { type: string } responses: "200": $ref: "#/components/responses/SuccessResponse" /v3/add-on-services: get: tags: [ASN] summary: "Get Add-on Service List" responses: "200": $ref: "#/components/responses/SuccessResponse" post: tags: [ASN] summary: "Create Add-on Service" responses: "200": $ref: "#/components/responses/SuccessResponse" /v3/add-on-services/{serviceId}: put: tags: [ASN] summary: "Edit Add-on Service" parameters: - name: serviceId in: path required: true schema: { type: string } responses: "200": $ref: "#/components/responses/SuccessResponse" delete: tags: [ASN] summary: "Delete Add-on Service" parameters: - name: serviceId in: path required: true schema: { type: string } responses: "200": $ref: "#/components/responses/SuccessResponse" /v3/orders: post: tags: [Order] summary: "Create Order" responses: "200": $ref: "#/components/responses/SuccessResponse" /v3/orders/{orderCode}: get: tags: [Order] summary: "Get Order Information" parameters: - name: orderCode in: path required: true schema: { type: string } responses: "200": $ref: "#/components/responses/SuccessResponse" put: tags: [Order] summary: "Edit Order" parameters: - name: orderCode in: path required: true schema: { type: string } responses: "200": $ref: "#/components/responses/SuccessResponse" /v3/orders/{orderCode}/status: patch: tags: [Order] summary: "Edit Order Status" parameters: - name: orderCode in: path required: true schema: { type: string } responses: "200": $ref: "#/components/responses/SuccessResponse" /v3/orders/special: post: tags: [Order] summary: "Create Special Order" responses: "200": $ref: "#/components/responses/SuccessResponse" /v3/orders/self-pickup: post: tags: [Order] summary: "Create Self-pickup Order" responses: "200": $ref: "#/components/responses/SuccessResponse" /v3/orders/{orderCode}/intercept: post: tags: [Order] summary: "Intercept Order" parameters: - name: orderCode in: path required: true schema: { type: string } responses: "200": $ref: "#/components/responses/SuccessResponse" /v3/countries: get: tags: [Utility] summary: "Get Country List" responses: "200": $ref: "#/components/responses/SuccessResponse" /v3/warehouses: get: tags: [Utility] summary: "Get Warehouse List" responses: "200": $ref: "#/components/responses/SuccessResponse" /v3/shipping-types: get: tags: [Utility] summary: "Get Shipping Type List" responses: "200": $ref: "#/components/responses/SuccessResponse" /v3/rates/quote: post: tags: [Utility] summary: "Get Rate Quote" responses: "200": $ref: "#/components/responses/SuccessResponse" /v3/trackings/{trackingNumber}: get: tags: [Utility] summary: "Get Tracking Information" parameters: - name: trackingNumber in: path required: true schema: { type: string } responses: "200": $ref: "#/components/responses/SuccessResponse" components: securitySchemes: ApiKeyAuth: type: apiKey in: header name: X-SFC-API-KEY description: "Integration account API key" SignatureAuth: type: apiKey in: header name: X-SFC-SIGNATURE description: "Request signature generated by integration secret" responses: SuccessResponse: description: "API call succeeded or returned business data" content: application/json: schema: $ref: "#/components/schemas/ApiResponse" schemas: ApiResponse: type: object properties: code: type: integer description: "Business status code (0 commonly means success)" message: type: string data: type: object additionalProperties: true required: [code, message]