> For the complete documentation index, see [llms.txt](https://docs.cicleo.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cicleo.io/developer-integration/developer-integration-overview.md).

# Overview

Understanding the two ways to integrate Cicleo into your project

<figure><img src="https://1342989989-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1DUE9i7ymSWUOJrYNSvs%2Fuploads%2Fgwf6fcr4IqgukdFDAfpK%2Fdeveloper-integration.png?alt=media&amp;token=ea256c2a-60fa-484b-9947-95787c3086e3" alt=""><figcaption></figcaption></figure>

### Cicleo can be implemented to process payment on chain and trigger if you need a webhook link to get your subscriber updated on your database !

### On Chain usage exemple

If you want to use cicleo into your smartcontract and read it on chain you'll have to use a smartcontract on the same chain as your subscription manager.\
Here we assume you have created your subscription manager and you know it id.<br>

First you will import this interface into your sol file

<pre class="language-solidity"><code class="lang-solidity"><strong>interface ICicleoRouter {
</strong>    function getUserSubscriptionStatus(
        uint256 subscriptionManagerId,
        address user
    ) public view returns (uint256 subscriptionId, bool isActive);
}
</code></pre>

Then you just call with the this function to get the status of a specific user with the given submanager id (in that case it's 5 but use yours)

<pre class="language-solidity"><code class="lang-solidity"><strong>function getUserStatus(address user) returns (uint256 subscriptionId, bool isActive) {
</strong>    uint258 subManagerId = 5;
<strong>    return ICicleoRouter(0x7B960C2F89a2829b323e6624cB03f6cD0046C97e).getUserSubscriptionStatus(subManagerId, user)   
</strong><strong>}
</strong></code></pre>

If you need some more complex integration let us know on discord we can do it for sure !
