Introduction

Enzo Server
  Installation
  Quick Start
  Core Features
    Async Calls
    ConnectionStrings
    Edge Cache
    HTTP Access
    Scheduling
    Views
  Advanced Capabilities
    Change Data Capture
  Administration
    Configuration Settings
    Logins & ACL
    Auditing
    Current Executions
    Linked Server
    SSL

  User Guides
     Sharding
     Sharding Overview

     SharePoint

   Adapters
    All Adapters
    ActiveCampaign
    Azure Bus
    Azure IoT Hub
    Azure Key Vault
    Azure Storage
    Bing Search
    ConstantContact
    CouchbaseDB
    CSV
    DB (RDBMS)
    Dropbox
    Files
    Flight Aware
    FreshBooks
    FTP
    Geonames
    GoogleDrive
    GoogleSearch
    GoogleSheet
    GreenMile
    GpsInsight
    HttpEndpoint (REST)
    Intacct
    Insteon
    Loggly
    MailChimp
    Messaging (SMS/SMTP)
    MongoDB
    Motus
    MSAD
    MSMQ
    OneDrive
    OneDrive365 (Business)
    Pipeline
    Pressero
    RabbitMQ
    SalesForce
    Shard
    SharePoint
    Slack
    SQL Server
    SQLX
    Sudoku
    Teams
    Threading
    Twilio
    Twitter
    VellemanDMX
    Whiparound
    WMI
    Xls (Excel)
    ZIP


  SDK
    Overview
    Installation
    DevHost
    Create A Simple Adapter
    Handler Columns

    Advanced SDK Concepts
      Handler Decorators
      Dynamic Columns
      Table & Table Enumerators
      Virtual Tables



FreshBooks Adapter








This adapter allows you to access data from FreshBooks.


This adapter requires a subscription to FreshBooks.



OAuth Configuration

This adapter requires OAuth to be configured.

show steps 
  • Obtain an API Key and API Secret from FreshBooks and save in a Config Setting in Enzo
    In this initial step, you first register an application with FreshBooks. Once registered, you can obtain a Client ID and a Client Secret. These need to be saved in a Configuration setting in Enzo Manager.
  • Click on the Authorization URL link on the Developer Portal
    The Developer Portal provides a link 'Authorization URL' that allows you to start the OAuth flow. Once the authentication flow is completed, you will get a blank webpage with a message "This Site Can't Be Reached"; the URL bar on the browser will contain a return code. Copy the complete URL provided before going to the next step.
  • Copy the ResponseCode provided and execute the GetTokens command passing the Response Code
    The GetTokens method requires the complete URL provided in the previous step. This will extract the response code and return an Access Token. Note that the URL is only valid for a period of time. Copy the AccessToken and RefreshToken.
  • Copy the AccessToken and RefreshToken provided by the previous call and save them into the same Config Setting
    These tokens must be saved in the Config Setting previously created.

Configuration Settings



Name Description Default
Boolean _isDefault Make this the default configuration. Defaults to true if configName is already the default.
String clientID The client id is used to generate token and authentication
String clientSecret The client secret is used to generate token and authentication
String accessToken The access token is used to access the authenticate api
String refreshToken The refresh token is used to access the authenticate api

Handlers



GetAccountInfo
accounts
Get Account details details 

Arguments


SQL Call

EXEC FreshBooks.GetAccountInfo
select * from FreshBooks.accounts


Http Call

/bsc/freshbooks/getaccountinfo

Output Columns

Int32 id
String accountId
String firstName
String lastName
String email
DateTime createdAt
getTokens
Get authentication token details 

Arguments

Name Description Default
codeResponse R

SQL Call

EXEC FreshBooks.getTokens 'https://localhost/?code=763bc2b4128fd0ecbc31a7e835843ee7d34f5205a15cdae462005350a4cd6a9e'


Http Call

/bsc/freshbooks/gettokens

Output Columns

String code
String accessToken
Int32 expiresIn
String refreshToken
String createdAt
String tokenType
ListClients
clients
List all clients details 

Arguments

Name Description Default
accountId R
address
email
fname
lname
note
organization
phone
updatedMin
updatedMax
user
userid
userids
username
visState
emailLike
hasCredit
hasDraft
hasOutstanding
hasOverdue
topn

SQL Call

EXEC FreshBooks.ListClients
select * from FreshBooks.clients


Http Call

/bsc/freshbooks/listclients

Output Columns

Int32 id
String fname
String lname
String email
String fax
String username
DateTime signupDate
String pcode
String pcity
String pstreet
String pstreet2
String pprovince
String pcountry
String currencyCode
Int32 visState
String language
String mobPhone
String homePhone
Boolean allowLateFees
String organization
String companySize
String role
DateTime updated
Int32 userid
String vatname
Int32 vatnumber
DateTime lastLogin
String note
DateTime updatedMin
DateTime updatedMax
Boolean hasCredit
Boolean hasDraft
Boolean hasOutstanding
Boolean hasOverdue
ListInvoices
invoices
List all invoices details 

Arguments

Name Description Default
accountId R
invoiceId
invoiceIds
invoiceNumber
invoiceNumberLike
statusId
statusIds
v3Status
currencyCode
currency
dateMin
dateMax
totalMin
totalMax
poNumber
customerId
customerIds
parentId
paid
outstanding
updatedMin
updatedMax
itemName
itemDescription
projectId
outstandingMin
notes
topn

SQL Call

EXEC FreshBooks.ListInvoices
select * from FreshBooks.invoices


Http Call

/bsc/freshbooks/listinvoices

Output Columns

Int32 id
String invoiceId
Int64 invoiceNumber
String customerId
String fname
String lname
Decimal outstandingAmount
String outstandingCode
String paymentStatus
String v3Status
String country
String depositStatus
String currentOrganization
DateTime dueDate
DateTime updated
DateTime createDate
Decimal paidAmount
String paidCode
Decimal discountTotalAmount
String discountCode
String address
String street
String city
String currencyCode
String accountId
Decimal discountValue
String organization
Int32 dueOffsetDays
String language
String displayStatus
String notes
Decimal amount
String code
String statusId
String currency
DateTime dateMin
DateTime dateMax
Decimal totalMin
Decimal totalMax
String poNumber
String parentId
Boolean paid
Boolean outstanding
DateTime updatedMin
DateTime updatedMax
String itemName
String itemDescription
String projectId
Decimal outstandingMin
ListPayments
payments
List all payments details 

Arguments

Name Description Default
accountId R
logid
logIds
dateMin
dateMax
updatedMin
updatedMax
amountMin
amountMax
type
customerId
customerIds
clientId
clientIds
currencyCode
invoiceId
notes
fromCredit
clientName
number
paymentOrCredit
topn

SQL Call

EXEC FreshBooks.ListPayments
select * from FreshBooks.payments


Http Call

/bsc/freshbooks/listpayments

Output Columns

Int32 id
String type
Int32 orderId
Int32 invoiceId
DateTime updated
Int32 creditId
Decimal amount
String code
Int32 clientId
Int32 visState
Int32 logId
String note
Int32 overpaymentId
String gateway
DateTime date
Int32 transactionId
Boolean fromCredit
String accountId
DateTime dateMin
DateTime dateMax
DateTime updatedMin
DateTime updatedMax
Decimal amountMin
Decimal amountMax
String customerId
String currencyCode
String notes
String clientName
String number
String paymentOrCredit
ListTimeEntries
timeentries
List all time entries details 

Arguments

Name Description Default
businessId R
startedFrom
startedTo
updatedSince
billable
billed
clientId
includeDeleted
team
includeUnlogged
topn

SQL Call

EXEC FreshBooks.ListTimeEntries
select * from FreshBooks.timeentries


Http Call

/bsc/freshbooks/listtimeentries

Output Columns

Int32 id
Int32 businessId
Boolean isLogged
DateTime startedAt
DateTime createdAt
Int32 clientId
String projectId
String pendingClient
String pendingProject
String pendingTask
Int32 taskId
Int64 serviceId
String note
Boolean active
Boolean billable
Boolean billed
Int64 duration
Boolean includeDeleted
Boolean team
Boolean includeUnlogged
DateTime startedFrom
DateTime startedTo
DateTime updatedSince