---
tags: Features
---
# Referral events
asked, confirmed, denied, ignored
## #1 referral.asked (fabien)
Un inscrit non validé (B) demande à un membre validé (A) de le parrainer.
```json
{
"eventType": "referral.asked",
"payload": {
"referrer_analytics_id": "",
"referee_analytics_id": ""
"asked_at": ""
}
}
```
### Scénario :
A (membre validé)
B (inscrit non validé)
B demande à être parrainer par A :
```json=
{
"eventType": "referral.asked",
"payload": {
"referrer_analytics_id": "analytics_id_de_A",
"referee_analytics_id": "analytics_id_de_B"
"asked_at": "<datetime>"
}
}
```
on écrase asked_at lors d'une relance
### Enquete
->AskToReferManually->sendEmail()
## #2 referral.confirmed
Un membre validé (A) parraine un membre validé ou non (B).
```json
{
"eventType": "referral.confirmed",
"payload": {
"referrer_analytics_id": "",
"referee_analytics_id": "",
"relationship_normalized": "",
"confirmed_at": ""
}
}
```
### Scénario:
A (membre validé)
B (membre validé/non validé)
A parraine B:
```json=
{
"eventType": "referral.confirmed",
"payload": {
"referrer_analytics_id": "analytics_id_de_A",
"referee_analytics_id": "analytics_id_de_B",
"relationship_normalized": "",
"confirmed_at": "<datetime>"
}
}
```
### Enquete:
-> ConfirmReferral->confirm (après le set)
## #3 referral.denied
Un membre validé (A) refuse de parrainer un membre validé ou non (B)
```json
{
"eventType": "referral.denied",
"payload": {
"referrer_analytics_id": "",
"referee_analytics_id": ""
"denied_at": ""
}
}
```
### Scénario:
A (membre validé/non validé)
B (membre validé/non validé)
B refuse le parrainage de A:
```json=
{
"eventType": "referral.denied",
"payload": {
"referrer_analytics_id": "analytics_id_de_A",
"referee_analytics_id": "analytics_id_de_B",
"asked_at": "<datetime>"
}
}
```
### Enquete
-> ReferralManager->deny()
### Note
on ne gère pas les notions de veto et blocages dans cet event, on les associera plutôt au membres via des events distinct
## referral.ignored
```json
{
"eventType": "referral.ignored",
"payload": {
"referrer_analytics_id": "",
"referee_analytics_id": ""
"denied_at": ""
}
}
```
### Enquete
-> ReferralManager->hide()
## referral.shared
```json
{
"eventType": "referral.shared",
"payload": {
"referrer_analytics_id": "",
"referee_analytics_id": "",
"shared_at": "",
"mediator_analytics_id": ""
}
}
```
### Enquete
### Note
Est-ce que les "auto" referrals sont toujours d'actualité ?
## API Endpoints
The lambda proposes 2 API endpoints:
- one for suggesting referrers: /suggestions/referrers/{referee_id}
- one for suggesting referees: /suggestions/referees/{referrer_id}
### /suggestions/referrers/{referee_id}