Autofy API Docs

Introduction

The Autofy API allows you to perform generic accounting integration from a single programming interface

Getting Started

To get started with the Autofy API you'll need to do the following...

  1. Aquaint yourself with the Autofy Swagger page to learn about the api calls we currently support and their structure
  2. Create a User which represents a single account that will be linked as a child under a Company
  3. Download the Autofy Agent which acts as the interface between our api and your QuickBooks file
  4. Install the Autofy Agent. On the Autofy tab enter your User.agentToken into the Autofy Agent 'Agent Key' input field and press 'Save'
  5. Create a Company which represents a group of Users under a company name. This will trigger your Autofy Agent to connect to your QuickBooks file. Make sure QuickBooks is open. You'll be presented with an Authroization Modal within QuickBooks to verify Autofy as a valid service
  6. Integrate! Now you can make API calls to process records, register additional users and more. Visit our Swagger page for up to date endpoints

Quick Start

Outlining the 'Getting Started' section above - this section will get you off the ground enabling you to make API calls immediately.

Create a User

API Request Call

URL
https://api.propelware.com/v1/manage/user
Body
{
	"agentToken": "",
	"companyId": "",
	"dateTimeCreated": "",
	"externalId": "",
	"id": "",
	"isActive": true
}

Example

Curl
curl --request POST \
  --url https://api.propelware.com/v1/manage/user \
  --header 'cache-control: no-cache' \
  --header 'content-type: application/json' \
  --data '{"agentToken":"","companyId":"","dateTimeCreated":"","externalId":"","id":"","isActive":true}'

API Response

Response
Store to reference
{
	"Meta": {
		"StatusCode": 0,
		"Severity": null,
		"Message": "Success"
	},
	"user": {
		"agentToken": "BI45538M6MSQG75TG6E76V63GQ3H",
		"companyId": "",
		"dateTimeCreated": "2016-09-14T19:56:21.3149021+00:00",
		"externalId": "",
		"id": "28bb12f7393944a7be956888900d1f05",
		"isActive": true
	}
}

Autofy Agent

Download the agent

Enter your agent key

Accept Application (After 'Company' api call)

Create a Company - reference your User

API Request Call

URL
https://api.propelware.com/v1/manage/company
Body
From previous api call
{
	"companyName": "",
	"dateTimeCreated": "",
	"dateTimeLastAccess": "",
	"fullPath": "",
	"id": "",
	"isActive": true,
	"userId": "Your 'user.id'",
	"externalId": "",
	"endpoint": "qbd",
	"endpointId": ""
}

Example

Curl
curl --request POST \
  --url https://api.propelware.com/v1/manage/company \
  --header 'cache-control: no-cache' \
  --header 'content-type: application/json' \
  --data '{  "companyName": "",  "dateTimeCreated": "",  "dateTimeLastAccess": "",  "fullPath": "",  "id": "",  "isActive": true,  "userId": "28bb12f7393944a7be956888900d1f05",  "externalId": "",  "endpoint": "qbd",  "endpointId": ""}'

API Response

Response
Store to reference
{
	"Meta": {
		"StatusCode": 0,
		"Severity": null,
		"Message": null
	},
	"company": {
		"companyName": "Test",
		"dateTimeCreated": "2016-09-16T13:41:30.2156102-05:00",
		"dateTimeLastAccess": "2016-09-16T13:41:37.1445599-05:00",
		"fullPath": "D:\\Programs\\QuickBooks Enterprise 16\\Company Files\\Test.qbw",
		"id": "d1228a71de104b3494482d15f8b09f7c",
		"isActive": true,
		"userId": "28bb12f7393944a7be956888900d1f05",
		"externalId": "",
		"endpoint": "qbd",
		"endpointId": "c67e83e28abe40e59164fbe5888a178b"
	}
}

Ping your agent

API Request Call

URL
https://api.propelware.com/v1/manage/{user.agentToken}/IsActive

Example

Curl
curl --request GET \
  --url https://api.propelware.com/v1/manage/BI45538M6MSQG75TG6E76V63GQ3H/IsActive \
  --header 'cache-control: no-cache'

API Response

Response
{
	"Meta": {
		"StatusCode": 0,
		"Severity": null,
		"Message": "{\"AgentVer\":\"16.0.713.0\",\"OS\":\"Microsoft Windows NT 6.2.9200.0\"}"
	},
	"Detail": {
	"
	}
}

Process Customers

API Request Call

URL
Schema (customer / item / vendor / etc)
https://api.propelware.com/v1/endpoint/{company.endpointId}/process/{objectType}
Body
{
    "ID": "",
    "ExternalID": "",
    "Name": "API Created Customer #1",
    "FullName": "",
    "CompanyName": "CoName",
    "FirstName": "Auto",
    "LastName": "fly",
    "Phone": "123 456 7890",
    "Balance": 10000,
    "IsActive": true
}

Example

Curl
curl --request POST \
  --url https://api.propelware.com/v1/endpoint/c67e83e28abe40e59164fbe5888a178b/process/customer \
  --header 'cache-control: no-cache' \
  --header 'content-type: application/json' \
  --data '{    "ID": "",    "ExternalID": "",    "Name": "API Created Customer #1",    "FullName": "",    "CompanyName": "CoName",    "FirstName": "Auto",    "LastName": "fly",    "Phone": "123 456 7890",    "Balance": 10000,    "IsActive": true}'

API Response

Response
{
	"Meta": {
		"StatusCode": 0,
		"Severity": null,
		"Message": null
	},
	"Detail": {
		"Response": "{\"ID\":\"8000003E-1474056584\",\"RefNumber\":\"\"}"
	}
}

Select Customers

API Request Call

URL
Integer - Date
Schema ( customer / item / vendor / etc )
https://api.propelware.com/v1/endpoint/{company.endpointId}/select/{objectType}?modTime={date}&page={page}&pageSize={pageSize}

Example

Curl
curl --request GET \
  --url 'https://api.propelware.com/v1/endpoint/c67e83e28abe40e59164fbe5888a178b/select/customer?modTime=1%2F1%2F2016&page=1&pageSize=10' \
  --header 'cache-control: no-cache'

API Response

Response
{
    "Detail": {
        "Response": [
            {
                "AccountNumber": "",
                "AltContact": "",
                "AltPhone": "",
                "Balance": "10000",
                "BillAddress": {
                    "Addr1": "",
                    "Addr2": "",
                    "Addr3": "",
                    "Addr4": "",
                    "Addr5": "",
                    "City": "",
                    "Country": "",
                    "PostalCode": "",
                    "State": ""
                },
                "CompanyName": "CoName",
                "Contact": "",
                "Email": "",
                "ExternalID": "",
                "FirstName": "Auto",
                "FullName": "API Created Customer #1",
                "ID": "8000003E-1474056584",
                "IsActive": true,
                "LastName": "fly",
                "MiddleName": "",
                "Mobile": "",
                "Name": "API Created Customer #1",
                "ParentRef": {
                    "FullName": "",
                    "ID": ""
                },
                "Phone": "123 456 7890",
                "Salutation": "",
                "ShipAddress": {
                    "Addr1": "",
                    "Addr2": "",
                    "Addr3": "",
                    "Addr4": "",
                    "Addr5": "",
                    "City": "",
                    "Country": "",
                    "PostalCode": "",
                    "State": ""
                },
                "Suffix": ""
            }
        ]
    },
    "Meta": {
        "Message": null,
        "Severity": null,
        "StatusCode": 0
    }
}

Schemas

The following JSON documents represent data structure for each entity our API supports and their required fields

{{oSchema.sTitle}}

Required