### Create Payment Method Response Example Source: https://developer.simprogroup.com/apidoc?page=9b945efebb006547a94415eadaa12921 This is an example of the JSON response after successfully creating a new payment method. It includes the assigned ID and other details of the created payment method. ```json { "ID": 12345, "Name": "string", "AccountNo": "string", "Type": "Bank", "FinanceCharge": 0, "DateModified": "2018-05-21T19:53:39+10:00" } ``` -------------------------------- ### Vendor Order Response Sample Source: https://developer.simprogroup.com/apidoc?page=1ce5d9607216ee37fb61fe793d38e2c3 Example JSON structure for a vendor order when listing. ```json [ { "ID": 0, "Stage": "Pending", "Reference": "string", "ShowItemDueDate": true, "Totals": { "ExTax": 1.57, "IncTax": 1.57 } } ] ``` -------------------------------- ### Get Plant Type Response Sample Source: https://developer.simprogroup.com/apidoc?page=7356d7d84d7b589fc626e1ef374440c2 Example JSON response for a successful retrieval of a plant type. ```json { "ID": 0, "Name": "string", "Frequency": "Year", "Qty": 0, "Archived": true } ``` -------------------------------- ### Create Storage Device Response Sample Source: https://developer.simprogroup.com/apidoc?page=567bb087576e68109daf1d04361ff0d6 Example JSON response after successfully creating a storage device. Includes ID, Name, IsDefault, and Archived status. ```json { "ID": 0, "Name": "string", "IsDefault": true, "Archived": true } ``` -------------------------------- ### Prebuild Catalog Response (201 Created) Source: https://developer.simprogroup.com/apidoc?page=128c7259ed396d9691286cc1ddcbc541 This is a sample response when a prebuild catalog is successfully created. It includes detailed information about the catalog item. ```json { "Catalog": { "ID": 0, "PartNo": "string", "Name": "string", "TradePrice": 0, "TradePriceEx": 0, "TradePriceInc": 0, "SplitPrice": 0, "SplitPriceEx": 0, "SplitPriceInc": 0 }, "Quantity": 1.57, "Cost": 1.57, "LaborTime": 1.57, "FitTime": { "ID": 12345, "Name": "string", "Multiplier": 1.57 }, "DisplayOrder": 0, "Total": { "Cost": 1.57, "LaborTime": 1.57 } } ``` -------------------------------- ### Get a customer contract custom field (setup) Source: https://developer.simprogroup.com/apidoc?page=833956a760d996ae61ea8b385e9fb6f0 Retrieves the details of a specific customer contract custom field. ```APIDOC ## Get a customer contract custom field (setup) ### Description Retrieves the details of a specific customer contract custom field. ### Method GET ### Endpoint /api/v1.0/companies/{companyID}/setup/customFields/customerContracts/{customFieldID} ### Parameters #### Path Parameters - **companyID** (integer) - Required - A build with Multi-company setup may have companyID >= 0, other builds use 0 by default. - **customFieldID** (integer) - Required - A valid custom field id. ### Response #### Success Response (200) - **ID** (integer) - Description - **Name** (string) - Description - **Type** (string) - Description (Enum: "List" "Text" "Date" "Numeric" "Hyperlink") - **ListItems** (Array of strings or null) - Description - **IsMandatory** (boolean) - Description - **Order** (integer) - Description - **Archived** (boolean) - Description - **Locked** (boolean) - Description ### Response Example ```json { "ID": 12345, "Name": "string", "Type": "List", "ListItems": [ "string" ], "IsMandatory": true, "Order": 0, "Archived": true, "Locked": true } ``` ``` -------------------------------- ### List Storage Devices Response Sample Source: https://developer.simprogroup.com/apidoc?page=567bb087576e68109daf1d04361ff0d6 Example JSON response when listing all storage devices. It includes the ID and Name of each device. ```json [ { "ID": 0, "Name": "string" } ] ``` -------------------------------- ### Get a customer contact custom field (setup) Source: https://developer.simprogroup.com/apidoc?page=833956a760d996ae61ea8b385e9fb6f0 Retrieves details for a specific customer contact custom field by its ID. ```APIDOC ## Get a customer contact custom field (setup) ### Description Retrieves details for a specific customer contact custom field by its ID. ### Method GET ### Endpoint /api/v1.0/companies/{companyID}/setup/customFields/customerContacts/{customFieldID} ### Parameters #### Path Parameters - **companyID** (integer) - Required - A build with Multi-company setup may have companyID >= 0, other builds use 0 by default. - **customFieldID** (integer) - Required - A valid custom field id. ### Responses #### Success Response (200) Customer contact custom field (setup) details. - **ID** (integer) - **Name** (string) - **Type** (string) - Enum: "List", "Text", "Date", "Numeric", "Hyperlink" - **ListItems** (Array of strings or null) - List of text to be used when the customer field type is set to `List` only. - **IsMandatory** (boolean) - **Order** (integer) - Range: [0 .. 32767] - **Archived** (boolean) - **Locked** (boolean) #### Response Example (200) ```json { "ID": 12345, "Name": "string", "Type": "List", "ListItems": [ "string" ], "IsMandatory": true, "Order": 0, "Archived": true, "Locked": true } ``` #### Error Response (404) Customer contact custom field (setup) not found. ``` -------------------------------- ### Get vendor order custom field (setup) details Source: https://developer.simprogroup.com/apidoc?page=833956a760d996ae61ea8b385e9fb6f0 Retrieves the details of a specific vendor order custom field by its ID. ```APIDOC ## Get vendor order custom field (setup) details ### Description Retrieves the details of a specific vendor order custom field by its ID. ### Method GET ### Endpoint /api/v1.0/companies/{companyID}/setup/customFields/vendorOrders/{customFieldID} ### Parameters #### Path Parameters - **companyID** (integer) - Required - A build with Multi-company setup may have companyID >= 0, other builds use 0 by default. - **customFieldID** (integer) - Required - A valid custom field ID. ### Response #### Success Response (200) - **ID** (integer) - The ID of the custom field. - **Name** (string) - The name of the custom field. - **Type** (string) - The type of the custom field. Enum: "List", "Text", "Date", "Numeric", "Hyperlink". - **ListItems** (Array of strings or null) - List of text items for 'List' type custom fields. - **IsMandatory** (boolean) - Indicates if the field is mandatory. - **Order** (integer) - The display order of the custom field. - **Archived** (boolean) - Indicates if the custom field is archived. - **Locked** (boolean) - Indicates if the custom field is locked. #### Response Example (200) ```json { "ID": 12345, "Name": "string", "Type": "List", "ListItems": [ "string" ], "IsMandatory": true, "Order": 0, "Archived": true, "Locked": true } ``` ``` -------------------------------- ### Successful Response Sample (201 Created) Source: https://developer.simprogroup.com/apidoc?page=e20580fa653ea5969f97040b4eb3c8db This is a sample response when prebuild items are successfully replaced. It includes detailed information about the updated item, such as its ID, pricing, tax code, and accounting details. ```json { "ID": 0, "Prebuild": { "ID": 0, "PartNo": "string", "Name": "string" }, "BillableItem": true, "BillableStatus": "Billable", "EstimatedTime": 0, "FitTime": { "ID": 12345, "Name": "string", "Multiplier": 1.57 }, "BasePrice": 0, "Markup": 0, "LaborCost": 1.57, "SalesTaxCode": { "ID": 12345, "Code": "GST", "Type": "Single", "Rate": 10 }, "Totals": { "PriceEx": 1.57, "PriceInc": 1.57, "EstimatedTime": 1.57 }, "DisplayOrder": 0, "DateModified": "2018-05-21T19:53:39+10:00", "Discount": 0, "SellPrice": { "ExTax": 1.57, "IncTax": 1.57, "ExDiscountExTax": 1.57, "ExDiscountIncTax": 1.57 }, "Total": { "Qty": 0, "Amount": { "ExTax": 1.57, "IncTax": 1.57 } }, "Claimed": { "ToDate": { "Qty": 1.57, "Amount": { "ExTax": 1.57, "IncTax": 1.57 } }, "Remaining": { "Qty": 1.57, "Amount": { "ExTax": 1.57, "IncTax": 1.57 } } }, "IncomeAccount": { "ID": 12345, "Name": "string", "Number": "string" } } ``` -------------------------------- ### Get Single Tax Code Response (200) Source: https://developer.simprogroup.com/apidoc?page=7e465bac7ed6e5c14972e5ff1487049d Example response for successfully retrieving a single tax code. Includes all tax code properties. ```json { "ID": 12345, "Code": "GST", "Name": "GST", "Rate": 10, "ReverseTaxEnabled": true, "IsPartIncomeDefault": true, "IsLaborIncomeDefault": true, "IsPurchaseDefault": true, "Archived": true, "DateModified": "2018-05-21T19:53:39+10:00" } ``` -------------------------------- ### Create Schedule - Response Sample Source: https://developer.simprogroup.com/apidoc?page=ccdb7bf9d93e5652b57cabcc8c41e061 Example JSON response after successfully creating a new schedule. It includes details of the created schedule, such as ID, Type, Reference, TotalHours, Notes, Staff, Date, Blocks, and creation metadata. ```json { "ID": 0, "Type": "lead", "Reference": "string", "TotalHours": 1.57, "Notes": "string", "Staff": { "ID": 123, "Name": "John Smith", "Type": "employee", "TypeId": 0 }, "Date": "2021-04-22", "Blocks": [ { "Hrs": 8, "StartTime": "08:00", "ISO8601StartTime": "2018-05-21T19:53:39+10:00", "EndTime": "16:00", "ISO8601EndTime": "2018-05-21T19:53:39+10:00", "ScheduleRate": { "ID": 12345, "Name": "Overtime" } } ], "_href": "string", "DateModified": "2018-05-21T19:53:39+10:00", "Project": "string" } ``` -------------------------------- ### Get Catalog Group Response Sample Source: https://developer.simprogroup.com/apidoc?page=5408c752aea14ba352fc3dad16b268d8 Example JSON response when retrieving a catalog group. Includes details like ID, Name, ParentGroup, DisplayOrder, and timestamps. ```json { "ID": 0, "Name": "string", "ParentGroup": { "ID": 0, "Name": "string" }, "DisplayOrder": 0, "DateCreated": "2018-05-21T19:53:39+10:00", "IsThirdPartyGroup": true, "DateModified": "2018-05-21T19:53:39+10:00", "Archived": true } ``` -------------------------------- ### Create Standard-Price Prebuild Source: https://developer.simprogroup.com/apidoc?page=128c7259ed396d9691286cc1ddcbc541 Creates a new standard-price prebuild for a given company. ```APIDOC ## POST /api/v1.0/companies/{companyID}/prebuilds/standardPrice/ ### Description Create a new standard-price prebuild. ### Method POST ### Endpoint /api/v1.0/companies/{companyID}/prebuilds/standardPrice/ ### Parameters #### Path Parameters - **companyID** (integer) - Required - Example: 12345. A build with Multi-company setup may have companyID >= 0, other builds use 0 by default. #### Request Body schema: application/json - **Group** (integer) - Required - ID of a prebuild group. - **Name** (string) - Required. - **IsFavorite** (boolean) - Set this to true if the item is commonly used and you wish to allocate it to the favourites group for quick access. - **PartNo** (string). - **SalesTaxCode** (integer) - ID of a tax code. - **Description** (string) - This column supports HTML formatting. - **Notes** (string) - This column supports HTML formatting. - **LaborTime** (number or null) - Required - >= 0. Format: ^\d+(\.\d{1,2})?$. - **TotalEx** (number) - Required - >= 0. Format: ^\d+(\.\d{1,2})?$. - **DisplayOrder** (integer) - Default: 0 - Range: [0 .. 32767]. - **Archived** (boolean). - **STCsEnabled** (boolean) - Small-scale Technology Certificates, an Australian government rebate used in conjunction with the renewable energy sector. This also turns on VEECs if that is enabled. - **STCs** (object). - **VEECs** (object). - **MaterialCostBuildBased** (boolean). - **MaterialCost** (number) - The value passed can be inclusive or exclusive of tax depending on your display settings. Format: ^\d+(\.\d{1,2})?$. - **MaterialSale** (string) - Enum: "Build", "Defaults", "None". - **MaterialMarkupPercentage** (number) - Format: ^\d+(\.\d{1,2})?$. - **MaterialSellPrice** (number) - The value passed can be inclusive or exclusive of tax depending on your display settings. Format: ^\d+(\.\d{1,2})?$. - **LabourTimeDefaultBased** (boolean). - **LabourRateDefaultBased** (boolean). - **LabourRate** (number) - The value passed can be inclusive or exclusive of tax depending on your display settings. Format: ^\d+(\.\d{1,2})?$. - **Labour** (number) - The value passed can be inclusive or exclusive of tax depending on your display settings. Format: ^\d+(\.\d{1,2})?$. - **LabourMarkupPercentage** (number) - Format: ^\d+(\.\d{1,2})?$. - **LabourSellPrice** (number) - The value passed can be inclusive or exclusive of tax depending on your display settings. Format: ^\d+(\.\d{1,2})?$. ### Responses #### Success Response (201) Standard-price prebuild created successfully. ``` -------------------------------- ### Get Payment Method Response Sample Source: https://developer.simprogroup.com/apidoc?page=9b945efebb006547a94415eadaa12921 Example JSON response when retrieving payment method details. Includes ID, Name, AccountNo, Type, FinanceCharge, and DateModified. ```json { "ID": 12345, "Name": "string", "AccountNo": "string", "Type": "Bank", "FinanceCharge": 0, "DateModified": "2018-05-21T19:53:39+10:00" } ``` -------------------------------- ### List all prebuilds Source: https://developer.simprogroup.com/apidoc?page=128c7259ed396d9691286cc1ddcbc541 Retrieves a list of all prebuilds. Supports filtering, sorting, and pagination. ```APIDOC ## List all prebuilds. ### Method GET ### Endpoint /api/v1.0/companies/{companyID}/prebuilds/ ### Parameters #### Path Parameters - **companyID** (integer) - Required - Identifier for the company. Use 0 for default or builds without multi-company setup. #### Query Parameters - **search** (string) - Optional - Default: "all". Enum: "all", "any". Determines if search results must match all or any provided fields. - **columns** (Array of strings) - Optional - Specifies which columns to display in the results. - **pageSize** (integer) - Optional - Default: 30. Maximum number of results to return (1-250). - **page** (integer) - Optional - Default: 1. Sets the page number for paginated requests. - **orderby** (Array of strings) - Optional - Sets the order of records. Prefix with '-' for descending order. Can be a comma-separated list. - **limit** (integer) - Optional - Sets the limit of records in a request. - **searchText** (string) - Optional - Wildcard search text to filter prebuilds by name or part number. ### Responses #### Success Response (200) Returns a list of prebuilds. ##### Response Schema: application/json Array of prebuild objects, each containing: - **ID** (integer) - Required - **_href** (string) - Required - **PartNo** (string) - Required - **Name** (string) - Required - **AddOnPrice** (object) - Required - Contains ExTax, Tax, and IncTax. Only available if add-ons are enabled. - **DisplayOrder** (integer) - Optional - Default: 0. Range: 0 to 32767. - **Archived** (boolean) - Required ### Response Example (200) ```json [ { "ID": 0, "_href": "string", "PartNo": "string", "Name": "string", "AddOnPrice": { "ExTax": 1.57, "Tax": 1.57, "IncTax": 1.57 }, "DisplayOrder": 0, "Archived": true } ] ``` ``` -------------------------------- ### Access Company-Specific Resources Source: https://developer.simprogroup.com/apidoc?page=07adc9c3c19b7c17e7309e86c22161a2 When working with multi-company setups, specify the company ID in the URL to access resources belonging to that company. For example, to view customers for company ID 1. ```http GET /api/v1.0/companies/1/customers/ ``` -------------------------------- ### 200 OK Response Sample for Set-Price Prebuild Source: https://developer.simprogroup.com/apidoc?page=128c7259ed396d9691286cc1ddcbc541 This is a sample JSON response for a successful retrieval of a set-price prebuild. It details all available fields for a prebuild item. ```json { "ID": 0, "Group": { "ID": 0, "Name": "string", "ParentGroup": { "ID": 0, "Name": "string" } }, "IsFavorite": true, "PartNo": "string", "Name": "string", "SalesTaxCode": { "ID": 12345, "Code": "GST", "Type": "Single", "Rate": 10 }, "Description": "string", "Notes": "string", "LaborTime": 1.57, "LaborTimeBasedOnBuild": 1.57, "Materials": 1.57, "Labour": 1.57, "MaterialMarkup": 1.57, "LabourMarkup": 1.57, "Profit": 1.57, "Margin": 1.57, "TotalEx": 1.57, "TotalInc": 1.57, "AddOnEnabled": true, "MaterialsAddOn": 1.57, "LabourAddOn": 1.57, "MaterialMarkupAddOn": 1.57, "LabourMarkupAddOn": 1.57, "ProfitAddOn": 1.57, "MarginAddOn": 1.57, "AddOnPrice": { "ExTax": 1.57, "Tax": 1.57, "IncTax": 1.57 }, "DisplayOrder": 0, "Archived": true, "DateModified": "2018-05-21T19:53:39+10:00", "CustomFields": [ { "CustomField": { "ID": 12345, "Name": "string", "Type": "List", "ListItems": [ "string" ], "IsMandatory": true }, "Value": "string" } ], "STCsEnabled": true, "STCs": { "Zone1": { "NumberOfSTCs": 1.57 }, "Zone2": { "NumberOfSTCs": 1.57 }, "Zone3": { "NumberOfSTCs": 1.57 }, "Zone4": { "NumberOfSTCs": 1.57 }, "Zone5": { "NumberOfSTCs": 1.57 } }, "VEECs": { "Metropolitan": { "Gas": 1.57, "Electric": 1.57 }, "Regional": { "Gas": 1.57, "Electric": 1.57 } } } ``` -------------------------------- ### Get Job Invoice Custom Field Response Sample Source: https://developer.simprogroup.com/apidoc?page=12ceff2290bb9039beaa8f36d5dec226 Example JSON response when retrieving details of a job invoice custom field. Includes custom field properties and its value. ```json { "CustomField": { "ID": 12345, "Name": "string", "Type": "List", "ListItems": [ "string" ], "IsMandatory": true }, "Value": "string" } ``` -------------------------------- ### List Prebuild Item Custom Fields Source: https://developer.simprogroup.com/apidoc?page=833956a760d996ae61ea8b385e9fb6f0 Retrieves a list of all prebuild item custom fields (setup). Supports filtering and pagination through query parameters. ```APIDOC ## GET /api/v1.0/companies/{companyID}/setup/customFields/prebuilds/ ### Description Lists all prebuild item custom fields (setup). ### Method GET ### Endpoint /api/v1.0/companies/{companyID}/setup/customFields/prebuilds/ ### Parameters #### Path Parameters - **companyID** (integer) - Required - A build with Multi-company setup may have companyID >= 0, other builds use 0 by default. #### Query Parameters - **search** (string) - Optional - Default: "all" - Enum: "all", "any" - Determines if search results must match all or any provided fields. - **columns** (Array of strings) - Optional - Example: columns=ID,Name - Specifies which columns to display when listing or searching resources. - **pageSize** (integer) - Optional - Default: 30 - Range: [1 .. 250] - Sets the maximum number of results to be returned. - **page** (integer) - Optional - Default: 1 - Sets the page number for paginated requests. - **orderby** (Array of strings) - Optional - Example: orderby=Name - Sets the order of the requested records. Prefix with '-' for descending order. Comma-separated list is supported. - **limit** (integer) - Optional - Example: limit=10 - Sets the limit of the number of records in a request. ### Responses #### Success Response (200) - **ID** (integer) - Required - **Name** (string) - Required - **Type** (string) - Required (Custom Field Type) - Enum: "List", "Text", "Date", "Numeric", "Hyperlink" - **Order** (integer) - Required - Range: [0 .. 32767] - **Locked** (boolean) - Required #### Response Example (200) ```json [ { "ID": 12345, "Name": "string", "Type": "List", "Order": 0, "Locked": true } ] ``` ``` -------------------------------- ### Get Catalog Pricing Tier Price Response Sample Source: https://developer.simprogroup.com/apidoc?page=5408c752aea14ba352fc3dad16b268d8 Example of a successful response when retrieving a catalog pricing tier price. Includes details like ID, Quantity, Markup, and SellPrice. ```json { "ID": 1.57, "Quantity": 1.57, "QuantityInString": "string", "Markup": 1.57, "SellPrice": 1.57, "MarkupAddOn": 1.57, "SellPriceAddOn": 1.57, "Setting": "Fixed Markup" } ``` -------------------------------- ### List Purchasing Stages Response Sample Source: https://developer.simprogroup.com/apidoc?page=23ce0eb7d180f3dc8391d4af48572d21 Example JSON response when listing all purchasing stages. It includes the ID and Name of each stage. ```json [ { "ID": 12345, "Name": "Stage 1" } ] ``` -------------------------------- ### Get Recurring Job Section Response Sample Source: https://developer.simprogroup.com/apidoc?page=47d1b3eff79ecdfc51222ea2d777571f Example JSON response when retrieving details of a recurring job section. Includes fields like ID, Name, Description, DisplayOrder, and DateModified. ```json { "ID": 0, "Name": "string", "Description": "string", "DisplayOrder": 0, "DateModified": "2018-05-21T19:53:39+10:00" } ``` -------------------------------- ### Create Lead Payload Example Source: https://developer.simprogroup.com/apidoc?page=ae5361473c0038d7f8c4b4236c50b2da This is a sample JSON payload for creating a new lead. Ensure all required fields are populated correctly. ```json { "LeadName": "string", "Customer": 0, "CustomerContact": 0, "AdditionalContacts": [ 0 ], "Site": 0, "SiteContact": 0, "Stage": "Open", "ArchiveReason": 0, "FollowUpDate": "2021-04-22", "Description": "string", "Notes": "string", "CostCenter": 0, "Tags": [ 0 ], "Salesperson": 0, "ProjectManager": 0, "Status": 0, "Forecast": { "EstimatedPrice": 1.57, "Probability": 100, "ExpectedYear": 1900, "ExpectedMonth": 1 }, "AutoAdjustStatus": true } ``` -------------------------------- ### Pricing Tier Creation Response Source: https://developer.simprogroup.com/apidoc?page=23ce0eb7d180f3dc8391d4af48572d21 Example response after successfully creating a new pricing tier. ```json { "ID": 12345, "Name": "Tier 1 (Service name)", "PriceBased": "Buy", "DefaultMarkup": 10, "Default": true, "TierType": "Quantity", "ScaledTierPricing": [ { "ScaledPrice": 0, "Markup": 100 } ], "DisplayOrder": 0, "Archived": true, "DateModified": "2018-05-21T19:53:39+10:00" } ``` -------------------------------- ### JSON Payload Example Source: https://developer.simprogroup.com/apidoc?page=a8231ece0d8c47b8bf1875242406c189 Example JSON payload for a UnitPrice and Total object, used in requests. ```json { "UnitPrice": { "ExTax": 1.57, "IncTax": 1.57 }, "Total": { "ExTax": 1.57, "IncTax": 1.57 } } ``` -------------------------------- ### Response Sample: List of Job Cost Center Prebuild Items Source: https://developer.simprogroup.com/apidoc?page=e20580fa653ea5969f97040b4eb3c8db This JSON array represents a sample response when listing all job cost center prebuild items. Each object in the array details a prebuild item with its ID, pricing, and billable status. ```json [ { "ID": 0, "Prebuild": { "ID": 0, "PartNo": "string", "Name": "string" }, "BillableStatus": "Billable", "Discount": 0, "SellPrice": { "ExTax": 1.57, "IncTax": 1.57, "ExDiscountExTax": 1.57, "ExDiscountIncTax": 1.57 }, "Total": { "Qty": 0, "Amount": { "ExTax": 1.57, "IncTax": 1.57 } }, "Claimed": { "ToDate": { "Qty": 1.57, "Amount": { "ExTax": 1.57, "IncTax": 1.57 } }, "Remaining": { "Qty": 1.57, "Amount": { "ExTax": 1.57, "IncTax": 1.57 } } } } ] ``` -------------------------------- ### JSON Payload Example Source: https://developer.simprogroup.com/apidoc?page=39d70739ea1835b927cd2733be6ad7e3 This is an example of a JSON payload for a request. Ensure the 'Name' is a string and 'Archived' is a boolean. ```json { "Name": "string", "Archived": true } ``` -------------------------------- ### Project Response Sample Source: https://developer.simprogroup.com/apidoc?page=47d1b3eff79ecdfc51222ea2d777571f This is a sample JSON response for a project. It includes details about the customer, site, contacts, pricing, and financial totals. ```json { "ID": 12345, "Type": "Project", "Customer": { "ID": 12345, "Type": "Individual", "CompanyName": "John Smith Pty Ltd", "GivenName": "John", "FamilyName": "Smith" }, "Site": { "ID": 12345, "Name": "string" }, "CustomerContact": { "ID": 0, "GivenName": "string", "FamilyName": "string" }, "AdditionalContacts": [ { "ID": 0, "GivenName": "string", "FamilyName": "string" } ], "SiteContact": { "ID": 0, "GivenName": "string", "FamilyName": "string" }, "Name": "string", "OrderNo": "string", "Description": "string", "Notes": "string", "Tags": [ { "ID": 12345, "Name": "string" } ], "RecurringStartDate": "2021-04-22", "NextRecurringDate": "2021-04-22", "RecurringQuantity": 0, "RecurringFrequency": "week", "Salesperson": { "ID": 123, "Name": "John Smith", "Type": "employee", "TypeId": 0 }, "ProjectManager": { "ID": 123, "Name": "John Smith", "Type": "employee", "TypeId": 0 }, "Technicians": [ { "ID": 123, "Name": "John Smith" } ], "PricingTier": { "ID": 12345, "Name": "Tier 1 (Service name)", "DefaultMarkup": 10 }, "LaborOverhead": 1.57, "LaborType": { "ID": 12345, "Name": "string" }, "LaborFitTime": { "ID": 12345, "Name": "string", "Multiplier": 1.57 }, "LabourTaxCode": { "ID": 12345, "Code": "GST", "Type": "Single", "Rate": 10 }, "MaterialMarkup": 0, "Total": { "ExTax": 1.57, "Tax": 1.57, "IncTax": 1.57 }, "Totals": { "MaterialsCost": { "Estimate": 1.57, "Revized": 1.57 }, "ResourcesCost": { "Total": { "Estimate": 1.57, "Revized": 1.57 }, "Labor": { "Estimate": 1.57, "Revized": 1.57 }, "LaborHours": { "Estimate": 1.57, "Revized": 1.57 }, "PlantAndEquipment": { "Estimate": 1.57, "Revized": 1.57 }, "PlantAndEquipmentHours": { "Estimate": 1.57, "Revized": 1.57 }, "Overhead": { "Estimate": 1.57, "Revized": 1.57 } }, "MaterialsMarkup": { "Estimate": 1.57, "Revized": 1.57 }, "ResourcesMarkup": { "Total": { "Estimate": 1.57, "Revized": 1.57 }, "Labor": { "Estimate": 1.57, "Revized": 1.57 }, "PlantAndEquipment": { "Estimate": 1.57, "Revized": 1.57 } }, "Adjusted": { "Estimate": 1.57, "Revized": 1.57 }, "Discount": 1.57, "GrossProfitLoss": { "Estimate": 1.57, "Revized": 1.57 }, "GrossMargin": { "Estimate": 1.57, "Revized": 1.57 }, "NettProfitLoss": { "Estimate": 1.57, "Revized": 1.57 }, "NettMargin": { "Estimate": 1.57, "Revized": 1.57 } }, "CustomFields": [ { "CustomField": { "ID": 12345, "Name": "string", "Type": "List", "ListItems": [ "string" ], "IsMandatory": true }, "Value": "string" } ], "DateModified": "2018-05-21T19:53:39+10:00" } ``` -------------------------------- ### Example Web Hook Payload Source: https://developer.simprogroup.com/apidoc?page=cd8682773ab1b07fdc9661984e281ce3 This is an example of a real webhook payload when an event occurs. It includes actual data that can be used to fetch further information via the API. ```APIDOC ## POST https://your.system.url/webhooks.php ### Description This endpoint is called when a subscribed event occurs, delivering actual data related to the event. ### Method POST ### Endpoint https://your.system.url/webhooks.php ### Request Body - **ID** (string) - Identifier for the event type (e.g., "company.customer.updated"). - **build** (string) - URL of the Simpro build. - **description** (string) - A human-readable description of the event. - **name** (string) - The name of the event. - **action** (string) - The action that triggered the event (e.g., "updated"). - **reference** (object) - Contains specific data related to the event. - **companyID** (integer) - The ID of the company. - **customerID** (integer) - The ID of the customer. - **companyCustomerID** (integer) - The ID of the company customer. - **date_triggered** (string) - The date and time the event occurred. ### Request Example ```json { "ID":"company.customer.updated", "build":"{BUILD_URL}", "description":"Company customer #518 has been updated.", "name":"Company customer", "action":"updated", "reference":{ "companyID":0, "customerID":518, "companyCustomerID":518 }, "date_triggered":"2019-06-28T16:35:12+10:00" } ``` ### Response This endpoint does not explicitly define a success response body, but it triggers a POST request to the specified Callback URL. ``` -------------------------------- ### Example Web Hook Payload Source: https://developer.simprogroup.com/apidoc?page=cd8682773ab1b07fdc9661984e281ce3 This is an example payload for an actual 'company.customer.updated' event. It includes specific reference data that can be used to fetch more details via the API. ```json POST https://your.system.url/webhooks.php { "ID":"company.customer.updated", "build":"{BUILD_URL}", "description":"Company customer #518 has been updated.", "name":"Company customer", "action":"updated", "reference":{ "companyID":0, "customerID":518, "companyCustomerID":518 }, "date_triggered":"2019-06-28T16:35:12+10:00" } ``` -------------------------------- ### List Site Custom Fields (Setup) Source: https://developer.simprogroup.com/apidoc?page=833956a760d996ae61ea8b385e9fb6f0 Retrieves a list of all site custom fields. Supports filtering and pagination using query parameters. ```json [ { "ID": 12345, "Name": "string", "Type": "List", "Order": 0, "Locked": true } ] ``` -------------------------------- ### Get Updated Company Customer Source: https://developer.simprogroup.com/apidoc?page=ff7c0fcd6a31e735a61c001f75426961 After a PATCH request, a subsequent GET request to the resource URL will show the updated details. A successful PATCH returns `204 No Content`. ```http GET /api/v1.0/companies/0/customers/individuals/1881 { "ID": 1881, "Title": "Mr", "GivenName": "Johnno", "FamilyName": "Smith", "Phone": "07 1324 5687", "AltPhone": "", ...etc. } ``` -------------------------------- ### Create Recommendation Response Sample Source: https://developer.simprogroup.com/apidoc?page=dd530f67a3c5c4f3768841df8f40fb0f This is a sample JSON response after successfully creating a recommendation. It includes the created recommendation's details. ```json { "ID": 12345, "Name": "New Pipe", "Prebuild": { "ID": 0, "PartNo": "string", "Name": "string", "AddOnPrice": { "ExTax": 1.57, "Tax": 1.57, "IncTax": 1.57 }, "DisplayOrder": 0, "Archived": true }, "ChargeRate": 0, "DateModified": "2018-05-21T19:53:39+10:00" } ``` -------------------------------- ### Create Recommendation Request Sample Source: https://developer.simprogroup.com/apidoc?page=dd530f67a3c5c4f3768841df8f40fb0f This is a sample JSON payload for creating a new recommendation. It includes the Name, Prebuild ID, and ChargeRate. ```json { "Name": "New Pipe", "Prebuild": 0, "ChargeRate": 0 } ``` -------------------------------- ### GET Resource with Custom Columns Source: https://developer.simprogroup.com/apidoc?page=07adc9c3c19b7c17e7309e86c22161a2 Specify desired columns in the query string of a GET request to retrieve only specific data fields for resources. This helps in optimizing data transfer and focusing on relevant information. ```http GET /api/v1.0/companies/0/customers/individuals/?columns=ID,BillingAddress ``` ```json [ { "ID": 1885, "BillingAddress": { "Address": "123 Fake St", "City": "My City", "State": "STT", "PostalCode": "0001", "Country": "Australia" } }, { "ID": 1884, "BillingAddress": { "Address": "", "City": "", "State": "", "PostalCode": "", "Country": "Australia" } } ] ``` -------------------------------- ### Create Purchasing Stage Response Sample Source: https://developer.simprogroup.com/apidoc?page=23ce0eb7d180f3dc8391d4af48572d21 Example JSON response after successfully creating a purchasing stage. Includes ID, Name, and Archived status. ```json { "ID": 12345, "Name": "Stage 1", "Archived": true } ``` -------------------------------- ### Get a Schedule Source: https://developer.simprogroup.com/apidoc?page=ccdb7bf9d93e5652b57cabcc8c41e061 Retrieves the details of a specific schedule by its ID. ```APIDOC ## GET /api/v1.0/companies/{companyID}/schedules/{scheduleID} ### Description Retrieves the details of a specific schedule. ### Method GET ### Endpoint /api/v1.0/companies/{companyID}/schedules/{scheduleID} ### Parameters #### Path Parameters - **companyID** (integer) - Required - The ID of the company. - **scheduleID** (integer) - Required - The ID of the schedule to retrieve. ### Response #### Success Response (200) - **ID** (integer) - **Type** (string Enum: "lead" "quote" "job" "activity") - Type of schedule. - **Reference** (string) - For activity, reference is activity type ID. For job and quote, reference would be Job/Quote ID and cost center ID separated by hyphen(-). For leads, reference is lead ID. - **TotalHours** (number) - Total hours or duration of a schedules. - **Notes** (string) - **Staff** (object) - Staff assigned for the schedule. - **Date** (string ) - Date in YYYY-MM-DD format. - **Blocks** (Array of objects) - **_href** (string) - Link to this schedule's details - **DateModified** (string ) - RFC3339 date-time format. - **Project** (string) - Project context for job and quote schedules. ### Response Example ```json { "ID": 0, "Type": "lead", "Reference": "string", "TotalHours": 1.57, "Notes": "string", "Staff": { "ID": 123, "Name": "John Smith", "Type": "employee", "TypeId": 0 }, "Date": "2021-04-22", "Blocks": [ { "Hrs": 8, "StartTime": "08:00", "ISO8601StartTime": "2018-05-21T19:53:39+10:00", "EndTime": "16:00", "ISO8601EndTime": "2018-05-21T19:53:39+10:00", "ScheduleRate": { "ID": 12345, "Name": "Overtime" } } ], "_href": "string", "DateModified": "2018-05-21T19:53:39+10:00", "Project": "string" } ``` #### Error Response **404** - Schedule not found. ``` -------------------------------- ### List all set-price prebuilds Source: https://developer.simprogroup.com/apidoc?page=128c7259ed396d9691286cc1ddcbc541 Retrieves a list of all set-price prebuilds. Supports filtering, sorting, and pagination. ```APIDOC ## List all set-price prebuilds. ### Method GET ### Endpoint /api/v1.0/companies/{companyID}/prebuilds/setPrice/ ### Parameters #### Path Parameters - **companyID** (integer) - Required - Identifier for the company. Use 0 for default or builds without multi-company setup. #### Query Parameters - **search** (string) - Optional - Default: "all". Enum: "all", "any". Determines if search results must match all or any provided fields. - **columns** (Array of strings) - Optional - Specifies which columns to display in the results. - **pageSize** (integer) - Optional - Default: 30. Maximum number of results to return (1-250). - **page** (integer) - Optional - Default: 1. Sets the page number for paginated requests. - **orderby** (Array of strings) - Optional - Sets the order of records. Prefix with '-' for descending order. Can be a comma-separated list. - **limit** (integer) - Optional - Sets the limit of records in a request. - **searchText** (string) - Optional - Wildcard search text to filter prebuilds by name or part number. ### Responses #### Success Response (200) Returns a list of set-price prebuilds. ##### Response Schema: application/json Array of set-price prebuild objects, each containing: - **ID** (integer) - Required - **PartNo** (string) - Required - **Name** (string) - Required - **AddOnPrice** (object) - Required - Contains ExTax, Tax, and IncTax. Only available if add-ons are enabled. - **DisplayOrder** (integer) - Optional - Default: 0. Range: 0 to 32767. - **Archived** (boolean) - Required ### Response Example (200) ```json [ { "ID": 0, "PartNo": "string", "Name": "string", "AddOnPrice": { "ExTax": 1.57, "Tax": 1.57, "IncTax": 1.57 }, "DisplayOrder": 0, "Archived": true } ] ``` ``` -------------------------------- ### List Lead Archive Reasons Response Sample Source: https://developer.simprogroup.com/apidoc?page=91928855a44a5836a434269ec3b5c6b2 Example response when listing all lead archive reasons. It returns an array of reason objects, each with an ID and the reason text. ```json [ { "ID": 0, "ArchiveReason": "string" } ] ```