2A Gunsmith Service Documentation

Gunsmith API Service

Digital work order management for gunsmith services

🔧 Service Overview

The Gunsmith API enables seamless digital work order creation and management for firearm servicing. Streamline your gunsmith operations with our comprehensive API that handles customer information, firearm details, and service tracking.

🔑 Prerequisites

This API requires an active subscription to the 2A Commerce Gunsmith Work Order Tool.

  • All service options are configured within the Gunsmith Work Order Tool
  • Created work orders are automatically sent to your tool dashboard
  • Manage and track all submissions through the web interface

📝 API Workflow

  1. Step 1: Fetch available service options, manufacturers, and calibers
  2. Step 2: Collect customer and firearm information
  3. Step 3: Submit the work order with selected services
GET

Get Service Options

Retrieve all available service types, firearm manufacturers, types, and calibers for work order creation.

Endpoint

/services/gunsmith/work-order/options

💡 Pro Tip: Call this endpoint first to populate dropdown menus in your application with valid options. These options are managed through your Gunsmith Work Order Tool dashboard.

Example Response

{
  "status": "ok",
  "data": {
    "labors": [
      {
        "id": 1,
        "name": "General Service",
        "description": null
      },
      {
        "id": 2,
        "name": "Firearm Personalization",
        "description": null
      },
      {
        "id": 3,
        "name": "Firearm Safety Inspection",
        "description": null
      }
    ],
    "firearm": {
      "types": ["Handgun", "Rifle", "Shotgun", "Other"],
      "manufacturers": ["Glock", "Smith & Wesson", "Ruger", "Sig Sauer", "Other"],
      "calibers": [".22 LR", ".22 WMR", "9mm", ".45 ACP", ".223 Rem", "Other"]
    }
  }
}

Response Fields

  • labors: Array of available gunsmith services with ID and name
  • firearm.types: Valid firearm type options
  • firearm.manufacturers: Supported manufacturer list
  • firearm.calibers: Available caliber options
POST

Create Work Order

Submit a new gunsmith work order with customer details, firearm information, and requested services.

Endpoint

/services/gunsmith/work-order

Request Body Structure

customer Customer Information
firstname string – Required
lastname string – Required
email email – Required
phone string – Required
street_address string – Required
city string – Required
state string – Required
zip numeric – Required
firearm Firearm Information
model string – Required
serial_number string – Required
manufacturer string – Required (from options)
type string – Required (from options)
caliber string – Required (from options)
labors Service Selection

Array of service IDs – Required (at least one service must be selected)

Example Request

{
  "customer": {
    "firstname": "John",
    "lastname": "Doe",
    "email": "john.doe@email.com",
    "phone": "555-123-4567",
    "street_address": "123 Main Street",
    "city": "Austin",
    "state": "TX",
    "zip": "78701"
  },
  "firearm": {
    "model": "Glock 19 Gen 5",
    "serial_number": "ABC123456",
    "manufacturer": "Glock",
    "type": "Handgun",
    "caliber": "9mm"
  },
  "labors": ["1", "3"]
}

Success Response

{
  "status": "ok",
  "data": {
    "message": "Work Order successfully created!"
  }
}

✅ Success: The work order has been created and submitted to your Gunsmith Work Order Tool dashboard for processing.

📋 Important Validation Rules

  • All fields marked as Required must be provided
  • Email must be in valid email format (example@domain.com)
  • Manufacturer, type, and caliber must match values from the options endpoint
  • At least one labor service ID must be selected
  • Zip code must be numeric (5 digits for US zip codes)

🚀 Integration Best Practices

  1. Configure your service options in the Gunsmith Work Order Tool before API integration
  2. Always fetch options before displaying the work order form
  3. Validate inputs client-side to reduce API errors
  4. Store the options response locally to avoid repeated API calls
  5. Implement proper error handling for all API responses
  6. Consider implementing a confirmation step before final submission
  7. Monitor submitted work orders through your tool dashboard

Need Technical Support?

Our API team is here to help with integration questions and technical issues.

Contact API Support →

We'd love to hear from you!

Filling our this form is the first step in launching your business to a whole new level.
Contact us form
Name
Name
First
Last