My apologies if I am wrong, but the difference between API and CLI is driving me crazy to the point of a volcanic eruption.
Please let me vent my frustrations first, and please check what has boiled to the point where the mixture of API and CLI is impossible to separate.
API: Typically, an API is a set of functions and protocols that allow different software components to communicate programmatically. When you import a namespace in your code, you are accessing a library or module that exposes specific functions for you to call directly within your program. This is a structured way of interacting with code.
CLI: A Command Line Interface is primarily designed for user interaction via text commands. Users type commands into a terminal, and the CLI interprets these commands to perform actions. While you can automate CLI interactions using scripts, the interaction is fundamentally different from calling functions in a programming language.
Now the most painful part is where is the documentation for JAVA API?
You can find all the needed documentation to ensure a successfully integration with ZATCA by reviewing all the educational library shared on ZATCA site especially the technical guideline and the detailed one, Kindly find the below link:
Also you can navigate to developer portal Zatca >> API Integration Sandbox, That clarifying all your concerns about each API.
Kindly not that the sandbox has a static certificate and you can not successfully integrate with ZATCA using it, it’s only to clarify the APIs information (Body, Header, Authorization), Do not use the same APIs because the APIs are different from simulation and production environment.
Additionally, you can navigate to fatoora portal/fatoora simulation portal >> APIs documentation, to find the order of all the APIs for both production and simulation environments to ensure a successfully integration with ZATCA.
If you have any further concerns after reviewing the documentations, please do not hesitate to reach out.