---
# System prepended metadata

title: ':eight_spoked_asterisk: PIN Flow'

---



Flow


> :warning: ** Be very careful here cloning / forking this page. it has Evina!

:::info
:warning: Be very careful here cloning / forking this page. it has Evina
:::

# :eight_spoked_asterisk: PIN Flow

``` mermaid
graph TD;
impression-->Flow:advance:msisdn-entry-started
Flow:advance:msisdn-entry-started-->Flow:advance:msisdn-entry-valid
Flow:advance:msisdn-entry-valid-->Flow:advance:msisdn-submitted
Flow:advance:msisdn-submitted-->server:msisdn-validation-request;
server:msisdn-validation-request-->server:msisdn-validation-success;
server:msisdn-validation-request-->server:msisdn-validation-failed;
server:msisdn-validation-failed-->Flow:recede:msisdn-submission-failure
Flow:recede:msisdn-submission-failure-->Flow:advance:msisdn-entry-started;
server:msisdn-validation-success-->Flow:advance:msisdn-submission-success;
Flow:advance:msisdn-submission-success-->Flow:advance:pin-entry-started;
Flow:advance:pin-entry-started-->Flow:advance:pin-submitted;
Flow:advance:pin-submitted-->server:pin-validation-request
server:pin-validation-request-->server:pin-validation-success
server:pin-validation-request-->server:pin-validation-fail
server:pin-validation-fail-->Flow:recede:pin-submission-failure
Flow:recede:pin-submission-failure-->Flow:advance:pin-entry-started
server:pin-validation-success-->server:sale
server:pin-validation-success-->server:failed-sale


```

# :eight_spoked_asterisk: PIN + MO Flow

``` mermaid
graph TD;
impression-->Flow:advance:msisdn-entry-started
Flow:advance:msisdn-entry-started-->Flow:advance:msisdn-entry-valid
Flow:advance:msisdn-entry-valid-->Flow:advance:msisdn-submitted
Flow:advance:msisdn-submitted-->server:msisdn-validation-request;
server:msisdn-validation-request-->server:msisdn-validation-success;
server:msisdn-validation-request-->server:msisdn-validation-failed;
server:msisdn-validation-failed-->Flow:recede:msisdn-submission-failure
Flow:recede:msisdn-submission-failure-->Flow:advance:msisdn-entry-started;
server:msisdn-validation-success-->Flow:advance:msisdn-submission-success;
Flow:advance:msisdn-submission-success-->Flow:advance:pin-entry-started;
Flow:advance:pin-entry-started-->Flow:advance:pin-submitted;
Flow:advance:pin-submitted-->server:pin-validation-request
server:pin-validation-request-->server:pin-validation-success
server:pin-validation-request-->server:pin-validation-fail
server:pin-validation-fail-->Flow:recede:pin-submission-failure
Flow:recede:pin-submission-failure-->Flow:advance:pin-entry-started
server:pin-validation-success-->server:sale
server:pin-validation-success-->server:failed-sale


```

### :small_blue_diamond: Failed sales (grouped by system messages )

| System Messages                                 | % |
| ----------------------------------------|:---------:|
| 1. User already subscribed              |    80%    |
| 2. Opertor not supported                |    20%    |
| 3. Non billeble user                    |    20%    |

  
# :eight_spoked_asterisk: HeaderEnrichment

``` mermaid
graph TD;
impression-->Flow:advance-auto:msisdn-detection-start
Flow:advance-auto:msisdn-detection-start-->server:msisdn-detection-request;
server:msisdn-detection-success-->Flow:advance-auto:msisdn-submitted
Flow:advance-auto:msisdn-submitted-->server:msisdn-validation-request;
server:msisdn-detection-failed-->Flow:advance:msisdn-entry-started
Flow:advance:msisdn-entry-started-->Flow:advance:msisdn-entry-valid
Flow:advance:msisdn-entry-valid-->Flow:advance:msisdn-submitted
server:msisdn-validation-failed-->Flow:recede:msisdn-submission-failure
Flow:recede:msisdn-submission-failure-->Flow:advance:msisdn-entry-started
Flow:advance:msisdn-submitted-->server:msisdn-validation-request;
server:msisdn-validation-request-->server:msisdn-validation-success;
server:msisdn-validation-request-->server:msisdn-validation-failed;
server:msisdn-validation-success-->Flow:advance:msisdn-submission-success;
server:msisdn-detection-request-->server:msisdn-detection-success;
Flow:advance:msisdn-submission-success-->Flow:advance:pin-entry-started
server:msisdn-detection-request-->server:msisdn-detection-failed
Flow:advance:pin-entry-started-->Flow:advance:pin-submitted
Flow:advance:pin-submitted-->server:pin-validation-request;
server:pin-validation-request-->server:pin-validation-success;
server:pin-validation-request-->server:pin-validation-fail
-->Flow:advance:pin-entry-started
server:pin-validation-success-->server:sale;
server:pin-validation-success-->server:failed-sale;
```

# :eight_spoked_asterisk:   2 Click Flow

``` mermaid
graph TD;
impression-->server:msisdn-detection-request
server:msisdn-detection-request-->server:msisdn-detection-success
server:msisdn-detection-success-->Flow:advance-auto:msisdn-detected
server:msisdn-detection-request-->server:msisdn-detection-failed
Flow:advance-auto:msisdn-detected-->Flow:advance:subscribe
Flow:advance:subscribe-->Flow:advance:confirm-subscribe
Flow:advance:confirm-subscribe-->server:validate-subscription
server:validate-subscription-->server:sale
server:validate-subscription-->server:failed-sale
server:sale-->Flow:advance:click-subscribe-success
server:failed-sale-->Flow:advance:click-subscribe-failed
```



# :eight_spoked_asterisk: Auto Redirect Flow (AOC Flow)

``` mermaid
graph TD;
impression
-->Flow:advance:auto-redirect-to-consent
-->bupper:hit:redirect-success
-->server:validate-sale
server:validate-sale-->server:failed-sale
server:validate-sale-->server:sale
```

# :eight_spoked_asterisk: Click Redirect Flow (AOC Flow)

``` mermaid
graph TD;
impression-->Flow:advance:click-redirect-to-consent
Flow:advance:click-redirect-to-consent
-->bupper:hit:redirect-success
-->server:validate-sale
server:validate-sale-->server:failed-sale
server:validate-sale-->server:sale
```



# :eight_spoked_asterisk: Server-Server Redirect Flow

``` mermaid
graph TD;
impression-->
osui:redirect-to-server-->
bupper:hit:redirect-success -->

server:redirect-to-consent-->server:consent-redirection-success
server:redirect-to-consent-->server:consent-redirection-failed
server:consent-redirection-failed--> server:failed-sale
server:consent-redirection-success-->server:sale

```



# :eight_spoked_asterisk: Click2SMS Flow

``` mermaid
graph TD;

impression-->Flow:advance:click`
Flow:advance:click`-->server:validate-sale
server:validate-sale-->server:failed-sale
server:validate-sale-->server:sale



```

# :eight_spoked_asterisk: MO Flow

``` mermaid
graph TD;
impression-->Flow:advance:msisdn-entry-started
Flow:advance:msisdn-entry-started-->Flow:advance:msisdn-entry-valid
Flow:advance:msisdn-entry-valid-->Flow:advance:msisdn-submitted
Flow:advance:msisdn-submitted-->server:msisdn-validation-request;
server:msisdn-validation-request-->server:msisdn-validation-success;
server:msisdn-validation-request-->server:msisdn-validation-failed;
server:msisdn-validation-failed-->Flow:recede:msisdn-submission-failure
Flow:recede:msisdn-submission-failure-->Flow:advance:msisdn-entry-started;
server:msisdn-validation-success-->Flow:advance:msisdn-submission-success;
Flow:advance:msisdn-submission-success-->Flow:advance:click`
Flow:advance:click`-->server:sale
Flow:advance:click`-->server:failed-sale
```

# :eight_spoked_asterisk: MO Redirect Flow

``` mermaid
graph TD;
impression-->Flow:advance:msisdn-entry-started
Flow:advance:msisdn-entry-started-->Flow:advance:msisdn-entry-valid
Flow:advance:msisdn-entry-valid-->Flow:advance:msisdn-submitted
Flow:advance:msisdn-submitted-->server-msisdn-validation-request;
server-msisdn-validation-request-->server-msisdn-validation-success;
server-msisdn-validation-request-->server-msisdn-validation-failed;
server-msisdn-validation-failed-->Flow:recede:msisdn-submission-failure
Flow:recede:msisdn-submission-failure-->Flow:advance:msisdn-entry-started;
server-msisdn-validation-success-->Flow:advance:msisdn-submission-success;
Flow:advance:msisdn-submission-success-->Flow:advance:auto-redirect-to-consent
Flow:advance:msisdn-submission-success-->Flow:advance:click-redirect-to-consent
Flow:advance:auto-redirect-to-consent-->server:validate-sale
Flow:advance:click-redirect-to-consent-->server:validate-sale
server:validate-sale-->server:sale
server:validate-sale-->server:failed-sale
```

# :eight_spoked_asterisk: HE Redirection

``` mermaid
graph TD;
impression-->Server-Tallyman:he_request_initiate
Server-Tallyman:he_request_initiate-->Flow-Ouisys:msisdn-detection-start
Flow-Ouisys:msisdn-detection-start-->Server-MCB:he_redirect_callback_identify_success
Flow-Ouisys:msisdn-detection-start-->Server-MCB:he_redirect_callback_identify_fail
Server-MCB:he_redirect_callback_identify_fail-->flowComplete
Server-MCB:he_redirect_callback_identify_success-->MsisdnEncrypted?
MsisdnEncrypted?{MSISDN\nencrypted?}-->|Yes|Server-MCB:he_msisdn_decryption_success
MsisdnEncrypted?{MSISDN\nencrypted?}-->|Yes|Server-MCB:he_msisdn_decryption_fail
MsisdnEncrypted?{MSISDN\nencrypted?}-->|No|flowComplete{END}
Server-MCB:he_msisdn_decryption_success-->flowComplete{END}
Server-MCB:he_msisdn_decryption_fail-->flowComplete{END}
```
