API

From Fishbowl Advanced

The API allows developers to integrate with Fishbowl Advanced. Fishbowl only provides documentation for the API. Fishbowl Support will not troubleshoot the API, but several resources are listed below to help you get started.

FAQs

What alternatives are there to using the API?

Many customers that are interested in the API are looking for ways to import data, run queries, automate reports, or update orders. This can all be done without the API.

  1. The Icon.Data Import.png Data Import module allows files to be imported, even if the column headers don't match the Fishbowl format. This allows many external files to be imported into Fishbowl without modification.
  2. Nearly all functions can be performed using Fishbowl's built-in Imports and Exports.
  3. All of the database tables can be viewed, queried, and exported from the Icon.Data.png Data module.
  4. The Icon.Schedule.png Schedule module can automatically email reports, run data queries, import local files, or import files on a server, such as an FTP server.

Is Fishbowl Advanced an on-premise application, or is it in the cloud?

  • Traditionally, Fishbowl Advanced is installed on your computer as an on-premise solution that can be accessed from your local network. You can also open ports and configure the Fishbowl Server to allow connections from anywhere in the world.
  • With Fishbowl Hosted Services, we install Fishbowl Advanced for you on our high-performance servers, and configure it so that you can access it from anywhere in the world.
  • Fishbowl Drive is a similar, but separate product that is 100% web based and hosted in the cloud with its own API.

How do I connect to the API?

  • The API is automatically installed when you install the Fishbowl server. It can be accessed anywhere from your local network, or configured to allow connections from anywhere in the world. The easiest way to get started is to use our Postman collection.

Do I need a certificate to encrypt the API traffic?

What is the difference between a parameter, an attribute, and a variable?

  • These are all ways to pass information to the API.
    • A path variable is typically an ID that is part of the URL path: /api/parts/:id/inventory/add
    • A parameter comes after the path in the URL, often as part of a search filter: ?vendorId=25&quantity=5
    • An attribute is sent in the body of the request and is often included in the JSON to add information to an object: "name": "FG2100"

How can I test the API without altering my production database?

  • When testing the API, you should make a copy of your database to use as a Sandbox.

How do I import and modify orders with the REST API?

  • Nearly all Fishbowl functions can be performed through the API by using the Import endpoint to bring in CSV or JSON data: List of imports.

What is the logout API call for?

  • Your license key determines the number of users that can be logged in to Fishbowl Advanced at the same time. The logout API call closes the connection so that more users can connect if needed.

Is there another version of the API?

  • The previous version of the API uses a socket connection. It does not provide as much data validation and it is not recommended. If needed, resources for the previous version of the API can be downloaded by clicking here.

Documentation

The REST API documentation is automatically installed on your Fishbowl Server. This allows you to see the documentation that is intended for your version of Fishbowl Advanced.

  • To see the API documentation, you will need to which Port your server is using. By default, this is 2456 or 80. You can confirm this by double-clicking the Fishbowl Server tray icon and then selecting the Server tab.
    Web Port.png
  • If you are using the default port of 2456 and you are on the Fishbowl Server computer, you can view the documentation by clicking this link: http://localhost:2456/apidocs
    REST API.png
  • To see the documentation from other computers on the network, enter the IP address of the Fishbowl Server computer, replacing 2456 with your Web Port. For example: 192.168.29.37:2456/apidocs
  • An example of the API documentation can be accessed here.

Postman

Postman is a free application that can help you explore many APIs, including the API for Fishbowl Advanced. If you've configured your server to allow remote access, you can use the web version of Postman. Otherwise, you can install the free app and connect over your local network. Follow the instructions below to get started.

  1. Download and install Postman from this page: https://postman.com/downloads
  2. Open Postman and sign in to your free account.
  3. Open your Workspace, go to the Collections tab, click the Import button, and then paste the following URL: https://fishbowlhelp.com/pm
  4. If you are not on the Fishbowl Server computer, highlight Fishbowl Advanced, click the Variables tab, and change the URL Current Value to the IP address of your Fishbowl Server. Then click Save.
  5. Expand the Login folder and select the line that says POST Login.
    Postman Login.png
  6. Click the Body tab and change the username and password if needed. Then click Save.
  7. Click the Send button near the top-right corner.
  8. Open the Icon.Settings.png Settings module in Fishbowl Advanced and approve the integrated app.
  9. Return to the Login request in Postman, and send it again using the keyboard shortcut (CTRL+Enter or CMD+Enter).
  10. On the Fishbowl Server computer you can double-click the Fishbowl Server tray icon and select the Connections tab to see your new connection. Each login request will add a new connection.
    Postman Connection.png
  11. Open Postman and send a few example requests, like the ones below:
    • Expand Vendors, select the line that says GET Search Vendors, and then send the request. You should get a JSON response listing your vendors.
    • Expand Inventory, select the line that says GET Inventory, and then click the Params tab. Change B201 to one of your part numbers, and then send the request.
    • Expand Parts, select the line that says GET Part Best Cost, and then click the Params tab. Notice the difference between Query Params and Path Variables.
  12. Expand Login, select the line that says POST Logout, and then send the request.
  13. On the Fishbowl Server computer, double-click the Fishbowl Server tray icon, select the Connections tab, and then click the Refresh button. Your connection will be removed from the list.