Este artículo explica cómo realizar una importación automática para acreditar puntos Loyalty (tanto Q como NQ). Se puede utilizar para acreditar a los miembros de tu programa de fidelización puntos para eventos que han pasado fuera de Splio.
Encontrarás un ejemplo de un fichero para este alcance al final del artículo.
Requisitos previos
- Conocimiento básico del formato CSV y la codificación UTF-8
- Un editor de texto UTF-8
- Un software de hoja de cálculo
- Creación de la subsecuencia para el alcance “creditpoints” en el fichero de configuración
Preparación de un fichero de importación para acreditar puntos Loyalty
Edita el fichero de importación con tu editor de texto de UTF-8 preferido. Si es necesario, controla el número y posición de las columnas con un software de hoja de cálculo que te guste. Es la mejor herramienta para eliminar cualquier columna que no desees importar.
💡 | Recuerda guardar siempre utilizando la codificación UTF-8 sin BOM.
⚠️| Por favor, limita el tamaño del archivo a 200K.
Cabecera y columnas
La primera línea del archivo, llamada cabecera, se utiliza para determinar el contenido de las líneas siguientes. Por lo tanto, debería contener únicamente los nombres de los campos (uno por cada columna).
⚠️ | Recuerda que, si el Datahub encuentra un nombre de columna que no reconoce, no procesará el archivo.
Para el fichero “creditpoints”, están disponibles las siguientes columnas:
Columna |
Obligatorio |
Formato |
Descripción |
card_code |
Sí |
Texto |
Identificador de la tarjeta Loyalty. Los códigos son únicos: si especificas un código existente, el registro se actualizará. |
credit_date |
Sí |
YYYY-MM-DD HH:MM:SS |
Fecha en las que los puntos se han acreditado. Consulta más abajo para una explicación exhaustiva sobre las fechas. |
context |
Sí |
Texto |
Razón por la cual se han acreditado los puntos. |
nq_points |
No |
Entero positivo o negativo |
Número de puntos no calificables que se han acreditado. |
q_points |
No |
Entero positivo o negativo |
Número de puntos calificables que se han acreditado. |
⚠️ | Aunque ni nq_points ni q_points son columnas obligatorias, al menos los valores de una de las dos debe estar presente (y no iguales a cero) en cada línea del fichero de importación. Las líneas que contengan números negativos serán rechazadas.
Ejemplo de fichero de crédito puntos Loyalty
A continuación encontrarás un ejemplo de un fichero de importación creditpoints. La primera línea es un encabezado que contiene los nombres de las columnas, las siguientes 3 líneas son datos.
card_code;credit_date;nq_points;q_points;context
"my_card_code";"2019-01-01 00:02:01";"-10";"0";"my_context"
"my_card_code";"2019-01-01 12:03:06";"0";"-10";"my_context"
"my_card_code";"2019-01-01 13:00:55";"0";"0";"my_context"
?? | Debido a que las dos primeras líneas contienen números negativos, al importarlas descenderá el número de puntos de la tarjeta. La tercera línea no se importará porque ambos valores de puntos son cero (esta línea no representa ningún cambio).
Nombre del fichero
Para guardar tu archivo, utiliza un nombre compuesto por el nombre del universo, el alcance (“creditpoints”), la subsecuencia y la fecha actual. Por ejemplo:
myuniverse_creditpoints_daily_20210225.csv
Este nombre de archivo pertenece al universo “myuniverse”, subsecuencia “daily” definido para la acreditación de puntos y su fecha es el 25 de febrero de 2021.
Si deseas más información, consulta la sección «Reglas de nomenclatura de ficheros» en el articulo Datahub - Información general.
Ahora puedes subir el fichero al SFTP/FTPS.
Fechas
Todas las fechas de los ficheros de importación de tienda están compuestas por 4 dígitos para el año, 2 para el mes, y 2 para el día, seguido de las horas, minutos y segundos, 2 dígitos cada uno. Una fecha correcta para el 11 de marzo de 2021, 1:17 p.m. tiene el siguiente formato:
2021-03-11 13:17:00
El día y hora están separados por un espacio en blanco.
⚠️ | Usar fechas sin hora no es una opción recomendada y puede causar errores y algunos triggers relacionados con las fechas fallarán. Además, todos los datos loyalty son siempre considerados como información financiera. Esto quiere decir que tú y tu empresa sois responsables de estos datos y no os podéis permitir dejar detalles al azar.
📗| Un beneficio adicional de utilizar fechas completas es que podrás buscar y filtrar por fecha con una precisión mucho mayor.
⚠️ | Al importar fechas con hora, asegúrate de que siempre utilizas la misma franja horaria (es decir, GMT+1 para clientes fuera de China, y GMT+8 para clientes chinos).
Explicación: NULL y valores de borrado
NULL es un valor especial que informa a la base de datos de que el campo que lo contiene está vacío.
Tu universo Splio puede configurarse para interpretar los valores NULL como instrucciones para vaciar campos. Puedes utilizarlo para borrar valores almacenados en la base de datos. Para ello, asegúrate de que el valor importado es exactamente NULL. Debes evitar espacios delante o detrás: “ NULL” o “NULL ” se reconocerán como valores string.
Si esta opción no está configurada, Splio retendrá los valores para los campos en los que el valor importado sea NULL.
Diferencia entre NULL y campo vacío
“”es un string vacío. En la mayoría de los casos, tanto NULL como “” serán importados como un valor vacío.
Ten presente que el string vacío “” no es considerado como un valor NULL, por lo que no provocará el borrado del valor existente en un campo.