openapi: 3.2.0
info:
title: ERP API v2.1 Quote API
description: Provides a common API surface for accessing ECI ERP products.
contact:
name: ECI Manufacturing Division Integration Team
url: https://www.ecisolutions.com/support/
version: 3.5.585+b1e45fd230
servers:
- url: https://api-erp.integrations.ecimanufacturing.com:443
description: Production
security:
- Bearer: []
tags:
- name: Quote
paths:
/api/v2.1/quotes:
get:
tags:
- Quote
summary: Get a list of Quotes from the ERP system that match the given filters
description: 'Gets a list of Quote.
## Supported ERPs
- M1
- Macola
- JobBOSS²
## Resource Features
Feature |Supported |Notes
------------|------------|------------
Filter Expressions|**Yes**|
Sort Expressions|**Yes**
Field Selection|**Yes**
Pagination|**Yes**
UniqueID|uniqueID|
## Features by Field
Field |Filterable |Sortable |Supported ERPs
------------|------------|------------|------------
uniqueID|Yes|Yes|M1, Macola, JobBOSS²
rowVersion|Yes|Yes|M1, Macola, JobBOSS²
quoteID|Yes|Yes|M1, Macola, JobBOSS²
employeeID|Yes|Yes|M1, Macola, JobBOSS²
organizationID|Yes|Yes|M1, Macola, JobBOSS²
locationID|Yes|Yes|M1, Macola, JobBOSS²
contactID|No|Yes|M1, Macola, JobBOSS²
invoiceLocationID|No|Yes|M1, Macola, JobBOSS²
quoteDate|Yes|Yes|M1, Macola, JobBOSS²
dueDate|No|Yes|M1, Macola, JobBOSS²
isClosed|Yes|Yes|M1, Macola, JobBOSS²
closedDate|Yes|Yes|M1, Macola, JobBOSS²
currencyRateID|No|Yes|M1, Macola, JobBOSS²
customerID|Yes|Yes|M1, Macola, JobBOSS²
expirationDate|Yes|Yes|M1, Macola, JobBOSS²
plantID|No|Yes|M1, Macola, JobBOSS²
projectID|No|Yes|M1, Macola, JobBOSS²
shipToOrganizationID|No|Yes|M1, Macola, JobBOSS²
shipToContactID|No|Yes|M1, Macola, JobBOSS²
shipToLocationID|No|Yes|M1, Macola, JobBOSS²
statusCode|No|Yes|M1, Macola, JobBOSS²
totalSalesAmount|No|Yes|Macola
awardProbability|No|Yes|Macola
lostSaleCode|No|Yes|Macola'
parameters:
- name: fields
in: query
description: A comma-separated list of fields to include in the result.
schema:
type: string
- name: sort
in: query
description: A comma-separated list of sort expressions.
schema:
type: string
- name: take
in: query
description: Limit the number of results being returned
schema:
minimum: 0
type: integer
- name: skip
in: query
description: The number of results to skip. Combine with 'take' to fetch records in pages
schema:
minimum: 0
type: integer
- name: count
in: query
description: 'Data and count response behavior '
schema:
maximum: 2
minimum: 0
type: integer
- name: filters
in: query
description: See Filter Expressions for query string syntax. The Test UI and any generated code tool may expose filter parameters as a dictionary of name/value pairs, but if creating a raw HTTP request, they must be provided on the querystring as defined in the Filter Expression section.
style: form
schema:
type: object
additionalProperties:
type: string
examples:
Empty:
description: No filters applied
'Example #1':
description: A dictionary of name/value pairs that will be serialized as querystring parameters in the format ```name[operator]=value```
value:
uniqueID[eq]: cc90686b-399e-4094-b431-fa462f84b0a8
rowVersion[gte]: 123
quoteID[eq]: abc123
employeeID[eq]: abc123
organizationID[eq]: abc123
locationID[eq]: abc123
quoteDate[gte]: '2020-09-25T00:00:00.0000000'
isClosed[eq]: true
closedDate[gte]: '2020-09-25T00:00:00.0000000'
customerID[eq]: abc123
expirationDate[gte]: '2020-09-25T00:00:00.0000000'
- name: expand
in: query
description: '### Supported Expansions
An expansion expression containing a comma separater list of relationships to expand.
Name |Value |Description
------------|------------|-----------
customer|Organizations|The Customer Organization.
contact|Contacts|The Customer Contact record.
shipTo|Organizations|The Ship To Organization.
shipToContact|Contacts|The Ship To Contact record.
project|Projects|The Project record for this quote.
'
schema:
type: string
responses:
'200':
description: Success
content:
text/plain:
schema:
$ref: '#/components/schemas/QuoteListResponse'
application/json:
schema:
$ref: '#/components/schemas/QuoteListResponse'
text/json:
schema:
$ref: '#/components/schemas/QuoteListResponse'
operationId: getApiV21Quotes
x-operation-id-source: derived
/api/v2.1/quotes/{id}:
get:
tags:
- Quote
summary: Get a Quote from the ERP system that matches the given unique ID
description: 'Gets a Quote by unique ID.
## Supported ERPs
- M1
- Macola
- JobBOSS²
## Features by Field
Field |Supported ERPs
------------|------------
uniqueID||M1, Macola, JobBOSS²
rowVersion||M1, Macola, JobBOSS²
quoteID||M1, Macola, JobBOSS²
employeeID||M1, Macola, JobBOSS²
organizationID||M1, Macola, JobBOSS²
locationID||M1, Macola, JobBOSS²
contactID||M1, Macola, JobBOSS²
invoiceLocationID||M1, Macola, JobBOSS²
quoteDate||M1, Macola, JobBOSS²
dueDate||M1, Macola, JobBOSS²
isClosed||M1, Macola, JobBOSS²
closedDate||M1, Macola, JobBOSS²
currencyRateID||M1, Macola, JobBOSS²
customerID||M1, Macola, JobBOSS²
expirationDate||M1, Macola, JobBOSS²
plantID||M1, Macola, JobBOSS²
projectID||M1, Macola, JobBOSS²
shipToOrganizationID||M1, Macola, JobBOSS²
shipToContactID||M1, Macola, JobBOSS²
shipToLocationID||M1, Macola, JobBOSS²
statusCode||M1, Macola, JobBOSS²
totalSalesAmount||Macola
awardProbability||Macola
lostSaleCode||Macola'
parameters:
- name: id
in: path
description: The ID of the quote
required: true
schema:
type: string
responses:
'200':
description: Success
content:
text/plain:
schema:
$ref: '#/components/schemas/Quote'
application/json:
schema:
$ref: '#/components/schemas/Quote'
text/json:
schema:
$ref: '#/components/schemas/Quote'
operationId: getApiV21QuotesById
x-operation-id-source: derived
components:
schemas:
Contact:
title: Contact
type: object
properties:
uniqueID:
type: string
rowVersion:
type: integer
format: int64
contactID:
type: string
name:
type: string
organizationID:
type: string
organizationTypes:
type: array
items:
type: integer
format: int32
phoneNumber:
type: string
emailAddress:
type: string
isActive:
type: boolean
comments:
type: string
organization:
$ref: '#/components/schemas/Organization'
QuoteListResponse:
type: object
properties:
data:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Quote'
readOnly: true
resultCount:
type: integer
format: int32
additionalProperties: false
Organization:
title: Organization
type: object
properties:
uniqueID:
type: string
rowVersion:
type: integer
format: int64
name:
type: string
organizationID:
type: string
country:
type: string
isActive:
type: boolean
organizationTypes:
type: array
items:
type: integer
format: int32
phoneNumber:
type: string
customerPaymentTermID:
type: string
customerTaxCodeID:
type: string
supplierPaymentTermID:
type: string
supplierTaxCodeID:
type: string
currencyCode:
type: string
websiteUrl:
type: string
comments:
type: string
salesAccountID:
type: string
leadTimeDays:
type: integer
format: int32
minimumOrderAmount:
type: number
format: double
customerStatus:
type: integer
supplierStatus:
type: integer
Quote:
title: Quote
type: object
properties:
uniqueID:
type: string
rowVersion:
type: integer
format: int64
quoteID:
type: string
employeeID:
type: string
organizationID:
type: string
locationID:
type: string
contactID:
type: string
invoiceLocationID:
type: string
quoteDate:
type: string
format: date
dueDate:
type: string
format: date
isClosed:
type: boolean
closedDate:
type: string
format: date
currencyRateID:
type: string
customerID:
type: string
expirationDate:
type: string
format: date
plantID:
type: string
projectID:
type: string
shipToOrganizationID:
type: string
shipToContactID:
type: string
shipToLocationID:
type: string
statusCode:
type: string
totalSalesAmount:
type: number
format: double
awardProbability:
type: number
format: double
lostSaleCode:
type: string
customer:
$ref: '#/components/schemas/Organization'
contact:
$ref: '#/components/schemas/Contact'
shipTo:
$ref: '#/components/schemas/Organization'
shipToContact:
$ref: '#/components/schemas/Contact'
project:
$ref: '#/components/schemas/Project'
Project:
title: Project
type: object
properties:
uniqueID:
type: string
rowVersion:
type: integer
format: int64
projectID:
type: string
customerID:
type: string
locationID:
type: string
contactID:
type: string
dueDate:
type: string
format: date
projectDate:
type: string
format: date
closedDate:
type: string
format: date
shortDescription:
type: string
longDescription:
type: string
statusCode:
type: string
isClosed:
type: boolean
customer:
$ref: '#/components/schemas/Organization'
securitySchemes:
Bearer:
type: oauth2
description: OAuth 2.0 Client Credentials Flow with API Users issued from Integration Engine Management Console
flows:
clientCredentials:
tokenUrl: https://api-user.integrations.ecimanufacturing.com/oauth2/api-user/token
scopes:
openid: openid