Search

Page tree
Skip to end of metadata
Go to start of metadata

Below is a list of the available BSS JSON objects. All basic objects when they sync the first time to the 3party system, they keep the 3party Object key in property IntegrationId.

 Account
Account
{
  "id": int,
  "integrationId": string,
  "createdAt": datetimeoffset,
  "updatedAt": datetimeoffset,
  "customValues": Array of CustomValue objects,
  "name": string,
  "enableOrdering": bool,
  "parentAccount": Account object
  "job": string,
  "code": string,
  "webSite": string,
  "phone": string,
  "fax": string,
  "description": string,
  "isLead": bool,
  "prorateBillingEnabled": int?,
  "creditLimitAmount": decimal,
  "unlimitedCreditLimit": bool?,
  "useDebitInvoice": int?,
  "separateInvoicesEnabled": bool,
  "locationCode": string,
  "partialChargesInvoicing": int,
  "corpEmail": string,
  "companyName": string,
  "enableReselling": bool,
  "autoInvoiceNotificationEnabled": bool,
  "vatNumber": string,
  "taxAuthority": string,
  "validVatNum": int?,
  "isTaxable": bool,
  "industry": Industry Object,
  "type": AccountType object,
  "source": AccountSource object,
  "currency" : Currency object,
  "creditLimitAmount": decimal,
  "addresses": Array of AccountAddress objects,
  "entityUsage": string
}
Account Industry
{
  "id": int,
  "integrationId" : string,
  "name" : string,
  "description" : string,
  "position" : int,
  "erpCode" : string,
  "isDefault" : bool?
}
Account Type
{
  "id": int,
  "integrationId" : string,
  "name" : string,
  "position" : int
}
Account Source
{
  "id": int,
  "integrationId" : string,
  "name" : string,
  "position" : int
}
Account Address
{
  "id": Guid,
  "integrationId" : string,
  "description": string,
  "address1": string,
  "address2": string,
  "city": string,
  "region": string,
  "postCode": string,
  "isBilling": bool,
  "stateCode" : string,
  "stateName" : string,
  "erpCode": string,
  "areaCode": string,
  "countryName" : string,
  "countryCode": string
 }
 Contact
Contact
{
  "id": int,
  "integrationId": string,
  "createdAt": datetimeoffset,
  "updatedAt": datetimeoffset,
  "customValues": Array of CustomValue objects,
  "account": Account object,
  "isPrimary": bool?,
  "lastName": string,
  "firstName": string,
  "mobilePhone": string,
  "phone": string,
  "fax": string,
  "email": string,
  "isBillTo": bool?,
  "jobTitle": string,
  "notes": string,
  "idSource": int?,
  "massMailEnabled": int?
}
 Order
Order
{
  "id": Guid,
  "integrationId": string,
  "createdAt": datetimeoffset,
  "updatedAt": datetimeoffset,
  "customValues": Array of CustomValue objects,
  "code": string,
  "name": string,
  "date": datetimeoffset,
  "deliveryDate": datetimeoffset?,
  "totalPrice": decimal,
  "discount": decimal?,
  "discountType": byte?,
  "usage": string,
  "creditLimitExceeded": bool?,
  "stage": OrderStage object,
  "type": OrderType object,
  "description":string,
  "account": Account object,
  "customer": Account object,
  "contact": Contact object,
  "paymentMethod": PaymentMethod object,
  "shippingMethod": ShippingMethod object,
  "isInvoiced": bool?,
  "parentId": string,
  "orderItems": Array of OrderItem objects
}
Order Item
{
  "id": Guid,
  "integrationId" : string,
  "order": Order object,
  "createdAt": datetimeoffset,
  "updatedAt": datetimeoffset,
  "name": string,
  "relatedItemId" : Guid?,
  "itemRelationType": string,
  "product": Product object,
  "price": decimal?,
  "quantity": decimal,
  "discount": decimal?,
  "discountType": byte?,
  "totalPrice" : decimal?,
  "basePrice" : decimal?
  "rowPosition" : int,
  "comments" : string,
  "baseQuantity" : decimal?,
  "promotionDiscount" : decimal,
  "promotionDiscountType" : byte?,
  "parentId" : Guid?,
  "billingOption" : int?,
  "isUserPrice" : bool?,
  "isInvoiced" : bool?,
  "taxes" : OrderItemTax Object,
  "variations" : OrderItemVariation Object,
  "lineAmount" : decimal?
}
Order Stage
{
  "id": int,
  "integrationId" : string,
  "name": string,
  "type": OrderStage Type enum
 }
OrderStage type
Executed = 0,
Submited = 1,
Canceled = 2
Order Type
{
  "id": int,
  "integrationId" : string,
  "name": string
 }
OrderItem Tax
{
  "id": Guid,
  "integrationId" : string,
  "name": string,
  "rate": decimal?,
  "amount": decimal?
 }
OrderItem Variation
{
  "id": Guid,
  "valueId" : string,
  "name": string,
  "value": string,
  "chargeAmount": string,
  "chargePercent": string,
  "allowUnlimited" : bool?,
  "orderItem" : OrderItem Object,
  "variation" : ProductTypeAttribute Object

 }
 Invoice
Invoice
{
  "id": Guid,
  "integrationId": string,
  "createdAt": datetimeoffset,
  "updatedAt": datetimeoffset,
  "customValues": Array of CustomValue objects,
  "code": string,
  "invoiceDate": datetimeoffset,
  "dueDate": datetimeoffset,
  "proformaDue": datetimeoffset,
  "datePaid": datetimeoffset,
  "grossAmount": decimal,
  "discountAmount": decimal,
  "totalAmount": decimal,
  "netAmount": decimal,
  "amountFactor": decimal,
  "balance": decimal,
  "isProforma": bool,
  "stage": InvoiceStage object,
  "type": InvoiceType object,
  "paymentMethod": PaymentMethod object,
  "account": Account object,
  "billingAccount": Account object,
  "invoiceItems": Array of InvoiceItem objects
}
Invoice Stage
{
  "id": int,
  "integrationId" : string,
  "name": string,
  "type" : string
}
How to find Invoice Stages Values

Below you can find the procedure in order to find the IDs you need to use in your JSON file:

  1. Go to BSS > Setup > Billing > Invoices > Invoice Status.
  2. Locate the checkbox next to the "No." of each Status. 
  3. Right Click on each checkbox and select ‘Inspect Element’
  4. On the inspected element under the tr > td >div you will find the element Value

    Between the quotes you can find the ID of each Invoice Stage
  5. Follow the same procedure for all Stages/Statuses you have set.
Invoice Type
{
  "id": int,
  "integrationId" : string,
  "name": string,
  "type" : string
}
How to find Invoice Stages Values

Below you can find the procedure in order to find the IDs you need to use in your JSON file:

  1. Go to BSS > Setup > Billing > Invoices > Invoice Types.
  2. Locate the checkbox next to the "No." of each Type. 
  3. Right Click on each checkbox and select ‘Inspect Element’
  4. On the inspected element under the tr > td >div you will find the element Value

    Between the quotes you can find the ID of each Invoice Type
  5. Follow the same procedure for all Types you have set.
Invoice Item
{
  "id": Guid,
  "integrationId" : string,
  "account" : Account object,
  "invoice": Invoice object,
  "parent": InvoiceItem object,
  "invoiceItemTaxes": Array of InvoiceItemTax objects,
  "product": Product object,
  "orderItem": OrderItem object,
  "unit" : Unit Object
  "customUnitCategory": string,
  "itemName" : string,
  "quantity" : decimal?,
  "unitPrice" : decimal?,
  "costPrice" : decimal?,
  "amount" : decimal,
  "discount" : decimal,
  "discountType" : byte?,
  "finalPrice" : decimal,
  "leaseStart" : datetimeoffset,
  "leaseEnd" : datetimeoffset,
  "comments" : string,
  "invoiceDue" : datetimeoffset,
  "promotionDiscount" : decimal,
  "promotionEnd" : datetimeoffset,
  "vatPercent" : decimal,
  "usage" : string,
  "addonItemId" : Guid
  "subscriptionId": Guid? 
}
InvoiceItem Tax
{
  "id": Guid,
  "integrationId" : string,
  "name": string,
  "rate": decimal?,
  "amount": decimal
 }
 Product
Product
{
  "id": Guid,
  "integrationId": string,
  "createdAt": datetimeoffset,
  "updatedAt": datetimeoffset,
  "customValues": Array of CustomValue objects,
  "isActivated": bool?,
  "storefrontEnabled": bool?,
  "isFeatured": bool?,
  "isEnabled": bool?,
  "trialDuration": int?,
  "trialDurationType": string,
  "trialNo": int?,
  "trialType": string,
  "ignoreProrate": int,
  "prorataBilling" : int?,
  "chargeType": string,
  "isNew": bool?,
  "overviewPage": string,
  "featuresTabVisible": bool?,
  "supportTabVisible": bool?,
  "supportOptions": string,
  "keyWords": string,
  "screenshotLinkEnabled": bool?,
  "demoLinkEnabled": bool?,
  "documentLinkEnabled": bool?,
  "termsOfUseEnabled": bool?,
  "termsOfUse": string,
  "isTaxable": bool,
  "trialVariationsEnabled": bool?,
  "webOfferEnabled": int?,
  "webCatalogueEnabled": bool,
  "groupPosition": int?,
  "availableViaPriceList": bool,
  "category": ProductCategory object,
  "unitgroup": UnitGroup object,
  "unitType" : UnitType object,
  "productType" : ProductType object
  "provisioningSystem" : ProvisioningSystem object
  "name": string,
  "code": string,
  "isBundle": bool,
  "isDeleted": bool,
  "numberOfDecimals": int,
  "chargeRule": string,
  "webOrderEnabled": int,
  "isProductGroup": bool,
  "shortDescription": string,
  "fullDescription": string,
  "isNegative": bool?,
  "comments": string,
  "isCompetitive": bool?,
  "competitionComments": string,
  "activateAllUnits": bool?,
  "filePath": string,
  "billingOption": int?,
  "isAddon": bool?,
  "includeAllProducts": int?,
  "extraKeyWords": string,
  "userProvisioningEnabled": int?,
  "requestType": int?,
  "idResource": int?,
  "productAttributeValues": Array of ProductAttributeValue objects,
  "productPrices": Array of ProductPrice objects,
  "term": int?,
  "termType": string,
  "freePeriodEnabled": bool?,
  "taxCode": string,
  "externalBilling": bool
}
Product Prices
{
    "priceProduct" : Product object,
	"salesPrice" : decimal?,
	"purchasePrice" : decimal?,
	"isSalesDefault" : byte?
	"sheet" : string,
	"cell" : string,
	"purSheet" : string,
	"purCell" : string,
	"isComputed" : bool? 
}
Unit Group
{
  "id": int,
  "integrationId" : string,
  "name": string,
  "description" : string,
  "lastUpdateID" : int?,
  "isActive" : bool,
  "systemType" : short,
  "isDeleted" : int,
  "copyOf" : UnitGroup object,
  "units" : Array of Unit objects
}
Unit Type
{
  "id": Guid?,
  "integrationId" : string,
  "name": string,
  "position" : int?,
  "isActive" : bool,
  "isDefault" : int,
  "copyOf" : UnitType object,
  "products" : Array of Product objects
}
Product Type


{
 "id": Guid,
 "integrationId" : string,
 "name": string,
 "description" : string,
 "enableSerialNo" : bool,
 "productDescription" : string,
 "enforcePacking" : int?,
 "eRPCode" : string,
 "dueDays" : int?,
 "locationCode" : string,
 "serverCollection" : string,
 "usage" : string,
 "quantityLimit" : decimal?,
 "uniqueLease" : int,
 "restrictions" : string,
 "serverCollectionID" : int?,
 "vendor" : string,
 "requestType" : string,
 "quantityLimitLocked" : int?,
 "extraDetails" : string,
 "retentionPeriodDays" : int?,
 "copyOf" : ProductType Object,
 "productTypes" : Array of ProductType Objects,
 "productTypeAttributeGroups" : Array of ProductTypeAttributeGroup Objects,
 "productTypeAttributes" : Array of ProductTypeAttribute Objects
}
Product Attribute Value
{
  "id": Guid,
  "value" : string,
  "allowUnlimited" : bool?,
  "quantityLinked" : bool?,
  "usageBased" : int?
}
Product Category
{
  "id" : Guid,
  "integrationId" : string,
  "name" : string,
  "code" : string,
  "copyOf" : ProductCategory object,
  "parent" : ProductCategory object,
  "productNo" : int?
  "isActivated" : bool,
  "description" : string
  "isSalesGroup" : byte?
  "positionList" : int?
  "createdAt" : datetime,
  "updatedAt" : datetime
}
ProductType Attribute
{
  "id" : Guid,
  "productType" : ProductType Object,
  "productTypeAttributeType" : ProductTypeAttributeType Object,
  "productTypeAttributeGroup" : ProductTypeAttributeGroup Object,
  "name" : string,
  "description" : string,
  "indent" : byte,
  "attributeType" : byte,
  "dataType" : byte?,
  "positionList" : int,
  "isCompulsory" : int,
  "valueDescription" : string,
  "idRow" : int,
  "hasExtraValue" : bool?,
  "conditionRule" : string,
  "allowUnlimited" : bool?,
  "quantityLinked" : bool?
  "usageBased" : int?,
  "externalSpec" : string,
  "positionInWeb" : int?,
  "isSyncLocked" : int?,
  "sliderMin" : int?,
  "sliderMax" : int?.
  "sliderStep" : int?
}
ProductType Attribute Type
{
  "id" : Guid,
  "createdAt" : DatetimeOffset,
  "updatedAt" : DatetimeOffset,
  "name" : string,
  "dataType" : short,
  "description" : string,
  "valueDescription" : string
}
ProductType Attribute Group
{
  "id" : Guid,
  "createdAt" : DatetimeOffset,
  "updatedAt" : DatetimeOffset,
  "productType" : ProductType Object,
  "name" : string,
  "description" : string,
  "positionInList" : int?
}


 Payment
Payment
{
  "id": Guid,
  "integrationId": string,
  "createdAt": datetimeoffset
  "updatedAt": datetimeoffset,
  "type" : PaymentType object,
  "method" : PaymentMethod object,
  "gateway" : PaymentGateway object,
  "account": Account object,
  "contact": Contact object,
  "chequeBank" : Bank object,
  "paymentDate": datetimeoffset,
  "amount": decimal,
  "code": string,
  "state": string,
  "chequeNo": string,
  "dueDate": datetimeoffset,
  "chequePayTo": string,
  "creditCard": string,
  "creditCardId": Guid,
  "comments": string,
  "erpCode": string,
  "isCanceled": bool,
  "transactionFee": decimal,
  "sendConfirmation": bool,
  "sysState": int,
  "sysComment": string,
  "transactionID": string,
  "balance": decimal,
  "paymentInvoices": Array of PaymentInvoice objects
}
Payment Method
{
  "id": Guid,
  "integrationId" : string,
  "name": string
 }
Payment Type
{
  "id": Guid,
  "integrationId" : string,
  "name": string,
  "type": string,
  "isActive" : bool
}
Payment Gateway
{
  "id": int,
  "integrationId" : string,
  "name": string,
  "type": string,
  "isSupported" : bool
}
Bank
{
  "id": Guid,
  "integrationId" : string,
  "name": string,
  "description": string,
  "position" : byte,
  "isActive" : bool
  "payments" : Array of Payment objects
}
Payment Invoice
{
  "invoice": Invoice object,
  "amount" : decimal
}
 Currency
Currency
{
  "id": Guid,
  "integrationId" : string,
  "name": string,
  "mnemonic": string,
  "sign" : string,
  "code": string
}
 Custom Value
Custom Value
{
  "customField": CustomFieldDefinition object,
  "value" : string,
  "values": string
 }
Custom Field Definition
{
  "id": int,
  "name" : string,
  "caption": string,
  "apiField" : string
}

Nested objects can be accessed with dot notation, i.e to access the ID of the parentAccount object on account use $.account.parentAccount.Id

  • No labels