The difference between API and CLI

Hi,
My apologies if I am wrong, but the difference between API and CLI is driving me crazy to the point of a volcanic eruption.

Let me vent my frustrations, 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 Execution Context:
API:
When you use an API in your code, you typically import a library or module that provides access to specific functions. You call these functions directly, passing parameters and receiving return values as part of the programming flow

CLI:
When using a CLI tool, you execute commands that may internally call APIs or perform operations without needing to write code that directly interacts with those APIs.

As CLI is quite simple as running commands in terminal by providing command line arguments but it returns output in terminal which if we want to evaluate through code then we have to go through parsing of returned ouput which is of course not like return value of a function call.

My questions:

If fatoora is API then where is the documentation link that explains what functions call are required and their parameters? (for Java). There will be more detail on namespaces to use.

Hope this detail provides clue of basic problem.

Regards,

Dear @ABCD

Thanks for reaching out,

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:

Educational library

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.

Thanks,
Ibrahem Daoud.