Manual
Introducción
La barra lateral izquierda contiene enlaces a la sección correspondiente:
- Nombre de usuario - enlaces al perfil personal.
- Tablero - ver el estado actual en forma de gráficos y diagramas.
- Aplicaciones - gestión de aplicaciones.
- Códigos de desbloqueo - códigos de desbloqueo generados automáticamente o descargados por usted.
- Pagos - historial de pagos recibidos de los usuarios.
- Manual - el manual de usuario actual.
Tablero
Puede establecer filtros comunes para todos los widgets en el panel de control:
- Moneda - la moneda en la que se convertirán los montos entrantes y salientes en el panel de control.
- Período - es el período de tiempo durante el cual se muestra los datos en los gráficos y tablas del panel de control. Determina el intervalo durante el cual se analizan y muestran la información y las estadísticas sobre pagos, aplicaciones y otros parámetros.
Saldo
El saldo incluye los siguientes montos:
- Cantidad bruta - el monto total de todos los pagos de usuarios para el período seleccionado excluyendo las tarifas de los sistemas de pago y PayToUse.
- Cantidad neta - el monto total de todos los pagos para el período seleccionado menos las tarifas de los sistemas de pago y PayToUse.
- Cantidad pendiente - el monto total de todos los pagos para el período especificado menos las tarifas de los sistemas de pago y PayToUse pendientes de retiro a la cuenta del desarrollador. El pago estará disponible para retiro 7 días después del pago.
- Cantidad disponible - el monto total de todos los pagos de todos los tiempos menos las tarifas de los sistemas de pago y PayToUse, disponibles para retiro a la cuenta del desarrollador.
Pagos
El widget de Pagos incluye una tabla de pagos agrupados por aplicación para el período seleccionado.
Campos de la tabla:
- Aplicación - aplicación. Solo se muestran las aplicaciones para las que se han realizado pagos durante el período seleccionado en la tabla.
- Pagos - número de pagos.
- Cantidad bruta - el monto total de todos los pagos de usuarios para el período seleccionado excluyendo las tarifas de los sistemas de pago y PayToUse.
- Cantidad neta - el monto total de todos los pagos para el período seleccionado menos las tarifas de los sistemas de pago y PayToUse.
El gráfico muestra la dinámica de los valores Cantidad neta y Cantidad bruta por día.
Nuevos usuarios
El gráfico de nuevos usuarios muestra dos valores en dinámica por día:
- Nuevos usuarios - el número de nuevas llamadas a la API. Los accesos a la API se registran solo si se pasa el parámetro device, un identificador único de dispositivo, al enviar una solicitud a la API. Este parámetro debe ser realmente único para el dispositivo. (ver Envío de una solicitud)
- Pagos - el número de pagos para el mismo período por día.
Conversión
La métrica de Conversión se refiere a la evaluación de la eficiencia de sus ventas para convertir Nuevos usuarios en Pagos.
El gráfico muestra la proporción del número de Pagos al número de Nuevos usuarios, en porcentaje.
Aplicaciones
Al ir a esta sección, se abre una lista de tus aplicaciones.
La lista de columnas en la tabla de aplicaciones:
- # - identificador único de la aplicación. Se utiliza al verificar el código de la aplicación o al mostrar el formulario de pago.
- Nombre - nombre de la aplicación. El nombre se muestra solo para ti en los informes y el tablero. Al hacer clic en el nombre de la aplicación se abre la página de edición de la aplicación.
- Estado: el estado actual de la aplicación. Puede ser:
- Creado - La aplicación acaba de ser creada, aún no está configurada.
- Publicado - la aplicación está en ejecución.
- Creado - la fecha de creación de la aplicación.
- Botones de control adicionales:
- Eliminar - para eliminar la aplicación de la lista.
Creación o edición de una aplicación
Para aceptar pagos, debes completar de manera consistente todos los datos necesarios de la aplicación y activar la aplicación.
El botón para crear una nueva aplicación se encuentra en la barra de título de la lista de aplicaciones.
Aplicación
Campos disponibles al crear una aplicación:
- Nombre - el nombre de la aplicación que solo tú puedes ver en informes o en el tablero. El nombre se mostrará en el encabezado de la página de la aplicación guardada. Mientras la aplicación no se guarde, se mostrará "Nueva aplicación" en lugar del nombre. Es obligatorio introducir este campo.
- Correo electrónico de contacto - la dirección de correo electrónico a la que se enviarán copias de los mensajes enviados a los usuarios. Esta dirección también se especifica en el campo "Responder a" y se utiliza para responder al usuario al correo electrónico recibido con el código. Es obligatorio introducir este campo. De forma predeterminada, el campo se rellena con el valor del perfil del desarrollador. El valor se puede cambiar a otro valor.
- Tipo de aplicación - tipo de aplicación. Si selecciona un tipo de aplicación de grupo, se mostrará una lista de aplicaciones para agrupar. Solo están disponibles en la lista aplicaciones individuales para las cuales se generan códigos de desbloqueo.
- Permitir comentarios sobre el pago - agrega un campo al formulario de pago para que los usuarios ingresen texto libre. Los comentarios se agregan a la copia del correo electrónico del desarrollador. Los comentarios también se pueden ver en los detalles del pago.
Empiece a escribir los valores que cambian y aparecerá el botón Guardar. El botón Guardar le permite guardar sus cambios sin ir a la siguiente página. El botón Siguiente guarda los cambios y pasa a la siguiente página. Siempre puede volver para hacer cambios más tarde.
En el encabezado de la página, solo están disponibles las páginas de aplicaciones guardadas para la navegación. Puede hacer clic en Siguiente o ir a la sección en el encabezado de la página.
Descripción
Seleccione un idioma de la lista y haga clic en Añadir.
Aparecerá una pestaña con textos de aplicación localizados para el idioma seleccionado.
Idiomas disponibles:
- Alemán
- Inglés
- Francés
- Español
- Ruso
- Chino simplificado
Los campos en la descripción se utilizan para mostrar información en el formulario de pago y en el mensaje de respuesta al usuario:
- Nombre - el nombre de la aplicación para el idioma seleccionado. Se muestra en el formulario de pago y en el correo electrónico de notificación de pago. De forma predeterminada, al agregar un idioma, se inserta el nombre de la aplicación. Puede establecer un nombre diferente para cada idioma. Campo obligatorio.
- Descripción - una breve descripción de la aplicación. Se muestra en el formulario de pago debajo del nombre de la aplicación. Campo opcional. Puede dejarlo vacío si no desea que se muestre ninguna descripción.
- Responder - información adicional que se enviará al usuario en el correo electrónico tras un pago exitoso. El texto de respuesta se agrega al final del correo electrónico después de la respuesta estándar.
Debe agregar al menos un idioma para guardar y pasar a la siguiente página.
El idioma que se muestra en el formulario de pago se determina automáticamente en función de las preferencias del usuario especificadas en la configuración de su navegador. Puede guardar el idioma de la aplicación para la aplicación.
Empiece a escribir o cambiar los valores y aparecerá el botón Guardar. El botón Guardar le permite guardar sus cambios sin pasar a la siguiente página. El botón Siguiente guarda los cambios y pasa a la siguiente página. Siempre puede regresar para realizar cambios más tarde.
En el encabezado de la página, solo están disponibles las páginas de aplicaciones guardadas para la navegación. Puede hacer clic en Siguiente o ir a la sección en el encabezado de la página.
Precio
La página contiene una lista de precios y campos relacionados con el pago:
- Periodo de prueba - la duración del período de prueba.
- Unidad de tiempo - la unidad de tiempo del período de prueba. Por ejemplo, si especifica 7 días, significa que después de 7 días después de la primera llamada a la API de la aplicación, devolverá una respuesta que el período de prueba ha caducado. Se guarda la hora de la primera llamada del dispositivo.
- Método de cálculo de precio - El método de cálculo del precio de la lista:
- Cálculo del precio según el término - En el formulario de pago, el usuario especifica el período de activación del código, y el precio se calcula automáticamente según la tabla siguiente. El usuario recibe un código de desbloqueo generado automáticamente en el correo electrónico de respuesta.
- Cálculo del término según el precio - En el formulario de pago, el usuario selecciona un precio de la lista o ingresa su propio valor de precio, y el período se calcula automáticamente según la tabla siguiente. El usuario recibe un código generado automáticamente en el mensaje de respuesta.
- Código permanente - En el formulario de pago, el usuario selecciona un precio de la lista o ingresa su propio valor de precio. Después del pago, reciben un código de la lista siguiente, correspondiente al precio seleccionado, en el correo electrónico de respuesta.
- Donación - En el formulario de pago, el usuario selecciona un precio de la lista o ingresa su propio valor de precio. Para las aplicaciones de tipo Donación, no se genera un código de desbloqueo.
El precio se establece en dólares estadounidenses. El precio mínimo es 1 dólar estadounidense.
Empiece a escribir o cambiar los valores y aparecerá el botón Guardar. El botón Guardar le permite guardar sus cambios sin pasar a la siguiente página. El botón Siguiente guarda los cambios y pasa a la siguiente página. Siempre puede regresar para realizar cambios más tarde.
En el encabezado de la página, solo están disponibles las páginas de aplicaciones guardadas para la navegación. Puede hacer clic en Siguiente o ir a la sección en el encabezado de la página.
Vista previa
Esta página establece los valores:
- Longitud del código - la longitud del código generado, si corresponde.
- Conjunto de caracteres del código - el conjunto de caracteres a partir del cual se genera el código:
- Código numérico - el código se genera utilizando solo los dígitos 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Los ceros iniciales pueden estar incluidos en el código. Los ceros iniciales son significativos al verificar el código.
- Código alfanumérico - el código se genera utilizando los caracteres 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. El código se genera y envía al usuario utilizando caracteres en mayúscula. La mayúscula de los caracteres no importa al verificar el código.
- Enlace para verificar el código - un enlace de ejemplo para ser utilizado para la verificación del código.
- Enlace para pagar - enlace de pago. Puedes copiar el enlace y pegarlo en la descripción de la aplicación en el sitio web donde se publica la aplicación. Parámetros a pasar:
- app - el identificador único de la aplicación. Parámetro requerido.
- amount - la cantidad que se especificará en el campo de precio al comprar. El precio predeterminado se ignora. Sin embargo, la cantidad no puede ser menor que el precio mínimo y no puede ser inferior al precio mínimo establecido para la aplicación. Parámetro opcional.
Para comenzar a aceptar pagos, debes activar la aplicación con el botón Lanzar. Antes de activar la aplicación, asegúrate de que todos los datos ingresados sean correctos. Las claves generadas por la aplicación no se pueden cambiar.
Verificación de código
La verificación del código de desbloqueo de la aplicación se realiza en 3 pasos:
- Escribir y enviar una solicitud de verificación de código
- Comprobaciones en el lado de la API
- Recepción y procesamiento de la respuesta de la API
Envío de una solicitud
Para verificar el código, el usuario de tu aplicación debe ingresarlo en el campo en la configuración de la aplicación.
<properties>
<property id="UnlockCode" type="string"></property>
<property id="UnlockResult" type="string">Checking...</property>
...
<properties>
<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>
Luego necesitas enviar una solicitud al servidor de la API de Pago por uso:
function onTemporalEvent() as Void {
var ds = System.getDeviceSettings();
return Toybox.Communications.makeWebRequest(
"https://api.pay-to-use.com", // URL de la API
{
"device" => ds.uniqueIdentifier, // identificador único del dispositivo
"app" => "6", // ID de tu aplicación
"model" => ds.partNumber, // número de referencia del dispositivo
"code" => Application.Properties.getValue("UnlockCode") // valor del código de desbloqueo en tu aplicación
},
{
:method => Communications.HTTP_REQUEST_METHOD_POST,
:headers => { "Content-Type" => Communications.REQUEST_CONTENT_TYPE_JSON },
:responseType => Communications.HTTP_RESPONSE_CONTENT_TYPE_JSON
},
method(:onReceive)
);
}
Parámetros de solicitud de API:
- url - https://api.pay-to-use.com. Es obligatorio utilizar HTTPS.
- El cuerpo de la solicitud (los valores pasados). Un diccionario de claves y valores:
- device - identificador único del dispositivo.
- app - identificador único de tu aplicación.
- model - Identificador del modelo del dispositivo. Parámetro opcional. Los datos se utilizan para mostrar estadísticas sobre los nuevos dispositivos.
- code - código de desbloqueo introducido por el usuario en la configuración de tu aplicación.
- Opciones de solicitud:
- :method - la API admite los métodos de solicitud GET y POST.
- :headers - para el método POST, los parámetros deben pasarse en formato JSON.
- :responseType - la respuesta se devuelve en formato JSON.
- responseCallback - un enlace al método de devolución de llamada, que debería aceptar dos argumentos:
- responseCode - el código de encabezado de respuesta del servidor.
- data - el contenido si la solicitud fue exitosa, o nulo.
Comprobaciones en el lado de la API
Si no se pasan parámetros a la API, la API devuelve un encabezado HTTP/1.1 404 No encontrado.
Si se pasa al menos un parámetro a la API, la API devuelve el encabezado HTTP/1.1 200 OK.
La respuesta del servidor consiste en:
- response - código de respuesta
- msg - descripción textual de la respuesta
- expires - sello de tiempo UNIXTIME (si corresponde)
Se realiza una verificación para asegurarse de que el identificador de la aplicación pasado sea correcto. La aplicación debe estar en estado Publicado al momento del pago. En caso de error, se devuelve el código de respuesta 301.
Si se transmite un identificador de dispositivo único, se busca y almacena el ID de dispositivo. Si se producen errores al verificar o guardar, se devuelve el código de error 402. Si se encuentra tal código de retorno, escriba inmediatamente al soporte a [email protected]
Si se pasa el código, se realizan los siguientes pasos para las aplicaciones con los métodos de cálculo Cálculo del precio según el término y Cálculo del término según el precio:
- Si se transmite un código vacío, se desvincula del identificador de dispositivo único definido en los pasos anteriores.
- Si se transmite un código no vacío y no está activado, el código se activa dependiendo de las condiciones del precio especificado cuando se compró el código, independientemente de la fecha de activación.
- Si no se ha transmitido ningún código o si el código transmitido no se encuentra, se devuelve el código de error 201.
- El código activado se verifica con el dispositivo y, si se transmitió un identificador de dispositivo único diferente al almacenado durante la activación, se devuelve un código de error 202.
- Si el código transmitido no tiene fecha de vencimiento y todas las comprobaciones anteriores han pasado, se devuelve el código 101.
- Si el código tiene límite de tiempo, se realiza una verificación. Si la clave no ha caducado, se devuelve el código 101. Si el código ha caducado, se devuelve el código de error 203.
- Este tipo de aplicación requiere que el código esté vinculado al dispositivo. Si no se ha transmitido el identificador de dispositivo único, se devuelve el código de error 304.
Para una aplicación con un Código permanente, solo se verifica la disponibilidad del código en el momento de la compra. Si se encuentra un código, se devuelve el código 101. Si no se encuentra ningún código, se devuelve el código de error 201.
Para una aplicación con el método de cálculo Donación, no se verifica el código. Siempre se devuelve el código 101.
Si las comprobaciones anteriores no se han superado, se verifica el período de prueba. Si ha transcurrido más tiempo desde que el dispositivo se puso en contacto por primera vez que la configuración actual de la aplicación, se devuelve el código de error 204. Si el período de prueba aún no ha expirado, se devuelve el código de error 102.
Si solo se transmite el ID de la aplicación y no se transmite ni el código de desbloqueo ni el ID de dispositivo único, se devuelve el código de error 303.
Si la respuesta devuelta es 500, debe escribir al soporte en [email protected]
A continuación se muestra una tabla de todos los códigos devueltos:
| Devolver | Mensaje |
|---|---|
| 101 |
Métodos de cálculo Cálculo del precio según el término y Cálculo del término según el precio:
|
| |
Código permanente:
| |
Donación:
| |
| 102 | |
| 201 | |
| 202 | |
| 203 | |
| 204 | |
| 301 | |
| 302 | |
| 303 | |
| 304 | |
| 401 | |
| 402 | |
| 500 | |
Comprobando la respuesta
Luego debe verificar la respuesta del servidor de la API Pay-to-use:
function onReceive(responseHeader, data) as Void {
if (responseHeader == 200) { Toybox.Background.exit(data); }
}
Puede verificar todos los encabezados y códigos, puede mostrar sus propios mensajes para la comodidad del usuario, pero en la forma más simple la verificación se verá algo como esto:
function onBackgroundData(data) as Void {
if (data.hasKey("response")) {
if (data.hasKey("msg")) {
// Puede mostrar data["msg"] en el campo de propiedades con el nombre "ResultadoDesbloqueo".
Application.Properties.setValue("UnlockResult", data["msg"]);
}
if (data["response"].toString().substring(0, 1).equals("2")) {
// La verificación del código falló
// Las funciones pagas NO están disponibles
...
} else {
// La verificación del código fue exitosa o el error es su culpa o la culpa de la API
// Las funciones pagas están disponibles
...
}
}
}Códigos de desbloqueo
Cuando vaya a esta sección, se abrirá una lista de códigos de desbloqueo.
Lista de códigos de desbloqueo
Puede buscar el campo de correo electrónico o el código en la barra de búsqueda superior. Los códigos encontrados se mostrarán en la lista. Puede utilizar todo o parte del correo electrónico o el código como criterio de búsqueda. Las coincidencias se resaltarán en color. La búsqueda y los filtros funcionan simultáneamente y no se excluyen mutuamente.
El último filtro utilizado se guarda para el usuario. Es decir, la próxima vez que entre a la página, el último filtro utilizado se aplicará automáticamente. Los filtros están disponibles para la lista de códigos de desbloqueo:
- Columnas - seleccione las columnas de la tabla para mostrar en la lista de códigos de desbloqueo.
- Aplicación - mostrar solo los códigos de desbloqueo para las aplicaciones seleccionadas.
- Estado - mostrar solo los códigos de desbloqueo que están en los estados seleccionados.
La lista de columnas en la tabla de códigos de desbloqueo:
- Aplicación - su aplicación. Puede seguir el enlace para editar su configuración.
- Código - el código de desbloqueo.
- Correo electrónico - la dirección de correo electrónico asociada con el registro del código de desbloqueo. Esta dirección se utiliza para buscar códigos de desbloqueo de clientes en la sección Mis compras del sitio web. Esta sección es accesible para los usuarios.
- Término - el período de validez del código enviado (especificado en la configuración de la aplicación). Se establece un período de validez para el código, correspondiente a las condiciones de la configuración de la aplicación en el momento de su creación.
- Estado - el estado del código de desbloqueo. (ver Estado del código de desbloqueo)
- Creado - la fecha de creación del código de desbloqueo.
- Activado - la fecha de activación del código. Se establece en el momento en que este dispositivo de usuario en particular contacta por primera vez el servicio de API de PayToUse y envía este código. El estado del código cambia a Activado. Solo se puede activar un código inactivo. Si se envía un código activo por un dispositivo con un ID diferente, la API devuelve el error 202. Solo un dispositivo puede estar vinculado a un solo código.
- Caducidad - la fecha en que vence la activación del código. Establecido para los códigos que tienen un período de validez limitado en la activación del código. Para los códigos con fecha de vencimiento ilimitada, permanece en blanco.
- Eliminado - la fecha de eliminación del código. Al eliminarlo, el estado del código se establece en Desconocido.
- Pago # - número de secuencia único del pago. Puede hacer clic en el enlace para ver los detalles del pago.
- Botones para acciones con códigos de desbloqueo. Por ejemplo, eliminación.
Estado del código de desbloqueo
Durante su ciclo de vida, el código de desbloqueo pasa por diferentes estados, que pueden ser rastreados por el estado del código.
| Estado | Descripción |
|---|---|
| Disponible | Se asigna el estado a un código de desbloqueo para el cual no se han realizado acciones o si se restablece el vínculo del dispositivo para el código. |
| Activado | Se establece el estado para un código con una fecha de activación establecida. La fecha de activación se establece cuando el dispositivo accede con éxito al servicio de API de PayToUse por primera vez. Además, al activar el código, se establece la fecha de vencimiento del código. |
| Expirado | El estado se establece para un código vencido. Desvincular el código del dispositivo no restablece la fecha de vencimiento del código. Verificar el código con este estado devolverá el error 203. (ver Comprobaciones en el lado de la API) |
| Desconocido | El estado se establece cuando se elimina el código. Verificar el código con este estado devolverá el error 201. (ver Comprobaciones en el lado de la API) |
Pagos
Cuando acceda a esta sección, se abrirá una lista de pagos de usuarios.
Se utilizan los siguientes sistemas de pago para recibir pagos:
Después de las tarifas del sistema de pago, PayToUse cobrará una tarifa del 13%. Estamos trabajando constantemente para reducir las tarifas.
Si surgen disputas o reembolsos en el sistema de pago, las penalizaciones del sistema de pago se reembolsan al desarrollador. Por lo tanto, no debería permitir que ocurran tales situaciones. No se cobra la tarifa de PayToUse en situaciones controvertidas.
Lista de pagos
Puede buscar en el campo de correo electrónico o el código enviado en la barra de búsqueda superior. Los pagos encontrados se mostrarán en la lista. Puede utilizar todo o parte del correo electrónico o el código enviado como criterio de búsqueda. Las coincidencias se resaltarán en color. La búsqueda y los filtros funcionan simultáneamente y no se excluyen entre sí.
El último filtro utilizado se guarda para el usuario. Es decir, la próxima vez que entre en la página, el último filtro utilizado se aplicará automáticamente. Los filtros están disponibles para la lista de pagos:
- Columnas - seleccione las columnas de la tabla para mostrar en la lista de pagos.
- Aplicación - mostrar pagos solo de aplicaciones seleccionadas.
- Sistema - mostrar pagos solo de los sistemas de pago seleccionados.
- Estado - mostrar pagos solo con estados seleccionados.
La lista de columnas en la tabla de pagos:
- Aplicación - su aplicación. Puede seguir el enlace para editar su configuración.
- # - número de secuencia único del pago. Se asigna automáticamente al pago cuando el usuario pasa del formulario de pago a la página de pago en el sistema de pago. Puede hacer clic en el enlace para ver los detalles del pago.
- Comentarios - mensaje del usuario ingresado en el formulario de pago.
- Sistema - el sistema de pago seleccionado por el usuario.
- Estado - el estado del pago. (ver Estado del pago)
- Correo electrónico - correo electrónico del usuario indicado en el formulario de pago.
- Término - el período de validez del código enviado (especificado en la configuración de la aplicación).
- Creado - la fecha de creación del pago.
- Monto de la factura - el monto del pago cobrado al usuario. Especificado en el formulario de pago dependiendo de la configuración de la aplicación.
- Fecha de pago - la fecha de pago.
- Monto del pago - el monto del pago confirmado por el sistema de pagos.
- Código enviado - código enviado al usuario.
- Cantidad disponible - monto de retiro disponible.
- Monto del pago - el monto de los fondos retirados para el pago.
No es posible realizar cambios en el pago.
Estado del pago
Durante su ciclo de vida, el pago pasa a diferentes estados, que se pueden rastrear por el estado del pago.
| Estado | Descripción |
|---|---|
| Incompleto | El estado se asigna a los pagos para los cuales no se han realizado acciones. El pago se crea tan pronto como el usuario cambia del formulario de pago al formulario del sistema de pagos. Al pago se le asigna un número de serie único, así como los atributos básicos del pago: monto, sistema de pago, fecha. |
| Exitoso | El estado se asigna a los pagos que recibieron una respuesta positiva del sistema de pago. El siguiente paso es enviar un correo electrónico al usuario contendiendo el código generado u otros datos dependiendo de la configuración de la aplicación. Si el pago ha permanecido en este estado, es necesario prestarle especial atención, ya que las acciones posteriores no se han realizado. |
| Error | El estado se asigna a los pagos para los cuales se recibe una respuesta negativa del sistema de pago. Los pasos posteriores no se realizan. Es necesario prestar especial atención a tales pagos, ya que el estado en el lado del sistema de pago puede procesarse con un retraso. |
| Pendiente | El estado se asigna a los pagos para los cuales se recibe una respuesta positiva del sistema de pago, todos los pasos posteriores se han completado exitosamente. El retiro para pagos con este estado no está disponible. Los pagos pasan al siguiente estado automáticamente en 7 días. |
| Disponible | El retiro está disponible para pagos en este estado. |
| Enviando | El estado está habilitado para los pagos incluidos en el próximo retiro. Si el retiro es cancelado o rechazado, el estado del pago se devuelve a Disponible. |
| Enviado | El estado está habilitado para pagos para los cuales se ha realizado el retiro. Se está esperando la confirmación de la recepción de los fondos. |
| Completado | El estado está habilitado para pagos con retiros exitosos. Puedes establecer manualmente el estado confirmando el retiro en la sección correspondiente. El estado también se cambia automáticamente 14 días después del retiro del pago. |
| Reembolsado | Los pagos para los cuales se ha emitido un reembolso se transfieren a este estado. Al emitir un reembolso, se cobra una tarifa de reembolso. La tarifa se deduce del monto del retiro. |
Retiros
Cuando vayas a esta sección, se abrirá una lista de tus retiros.
Lista de retiros
El último filtro utilizado se guarda para el usuario. Es decir, la próxima vez que ingreses a la página, se aplicará automáticamente el último filtro utilizado. Los filtros están disponibles para la lista de retiros:
- Columnas - mostrar solo las columnas seleccionadas en la lista de retiros.
- Estado - mostrar solo los retiros que están en los estados seleccionados.
La lista de columnas en la tabla de retiros:
- # - número de secuencia único del retiro. Se asigna al retiro automáticamente cuando se guarda el retiro. Puedes hacer clic en el enlace para ver los detalles del retiro.
- Estado - el estado del retiro. (ver Estado del retiro)
- Creado - la fecha de la solicitud de retiro.
- Cantidad - la cantidad del retiro.
- Retiro - la fecha en que se envió el retiro.
- Botones para acciones con retiros. Por ejemplo, confirmación.
Puedes confirmar el retiro cuando esté en el estado Enviado.
Estado del retiro
Durante su ciclo de vida, el retiro pasa por diferentes estados, los cuales pueden ser rastreados por el estado del retiro.
| Estado | Descripción |
|---|---|
| Pendiente | El estado se asigna a los retiros al momento de su creación, para los cuales no se realizaron acciones. |
| Cancelado | El estado se asigna a los retiros cancelados. Las cancelaciones se pueden realizar por diversas razones. Por ejemplo, no se especificó el método de recepción de fondos. Todos los pagos de este retiro pasan al estado Disponible y están disponibles para retiro nuevamente. |
| Enviado | El estado se establece para el retiro de fondos cuando se envía. |
| Completado | El estado se establece para el retiro manual cuando lo recibe el desarrollador para confirmar la recepción. O automáticamente 14 días después del envío. |
| Rechazado | El estado se establece para el retiro cuando el banco o el sistema de pagos devuelve los fondos después del envío. Todos los pagos de este retiro pasan al estado Disponible y están disponibles para retiro nuevamente. |
API
Resumen
La API PayToUse realiza las siguientes funciones:
- Comprueba el estado de activación de un código de desbloqueo y lo activa si es necesario.
- Recupera los datos de glucemia de la aplicación NightScout.
- Obtiene datos meteorológicos actuales para una ubicación determinada.
Toda la información se puede solicitar y recibir en una sola solicitud.
API EndPoints
Puedes utilizar uno de los siguientes puntos de conexión:
- https://api.pay-to-use.com
- https://api.p2u.io
Ambos puntos finales admiten solicitudes GET y POST.
Parámetros de la solicitud
- device: cadena (requerido) — identificador único de dispositivo
- app: entero (requerido) — tu ID de solicitud
- model: cadena (opcional) — código de modelo del dispositivo, necesario para recopilar y mostrar estadísticas de los dispositivos que utilizan la aplicación
- code: cadena (opcional) — código de desbloqueo
- bg: matriz asociativa (opcional) — datos para solicitar los niveles de glucosa en sangre desde la aplicación NightScout
- url: cadena (opcional) — dirección de la aplicación NightScout
- weather: matriz asociativa (opcional) — datos para consultar el tiempo actual
- appid: cadena (opcional) — clave de acceso a la API meteorológica
- lat: flotante (opcional) — latitud
- lon: flotante (opcional) — longitud
- provider: entero (opcional) — proveedor de información meteorológica
Lista de proveedores de datos meteorológicos compatibles
1. OpenWeatherMap
- Descripción: OpenWeatherMap ofrece datos meteorológicos a nivel mundial, incluyendo información meteorológica en tiempo real, datos históricos y previsiones a 16 días. Gracias a su amplia cobertura geográfica y a sus frecuentes actualizaciones, OpenWeatherMap es una opción muy popular para aplicaciones que requieren tanto información meteorológica actual como previsiones a largo plazo.
- Datos facilitados: Temperatura, humedad, velocidad del viento, calidad del aire, probabilidad de precipitaciones y mucho más, todo en tiempo real. Ofrece datos tanto actuales como de previsión, incluyendo datos meteorológicos minuto a minuto para determinadas localidades.
- Selección de proveedores: Incluye «provider = 1» en la sección meteorológica de tu solicitud para seleccionar OpenWeatherMap como proveedor de datos meteorológicos.
- Notas de uso: Ofrece planes gratuitos y de pago, y se puede acceder a los datos mediante autenticación con clave API. Los planes de pago incluyen capas de datos avanzadas y funciones premium.
- Documentación de la API: Disponible aquí.
2. QWeather
- Descripción: QWeather, también conocida como HeWeather, ofrece datos meteorológicos completos centrados en China, aunque también incluye datos internacionales. Proporciona información detallada, como el tiempo en tiempo real, previsiones, datos sobre la calidad del aire y alertas.
- Datos facilitados: Temperatura actual, humedad, índice UV, niveles de contaminación, previsiones diarias y por horas, así como avisos de condiciones meteorológicas adversas. Destaca por sus datos detallados sobre la calidad del aire y sus actualizaciones en tiempo real sobre los cambios en las condiciones meteorológicas.
- Selección de proveedores: Incluye «provider = 2» en la sección meteorológica de tu solicitud para seleccionar QWeather como proveedor de datos meteorológicos.
- Notas de uso: QWeather ofrece acceso a la API con planes gratuitos y premium. El plan gratuito proporciona datos limitados, mientras que las opciones premium amplían la cobertura para incluir datos y ubicaciones adicionales.
- Documentación de la API: Disponible aquí.
3. MET Weather (MET Norway)
- Descripción: La API MET Weather, proporcionada por MET Norway, ofrece acceso a una amplia variedad de datos meteorológicos abiertos, entre los que se incluyen previsiones, datos históricos y datos específicos de Noruega y las regiones nórdicas. Reconocida por su precisión y transparencia, MET Weather es ideal para aplicaciones que requieren datos meteorológicos de gran fiabilidad.
- Datos facilitados: Condiciones meteorológicas actuales, previsiones, precipitaciones, temperatura, datos sobre el viento e índice UV. MET Weather ofrece datos especializados para las regiones nórdicas, pero también proporciona información meteorológica a nivel mundial.
- Selección de proveedores: Incluye «provider = 3» en la sección meteorológica de tu solicitud para seleccionar MET Weather como proveedor de datos meteorológicos.
- Notas de uso: Todos los datos proporcionados por MET Weather pueden utilizarse libremente bajo una licencia Creative Commons, lo que permite su uso tanto con fines no comerciales como comerciales sin coste alguno. MET Norway es reconocida por sus datos medioambientales, lo que la convierte en un proveedor de confianza, especialmente en Europa.
- Documentación de la API: Disponible aquí.
Solicitud de ejemplo
function onTemporalEvent() as Void {
var ds = System.getDeviceSettings();
if (!ds.phoneConnected) { // Comprueba que el dispositivo esté conectado al teléfono para enviar la solicitud
return;
}
var id = ds.uniqueIdentifier;
if (id == null) { // Comprueba que se haya asignado al dispositivo un identificador único
return;
}
var request = {};
var lockCheck = Application.Storage.getValue("LastCodeCheckTimestamp");
if (lockCheck == null || lockCheck <= Time.now().value()) { // Envía el código si es necesario
request.put("code", Application.Properties.getValue("UnlockCode"));
}
var ns_url = Application.Properties.getValue("NS");
if (!ns_url.equals("")) { // Envía la URL de la aplicación NightScout si es necesario
request.put("bg", { "url" => ns_url });
}
var wP = Application.Properties.getValue("Weather");
if (wP != 0) { // Envía los parámetros de la solicitud meteorológica si es necesario
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()) {
// Rellena los parámetros de solicitud necesarios
request.put("device", id);
request.put("app", p2uAppID); // ID de tu aplicación
request.put("model", ds.partNumber);
Toybox.Communications.makeWebRequest(
"https://api.p2u.io", // Punto final de 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)
);
}
}
Respuesta API
La API devuelve un objeto JSON con información sobre el estado de desbloqueo, el nivel de glucosa y el tiempo.
Parámetros de respuesta
Resultados de la verificación del código de desbloqueo (si se envió una solicitud):
- response: entero — código de retorno
- msg: cadena — mensaje sobre el resultado de la verificación
- expires: entero — marca de tiempo de caducidad del código en formato UNIXTIMESTAMP
- qr: array — Código QR para la compra o la verificación del número de serie, si procede
Respuesta de la aplicación NightScout (si se envió una solicitud):
- bg: matriz asociativa — respuesta formateada desde la aplicación NightScout
- value: entero — nivel de glucosa en sangre en mg/dL
- date: entero — marca de tiempo de la fecha de caducidad del código en formato UNIXTIMESTAMP
- direction: cadena — tendencia en la variación del nivel de glucosa en sangre
Respuesta de la API meteorológica (si se envió una solicitud):
- weather: matriz asociativa — respuesta formateada de la API meteorológica
- provider: entero — identificador del proveedor de datos meteorológicos
- weather: array — condiciones meteorológicas actuales. Puede devolver uno o dos valores; si se devuelven dos valores, representan las condiciones diurnas y nocturnas
- temp: flotante — temperatura actual en grados Celsius
- feels_like: flotante — temperatura percibida en grados Celsius
Внимание! Отсутствует для MET Norway - pressure: entero — presión atmosférica en hPa
- humidity: entero — humedad en %
- precipitation: entero — probabilidad de precipitaciones en %
Внимание! Отсутствует для MET Norway - wind: entero — dirección del viento en grados
- wind_speed: flotante — velocidad del viento en m/s
- temp_low: flotante — la temperatura mínima de hoy en grados Celsius
- temp_high: flotante — la temperatura máxima de hoy en grados Celsius
- sunrise_today: entero — la hora de salida del sol de hoy en formato UNIXTIMESTAMP
- sunset_today: entero — la hora de la puesta de sol de hoy en formato UNIXTIMESTAMP
- sunrise_tomorrow: entero — la hora del amanecer de mañana en formato UNIXTIMESTAMP
- sunset_tomorrow: entero — la hora de la puesta de sol de mañana en formato UNIXTIMESTAMP
- aqi: matriz asociativa — índice de calidad del aire
- level: entero — nivel del índice de calidad del aire
- value: entero — valor del índice de calidad del aire
Ejemplo de respuesta
{
"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
}
}
}
Notas
- Las solicitudes con bg requieren una conexión a la aplicación NightScout.
- Para cada solicitud que incluya un código, la API comprueba automáticamente el estado del código y lo activa si está inactivo.
- Tenga en cuenta que los parámetros de la API pueden actualizarse o modificarse con el tiempo para mejorar la funcionalidad, la compatibilidad y la seguridad. Se recomienda revisar periódicamente la documentación de la API para estar al tanto de cualquier cambio que pueda afectar a la integración o al uso.
Garmin
Para obtener una descripción detallada de las funciones y constantes meteorológicas del SDK de Garmin, consulta este enlace. Puedes almacenar los valores obtenidos de la API o los resultados de las funciones meteorológicas del SDK de Garmin, dependiendo del proveedor de datos meteorológicos seleccionado, para garantizar la coherencia en la visualización de los valores en la pantalla.
| ID | Descripción | Día | Noche |
|---|---|---|---|
| 0 | Limpiar |
0x53 |
0x54 |
| 40 | Justo | ||
| 23 | Mayormente claro |
0x55 |
0x56 |
| 1 | Parcialmente nublado |
0x57 |
0x58 |
| 22 | Parcialmente despejado | ||
| 2 | Mayormente nublado |
0x59 |
|
| 52 | Nubes finas | ||
| 20 | Nublado |
0x5A |
|
| 45 | Nublado, con posibilidad de lluvia | ||
| 31 | Llovizna |
0x3E |
|
| 14 | Lluvia ligera |
0x42 |
|
| 24 | Lluvias ligeras | ||
| 3 | Lluvia |
0x43 |
|
| 25 | Chaparrón | ||
| 27 | Posibilidad de chubascos |
0x46 |
|
| 11 | Lluvias dispersas | ||
| 15 | Lluvia intensa | ||
| 26 | Lluvias intensas | ||
| 28 | Posibilidad de tormentas eléctricas |
0x36 |
0x37 |
| 12 | Tormentas eléctricas dispersas |
0x38 |
|
| 6 | Tormentas eléctricas |
0x39 |
|
| 8 | Niebla |
0x4E |
|
| 9 | Brumoso | ||
| 29 | Niebla | ||
| 39 | Neblina | ||
| 30 | Polvo |
0x4F |
|
| 35 | Arena | ||
| 33 | Humo | ||
| 38 | Ceniza volcánica | ||
| 37 | Tormenta de arena | ||
| 13 | Precipitación desconocida | ||
| 5 | Ventoso |
0x52 |
|
| 36 | Tormenta | ||
| 48 | Ráfagas | ||
| 32 | Tornado |
0x50 |
|
| 41 | Huracán | ||
| 42 | Tormenta tropical | ||
| 50 | Aguanieve |
0x45 |
|
| 7 | Mezcla invernal | ||
| 18 | Lluvia ligera y nieve | ||
| 19 | Lluvias intensas y nieve | ||
| 21 | Lluvia y nieve | ||
| 49 | Lluvia helada | ||
| 44 | Posibilidad de lluvia o nieve | ||
| 47 | Nublado, con posibilidad de lluvia o nieve | ||
| 34 | Hielo | ||
| 51 | Hielo y nieve | ||
| 43 | Posibilidad de nieve |
0x4C |
0x4D |
| 16 | Nevada ligera | ||
| 46 | Nublado, con posibilidad de nieve |
0x4A |
|
| 4 | Nieve | ||
| 17 | Fuertes nevadas |
0x4B |
|
| 10 | Salve |
0x3A |
|
Abrir el mapa meteorológico
Echa un vistazo al conjunto de iconos de OpenWeatherMap como ejemplo aquí.
| ID | Descripción | Día | Noche |
|---|---|---|---|
| 2xx | Tormenta | ||
| 200 | Tormenta con lluvia ligera |
0x36 |
0x37 |
| 201 | Tormenta con lluvia |
0x38 |
|
| 202 | Tormenta con lluvias intensas | ||
| 210 | Tormenta leve | ||
| 211 | Tormenta |
0x39 |
|
| 212 | Tormenta eléctrica intensa |
0x3B |
|
| 221 | Tormenta eléctrica irregular | ||
| 230 | Tormenta con llovizna ligera |
0x3A |
|
| 231 | Tormenta con llovizna | ||
| 232 | Tormenta con llovizna intensa | ||
| 3xx | Llovizna | ||
| 300 | Lluvia fina |
0x3C |
0x3D |
| 301 | Llovizna |
0x3E |
|
| 302 | Lluvia fina pero intensa |
0x3F |
|
| 310 | Lluvia fina |
0x40 |
|
| 311 | Llovizna | ||
| 312 | Lluvia de llovizna muy intensa |
0x41 |
|
| 313 | Lluvia intermitente y chubascos | ||
| 314 | Lluvias intensas y chubascos | ||
| 321 | Lluvia fina | ||
| 5xx | Lluvia | ||
| 500 | Lluvia ligera |
0x42 |
|
| 501 | Lluvia moderada |
0x43 |
|
| 502 | Lluvia muy intensa |
0x44 |
|
| 503 | Lluvia muy intensa | ||
| 504 | Lluvias torrenciales | ||
| 511 | Lluvia helada |
0x45 |
|
| 520 | Lluvia de lluvia ligera |
0x46 |
|
| 521 | Lluvia de chaparrones | ||
| 522 | Lluvia torrencial | ||
| 531 | Lluvia irregular | ||
| 6xx | Nieve | ||
| 600 | Nevada ligera |
0x4C |
0x4D |
| 601 | Nieve |
0x4A |
|
| 602 | Fuertes nevadas | ||
| 611 | Aguanieve |
0x45 |
|
| 612 | Lluvia ligera con granizo | ||
| 613 | Agua con granizo | ||
| 615 | Lluvia y nieve ligeras | ||
| 616 | Lluvia y nieve | ||
| 620 | Ligera nevada |
0x4B |
|
| 621 | Lluvia de nieve | ||
| 622 | Fuertes chubascos de nieve | ||
| 7xx | Ambiente | ||
| 701 | Niebla |
0x4E |
|
| 711 | Humo |
0x4F |
|
| 721 | Neblina | ||
| 731 | Remolinos de arena y polvo | ||
| 741 | Niebla | ||
| 751 | Arena |
0x4F |
|
| 761 | Polvo | ||
| 762 | Ceniza volcánica | ||
| 771 | Chubascos |
0x52 |
|
| 781 | Tornado |
0x50 |
|
| 800 | Limpiar | ||
| 800 | Cielo despejado |
0x53 |
0x54 |
| 80x | Nubes | ||
| 801 | Pocas nubes (11-25 %) |
0x55 |
0x56 |
| 802 | Nubosidad variable (25-50 %) |
0x57 |
0x58 |
| 803 | Nubosidad parcial (51-84 %) |
0x59 |
|
| 804 | Cielo nublado al 85-100 % |
0x5A |
|
QWeather
Puedes ver el conjunto original de iconos meteorológicos haciendo clic aquí
| ID | Descripción | Día | Noche |
|---|---|---|---|
| 302 | Tormenta eléctrica |
0x36 |
0x37 |
| 303 | Tormenta fuerte |
0x38 |
|
| 310 | Tormenta |
0x39 |
|
| 317 | Tormenta a tormenta intensa | ||
| 304 | Salve |
0x3A |
|
| 311 | Fuertes lluvias |
0x3B |
|
| 312 | Tormenta intensa | ||
| 318 | Tormenta con lluvias intensas o muy intensas | ||
| 309 | Lluvia fina |
0x3C |
0x3D |
| 404 | Aguanieve |
0x3E |
|
| 305 | Lluvia ligera |
0x42 |
|
| 314 | Lluvia ligera a moderada | ||
| 306 | Lluvia moderada |
0x43 |
|
| 315 | Lluvias de moderadas a intensas | ||
| 399 | Lluvia | ||
| 308 | Lluvias torrenciales |
0x44 |
|
| 316 | Lluvia intensa a tormenta | ||
| 313 | Lluvia helada |
0x45 |
|
| 405 | Lluvia y nieve | ||
| 300 | Ducha de lluvia |
0x46 |
|
| 301 | Lluvia intensa | ||
| 307 | Lluvia intensa | ||
| 350 | Ducha de lluvia | ||
| 351 | Lluvia intensa | ||
| 400 | Ligera nevada |
0x4C |
0x4D |
| 408 | Nieve de ligera a moderada | ||
| 499 | Nieve | ||
| 401 | Nieve moderada |
0x4A |
|
| 402 | Fuertes nevadas | ||
| 409 | Nieve de moderada a intensa | ||
| 410 | De nevadas intensas a tormenta de nieve | ||
| 403 | Tormenta de nieve |
0x4B |
|
| 406 | Lluvia y nieve | ||
| 407 | Ráfaga de nieve | ||
| 456 | Lluvia y nieve | ||
| 457 | Ráfaga de nieve | ||
| 503 | Arena |
0x4E |
|
| 504 | Polvo | ||
| 507 | Tormenta de arena | ||
| 508 | Tormenta de arena | ||
| 511 | Niebla moderada | ||
| 512 | Niebla densa | ||
| 513 | Niebla densa | ||
| 500 | Niebla |
0x4F |
|
| 501 | Niebla | ||
| 502 | Neblina | ||
| 509 | Niebla densa | ||
| 510 | Niebla densa | ||
| 514 | Niebla espesa | ||
| 515 | Niebla muy densa | ||
| 100 | Soleado |
0x53 |
0x54 |
| 150 | Limpiar | ||
| 101 | Nublado |
0x55 |
0x56 |
| 151 | Nublado | ||
| 102 | Pocas nubes |
0x57 |
0x58 |
| 152 | Pocas nubes | ||
| 103 | Parcialmente nublado |
0x59 |
|
| 153 | Parcialmente nublado | ||
| 104 | Overcast |
0x5A |
|
MET Weather
Echa un vistazo al conjunto de iconos de MET Weather a modo de ejemplo aquí.
| ID | Descripción | Día | Noche |
|---|---|---|---|
| lightrainshowers | Lluvias ligeras |
0x36 |
0x37 |
| lightrainshowersandthunder | Lluvias ligeras y truenos | ||
| rainshowersandthunder | Chubascos y truenos | ||
| heavyrainshowersandthunder | Fuertes chaparrones y truenos | ||
| heavyrainandthunder | Lluvias intensas y truenos |
0x38 |
|
| rainandthunder | Lluvia y truenos | ||
| lightrainandthunder | Lluvia ligera y truenos |
0x39 |
|
| heavysleetandthunder | Granizo intenso y truenos |
0x3B |
|
| lightsleetandthunder | Ligero granizo y truenos |
0x3A |
|
| lightssleetshowersandthunder | Lluvias ligeras de aguanieve y truenos | ||
| sleetandthunder | Agua granizada y truenos | ||
| lightsleetshowers | Lluvias de aguanieve ligera |
0x3C |
0x3D |
| sleetshowers | Chubascos de aguanieve | ||
| sleetshowersandthunder | Chubascos de aguanieve y truenos | ||
| heavysleetshowers | Fuertes chubascos de aguanieve | ||
| heavysleetshowersandthunder | Fuertes chubascos de aguanieve y truenos | ||
| lightsleet | Ligero granizo |
0x3E |
|
| sleet | Aguanieve |
0x3F |
|
| heavysleet | Granizo intenso |
0x45 |
|
| lightrain | Lluvia ligera |
0x42 |
|
| rain | Lluvia |
0x43 |
|
| heavyrain | Lluvia intensa |
0x44 |
|
| rainshowers | Chubascos |
0x46 |
|
| heavyrainshowers | Chubascos fuertes | ||
| heavysnow | Fuertes nevadas |
0x4B |
|
| heavysnowandthunder | Fuertes nevadas y truenos | ||
| snow | Nieve | ||
| snowandthunder | Nieve y truenos | ||
| lightsnowshowers | Lluvias de nieve ligera |
0x4C |
0x4D |
| lightssnowshowersandthunder | Ligeras nevadas y truenos | ||
| snowshowers | Nieve | ||
| snowshowersandthunder | Chubascos de nieve y truenos | ||
| heavysnowshowers | Chubascos de nieve fuertes | ||
| heavysnowshowersandthunder | Fuertes nevadas y truenos | ||
| lightsnow | Nevada ligera |
0x4A |
|
| lightsnowandthunder | Ligeras nevadas y truenos | ||
| fog | Niebla |
0x4F |
|
| clearsky | Cielo despejado |
0x53 |
0x54 |
| fair | Justo |
0x55 |
0x56 |
| partlycloudy | Parcialmente nublado |
0x57 |
0x58 |
| cloudy | Nublado |
0x59 |
|