721 lines
19 KiB
YAML
721 lines
19 KiB
YAML
swagger: "2.0"
|
|
host: "vendor-gw.fabric.tnxs.net:8080"
|
|
securityDefinitions:
|
|
ApiKeyAuth:
|
|
type: apiKey
|
|
in: header
|
|
name: X-API-Key
|
|
security:
|
|
- ApiKeyAuth: []
|
|
basePath: "/v1"
|
|
schemes:
|
|
- "http"
|
|
info:
|
|
version: 1.3.0
|
|
title: "vendor-gw"
|
|
contact:
|
|
email: "noc@taxnexus.net"
|
|
license:
|
|
name: "Proprietary - Copyright (c) 2018-2021 by Taxnexus, Inc."
|
|
termsOfService: "https://www.taxnexus.com/terms/"
|
|
description: |
|
|
# Taxnexus Vendor Gateway
|
|
consumes:
|
|
- "application/json"
|
|
produces:
|
|
- "application/json"
|
|
parameters:
|
|
itemNumberPath:
|
|
description: The Item Number
|
|
in: path
|
|
name: item
|
|
required: true
|
|
type: string
|
|
itemNumberQuery:
|
|
description: The Item Number
|
|
in: query
|
|
name: item
|
|
required: false
|
|
type: string
|
|
lastModifiedEndQuery:
|
|
description: The last modified end timestamp
|
|
in: query
|
|
name: endDate
|
|
required: false
|
|
type: string
|
|
lastModifiedStartQuery:
|
|
description: The last modified start timestamp
|
|
in: query
|
|
name: startDate
|
|
required: false
|
|
type: string
|
|
licenseNumberQuery:
|
|
description: The Licnese Number for the query
|
|
in: query
|
|
name: license
|
|
required: false
|
|
type: string
|
|
limitQuery:
|
|
description: "How many objects to return at one time"
|
|
format: int64
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
type: integer
|
|
nameQuery:
|
|
description: The Name of the Object
|
|
in: query
|
|
name: name
|
|
required: false
|
|
type: string
|
|
offsetQuery:
|
|
description: How many objects to skip
|
|
format: int64
|
|
in: query
|
|
name: offset
|
|
required: false
|
|
type: integer
|
|
partnerKeyQuery:
|
|
description: The Partner Key
|
|
in: query
|
|
name: partner
|
|
required: false
|
|
type: string
|
|
poIdQuery:
|
|
description: The ID Purchase Order to be retrieved
|
|
in: query
|
|
name: poId
|
|
required: false
|
|
type: string
|
|
stateCodeQuery:
|
|
description: The 2-character State Code
|
|
in: query
|
|
name: state
|
|
required: true
|
|
type: string
|
|
taxnexusUserQuery:
|
|
description: Taxnexus User Account Number (T0000001)
|
|
in: query
|
|
name: user
|
|
required: true
|
|
type: string
|
|
userKeyQuery:
|
|
description: The Taxnexus User's Key on the Vendor API
|
|
in: query
|
|
name: user
|
|
required: true
|
|
type: string
|
|
vendorQuery:
|
|
description: The name of the Vendor Gateway to be used
|
|
enum:
|
|
- blaze
|
|
- metrc
|
|
in: query
|
|
name: vendor
|
|
required: false
|
|
type: string
|
|
responses:
|
|
AccessForbidden:
|
|
description: Access forbidden, account lacks access
|
|
schema:
|
|
$ref: "#/definitions/Error"
|
|
Conflict:
|
|
description: Conflict
|
|
schema:
|
|
$ref: "#/definitions/Error"
|
|
InvalidDataError:
|
|
description: Invalid data was sent
|
|
schema:
|
|
$ref: "#/definitions/InvalidError"
|
|
InvoiceResponse:
|
|
description: An array of Invoice (full) objects
|
|
schema:
|
|
$ref: "#/definitions/InvoiceResponse"
|
|
AccountResponse:
|
|
description: An array of AccountBasic objects
|
|
schema:
|
|
$ref: "#/definitions/AccountResponse"
|
|
NotFound:
|
|
description: Resource was not found
|
|
schema:
|
|
$ref: "#/definitions/Error"
|
|
PurchaseOrderResponse:
|
|
description: An array of Purchase Order objects
|
|
schema:
|
|
$ref: "#/definitions/PurchaseOrderResponse"
|
|
ServerError:
|
|
description: Server Internal Error
|
|
schema:
|
|
$ref: "#/definitions/Error"
|
|
Unauthorized:
|
|
description: Access unauthorized, invalid API-KEY was used
|
|
schema:
|
|
$ref: "#/definitions/Error"
|
|
UnprocessableEntity:
|
|
description: Unprocessable Entity, likely a bad parameter
|
|
schema:
|
|
$ref: "#/definitions/Error"
|
|
paths:
|
|
/accounts:
|
|
get:
|
|
tags:
|
|
- Accounts
|
|
operationId: getAccounts
|
|
description:
|
|
Get the Stores, Accounts or other entities that correspond to
|
|
locations
|
|
parameters:
|
|
- $ref: "#/parameters/licenseNumberQuery"
|
|
- $ref: "#/parameters/partnerKeyQuery"
|
|
- $ref: "#/parameters/stateCodeQuery"
|
|
- $ref: "#/parameters/userKeyQuery"
|
|
- $ref: "#/parameters/vendorQuery"
|
|
responses:
|
|
"200":
|
|
$ref: "#/responses/AccountResponse"
|
|
"401":
|
|
$ref: "#/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/responses/AccessForbidden"
|
|
"404":
|
|
$ref: "#/responses/NotFound"
|
|
"422":
|
|
$ref: "#/responses/UnprocessableEntity"
|
|
"500":
|
|
$ref: "#/responses/ServerError"
|
|
summary: Get Accounts for this User
|
|
/invoices:
|
|
get:
|
|
summary: Get a list of Invoices
|
|
operationId: getInvoices
|
|
description: Return a list of available Taxnexus Invoices
|
|
tags:
|
|
- Invoices
|
|
parameters:
|
|
- $ref: "#/parameters/itemNumberQuery"
|
|
- $ref: "#/parameters/lastModifiedEndQuery"
|
|
- $ref: "#/parameters/lastModifiedStartQuery"
|
|
- $ref: "#/parameters/licenseNumberQuery"
|
|
- $ref: "#/parameters/limitQuery"
|
|
- $ref: "#/parameters/offsetQuery"
|
|
- $ref: "#/parameters/partnerKeyQuery"
|
|
- $ref: "#/parameters/stateCodeQuery"
|
|
- $ref: "#/parameters/userKeyQuery"
|
|
- $ref: "#/parameters/vendorQuery"
|
|
responses:
|
|
"200":
|
|
description:
|
|
A list of Invoices for this User was retrieved successfully
|
|
schema:
|
|
$ref: "#/definitions/InvoiceResponse"
|
|
"401":
|
|
$ref: "#/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/responses/AccessForbidden"
|
|
"404":
|
|
$ref: "#/responses/NotFound"
|
|
"422":
|
|
$ref: "#/responses/UnprocessableEntity"
|
|
"500":
|
|
$ref: "#/responses/ServerError"
|
|
/pos:
|
|
get:
|
|
summary: Get a list of Purchase Orders
|
|
operationId: getPos
|
|
description: Return a list of available Purchase Orders
|
|
tags:
|
|
- PurchaseOrders
|
|
parameters:
|
|
- $ref: "#/parameters/lastModifiedEndQuery"
|
|
- $ref: "#/parameters/lastModifiedStartQuery"
|
|
- $ref: "#/parameters/licenseNumberQuery"
|
|
- $ref: "#/parameters/limitQuery"
|
|
- $ref: "#/parameters/offsetQuery"
|
|
- $ref: "#/parameters/partnerKeyQuery"
|
|
- $ref: "#/parameters/poIdQuery"
|
|
- $ref: "#/parameters/stateCodeQuery"
|
|
- $ref: "#/parameters/userKeyQuery"
|
|
- $ref: "#/parameters/vendorQuery"
|
|
responses:
|
|
"200":
|
|
$ref: "#/responses/PurchaseOrderResponse"
|
|
"401":
|
|
$ref: "#/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/responses/AccessForbidden"
|
|
"404":
|
|
$ref: "#/responses/NotFound"
|
|
"422":
|
|
$ref: "#/responses/UnprocessableEntity"
|
|
"500":
|
|
$ref: "#/responses/ServerError"
|
|
definitions:
|
|
AccountBasic:
|
|
properties:
|
|
AccountNumber:
|
|
description: Account Number
|
|
type: string
|
|
BillingAddress:
|
|
$ref: "#/definitions/Address"
|
|
BillingContact:
|
|
$ref: "#/definitions/ContactBasic"
|
|
ID:
|
|
description: Taxnexus Record Id Only; not used in POST
|
|
type: string
|
|
License:
|
|
$ref: "#/definitions/LicenseBasic"
|
|
Name:
|
|
description: Account Name
|
|
type: string
|
|
ParentFK:
|
|
description:
|
|
UUID Reference the master record that owns this item
|
|
type: string
|
|
Phone:
|
|
description: Phone number
|
|
type: string
|
|
Ref:
|
|
description: "Source System identifier for this record, if any"
|
|
type: string
|
|
ShippingAddress:
|
|
$ref: "#/definitions/Address"
|
|
ShippingContact:
|
|
$ref: "#/definitions/ContactBasic"
|
|
Type:
|
|
description: Account Type
|
|
type: string
|
|
UUID:
|
|
description: Unique Taxnexus ID
|
|
type: string
|
|
Website:
|
|
description: Account Website
|
|
type: string
|
|
type: object
|
|
AccountResponse:
|
|
properties:
|
|
data:
|
|
items:
|
|
$ref: "#/definitions/AccountBasic"
|
|
type: array
|
|
meta:
|
|
$ref: "#/definitions/ResponseMeta"
|
|
type: object
|
|
Address:
|
|
properties:
|
|
City:
|
|
description: City
|
|
type: string
|
|
Country:
|
|
description: Country full name
|
|
type: string
|
|
CountryCode:
|
|
description: Country Code
|
|
type: string
|
|
Postalcode:
|
|
description: Postal Code
|
|
type: string
|
|
State:
|
|
description: State full name
|
|
type: string
|
|
StateCode:
|
|
description: State Code
|
|
type: string
|
|
Street:
|
|
description: Street number and name
|
|
type: string
|
|
type: object
|
|
ContactBasic:
|
|
properties:
|
|
AccountID:
|
|
description: Contact Account Id
|
|
type: string
|
|
Email:
|
|
description: Email
|
|
type: string
|
|
ID:
|
|
description: Taxnexus Record Id Only; not used in POST
|
|
type: string
|
|
MailingAddress:
|
|
$ref: "#/definitions/Address"
|
|
MobilePhone:
|
|
description: Mobile
|
|
type: string
|
|
Name:
|
|
description: Name
|
|
type: string
|
|
ParentFK:
|
|
description:
|
|
UUID Reference the master record that owns this item
|
|
type: string
|
|
Ref:
|
|
description: Source System identifier for this record, if any
|
|
type: string
|
|
UUID:
|
|
description: Unique Taxnexus ID
|
|
type: string
|
|
type: object
|
|
Error:
|
|
properties:
|
|
error:
|
|
type: string
|
|
status:
|
|
maximum: 600
|
|
minimum: 100
|
|
type: integer
|
|
type: object
|
|
InvalidError:
|
|
allOf:
|
|
- $ref: "#/definitions/Error"
|
|
- properties:
|
|
details:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
InvoiceBasic:
|
|
properties:
|
|
AccountID:
|
|
description:
|
|
Account Identifier from Source System; copied to the Tax
|
|
Transaction result records
|
|
type: string
|
|
AccountName:
|
|
description:
|
|
Account Name from source system (not used in tax calculations)
|
|
type: string
|
|
Amount:
|
|
description: Invoice Amount; ignored in tax calculation
|
|
format: double
|
|
type: number
|
|
AmountDue:
|
|
description: Amount Due; ignored in tax calculations
|
|
format: double
|
|
type: number
|
|
BusinessAddress:
|
|
$ref: "#/definitions/Address"
|
|
CustomerID:
|
|
description:
|
|
The Customer ID linked to this invoice from the source system
|
|
type: string
|
|
EstimatedAmount:
|
|
description: Invoice Total from source system
|
|
format: double
|
|
type: number
|
|
EstimatedCannabisTax:
|
|
description: Cannabis Tax from source system
|
|
format: double
|
|
type: number
|
|
EstimatedCOGS:
|
|
description: Cost of Goods Sold from source system
|
|
type: number
|
|
format: double
|
|
EstimatedDiscount:
|
|
description:
|
|
An amount the Invoice is discounted in source Invoice
|
|
format: double
|
|
type: number
|
|
EstimatedBusinessTax:
|
|
description: Business Tax from source system
|
|
format: double
|
|
type: number
|
|
EstimatedSalesTax:
|
|
description: Sales Tax from source system
|
|
format: double
|
|
type: number
|
|
EstimatedSubtotal:
|
|
description: Subtotal from source system
|
|
format: double
|
|
type: number
|
|
JobID:
|
|
description: Taxnexus Job ID
|
|
type: string
|
|
ID:
|
|
description: Taxnexus Record Id Only; not used in POST
|
|
type: string
|
|
InvoiceDate:
|
|
description:
|
|
Invoice Date; should be date only or correct time zone if in
|
|
time notation
|
|
type: string
|
|
InvoiceNumber:
|
|
description:
|
|
Source System Customer-Facing Invoice Number; ignored in tax
|
|
calculation
|
|
type: string
|
|
Items:
|
|
description: The items associated with this Invoice
|
|
items:
|
|
$ref: "#/definitions/ItemBasic"
|
|
type: array
|
|
ParentFK:
|
|
description:
|
|
UUID Reference to a master record that owns this item
|
|
type: string
|
|
Ref:
|
|
description:
|
|
Source System identifier for this record, if any; copied to
|
|
invoiceid in Tax Transaction result records
|
|
type: string
|
|
SalesRegulation:
|
|
description:
|
|
Sales Regulation Type; must be one of the listed values
|
|
type: string
|
|
ShippingHandling:
|
|
description:
|
|
The total amount of shipping and delivery charges on this
|
|
invoice from the source system
|
|
format: double
|
|
type: number
|
|
Status:
|
|
description:
|
|
Status used by for Billing Balances; ignored in tax
|
|
calculation
|
|
type: string
|
|
Subtotal:
|
|
description: Subtotal (not used in tax calculation)
|
|
format: double
|
|
type: number
|
|
Type:
|
|
description: Invoice Type (not used in tax calculation)
|
|
type: string
|
|
UUID:
|
|
description: Unique Taxnexus Id assigned during ingest
|
|
type: string
|
|
type: object
|
|
InvoiceResponse:
|
|
properties:
|
|
data:
|
|
items:
|
|
$ref: "#/definitions/InvoiceBasic"
|
|
type: array
|
|
meta:
|
|
$ref: "#/definitions/ResponseMeta"
|
|
type: object
|
|
ItemBasic:
|
|
properties:
|
|
COGS:
|
|
description: Cost of Goods Sold for this Item
|
|
example: 0
|
|
type: number
|
|
Description:
|
|
description: Line Item Description (not used in tax calculation)
|
|
example: string
|
|
type: string
|
|
ID:
|
|
description: Taxnexus Record Id Only; not used in POST
|
|
example: string
|
|
type: string
|
|
InvoiceID:
|
|
description: Source System Parent Foreign Key to Invoice
|
|
example: string
|
|
type: string
|
|
ListPrice:
|
|
description: The pre-discount price of the item
|
|
example: 0
|
|
type: number
|
|
MRCInterval:
|
|
description: The pre-discount price of the item
|
|
example: 0
|
|
format: int64
|
|
type: number
|
|
ParentFK:
|
|
description:
|
|
UUID Reference the master record that owns this item
|
|
example: string
|
|
type: string
|
|
ProductCode:
|
|
description: Product Code (not used in tax calculation)
|
|
example: string
|
|
type: string
|
|
Quantity:
|
|
description: Quantity
|
|
example: 0
|
|
type: number
|
|
Ref:
|
|
description:
|
|
"Source System identifier for this record, if any; copied to
|
|
invoiceitemid in Tax Transaction result records"
|
|
example: string
|
|
type: string
|
|
SalesRegulation:
|
|
description: Sales Regulation Type
|
|
example: string
|
|
type: string
|
|
ShippingHandling:
|
|
description: Shipping & Handling and Delivery Fees for this Item
|
|
example: 0
|
|
type: number
|
|
Subtotal:
|
|
description: Subtotal (not used in tax calculation)
|
|
example: 0
|
|
type: number
|
|
TaxnexusCode:
|
|
description: Taxnexus Code
|
|
example: string
|
|
type: string
|
|
UnitPrice:
|
|
description: Unit Price
|
|
example: 0
|
|
type: number
|
|
Units:
|
|
description: The Unit of Measure for this item
|
|
type: string
|
|
UUID:
|
|
description: Unique Taxnexus ID
|
|
example: string
|
|
type: string
|
|
type: object
|
|
LicenseBasic:
|
|
properties:
|
|
DateIssued:
|
|
description: Date Issued
|
|
type: string
|
|
ExpirationDate:
|
|
description: Expiration Date
|
|
type: string
|
|
ID:
|
|
description: Taxnexus Record Id
|
|
type: string
|
|
IsCanceled:
|
|
description: Is Canceled?
|
|
type: boolean
|
|
IsRevoked:
|
|
description: Is Revoked?
|
|
type: boolean
|
|
LicenseType:
|
|
description: License State and Type
|
|
type: string
|
|
Name:
|
|
description: License Number
|
|
type: string
|
|
ParentFK:
|
|
description:
|
|
UUID Reference the master record that owns this item
|
|
type: string
|
|
Ref:
|
|
description: Source System identifier for this record, if any
|
|
type: string
|
|
Status:
|
|
description: License Status
|
|
type: string
|
|
UUID:
|
|
description: Unique Taxnexus ID
|
|
type: string
|
|
type: object
|
|
Pagination:
|
|
properties:
|
|
next_link:
|
|
type: string
|
|
p_limit:
|
|
format: int64
|
|
type: integer
|
|
p_offset:
|
|
format: int64
|
|
type: integer
|
|
page_size:
|
|
format: int64
|
|
type: integer
|
|
set_size:
|
|
format: int64
|
|
type: integer
|
|
type: object
|
|
PurchaseOrderBasic:
|
|
properties:
|
|
AccountID:
|
|
description: Account ID
|
|
type: string
|
|
Amount:
|
|
description: Purchase Order Amount
|
|
format: float64
|
|
type: number
|
|
AmountDue:
|
|
description: Amount Due
|
|
type: number
|
|
BusinessAddress:
|
|
$ref: "#/definitions/Address"
|
|
ID:
|
|
description: Order Id
|
|
type: string
|
|
Items:
|
|
items:
|
|
$ref: "#/definitions/ItemBasic"
|
|
type: array
|
|
ParentFK:
|
|
description:
|
|
UUID Reference the master record that owns this item
|
|
type: string
|
|
PODate:
|
|
description: Purcahse Order Date
|
|
type: string
|
|
PONumber:
|
|
description: Purchase Order Number
|
|
type: string
|
|
Ref:
|
|
description: Source System identifier for this record, if any
|
|
type: string
|
|
SalesRegulation:
|
|
description: Sales Regulation Type
|
|
type: string
|
|
Status:
|
|
description: Status
|
|
type: string
|
|
Subtotal:
|
|
description: Subtotal
|
|
format: float64
|
|
type: number
|
|
Type:
|
|
description: Type
|
|
type: string
|
|
UUID:
|
|
description: Unique Taxnexus ID
|
|
type: string
|
|
type: object
|
|
PurchaseOrderResponse:
|
|
properties:
|
|
data:
|
|
items:
|
|
$ref: "#/definitions/PurchaseOrderBasic"
|
|
type: array
|
|
meta:
|
|
$ref: "#/definitions/ResponseMeta"
|
|
type: object
|
|
ResponseMeta:
|
|
properties:
|
|
Contact:
|
|
description: Microservice Contact Info
|
|
type: string
|
|
Copyright:
|
|
description: Copyright Info
|
|
type: string
|
|
License:
|
|
description: License Information and Restrictions
|
|
type: string
|
|
OperationID:
|
|
description: Operation ID
|
|
type: string
|
|
Pagination:
|
|
$ref: "#/definitions/Pagination"
|
|
RequestIP:
|
|
description: Request IP Address
|
|
type: string
|
|
RequestType:
|
|
description: Request Type
|
|
type: string
|
|
RequestURL:
|
|
description: Request URL
|
|
type: string
|
|
ServerInfo:
|
|
description: Data Server Info
|
|
type: string
|
|
ServerResponseTime:
|
|
description: Data Server Response Time (ms)
|
|
type: string
|
|
ServerTimeStamp:
|
|
description: Backend Server Timestamp
|
|
type: string
|
|
TaxnexusAccount:
|
|
description:
|
|
Taxnexus Account Number used for recording transactions
|
|
type: string
|
|
type: object
|