HOMEBUILDER: SALEFISH - FAULT FINDING
HomeBuilder SaleFish Integration Fault Finding and Understanding the Data
In this Article:
Understanding the Data
FAQs | Data Retrieval Locations |
Fault Finding
I See No Data | Advanced Data Analysis| Error Logs | Error Log Examples
____________________________________________________________________________________________________
Understanding the Data
FAQs
- The “API Setup Company” in “SaleFish Setup” is pointing to the wrong company or I just want to change it:
- From Company Information – scroll to “API Set” Fasttab and turn on “Contains API Set for SaleFish”.
Data Retrieval - Locations of Staging to Actual Data
- The data is first brought into staging tables. These have no restrictions about having “bad data”. This has two key benefits:
- We can bring in any data whether it will pass the validation rules of Business Central and HomeBuilder.
- We have a place to view data just in case it did not make it into the final table.
- The staging tables are:
- "SaleFish Models"
- "SaleFish Lots"
- “SaleFish Lot Status History”
- "SaleFish Purchasers" (creates both customers and contacts)
- "SaleFish Installments"
- "SaleFish Lot Statuses" – a mapping table
- "SaleFish Payment Statuses" – a mapping table
- "SaleFish Frontages" – a mapping table
-
- "Model"
- "Lot"
- "Lot Installment" (accessed from the Lot or main page Cue)
- "Lot Closing Date" (accessed from the Lot)
- "Customer" (accessed from the Lot or Customer Page)
- "Contact" (accessed from the Lot or Contact Page)The eventual tables to be populated are the base HomeBuilder tables that you should already know.
FAULT FINDING
I See No Data in a New Company that I Just Setup
- Make sure that your company is licensed as either TEST or ACTIVE in HomeBuilder Setup.
-
Start with a general check of the setup:
- Open “Builder Projects”. Does the Project have “SaleFish Integration” turned on?
- Open the Phase. Do you have a “Project Code” and a “SaleFish No.” filled in?
- Is the SaleFish No. you used, entered to all relevant Lots in SaleFish?
- Go through the Company/Project/Phase specific setup outlined in the section above called “Ongoing Setup – New Projects/Phases”.
- Confirm that you have run the “Synchronize” function from the correct company (the one setup for global processing”.
- Does your SaleFish user have access to the company you are accessing? This is the user entered to the ClientID of the API Credential.
- Work from the most likely place data exists. Although it may seem counterintuitive, start in the Global Setup company, not the company you just set up.
- We now want to review that a call was made to SaleFish, and a response was received for the specific Phase in question:
- In BC, search for and open the page "API Sets".
- Edit/View the record SALEFISH and you should see a list the various calls (SaleInfoList, GetAllLotStatus etc.)
- If the Response Size (in the list) is zero. Check the following straight away:
- The Client ID (SaleFish user) that you are using has access to this company.
- Go to the “Get Token” function and run the “Execute” function.
Advanced Fault Finding
- Moving on (if the above does not work), Click on SaleInfoList record, click the “Response” button and then click on the “API Messages” button.
- You will get one record for each Project (you must click into (edit) the record to see which Phase. The information is held in the “Parameters” fasttab on the “Value” column.
- Work down the list of functions until you find a response that lets you know what has happened – could be a message, could be the response contents.
- (Advanced) To analyze the response contents in readable form, copy the response into Notepad++, install the “Pretty print JSON File” plugin and run it in the data set.
How to Install “Print Pretty Print JSON File” plugin:
- Install the JSON Viewer Plugin:
- Open Notepad++.
- Navigate to Plugins > Plugins Admin (or Plugin Manager in older versions).
- Search for "JSON Viewer" in the available plugins list.
- Select "JSON Viewer" and click Install.
- Restart Notepad++ after the installation is complete.
- Format the JSON:
- Open the JSON file you want to format in Notepad++.
- Select the JSON content within the file.
- Go to Plugins > JSON Viewer > Format JSON.
- Alternatively, you can use the shortcut Ctrl + Alt + Shift + M.
Error Logs and Manually Running the API Functions
- To view errors that may occur during synchronization, search for and open the page "SaleFish Integration Log".
- The message should give a clear indication of the error or at least a reason that the record could not make it past the staging table.
- It is generally useful to check the data integration by running the API Functions manually. See below for how to do this:
- Directly from the SaleFish Setup page – click on the Synchronize button.
- Individually, through the list of API Functions:
- From the API sets page, click on the Home button and select API Functions.
- In the API Functions page, you will see a series of functions e.g. SalesInfoList, GetAllLotStatus etc.
- Run the Get Token function first, check the results:
- Click on the GETTOKEN record.
- From the Response menu click on “API Messages”
- You should see a “Message Status” of “Complete” against the most recent record.
- To see more details click on the View button and scroll down to the Response section.
- Run the other API Functions in order, top to bottom; review the messages.
Error Log Examples with Potential Solutions:
- “Cannot find Model xyz” error. One difficult to find reason is that in SaleFish, the Lot is missing the elevation however the model list was created as a mix of Model – Elevation. Solution, add the elevation to the Lot in SaleFish and re-run the synchronize.
- Cannot change Model if Lot is Sited can come from various points of interest:
- The Model is missing from the Lot in SaleFish, but it was added manually to HomeBuilder, and the Model is sited on the Lot. Solution, add a Model to the Lot in SaleFish, generally it would be wise to make sure it is the same one in HomeBuilder before synchronizing again.
- The Model did not match the Model created by SaleFish and one that a user directly created in HomeBuilder and the Model is sited on the Lot. – solution, Change the Model in either system so that they match or un-site the Model on the Lot in HomeBuilder.
- Further Model errors (could be the same as the previous error) can come about when Models are created in HomeBuilder before synchronizing and the codes between the systems do not match up (remember that the Models created in HomeBuilder are two parts of SaleFish linked with a dash, e.g.,”
- In SaleFish the Model is PAX-335 and the Elevation is A, B or C.
- Three Models will be created in HomeBuilder as follows:
- PAX-335-A
- PAX-335-B
- PAX-335-C
- If this happens, the best solution is to:
- Delete the imported SaleFish records (they will not be on Lots, have budgets, Model Items etc. yet).
- Re-name the existing Models in HomeBuilder to have the same code as the incoming Models from SaleFish.
- Re-run the import and the integration will just update the existing Models (which were already in place on the Lot).