Manuel

Introduction

La barre latérale gauche contient des liens vers les sections correspondantes :

  • Nom d'utilisateur - liens vers le profil personnel.
  • Tableau de bord - voir l'état actuel sous forme de graphiques et de diagrammes.
  • Applications - gestion des applications.
  • Codes de déverrouillage - codes de déverrouillage générés automatiquement ou téléchargés par vous.
  • Paiements - historique des paiements entrants des utilisateurs.
  • Manuel - le manuel utilisateur actuel.

Tableau de bord

Vous pouvez définir des filtres communs pour tous les widgets du tableau de bord :

  • Devise - la devise dans laquelle les montants entrants et sortants seront convertis sur le tableau de bord.
  • Période - est la période pendant laquelle les données sont affichées dans les graphiques et les tableaux sur le tableau de bord. Il détermine l'intervalle pendant lequel les informations et les statistiques sur les paiements, les applications et d'autres paramètres sont analysés et affichés.

Solde

Le solde comprend les montants suivants :

  • Montant brut - le montant total de tous les paiements des utilisateurs pour la période sélectionnée, à l'exclusion des frais des systèmes de paiement et de PayToUse.
  • Montant net - le montant total de tous les paiements pour la période sélectionnée moins les frais des systèmes de paiement et de PayToUse.
  • Montant en attente - le montant total de tous les paiements pour la période spécifiée moins les frais des systèmes de paiement et de PayToUse en attente de retrait sur le compte du développeur. Le paiement devient disponible pour retrait 7 jours après le paiement.
  • Montant disponible - le montant total de tous les paiements pour tout le temps moins les frais des systèmes de paiement et de PayToUse, disponible pour retrait sur le compte du développeur.

Paiements

Le widget Paiements comprend un tableau des paiements regroupés par application pour la période sélectionnée.

Champs de tableau :

  • Application - application. Seules les applications pour lesquelles des paiements ont été effectués pendant la période sélectionnée sont affichées dans le tableau.
  • Paiements - nombre de paiements.
  • Montant brut - le montant total de tous les paiements des utilisateurs pour la période sélectionnée, à l'exclusion des frais des systèmes de paiement et de PayToUse.
  • Montant net - le montant total de tous les paiements pour la période sélectionnée moins les frais des systèmes de paiement et de PayToUse.

Le graphique montre la dynamique des valeurs Montant net et Montant brut par jour.

Nouveaux utilisateurs

Le graphique des nouveaux utilisateurs montre deux valeurs en dynamique par jour :

  • Nouveaux utilisateurs - le nombre de nouveaux appels API. Les accès à l'API ne sont enregistrés que si le paramètre device - un identifiant de dispositif unique - est passé lors de l'envoi d'une requête à l'API. Ce paramètre doit être vraiment unique pour le dispositif. (voir Envoi d'une demande)
  • Paiements - le nombre de paiements pour la même période par jour.

Conversion

La métrique Conversion fait référence à l'évaluation de l'efficacité de vos ventes pour convertir Nouveaux utilisateurs en Paiements.

Le graphique montre le rapport entre le nombre de Paiements et le nombre de Nouveaux utilisateurs, en pourcentage.

Applications

Lorsque vous accédez à cette section, une liste de vos applications s'ouvre.

La liste des colonnes dans le tableau des applications :

  • # - identifiant d'application unique. Utilisé lors de la vérification du code d'application ou de l'affichage du formulaire de paiement.
  • Nom - nom de l'application. Le nom n'est affiché que pour vous dans les rapports et le tableau de bord. En cliquant sur le nom de l'application, la page d'édition de l'application s'ouvre.
  • Statut - l'état actuel de l'application. Il peut être :
    • Créé - L'application vient d'être créée, elle n'est pas encore configurée.
    • Publié - l'application est en cours d'exécution.
  • Créé - la date de création de l'application.
  • Boutons de contrôle supplémentaires :
    • Supprimer - pour supprimer l'application de la liste.

Création ou modification d'une application

Pour accepter les paiements, vous devez remplir de manière cohérente toutes les données d'application nécessaires et activer l'application.

Le bouton pour créer une nouvelle application se trouve dans la barre de titre de la liste des applications.

Application

Champs disponibles lors de la création d'une application :

  • Nom - le nom de l'application que vous seul pouvez voir dans les rapports ou sur le tableau de bord. Le nom sera affiché dans l'en-tête de page de l'application enregistrée. Tant que l'application n'est pas enregistrée, "Nouvelle application" est affiché à la place du nom. Le champ est obligatoire à saisir.
  • Email de contact - l'adresse e-mail à laquelle les copies des messages envoyés aux utilisateurs seront envoyées. Cette adresse est également spécifiée dans le champ "Répondre à" et est utilisée pour répondre à l'utilisateur au courrier électronique reçu avec le code. Le champ est obligatoire à saisir. Par défaut, le champ est pré-rempli avec la valeur du profil du développeur. La valeur peut être modifiée pour une valeur différente.
  • Type d'application - type d'application. Si vous sélectionnez un type d'application de groupe, une liste d'applications sera affichée pour le regroupement. Seules les applications individuelles pour lesquelles des codes de déverrouillage sont générés sont disponibles dans la liste.
  • Autoriser les retours sur le paiement - ajoute un champ au formulaire de paiement pour que les utilisateurs saisissent un texte libre. Les retours sont ajoutés à la copie de l'e-mail du développeur. Les retours peuvent également être consultés dans les détails du paiement.

Commencez à saisir les valeurs modifiées et le bouton Enregistrer apparaît. Le bouton Enregistrer vous permet de sauvegarder vos modifications sans passer à la page suivante. Le bouton Suivant sauvegarde les modifications et passe à la page suivante. Vous pouvez toujours revenir pour apporter des modifications ultérieurement.

Dans l'en-tête de page, seules les pages d'application enregistrées sont disponibles pour la navigation. Vous pouvez cliquer sur Suivant ou aller à la section dans l'en-tête de page.

Description

Sélectionnez une langue dans la liste et cliquez sur Ajouter.

Un onglet avec les textes d'application localisés pour la langue sélectionnée apparaîtra.

Langues disponibles :

  • Allemand
  • Anglais
  • Français
  • Espagnol
  • Russe
  • Chinois simplifié

Les champs de la description sont utilisés pour afficher des informations sur le formulaire de paiement et dans le message de réponse à l'utilisateur :

  • Nom - le nom de l'application pour la langue sélectionnée. Il est affiché sur le formulaire de paiement et dans le courriel de notification de paiement. Par défaut, lors de l'ajout d'une langue, le nom de l'application est inséré. Vous pouvez définir un nom différent pour chaque langue. Champ obligatoire.
  • Description - une brève description de l'application. Affichée sur le formulaire de paiement sous le nom de l'application. Champ optionnel. Vous pouvez le laisser vide si vous ne souhaitez pas afficher de description.
  • Réponse - des informations supplémentaires qui seront envoyées à l'utilisateur par courriel lors d'un paiement réussi. Le texte de réponse est ajouté à la fin du courriel après la réponse standard.

Au moins une langue doit être ajoutée pour enregistrer et passer à la page suivante.

La langue affichée dans le formulaire de paiement est automatiquement déterminée en fonction des préférences de l'utilisateur spécifiées dans les paramètres de son navigateur. Vous pouvez enregistrer la langue de l'application pour l'application.

Commencez à taper ou à modifier les valeurs et le bouton Enregistrer apparaît. Le bouton Enregistrer vous permet d'enregistrer vos modifications sans passer à la page suivante. Le bouton Suivant enregistre les modifications et passe à la page suivante. Vous pouvez toujours revenir pour apporter des modifications ultérieurement.

Dans l'en-tête de page, seules les pages d'application enregistrées sont disponibles pour la navigation. Vous pouvez cliquer sur Suivant ou aller à la section dans l'en-tête de page.

Prix

La page contient une liste de prix et de champs liés au paiement :

  • Période d'essai - la durée de la période d'essai.
  • Unité de temps - l'unité de temps de la période d'essai. Par exemple, si vous spécifiez 7 jours, cela signifie qu'après 7 jours après le premier appel API de l'application, elle renverra une réponse indiquant que la période d'essai a expiré. L'heure du premier appel de l'appareil est enregistrée.
  • Méthode de calcul du prix - La méthode de calcul du prix dans la liste :
    • Calcul du prix en fonction du terme - Dans le formulaire de paiement, l'utilisateur spécifie la période d'activation du code, et le prix est automatiquement calculé selon le tableau ci-dessous. L'utilisateur reçoit un code de déverrouillage généré automatiquement dans l'e-mail de réponse.
    • Calcul du terme en fonction du prix - Dans le formulaire de paiement, l'utilisateur sélectionne un prix dans la liste ou saisit sa propre valeur de prix, et la période est calculée automatiquement selon le tableau ci-dessous. L'utilisateur reçoit un code généré automatiquement dans le message de réponse.
    • Code permanent - Dans le formulaire de paiement, l'utilisateur sélectionne un prix dans la liste ou saisit sa propre valeur de prix. Après paiement, il reçoit un code de la liste ci-dessous, correspondant au prix sélectionné, dans l'e-mail de réponse.
    • Donation - Dans le formulaire de paiement, l'utilisateur sélectionne un prix dans la liste ou saisit sa propre valeur de prix. Pour les applications de type Donation, un code de déverrouillage n'est pas généré.

Le prix est fixé en dollars américains. Le prix minimum est de 1 dollar américain.

Commencez à taper ou à modifier les valeurs et le bouton Enregistrer apparaît. Le bouton Enregistrer vous permet d'enregistrer vos modifications sans passer à la page suivante. Le bouton Suivant enregistre les modifications et passe à la page suivante. Vous pouvez toujours revenir pour apporter des modifications ultérieurement.

Dans l'en-tête de page, seules les pages d'application enregistrées sont disponibles pour la navigation. Vous pouvez cliquer sur Suivant ou aller à la section dans l'en-tête de page.

Aperçu

Cette page définit les valeurs :

  • Longueur du code - la longueur du code généré, le cas échéant.
  • Ensemble de caractères du code - l'ensemble de caractères à partir duquel le code est généré :
    • Code numérique - le code est généré en utilisant uniquement les chiffres 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Les zéros initiaux peuvent être inclus dans le code. Les zéros initiaux sont significatifs lors de la vérification du code.
    • Code alphanumérique - le code est généré en utilisant les caractères 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, G, H, I, G, K, L, M, N, P, Q, R, S, T, U, V, X, Y, Z. Le code est généré et envoyé à l'utilisateur en utilisant des caractères majuscules. Le cas des caractères n'a pas d'importance lors de la vérification du code.
  • Lien pour vérifier le code - un exemple de lien à utiliser pour la vérification du code.
  • Lien pour payer - lien de paiement. Vous pouvez copier le lien et le coller dans la description de l'application sur le site web où l'application est publiée. Paramètres à passer :
    • app - l'identifiant unique de l'application. Paramètre requis.
    • amount - le montant qui sera spécifié dans le champ de prix lors de l'achat. Le prix par défaut est ignoré. Cependant, le montant ne peut pas être inférieur à le prix minimum et ne peut pas être inférieur au prix minimum défini pour le application. Paramètre facultatif.

Pour commencer à accepter les paiements, vous devez activer l'application avec le bouton Lancer. Avant d'activer l'application, assurez-vous que toutes les données saisies sont correctes. Les clés générées par l'application ne peuvent pas être modifiées.

Vérification du code

La vérification du code de déverrouillage de l'application se fait en 3 étapes :

  1. Écriture et envoi d'une demande de vérification du code
  2. Vérifications côté API
  3. Réception et traitement de la réponse de l'API
Envoi d'une demande

Pour vérifier le code, l'utilisateur de votre application doit le saisir dans le champ des paramètres de l'application.

/resources/settings/properties.xml
<properties>
	<property id="UnlockCode" type="string"></property>
	<property id="UnlockResult" type="string">Checking...</property>
	...
<properties>
/resources/settings/settings.xml
<settings>
	<setting propertyKey="@Properties.UnlockCode" title="@Strings.UnlockCode">
		<settingConfig type="alphaNumeric" maxLength="12"/>
	</setting>
	<setting propertyKey="@Properties.UnlockResult" title="@Strings.UnlockResult">
		<settingConfig type="alphaNumeric" readonly="true"/>
	</setting>
	...
</settings>

Ensuite, vous devez envoyer une demande au serveur API Pay-to-use :

/source/background.mc
function onTemporalEvent() as Void {
	var ds = System.getDeviceSettings();
	return Toybox.Communications.makeWebRequest(
		"https://api.pay-to-use.com", // URL de l'API
		{
			"device" => ds.uniqueIdentifier, // identifiant unique du périphérique
			"app" => "6", // l'identifiant de votre application
			"model" => ds.partNumber, // référence du produit
			"code" => Application.Properties.getValue("UnlockCode") // valeur du code de déverrouillage dans votre application
		},
		{
			:method => Communications.HTTP_REQUEST_METHOD_POST,
			:headers => { "Content-Type" => Communications.REQUEST_CONTENT_TYPE_JSON },
			:responseType => Communications.HTTP_RESPONSE_CONTENT_TYPE_JSON
		},
		method(:onReceive)
	);
}

Paramètres de la requête API:

  • url - https://api.pay-to-use.com. L'utilisation du protocole HTTPS est obligatoire.
  • Le corps de la requête (les valeurs transmises). Un dictionnaire de clés et de valeurs :
    • device - identifiant unique du périphérique.
    • app - identifiant unique de votre application.
    • model - identifiant du modèle d'appareil. Paramètre facultatif. Ces données servent à afficher les statistiques relatives aux nouveaux appareils.
    • code - code de déverrouillage saisi par l'utilisateur dans les paramètres de votre application.
  • Options de la requête :
    • :method - l'API prend en charge les méthodes de requête GET et POST.
    • :headers - pour la méthode POST, les paramètres doivent être transmis au format JSON.
    • :responseType - la réponse est renvoyée au format JSON.
  • responseCallback - un lien vers la méthode de rappel, qui devrait accepter deux arguments :
    • responseCode - le code d'en-tête de réponse du serveur.
    • data - le contenu si la requête a réussi, ou null.
Vérifications côté API

Si aucun paramètre n'est transmis à l'API, l'API renvoie un en-tête HTTP/1.1 404 Not Found.

Si au moins un paramètre est transmis à l'API, l'API renvoie l'en-tête HTTP/1.1 200 OK.

La réponse du serveur se compose de :

  • response - code de réponse
  • msg - description textuelle de la réponse
  • expires - horodatage UNIXTIME (si applicable)

Une vérification est effectuée pour s'assurer que l'identifiant de l'application transmis est correct. L'application doit être dans l'état Publié au moment du paiement. En cas d'erreur, le code de réponse 301 est renvoyé.

Si un identifiant de périphérique unique est transmis, l'identifiant de périphérique est recherché et stocké. En cas d'erreurs lors de la vérification ou de l'enregistrement, un code d'erreur 402 est renvoyé. Si un tel code de retour est trouvé, écrivez immédiatement au support à [email protected]

Si le code est transmis, les étapes suivantes sont effectuées pour les applications avec les méthodes de calcul Calcul du prix en fonction du terme et Calcul du terme en fonction du prix :

  • Si un code vide est transmis, il est détaché de l'identifiant de périphérique unique défini dans les étapes précédentes.
  • Si un code non vide est transmis et n'est pas activé, le code est activé en fonction des conditions de prix spécifiées lors de l'achat du code, indépendamment de la date d'activation.
  • Si aucun code n'a été transmis ou si le code transmis n'est pas trouvé, le code d'erreur 201 est renvoyé.
  • Le code activé est vérifié par rapport au périphérique et, si un identifiant de périphérique unique autre que celui stocké a été transmis pendant l'activation, un code d'erreur 202 est renvoyé.
  • Si le code transmis n'a pas de date d'expiration et que tous les contrôles précédents ont été réussis, le code 101 est renvoyé.
  • Si le code est limité dans le temps, une vérification est effectuée. Si la clé n'a pas expiré, le code 101 est renvoyé. Si le code a expiré, le code d'erreur 203 est renvoyé.
  • Cette application nécessite que le code soit lié au périphérique. Si l'ID de périphérique unique n'a pas été transmis, le code d'erreur 304 est renvoyé.

Pour une application avec un Code permanent, seule la disponibilité du code au moment de l'achat est vérifiée. Si un code est trouvé, le code 101 est renvoyé. Si aucun code n'est trouvé, le code d'erreur 201 est renvoyé.

Pour une application avec la méthode de calcul Donation, le code n'est pas vérifié. Le code 101 est toujours renvoyé.

Si les contrôles précédents n'ont pas été passés, la période de test est vérifiée. Si plus de temps s'est écoulé depuis le premier contact du périphérique que les paramètres d'application actuels, le code d'erreur 204 est renvoyé. Si la période d'essai n'a pas encore expiré, le code d'erreur 102 est renvoyé.

Si seul l'ID de l'application est transmis et ni le code de déverrouillage ni l'ID de périphérique unique ne sont transmis, le code d'erreur 303 est renvoyé.

Si la réponse retournée est 500, vous devriez écrire au support à l'adresse [email protected]

Ci-dessous se trouve un tableau de tous les codes retournés :

Renvoyer Message
101 Méthodes de calcul Calcul du prix en fonction du terme et Calcul du terme en fonction du prix :
  • Actif pour toujours
{
	"response":101,
	"msg":"Active forever",
	"expires":0
}
  • Actif jusqu'au [date]
{
	"response":101,
	"msg":"Active until 16 Nov 2026",
	"expires":1794863819
}
Code permanent:
{
	"response":101,
	"msg":"The code check was successfull",
	"expires":0
}
Donation:
{
	"response":101,
	"msg":"No code check required",
	"expires":0
}
102
{
	"response":102,
	"msg":"Trial period expires in 1d 9h 23m",
	"expires":1779604815
}
201
{
	"response":201,
	"msg":"Code not found"
}
202
{
	"response":202,
	"msg":"Used on the another device"
}
203
{
	"response":203,
	"msg":"Expiration: 25 Mar 2026",
	"expires":1774473419
}
204
{
	"response":204,
	"msg":"Trial period expired"
}
301
{
	"response":301,
	"msg":"Application not found"
}
302
{
	"response":302,
	"msg":"Term undefined"
}
303
{
	"response":303,
	"msg":"Not enough arguments"
}
304
{
	"response":304,
	"msg":"Device is nesessary"
}
401
{
	"response":401,
	"msg":"Error code saving"
}
402
{
	"response":402,
	"msg":"Error device saving"
}
500
{
	"response":500,
	"msg":"Unknown error"
}
Vérification de la réponse

Ensuite, vous devez vérifier la réponse du serveur API Pay-to-use :

/source/background.mc
function onReceive(responseHeader, data) as Void {
	if (responseHeader == 200) { Toybox.Background.exit(data); }
}

Vous pouvez vérifier tous les en-têtes et les codes, vous pouvez afficher vos propres messages pour la commodité de l'utilisateur, mais de la manière la plus simple, la vérification ressemblera à ceci :

/source/app.mc
function onBackgroundData(data) as Void {
	if (data.hasKey("response")) {
		if (data.hasKey("msg")) {
			// Vous pouvez afficher data["msg"] dans le champ de propriétés avec le nom "UnlockResult".
			Application.Properties.setValue("UnlockResult", data["msg"]);
		}
		if (data["response"].toString().substring(0, 1).equals("2")) {
			// La vérification du code a échoué
			// Les fonctions payantes ne sont PAS disponibles
			...
		} else {
			// La vérification du code a réussi ou l'erreur est de votre faute ou celle de l'API
			// Les fonctions payantes sont disponibles
			...
		}
	}
}

Codes de déverrouillage

Lorsque vous accédez à cette section, une liste de codes de déverrouillage s'ouvrira.

Liste des codes de déverrouillage

Vous pouvez rechercher le champ d'e-mail ou le code dans la barre de recherche en haut. Les codes trouvés seront affichés dans la liste. Vous pouvez utiliser tout ou partie de l'e-mail ou du code comme critère de recherche. Les correspondances seront surlignées en couleur. La recherche et les filtres fonctionnent simultanément et ne s'excluent pas mutuellement.

Le dernier filtre utilisé est enregistré pour l'utilisateur. Ainsi, la prochaine fois que vous accéderez à la page, le dernier filtre utilisé sera appliqué automatiquement. Les filtres sont disponibles pour la liste des codes de déverrouillage :

  • Colonnes - sélectionnez les colonnes du tableau à afficher dans la liste des codes de déverrouillage.
  • Application - afficher uniquement les codes de déverrouillage pour les applications sélectionnées.
  • Statut - afficher uniquement les codes de déverrouillage qui sont dans les statuts sélectionnés.

La liste des colonnes dans le tableau des codes de déverrouillage :

  • Application - votre application. Vous pouvez suivre le lien pour modifier ses paramètres.
  • Code - le code de déverrouillage.
  • Email - l'adresse e-mail associée à l'enregistrement du code de déverrouillage. Cette adresse est utilisée pour rechercher les codes de déverrouillage client dans la section Mes achats du site Web. Cette section est accessible aux utilisateurs.
  • Terme - la période de validité du code envoyé (spécifiée dans les paramètres de l'application). Une période de validité est définie pour le code, correspondant aux conditions des paramètres de l'application au moment de sa création.
  • Statut - le statut du code de déverrouillage. (voir Statut du code de déverrouillage)
  • Créé - la date de création du code de déverrouillage.
  • Activé - la date d'activation du code. Elle est définie au moment où ce dispositif utilisateur particulier contacte pour la première fois le service d'API PayToUse et soumet ce code. Le statut du code passe à Activé. Seul un code inactif peut être activé. Si un code actif est soumis par un dispositif avec un identifiant différent, l'API renvoie l'erreur 202. Un seul dispositif peut être lié à un seul code.
  • Expiration - la date d'expiration de l'activation du code. Définie pour les codes qui ont une période de validité limitée à l'activation du code. Pour les codes avec une date d'expiration illimitée, la case reste vide.
  • Supprimé - la date de suppression du code. Lors de la suppression, le statut du code est défini sur Inconnu.
  • Paiement # - numéro de séquence unique du paiement. Vous pouvez cliquer sur le lien pour afficher les détails du paiement.
  • Boutons pour les actions sur les codes de déverrouillage. Par exemple, la suppression.

Statut du code de déverrouillage

Pendant son cycle de vie, le code de déverrouillage passe par différents états, qui peuvent être suivis par le statut du code.

Statut Description
Disponible Le statut est attribué à un code de déverrouillage pour lequel aucune action n'a été effectuée ou si le lien du dispositif est réinitialisé pour le code.
Activé Le statut est défini pour un code avec une date d'activation définie. La date d'activation est définie lorsque le dispositif accède avec succès au service API PayToUse pour la première fois. De plus, lors de l'activation du code, la date d'expiration du code est définie.
Expiré Le statut est défini pour un code expiré. Détacher le code du dispositif ne réinitialise pas la date d'expiration du code. Vérifier le code avec ce statut renverra l'erreur 203. (voir Vérifications côté API)
Inconnu Le statut est défini lorsque le code est supprimé. Vérifier le code avec ce statut renverra l'erreur 201. (voir Vérifications côté API)

Paiements

En accédant à cette section, une liste des paiements des utilisateurs s'ouvrira.

Les systèmes de paiement suivants sont utilisés pour recevoir des paiements :

Système Description
Les frais du système de paiement sont de 2.9% + 0.30 USD par transaction réussie. Les cartes, les portefeuilles et autres options de paiement sont pris en charge. Les frais dépendent du mode de paiement et peuvent différer des frais de paiement par carte. Vous trouverez des informations détaillées sur les frais facturés par le système de paiement sur le site Web du système de paiement.
Les frais du système de paiement sont de 3.4% + 0.30 USD par transaction réussie. Les cartes et PayPal sont pris en charge. Vous trouverez des informations détaillées sur les frais facturés par le système de paiement sur le site Web du système de paiement.
Les frais du système de paiement sont de 3.9% par transaction réussie. Les cartes et autres options de paiement sont pris en charge. Les frais dépendent du mode de paiement. Vous trouverez des informations détaillées sur les frais facturés par le système de paiement sur le site Web du système de paiement.

Après les frais du système de paiement, PayToUse facturera des frais de 13%. Nous travaillons constamment à réduire les frais.

Si des litiges ou des remboursements surviennent dans le système de paiement, les pénalités du système de paiement sont réémises au développeur. Vous ne devriez donc pas permettre que de telles situations se produisent. Les frais de PayToUse ne sont pas facturés dans les situations controversées.

Liste des paiements

Vous pouvez rechercher le champ d'e-mail ou le code envoyé dans la barre de recherche en haut. Les paiements trouvés seront affichés dans la liste. Vous pouvez utiliser tout ou partie de l'e-mail ou du code envoyé comme critère de recherche. Les correspondances seront mises en surbrillance en couleur. La recherche et les filtres fonctionnent simultanément et ne s'excluent pas mutuellement.

Le dernier filtre utilisé est enregistré pour l'utilisateur. Ainsi, la prochaine fois que vous accéderez à la page, le dernier filtre utilisé sera appliqué automatiquement. Des filtres sont disponibles pour la liste des paiements :

  • Colonnes - sélectionnez les colonnes du tableau à afficher dans la liste de paiements.
  • Application - affichage des paiements uniquement pour les applications sélectionnées.
  • Système - afficher les paiements uniquement à partir des systèmes de paiement sélectionnés.
  • Statut - afficher les paiements uniquement avec les statuts sélectionnés.

La liste des colonnes dans le tableau des paiements :

  • Application - votre application. Vous pouvez suivre le lien pour modifier ses paramètres.
  • # - numéro de séquence unique du paiement. Il est attribué au paiement automatiquement lorsque l'utilisateur passe du formulaire de paiement à la page de paiement dans le système de paiement. Vous pouvez cliquer sur le lien pour afficher les détails du paiement.
  • Commentaires - message de l'utilisateur saisi dans le formulaire de paiement.
  • Système - le système de paiement sélectionné par l'utilisateur.
  • Statut - le statut du paiement. (voir État du paiement)
  • Email - e-mail de l'utilisateur indiqué dans le formulaire de paiement.
  • Terme - la période de validité du code envoyé (spécifiée dans les paramètres de l'application).
  • Créé - la date de création du paiement.
  • Montant de la facture - le montant du paiement facturé à l'utilisateur. Spécifié dans le formulaire de paiement en fonction des paramètres de l'application.
  • Date de paiement - la date du paiement.
  • Montant du paiement - le montant du paiement confirmé par le système de paiement.
  • Code envoyé - code envoyé à l'utilisateur.
  • Montant disponible - montant de retrait disponible.
  • Montant du paiement - le montant des fonds retirés pour le paiement.

Il n'est pas possible de modifier le paiement.

État du paiement

Durant son cycle de vie, le paiement passe par différents états, qui peuvent être suivis par le statut du paiement.

Statut Description
Incomplet Le statut est attribué aux paiements pour lesquels aucune action n'a été effectuée. Le paiement est créé dès que l'utilisateur passe du formulaire de paiement au formulaire de système de paiement. Le paiement se voit attribuer un numéro de série unique, ainsi que les attributs de base du paiement : montant, système de paiement, date.
Réussi Le statut est attribué aux paiements qui ont reçu une réponse positive du système de paiement. L'étape suivante consiste à envoyer un e-mail à l'utilisateur contenant le code généré ou d'autres données en fonction des paramètres de l'application. Si le paiement reste dans ce statut, il est nécessaire d'y prêter une attention particulière, car les actions ultérieures n'ont pas été effectuées.
Erreur Le statut est attribué aux paiements pour lesquels une réponse négative est reçue du système de paiement. Les étapes suivantes ne sont pas effectuées. Il est nécessaire de porter une attention particulière à de tels paiements, car le statut du côté du système de paiement peut être traité avec un certain délai.
En attente Le statut est attribué aux paiements pour lesquels une réponse positive est reçue du système de paiement, et toutes les étapes ultérieures ont été terminées avec succès. Le retrait des paiements avec ce statut n'est pas disponible. Les paiements passent automatiquement au statut suivant dans 7 jours.
Disponible Le retrait est disponible pour les paiements dans ce statut.
Envoi Le statut est activé pour les paiements inclus dans le prochain retrait. Si le retrait est annulé ou refusé, le statut du paiement est revenu à Disponible.
Envoyé Le statut est activé pour les paiements pour lesquels le retrait est effectué. La confirmation de la réception des fonds est en attente.
Terminé Le statut est activé pour les paiements avec des retraits réussis. Vous pouvez définir manuellement le statut en confirmant le retrait dans la section correspondante. Le statut est également automatiquement modifié 14 jours après le retrait du paiement.
Remboursé Les paiements pour lesquels un remboursement a été émis sont transférés dans ce statut. Lors de l'émission d'un remboursement, des frais de remboursement sont facturés. Les frais sont déduits du montant du retrait.

Retraits

Lorsque vous accédez à cette section, une liste de vos retraits s'ouvrira.

Liste des retraits

Le dernier filtre utilisé est stocké pour l'utilisateur. Ainsi, la prochaine fois que vous accéderez à la page, le dernier filtre utilisé sera appliqué automatiquement. Des filtres sont disponibles pour la liste des retraits :

  • Colonnes - n'afficher que les colonnes sélectionnées dans la liste des retraits.
  • Statut - n'afficher que les retraits qui sont dans les statuts sélectionnés.

La liste des colonnes dans le tableau des retraits :

  • # - numéro de séquence unique du retrait. Il est attribué au retrait automatiquement lors de l'enregistrement du retrait. Vous pouvez cliquer sur le lien pour afficher les détails du retrait.
  • Statut - le statut du retrait. (voir Statut du retrait)
  • Créé - la date de la demande de retrait.
  • Montant - le montant du retrait.
  • Retrait - la date à laquelle le retrait a été envoyé.
  • Boutons pour les actions concernant les retraits. Par exemple, confirmation.

Vous pouvez confirmer le retrait lorsqu'il est dans le statut Envoyé.

Statut du retrait

Durant son cycle de vie, le retrait passe par différents états, qui peuvent être suivis par le statut du retrait.

Statut Description
En attente Le statut est attribué aux retraits lors de la création, pour lesquels aucune action n'a été effectuée.
Annulé Le statut est attribué aux retraits annulés. Les annulations peuvent être effectuées pour diverses raisons. Par exemple, la méthode de réception des fonds n'est pas spécifiée. Tous les paiements de ce retrait passent au statut Disponible et sont à nouveau disponibles pour un retrait.
Envoyé Le statut est défini pour le retrait des fonds lorsqu'il est envoyé.
Terminé Le statut est défini pour le retrait manuel lorsqu'il est reçu par le développeur pour confirmer la réception. Ou automatiquement 14 jours après l'envoi.
Refusé Le statut est défini pour le retrait lorsque la banque ou le système de paiement retourne les fonds après l'envoi. Tous les paiements de ce retrait passent au statut Disponible et sont à nouveau disponibles pour un retrait.

API

Aperçu

L'API PayToUse exerce les fonctions suivantes :

  1. Vérifie le statut d'activation d'un code de déverrouillage et l'active si nécessaire.
  2. Récupère les données de glucose sanguin de l'application NightScout.
  3. Récupère les données météorologiques actuelles pour un emplacement spécifié.

Toutes les informations peuvent être demandées et retournées en une seule requête.

Points de terminaison de l'API

Vous pouvez utiliser l'un des points de terminaison suivants :

  • https://api.pay-to-use.com
  • https://api.p2u.io

Les deux points de terminaison gèrent les requêtes GET et POST.

Paramètres de la requête

  • device: chaîne (requis) — identifiant unique du périphérique
  • app: entier (requis) — l'identifiant de votre application
  • model: chaîne (facultatif) — code du modèle d'appareil, nécessaire pour collecter et afficher les statistiques des appareils utilisant l'application
  • code: chaîne (facultatif) — code de déverrouillage
  • bg: tableau associatif (facultatif) — données pour demander les niveaux de glucose sanguin de l'application NightScout
    • url: chaîne (facultatif) — adresse de l'application NightScout
  • weather: tableau associatif (facultatif) — données pour demander la météo actuelle
    • appid: chaîne (facultatif) — clé d'accès à l'API météo
    • lat: virgule flottante (facultatif) — latitude
    • lon: virgule flottante (facultatif) — longitude
    • provider: entier (facultatif) — fournisseur météo

Liste des fournisseurs de météo pris en charge

1. OpenWeatherMap

  • Description: OpenWeatherMap fournit des données météorologiques mondiales, y compris la météo en temps réel, les données historiques et les prévisions sur 16 jours. Avec une couverture géographique large et des mises à jour fréquentes, OpenWeatherMap est un choix populaire pour les applications nécessitant à la fois la météo actuelle et les prévisions étendues.
  • Données fournies: Température en temps réel, humidité, vitesse du vent, qualité de l'air, probabilité de précipitations et bien d'autres. Offre à la fois des données actuelles et des données de prévision, y compris les données météorologiques minute par minute pour les lieux sélectionnés.
  • Sélection du fournisseur: Incluez provider = 1 dans la section weather de votre requête pour sélectionner OpenWeatherMap comme fournisseur de météo.
  • Notes d'utilisation: Offre des niveaux gratuits et payants, avec des données accessibles via l'authentification par clé API. Les couches de données avancées et les fonctionnalités premium sont disponibles dans les plans payants.
  • Documentation de l'API: Disponible ici.

2. QWeather

  • Description: QWeather, également connu sous le nom de HeWeather, fournit des données météorologiques complètes axées sur la Chine mais incluant également des données internationales. Il offre des détails étendus tels que la météo en temps réel, les prévisions, les informations sur la qualité de l'air et les alertes.
  • Données fournies: Température actuelle, humidité, indice UV, niveaux de pollution, prévisions quotidiennes et horaires, ainsi que des avertissements pour les conditions météorologiques graves. Connu pour ses données granulaires sur la qualité de l'air et ses mises à jour en temps réel sur les conditions météorologiques changeantes.
  • Sélection du fournisseur: Incluez provider = 2 dans la section weather de votre requête pour sélectionner QWeather comme fournisseur de météo.
  • Notes d'utilisation: QWeather offre un accès API avec des niveaux gratuits et premium. Le niveau gratuit fournit des données limitées, tandis que les options premium s'étendent pour couvrir des points de données et des emplacements supplémentaires.
  • Documentation de l'API: Disponible ici.

3. MET Weather (MET Norway)

  • Description: L'API MET Weather, fournie par MET Norvège, donne accès à une variété de données météorologiques ouvertes, y compris les prévisions, les données historiques et les données spécifiques pour la Norvège et les régions nordiques. Connu pour sa précision et sa transparence, MET Weather est idéal pour les applications ayant besoin de données météorologiques hautement fiables.
  • Données fournies: Conditions météorologiques actuelles, prévisions, précipitations, température, données du vent et indice UV. MET Weather offre des données spécialisées pour les régions nordiques mais prend également en charge les informations météorologiques mondiales.
  • Sélection du fournisseur: Incluez provider = 3 dans la section weather de votre requête pour sélectionner MET Weather comme fournisseur de météo.
  • Notes d'utilisation: Toutes les données fournies par MET Weather sont librement disponibles pour une utilisation sous licence Creative Commons, permettant les applications commerciales et non commerciales sans frais. MET Norvège est réputée pour ses données environnementales, ce qui en fait un fournisseur de confiance, particulièrement en Europe.
  • Documentation de l'API: Disponible ici.

Exemple de requête

/source/background.mc
function onTemporalEvent() as Void {
	var ds = System.getDeviceSettings();
	if (!ds.phoneConnected) { // Vérifie que le périphérique est connecté au téléphone pour l'envoi de la requête
		return;
	}

	var id = ds.uniqueIdentifier;
	if (id == null) { // Vérifie que le périphérique a reçu un identifiant unique
		return;
	}

	var request = {};

	var lockCheck = Application.Storage.getValue("LastCodeCheckTimestamp");
	if (lockCheck == null || lockCheck <= Time.now().value()) { // Envoie le code si nécessaire
		request.put("code", Application.Properties.getValue("UnlockCode"));
	}

	var ns_url = Application.Properties.getValue("NS");
	if (!ns_url.equals("")) { // Envoie l'URL de l'application NightScout si nécessaire
		request.put("bg", { "url" => ns_url });
	}

	var wP = Application.Properties.getValue("Weather");
	if (wP != 0) { // Envoie les paramètres de requête de météo si nécessaire
		var lat = Application.Properties.getValue("latitude");
		var lon = Application.Properties.getValue("longitude");
		if (!lat.equals("") && !lon.equals("")) {
			request.put("weather", {
				"appid" => Application.Properties.getValue("appID"),
				"lat" => lat,
				"lon" => lon,
				"provider" => wP
			});
		}
	}

	if (!request.isEmpty()) {

		// Remplissez les paramètres de requête requis
		request.put("device", id);
		request.put("app", p2uAppID); // l'identifiant de votre application
		request.put("model", ds.partNumber);

		Toybox.Communications.makeWebRequest(
			"https://api.p2u.io", // Point de terminaison de l'API
			request,
			{
				:method => 3, // Communications.HTTP_REQUEST_METHOD_POST
				:headers => {
					"Content-Type" => 1 // Communications.REQUEST_CONTENT_TYPE_JSON
				},
				:responseType => 0 // Communications.HTTP_RESPONSE_CONTENT_TYPE_JSON
			},
			method(:onReceive)
		);
	}
}

Réponse de l'API

L'API renvoie un objet JSON avec des informations sur l'état du déverrouillage, le niveau de glucose et la météo.

Paramètres de réponse

Résultats de la vérification du code de déverrouillage (si une requête a été envoyée):

  • response: entier — code de retour
  • msg: chaîne — message sur le résultat de la vérification
  • expires: entier — horodatage d'expiration du code au format UNIXTIMESTAMP
  • qr: array — Code QR pour la vérification du numéro de série ou de l'achat, le cas échéant

Réponse de l'application NightScout (si une requête a été envoyée):

  • bg: tableau associatif — réponse formatée de l'application NightScout
    • value: entier — niveau de glucose sanguin en mg/dL
    • date: entier — horodatage de l'expiration du code au format UNIXTIMESTAMP
    • direction: chaîne — tendance du changement du niveau de glucose sanguin

Réponse de l'API Météo (si une requête a été envoyée):

  • weather: tableau associatif — réponse formatée de l'API Météo
    • provider: entier — identifiant du fournisseur de météo
    • weather: array — conditions météorologiques actuelles. Peut renvoyer une ou deux valeurs ; si deux valeurs sont renvoyées, elles représentent les conditions de jour et de nuit
    • temp: virgule flottante — température actuelle en Celsius
    • feels_like: virgule flottante — température ressentie en Celsius
      Внимание! Отсутствует для MET Norway
    • pressure: entier — pression atmosphérique en hPa
    • humidity: entier — humidité en %
    • precipitation: entier — probabilité de précipitation en %
      Внимание! Отсутствует для MET Norway
    • wind: entier — direction du vent en degrés
    • wind_speed: virgule flottante — vitesse du vent en m/s
    • temp_low: virgule flottante — la température minimale d'aujourd'hui en degrés Celsius
    • temp_high: virgule flottante — la température maximale d'aujourd'hui en degrés Celsius
    • sunrise_today: entier — l’horodatage du lever du soleil d'aujourd'hui au format UNIXTIMESTAMP
    • sunset_today: entier — l’heure du coucher du soleil d'aujourd'hui au format UNIXTIMESTAMP
    • sunrise_tomorrow: entier — l’horodatage du lever du soleil de demain au format UNIXTIMESTAMP
    • sunset_tomorrow: entier — l’heure du coucher de soleil de demain au format UNIXTIMESTAMP
    • aqi: tableau associatif — indice de qualité de l'air
      • level: entier — niveau d'indice de qualité de l'air
      • value: entier — valeur d'indice de qualité de l'air

Exemple de réponse

https://api.p2u.io
{
	"response": 103,
	"msg": "Free for beta tester",
	"expires": 0,
	"qr": [
		"11111110111011010110101111111",
		"10000010111001001101001000001",
		"10111010101100110110101011101",
		"10111010110101000001001011101",
		"10111010000001010100001011101",
		"10000010100110001101001000001",
		"11111110101010101010101111111",
		"00000000010010110111100000000",
		"11001110000100100100100101111",
		"11111100011011011010011111111",
		"01111011100111111100101000001",
		"01111100101100110111011011011",
		"00110110101010100101110000010",
		"11001000010001011000001011111",
		"01101010001001110100000001101",
		"10111101100010100101100110011",
		"01010111111100110100100100010",
		"10000100111011011000101111011",
		"00000110110110110100100000101",
		"00111100011100001100101100011",
		"11110111110010100111111111001",
		"00000000111001011101100010001",
		"11111110010001011111101011101",
		"10000010100010100111100010010",
		"10111010101101100111111111001",
		"10111010010010110000010000001",
		"10111010001111111110000001111",
		"10000010111101011111101101011",
		"11111110100011011110110010010"
	],
	"bg": {
		"value": -102,
		"date": 1730546101,
		"direction": ""
	},
	"weather": {
		"provider": 1,
		"weather": [
			89
		],
		"temp": 0.27,
		"feels_like": -3.14,
		"pressure": 999,
		"humidity": 78,
		"precipitation": 0,
		"wind": 120,
		"wind_speed": 2.96,
		"temp_low": -3.8,
		"temp_high": 0.27,
		"sunrise_today": 1730527969,
		"sunset_today": 1730551770,
		"sunrise_tomorrow": 1730614492,
		"sunset_tomorrow": 1730638051,
		"aqi": {
			"level": 1,
			"value": 38
		}
	}
}

Notes

  • Les requêtes avec bg nécessitent une connexion à l'application NightScout.
  • Pour chaque requête avec un code, l'API vérifie automatiquement l'état du code et l'active s'il est inactif.
  • Veuillez noter que les paramètres de l'API peuvent être mis à jour ou modifiés au fil du temps pour améliorer la fonctionnalité, la compatibilité et la sécurité. Il est recommandé de revoir régulièrement la documentation de l'API pour toute modification qui pourrait affecter l'intégration ou l'utilisation.

Garmin

Pour une description détaillée des fonctions et constantes de météo du SDK Garmin, veuillez consulter ce lien. Vous pouvez stocker les valeurs obtenues à partir de l'API ou les résultats des fonctions de météo du SDK Garmin, en fonction du fournisseur de météo sélectionné, pour assurer la cohérence de l'affichage des valeurs sur l'écran.

ID Description Jour Nuit
0 Effacer
0x53

0x54
40 Acceptable
23 Moyennement
0x55

0x56
1 Nuageux
0x57

0x58
22 Partiellement dégagé
2 Très Nuageux
0x59
52 Des nuages clairsemés
20 Nuageux
0x5A
45 Ciel nuageux avec des risques de pluie
31 Bruine
0x3E
14 Légère pluie
0x42
24 Légères averses
3 Pluie
0x43
25 Douches
27 Risque d'averses
0x46
11 Averses éparses
15 Forte pluie
26 Fortes averses
28 Risque d'orages
0x36

0x37
12 Orages épars
0x38
6 Orages
0x39
8 Brouillard
0x4E
9 Brumeux
29 Brume
39 Brume
30 Poussière
0x4F
35 Sable
33 Fumée
38 Cendre volcanique
37 Tempête de sable
13 Précipitations inconnues
5 Venteux
0x52
36 Tempête
48 Averses
32 Tornade
0x50
41 Ouragan
42 Tempête tropicale
50 Neige fondue
0x45
7 Mélange hivernal
18 Légère pluie ou neige
19 Fortes pluies et chutes de neige
21 Pluie et neige
49 Pluie verglaçante
44 Risque de pluie ou de neige
47 Temps nuageux, risque de pluie ou de neige
34 Glace
51 Glace et neige
43 Risque de neige
0x4C

0x4D
16 Neige légère
46 Ciel nuageux avec des risques de neige
0x4A
4 Neige
17 Fortes chutes de neige
0x4B
10 Grêle
0x3A

Carte Open Weather

Découvrez ici, à titre d'exemple, la série d'icônes pour OpenWeatherMap.

ID Description Jour Nuit
2xx Orages
200 Orage avec la pluie légère
0x36

0x37
201 Orage avec la pluie
0x38
202 Orage avec de fortes pluies
210 Orage léger
211 Orages
0x39
212 Violent orage
0x3B
221 Orage fragmenté
230 Orage avec la bruine légère
0x3A
231 Orage avec la bruine
232 Orage avec la bruine lourde
3xx Bruine
300 Une fine pluie
0x3C

0x3D
301 Bruine
0x3E
302 Une bruine très intense
0x3F
310 Pluie fine
0x40
311 Une pluie fine
312 Une pluie fine mais intense
0x41
313 Averses et bruine
314 Forte averse et bruine
321 Douche à jet fin
5xx Pluie
500 Légère pluie
0x42
501 Pluie modérée
0x43
502 Pluie très forte
0x44
503 Pluie très forte
504 Pluies torrentielles
511 Pluie verglaçante
0x45
520 Pluie fine
0x46
521 Pluie de douche
522 Averse très forte
531 Une averse intermittente
6xx Neige
600 Neige légère
0x4C

0x4D
601 Neige
0x4A
602 Fortes chutes de neige
611 Neige fondue
0x45
612 Légère averse de neige fondue
613 Averses de grésil
615 Légères averses de pluie et de neige
616 Pluie et neige
620 Légère averse de neige
0x4B
621 Une averse de neige
622 Forte averse de neige
7xx Atmosphère
701 Brume
0x4E
711 Fumée
0x4F
721 Brume
731 Tourbillons de sable et de poussière
741 Brouillard
751 Sable
0x4F
761 Poussière
762 Cendre volcanique
771 Rafales
0x52
781 Tornade
0x50
800 Effacer
800 Ciel dégagé
0x53

0x54
80x Nuages
801 Peu de nuages (11 à 25 %)
0x55

0x56
802 Nuages épars (25 à 50 %)
0x57

0x58
803 Ciel partiellement nuageux (51 à 84 %)
0x59
804 Ciel couvert à 85-100 %
0x5A

Météo

Vous pouvez consulter la série originale d'icônes météo en cliquant ici

ID Description Jour Nuit
302 Orage
0x36

0x37
303 Gros orage
0x38
310 Tempête de pluie
0x39
317 Pluie dense à torrentielle
304 Grêle
0x3A
311 Violente tempête de pluie
0x3B
312 Violente tempête de pluie
318 Averse forte à très forte
309 Bruine
0x3C

0x3D
404 Neige fondue
0x3E
305 Pluie légère
0x42
314 Pluie légère à modérée
306 Pluie modérée
0x43
315 Pluie modérée à forte
399 Pluie
308 Pluies torrentielles
0x44
316 De fortes pluies à une tempête de pluie
313 Pluie verglaçante
0x45
405 Pluie et Neige
300 Douche à effet pluie
0x46
301 Averse intense
307 Fortes pluies
350 Douche à effet pluie
351 Averse intense
400 Neige légère
0x4C

0x4D
408 Chutes de neige faibles à modérées
499 Neige
401 Chutes de neige modérées
0x4A
402 Neige lourde
409 Chutes de neige modérées à abondantes
410 Fortes chutes de neige, voire tempête de neige
403 Tempête de neige
0x4B
406 Douche « Pluie et neige »
407 Raveur de neige
456 Douche « Pluie et neige »
457 Raveur de neige
503 Sable
0x4E
504 Poussière
507 Tempête de poussière
508 Tempête de sable
511 Brume modérée
512 Brouillard épais
513 Brume très dense
500 Brume
0x4F
501 Brouillard
502 Brume
509 Brouillard épais
510 Épais brouillard
514 Brouillard épais
515 Brouillard très dense
100 Ensoleillé
0x53

0x54
150 Effacer
101 Nuageux
0x55

0x56
151 Nuageux
102 Quelques nuages
0x57

0x58
152 Quelques nuages
103 Partiellement nuageux
0x59
153 Partiellement nuageux
104 Ciel couvert
0x5A

Météo MET

Découvrez ici, à titre d'exemple, la série d'icônes de MET Weather.

ID Description Jour Nuit
lightrainshowers Légères averses
0x36

0x37
lightrainshowersandthunder De légères averses et des orages
rainshowersandthunder Averses et orages
heavyrainshowersandthunder De fortes averses et des orages
heavyrainandthunder De fortes pluies et des orages
0x38
rainandthunder Pluie et orages
lightrainandthunder Une pluie légère et des orages
0x39
heavysleetandthunder De fortes averses de grésil et des orages
0x3B
lightsleetandthunder Légères averses de neige fondue et orages
0x3A
lightssleetshowersandthunder Légères averses de grésil et orages
sleetandthunder Grésil et orages
lightsleetshowers Légères averses de grésil
0x3C

0x3D
sleetshowers Averses de neige fondue
sleetshowersandthunder Averses de neige fondue et orages
heavysleetshowers Fortes averses de grésil
heavysleetshowersandthunder De fortes averses de grésil et des orages
lightsleet Grésil léger
0x3E
sleet Neige fondue
0x3F
heavysleet Louille lourde
0x45
lightrain Légère pluie
0x42
rain Pluie
0x43
heavyrain Forte pluie
0x44
rainshowers Averses
0x46
heavyrainshowers De fortes averses
heavysnow Fortes chutes de neige
0x4B
heavysnowandthunder Fortes chutes de neige et orages
snow Neige
snowandthunder Neige et orages
lightsnowshowers Légères averses de neige
0x4C

0x4D
lightssnowshowersandthunder Légères averses de neige et orages
snowshowers Averses de neige
snowshowersandthunder Averses de neige et orages
heavysnowshowers Fortes averses de neige
heavysnowshowersandthunder Fortes averses de neige et orages
lightsnow Neige légère
0x4A
lightsnowandthunder Légères chutes de neige et orages
fog Brouillard
0x4F
clearsky Ciel dégagé
0x53

0x54
fair Acceptable
0x55

0x56
partlycloudy Nuageux
0x57

0x58
cloudy Nuageux
0x59