Pour les applis partenaires

Vos utilisateurs publient leur progression sur Bemelio, avec un visuel à vos couleurs.

Un bouton dans votre appli ouvre Bemelio avec une publication prête, signée « via » votre appli. Il suffit d'un lien : pas de SDK, pas de clé.

Demander l'accès

Accès offert. Le membre valide toujours sa publication.

Story Bemelio d'une série de jours, signée via votre appliStory Bemelio d'une sortie de course, signée via votre appliStory Bemelio d'une lecture, signée via VREAD
Captures de l'appli Bemelio. Au centre, une lecture partagée depuis VREAD.

Comment ça marche

  1. 1
    Un bouton dans votre appli

    Après une séance, une lecture ou une sortie, « Partager sur Bemelio » ouvre un lien qui porte l'activité.

  2. 2
    Le membre valide sur Bemelio

    Sa publication est prête, dans le bon objectif. Il la relit, peut changer le texte, puis publie lui-même.

  3. 3
    La story fait connaître votre appli

    En un geste, il la partage en story, à vos couleurs, avec votre logo et « via » votre appli : ses amis la découvrent.

Ce que fait votre appli : ouvrir un lien

Pas de SDK, pas d'échange de serveur à serveur. L'activité voyage dans le paramètre d, un JSON encodé en base64url.

https://bemelio.com/partage?app=slug&outil=outil&d=base64url(JSON)
Fabriquez votre lien
Votre lien
https://bemelio.com/partage?app=votre-appli&outil=lecture&d=eyJ0aXRyZSI6IkzigJnDiXRyYW5nZXIiLCJ2aXN1ZWwiOnsidGl0cmUiOiJM4oCZw4l0cmFuZ2VyIiwicGFnZSI6MTQ4LCJ0b3RhbCI6MTg2fX0
Voir le JSON
{
  "titre": "L’Étranger",
  "visuel": {
    "titre": "L’Étranger",
    "page": 148,
    "total": 186
  }
}

Scannez ce code pour essayer le lien sur votre téléphone.

Tant que votre appli n'est pas activée, le lien ouvre Bemelio sur un message d'erreur poli, et rien n'est publié.

Le bouton, en quelques lignes

Les exemples reprennent le lien que vous venez de fabriquer.

func shareOnBemelio() {
  let data: [String: Any] = [
    "titre": "L’Étranger",
    "visuel": ["titre": "L’Étranger", "page": 148, "total": 186],
  ]
  guard let json = try? JSONSerialization.data(withJSONObject: data) else { return }
  let d = json.base64EncodedString()
    .replacingOccurrences(of: "+", with: "-")
    .replacingOccurrences(of: "/", with: "_")
    .replacingOccurrences(of: "=", with: "")
  if let url = URL(string: "https://bemelio.com/partage?app=votre-appli&outil=lecture&d=\(d)") {
    UIApplication.shared.open(url)
  }
}
Voir tous les outils
Les champs de d
titrestring(48)Le titre de la carte, sur une ligne.
textestring(500)Le message proposé au membre, qu'il peut modifier.
visuel{ }Obligatoire : les chiffres qui dessinent le visuel de l'outil.
stats[3]Facultatif : laissez Bemelio les calculer, dans la langue du membre.
Les outils et les champs de visuel
OutilChampsDonnée utile
Lecture lecture
titre string(80) · auteur string(60) · page, total 0-20000 · jour 0-5000 · semaine [7] · serie 0-3650 · finDans 0-999 · fini bool · note 0-5 · lus [24] string(60) · cible 0-365titre | cible | lus
Course course
km 0-1000 · duree 0-360000 (s) · dplus 0-20000 · trace [[lat, lon], ...] (100)km + duree
Série serie
mois 0-11 · annee · coches [31] 1-31 · aujourdhui 0-31 · serie, record, prochain 0-100000serie
Vélo velo
km 0-2000 · semaines [8] · objectif · dplus 0-20000 · vitesse 0-200km
Randonnée rando
km 0-500 · dplus, dmoins 0-20000 · altMax 0-9000 · saisonDpluskm
Natation natation
m 0-100000 · longueurs 0-4000 · bassin 0-100 · allure string(8) · semaines [8]m
Méditation meditation
Yoga yoga
min 0-1440 · jours [7] · objectifmin
Langues langue
code string(3) · niveau, cible A1-C2 · min · mots 0-1000000 · seriemin | mots
Musique musique
min · jours [7] · bpm, cibleBpm 0-400min
Dessin dessin
Photo photo
Chrono chrono
min 0-100000 · jours [7] · unite string(14)min
Écriture ecriture
mots 0-1000000 · jours [14] · objectif · manuscrit 0-100mots
Cuisine cuisine
recettes 0-1000 · cuisines [12] string(3) · niveau 0-4 · pct 0-100recettes | cuisines
Études etudes
min · jours [7] · pct 0-100 · examDans 0-999 · matieres [5] 0-1min | pct
Épargne epargne
pct 0-100 · mois 0-600 · versements
Jamais de montant
pct
Habitudes habitudes
jours [84] 0-1 · faites, prevues 0-100 · serieprevues
Escalade escalade
voies [24] { cote, res: onsight | flash | sent | project | failed } · maxvoies[0]
Recherche d'emploi emploi
envoyees, reponses, entretiens, offres 0-10000envoyees
Audience audience
points [16] · palier · plateforme string(20)points (2+)

Les nombres sont positifs et ramenés à leurs bornes. Un champ inconnu est ignoré. Un visuel sans sa donnée utile fait refuser le lien. Le lien entier fait 6 000 caractères au plus.

Les règles

  • Le membre valide toujours. Un lien ne publie jamais rien tout seul.
  • Pour la finance, aucun montant : seulement des pourcentages. Toujours les vrais chiffres du membre, sans donnée de santé.
  • L'accès est offert.
  • Votre appli doit être activée par Bemelio, qui vous donne votre identifiant, votre couleur et vos outils.

Prêt à brancher votre bouton ?

Dites-nous quelle appli et quels outils. Nous activons votre identifiant et vos couleurs.

Demander l'accès