Welcome to fetchdocs!

✨ The basics

fetchdocs is an API service that fetches documents together with meta-information from third-party services such as file storage like Dropbox, Google Drive, or WebDav and accounting services such as Xero, QuickBooks, and many more, and provides those to your application.

πŸš€ Getting started

To get started with fetchdocs, you need to register as a client of fetchdocs via the fetchdocs sales team ([email protected]). Once the fetchdocs team registered you as a client, you receive your API key and the necessary information to get started with the development environment.

Each of the fetchdocs clients starts with one environment for development. Once you are ready to go live, you can request a production environment. If you need more environments f.e. for testing, you can request those as well. The number of environments isn't limited at the moment.

Each of the environment are completely separated from each other. This means that you need to use different API keys for each environment, and you can't access the data of one environment from another.

Basic flow

The basic flow of fetchdocs is as follows:

  1. You create an identity in fetchdocs. An identity is representing your user, company, or account. Learn more about identities in the Identities section.
  2. You create a so-called "UI Token" for the identity. This token authenticates the user in the fetchdocs frontend. Learn more about UI Tokens in the UI Tokens section.
  3. You redirect the user to the fetchdocs frontend. There the user can select the integration they want to use and authenticate with the third-party service. You can also pre-select the integration for the user.
  4. After the user has authenticated with the third-party service, fetchdocs is redirecting the user back to your app. The user is now authenticated with the third-party service, and fetchdocs automatically starts importing documents from the application.
  5. New imported documents are available in the fetchdocs API. You can use the API to get the documents and meta-information from the third-party service. fetchdocs can inform your application about new documents via webhooks, and can even push the documents directly into your application. Learn more about webhooks in the Webhooks section.

In addition, you can use the fetchdocs API to resolve the status of a connection and to get the list of connections for an identity to show them to the user. Learn more about the API in the section you can find in the left menu bar.

πŸ“š Wording

The scope of fetchdocs includes specific terms. The following list clarifies some of those terms, to make sure, all parties are talking about the same things.

Identity

An identity identifies your user entity in the scope of fetchdocs. It can be a user, a company, or an account. You can create as many identities as you need.

Integration

An integration is a third-party service that's connected to fetchdocs. This can be a file storage service like Dropbox, Google Drive, or WebDav, or an accounting service like Xero, QuickBooks, and many more.

Fetch

A fetch is sort of an order for fetchdocs to fetch a document from a third-party service. It includes the document itself and additional meta-information, depending on the document type and the integration used. In general, this is a background process, and you don't have to work with fetches.

Transaction

A transaction is an imported document including the meta-information. It's the result of a fetch. You can use the API to get the transactions and meta-information from the third-party service. fetchdocs can inform your application about new transactions via webhooks, and can even push the transactions directly into your application. Learn more about webhooks in the Webhooks section.

Connection

A connection is the connection between an identity and a third-party service, known as integration. It's used to fetch documents from the third-party service.

πŸ” Security

A few words on the security. fetchdocs takes security very seriously. fetchdocs uses the latest technologies and best practices to ensure that your users' data is safe. This includes the use of HTTPS, encryption, and secure storage of data. For security reasons, fetchdocs requires you to use HTTPS for all requests to the fetchdocs API. This guarantees the encryption and security of the data transferred between your app and fetchdocs.

fetchdocs stores users' credentials encrypted in a special secure storage and not in the database. This ensures that even if the database gets compromised, the users credentials are safe. fetchdocs only decrypts those credentials when using them to fetch documents from the third-party service and never exposes them to the frontend or the API. That also means that you can't retrieve the users credentials from fetchdocs.

Of course, this documentation can't disclose further details about the security mechanisms that fetchdocs has implemented. If you have any questions about the security of fetchdocs, please feel free to contact the fetchdocs support team at any time.

Please also take care of the security of your app. You should never expose your API key to the public. If any third person had or potentially had access to your API key, please contact the fetchdocs support team immediately, so they can revoke the key and issue a new one.

πŸ“£ Announcements and updates

The fetchdocs team is constantly improving fetchdocs and adding new features. They also fix bugs and issues as soon as possible. The fetchdocs team updates you about the changes and new features in the Changelog. It's also linked in the main menu bar.

πŸ’¬ Help and support

If you have any questions, feedback, or need help, please feel free to contact the fetchdocs support team at any time. They're here to help you and make your integration with fetchdocs as smooth as possible.

Registered customers please use the communication channels set up for you. If you aren't a customer yet, please contact the fetchdocs team at [email protected].