Salesforce CPQ provides a set of prebuilt API, that you can call from your code, to automate certain CPQ related processes. The chances are pretty low that you are ever going to need this feature, however, in case you do, you would be able to. Read this post, to have a high level overview of what the available APIs can hep you with and what you can achieve with that.
With Salesforce CPQ API you can:
- manage Quotes
- configure product bundles
- amend or renew Contracts
- generate Quote Documents
- disable/enable Salesforce CPQ triggers
As you can see, the above covers quite broad services. In theory with that API you would be able to build your own user interface working on top of Salesforce CPQ data model and business logic.
In order to use Salesforce CPQ API, you have to create model classes. Those model classes are an abstraction of CPQ related objects: Quote, Quote Line, Product, Product Option, etc. This layer of abstraction is required to use the API provided by Salesforce.
I will not walk you through in detail here. I just wanted to bring that subject to you in case you are looking for how to deliver complex functionality in your project.
Read the Quick Start Example from Salesforce, to get a high level view of how to use the APIs.
Use this link to read the developer documentation for Salesforce CPQ API.