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