Galina Savochkina, directora de desarrollo del centro de competencia de sistemas corporativos de la Dirección de TI del ICDHoy hablaremos sobre cómo trabajamos en la automatización del servicio "Ofertas personales para clientes de ICD, con una mayor devolución de efectivo de las empresas asociadas".
Propósito del servicio
Las empresas nos asignaron la tarea: implementar un producto de software con un enfoque individual para cada cliente como parte del programa de fidelización. Después de aproximadamente 2 meses de desarrollo y aproximadamente 2,5 meses de pruebas en el banco móvil del Banco de Crédito de Moscú, una nueva pestaña "Ofertas personales" en la sección "Privilegios" se puso a disposición de sus clientes: personas. Aquí, en función de la actividad transaccional de los clientes en tarjetas de rublo, se recaudaron acciones para recibir reembolsos por compras de socios ofrecidos por el agregador LLC Svitkard LLC. Para cada cliente, las acciones reales se seleccionaron específicamente para él con el fin de obtener la recompensa máxima por las compras. Aquí se recopilan ofertas de hipermercados, tiendas, farmacias, estaciones de servicio, tiendas en línea, cafeterías, etc. Entre los socios del proyecto se encontraban los minoristas Perekrestok-online, Utkonos, METRO, Leonardo, Kari, farmacias. 36.6, Stolichki y Gorzdrav, estaciones de servicio de la ESA y muchos otros. En estas y otras redes, un reembolso del 3% al 15% para todas las compras estará disponible para los clientes de ICD, y para las primeras compras de ciertos socios, los clientes ya han podido (y quien no lo haya hecho, aún puede) devolver hasta el 25% del monto del pago .
Para mostrar las existencias actuales, los clientes del banco deben tener la última versión de la aplicación móvil MKB Mobile.



Esta descripción no pretende proporcionar información detallada y exhaustiva sobre las características técnicas del desarrollo de esta funcionalidad, sin embargo, se considerarán algunos principios básicos de interacción para compartir la experiencia de desarrollar sistemas tan complejos. Se trata de organizar la interacción con una empresa de terceros, mientras que es muy importante cumplir con los principios de seguridad de transferencia de datos, regulaciones para trabajar con datos de clientes, garantizar un funcionamiento sin problemas y minimizar la posibilidad de fallas técnicas y la interrupción del rendimiento general del sistema.
Proceso de desarrollo
El proyecto para desarrollar un nuevo programa de lealtad se ha sometido a un proceso de aprobación exhaustivo, ya que el ICD siempre es responsable de la seguridad de sus clientes y de mantener la lealtad de su parte. Era necesario pensar en el proceso de intercambio de archivos con transacciones de clientes con una organización externa: Svitkard LLC. Por supuesto, todos los datos se transmiten a través de un canal seguro y en formato anónimo.
Compartir archivos con Svitkard LLC
Para una interacción rápida y conveniente entre el ICD y el entorno del software agregador, se decidió utilizar el formato JSON para el intercambio. Al igual que muchos otros formatos de texto, JSON es fácil de leer por las personas, el formato se considera independiente del lenguaje y se puede usar con casi cualquier entorno de programación. Esto es muy conveniente desde el punto de vista de la implementación: es suficiente para discutir un conjunto de campos con un socio y no es necesario coordinar separadores y otros parámetros adicionales, lo que a menudo complica la interacción al intercambiar archivos de texto.
Se configuró un canal SFTP especial para el intercambio entre las partes. Los datos están encriptados por el lado transmisor (ICD o agregador, porque el intercambio bidireccional está configurado). Se ha implementado un intercambio regular de archivos, que contiene la lista de clientes ICD en forma anónima y transacciones de tarjetas encriptadas por separado. La información se intercambia una vez al día: tal periodicidad para la tarea de calcular el reembolso es suficiente, porque los datos para un día ya cerrado se transmiten y la acumulación del reembolso se realiza una vez al mes.
Se acordaron los tipos de archivos para el intercambio, desde ICD: una lista de clientes, una lista de transacciones en un formato anónimo con un identificador único dentro del banco. De Svitkard LLC: una lista de organizaciones asociadas, acciones que indican el tamaño del reembolso (3%, 5%, 15%, 25%, etc.), condiciones para cobrar (para la primera compra, para cualquier compra), períodos de validez existencias (dentro de un mes, por otro período de tiempo), puntos de acción de las existencias, es decir, tiendas específicas, estaciones de servicio, etc. con una dirección.
Una vez al mes, dependiendo de las transacciones realizadas, la organización del agregador envía en formato JSON una lista de clientes con referencia al identificador único de la acción (el identificador lo establece Svitkard LLC). Es decir, la lista de acciones y su número es dinámica y está determinada por muchos factores: la actividad del cliente que usa tarjetas ICD, la demanda de ciertos servicios. El programa de fidelización, en primer lugar, tiene como objetivo aumentar la cantidad de facturación en tarjetas MKB con socios de bancos. Quizás el archivo más importante en el intercambio es un archivo con las cantidades de reembolso acumulado para los clientes de ICD. Las cantidades se calculan en el lado del agregador dependiendo de si las operaciones del cliente son adecuadas para los términos de las acciones, si usa un banco móvil y tarjetas MKD en rublos.
Además, la información sobre los usuarios de MKB Mobile se transmite desde ICD: los clientes que no usan la aplicación o usan tarjetas de moneda para sus compras no pueden recibir un mayor reembolso. Tal requisito fue presentado por la empresa y tiene sus propias razones: atraer usuarios adicionales del banco móvil y usar la moneda nacional.
Se estableció un canal de transferencia de datos bastante rápido, porque las ofertas se seleccionaron para todos los clientes existentes del banco, por lo que, de hecho, se transfiere una gran variedad de datos en archivos JSON. Se desarrolló el archivo automático de los datos transmitidos, se guardó en un archivo electrónico, se protegieron los archivos de una copia incompleta a través de SFTP, se desarrolló la verificación de la suma de verificación de los datos transmitidos.
Parte del servidor del sistema de interacción
Como con la mayoría de los módulos modernos de interacción entre organizaciones de terceros, se implementó la arquitectura "Cliente-Servidor" para el proyecto "Ofertas personales". En este caso, además de la parte del servidor, también hay interacción con el agregador (Svitkard LLC). La parte del servidor principal del programa se implementa en PL / SQL en entornos de desarrollo para la base de datos Oracle. Las versiones modernas de Oracle le permiten procesar datos de forma rápida y flexible en formato JSON utilizando la funcionalidad incorporada: utilizando JSON _table, ruta anidada, es decir, no es necesario trabajar con archivos JSON como archivos de texto, y es posible utilizar un nuevo objeto de datos junto con el mismo Archivos XML Todos los aspectos de los principios de procesamiento del formato por versiones Oracle JSON superiores a la duodécima pueden obtenerse de fuentes abiertas, en las descripciones de las versiones, lo cual es muy conveniente y no requiere costos de software adicionales para la implementación. La parte del cliente fue creada por los desarrolladores del banco móvil ICD, se proporciona una interfaz fácil de usar y se observan los principios de velocidad de visualización y actualización de la información. Esto se describirá con más detalle en otra sección de la descripción del sistema.
Entonces, el lado del servidor del programa. En realidad, el "núcleo", en el que se realizan las operaciones básicas del sistema, es decir, descargar un archivo de una carpeta de red a las tablas de la base de datos Oracle en el formato CLOB (mediante servicios predefinidos que utilizan protección criptográfica, los archivos se transfieren desde un servidor SFTP al recurso de red interno del ICD), análisis JSON -archivos, guardar el contenido del archivo ya está desglosado por los campos de las tablas de la base de datos del banco.
Los datos sobre ofertas y promociones para clientes se descargan unos días antes de fin de mes en modo automático, la apariencia de la información que se muestra en la aplicación móvil en la versión de prueba se controla adicionalmente: el texto se convierte al formato HTML para una experiencia de usuario óptima. El archivo del socio se forma teniendo en cuenta el hecho de que el texto debe formatearse para las acciones en un estilo determinado, y las imágenes temáticas están disponibles para mayor claridad para cada acción.
A mediados de mes, se acumula un reembolso para los clientes de acuerdo con los datos recibidos de Svitkard LLC: el débito se realiza desde una cuenta especial abierta para el socio del banco, mientras que la exactitud de la información recibida del socio se verifica automáticamente utilizando una serie de casos de prueba (implementados en PL / SQL ) Si la información es correcta, las cuentas de tarjetas cerradas se cortan, ya que no hay forma de cobrar un reembolso. La precisión de las acumulaciones es controlada adicionalmente por el personal de contabilidad, para quien se implementa una funcionalidad especial en el programa ICD para empleados administrativos: informes y libros de referencia para verificación. Si se cumplen todos los requisitos, el contable confirma la exactitud de los cargos y confirma la formación de las transacciones. Las publicaciones se cargan en el lado de procesamiento y los mensajes SMS del formulario se envían a los clientes:
MKB: 17/05/19 se le ha acreditado el reembolso de las compras de socios del banco 545.41 RUB en la tarjeta * 1111. El saldo de 1445.96 RUB. Detalles
mkb.ru/mEn consecuencia, si el cliente prefiere notificaciones push, se le enviará una alerta. Todo depende de la configuración de ICD Mobile.
Para almacenar grandes cantidades de datos en recursos compartidos en el contexto de cada cliente, se usó la partición por mes para las tablas de información en Oracle, durante las cuales el stock es válido, y la indexación está pensada de manera óptima. Esto le permite recibir y mostrar datos rápidamente, a pesar del hecho de que son individuales para cada cliente y contienen información multimedia.
Cliente parte en un banco móvil
Los datos recibidos por el lado del servidor a través de PL / SQL se almacenan en una base de datos y se transmiten al lado del cliente a través de procedimientos almacenados. El formato de interacción se acordó previamente con los desarrolladores del banco móvil (en el entorno de desarrollo de C #): devuelva el cursor con los datos del cliente para mostrar los recursos compartidos en la página del usuario. Transfiera la ubicación de red de los archivos multimedia: para el diseño de cada acción, también implementó la transferencia de inmediato, teniendo en cuenta el formato de HTML para cada página de la acción. Antes de activar nuevas promociones para un cliente por parte de un banco móvil, el almacenamiento en caché se realiza la noche del primer día del mes.



Gracias a la estructura de interacción óptimamente organizada, cada cliente de ICD ve instantáneamente una lista para sí mismo en su página de "Ofertas personales". A pesar de que las listas son individuales para cada cliente, el sistema funciona rápidamente, por lo que gracias a nuestros administradores de bases de datos Oracle DBMS calificados, bueno, yo, como desarrollador del lado del servidor del sistema, también trato de pensar siempre en el rendimiento))
Interacción de departamentos en el desarrollo y operación del sistema.
Este proyecto abarcó varios departamentos a la vez: el departamento de desarrollo de software de back-office - para la implementación de la protección de datos criptográficos y la transmisión de archivos SFTP a través del canal al recurso interno del ICD - desde el agregador; Grupo de desarrollo y automatización en tarjetas bancarias. En realidad, la implementación del lado del servidor del programa: descargar archivos, analizar archivos, mostrar acciones y contenido multimedia para los clientes, acreditar un reembolso agrupado por tarjetas de cliente, debitar de una cuenta especial y devolver saldos a la cuenta de Svitkard LLC si la transferencia es imposible debido al cierre la cuenta del cliente a quien se le acreditó el reembolso, enviando información al teléfono del cliente. Desde el lado del cliente del banco móvil: muestra los datos devueltos por el servidor.
Los desarrolladores en el lado del agregador también se mostraron en el lado positivo, corrigieron todas las discrepancias que ocurrieron con el formato de transferencia, corrigieron el conjunto de campos varias veces para un intercambio de datos más conveniente, acordaron las reglas de interacción y establecieron la frecuencia de la transferencia de datos. Además, la compañía de agregación es muy leal a los clientes del banco: si, por alguna razón, el cliente considera que no se le acreditó por error un reembolso. Hubo muy pocas quejas durante el período de prueba, y se relacionaron principalmente con el hecho de que el cliente no vio un mensaje sobre la acumulación de devolución de efectivo o no entendió las condiciones de acumulación, por ejemplo, pagado con una tarjeta monetaria, consideró que la devolución de efectivo debería llegar a él inmediatamente después de la compra en la acción (y se cobra a mediados de mes), etc. De los clientes, incluidos los empleados del banco, se recibieron críticas bastante positivas sobre esta oferta. Este programa de lealtad ofrece oportunidades virtualmente ilimitadas para recibir reembolsos por compras, por ejemplo, en las vacaciones de Año Nuevo, nos alegramos de ver cómo los clientes que gastaron alrededor de 50 mil rublos en Rive Gauche en cosméticos recibieron sus reembolsos honestos de 5 mil rublos, etc. e.10% en todas las compras. Y esto está inmediatamente en el dinero a la cuenta de la tarjeta, no en bonos.
Resumir
En el otoño de 2018, una nueva pestaña "Ofertas personales" en la sección "Privilegios" estuvo disponible en el banco móvil MKB Mobile; se distribuyó más ampliamente entre los clientes del banco a partir de 2019. Actualmente, muchos clientes que utilizan el banco móvil ICD han descubierto un aumento en el reembolso de las acciones individuales, del 3 al 25%, mientras que el dinero se acredita de manera estable a mediados de mes, independientemente del saldo de la cuenta e inmediatamente, es decir, no es necesario transferir puntos en dinero, elija categorías de compensación, etc.
Después de verificar los cargos y el funcionamiento del banco móvil en los circuitos de prueba, la prueba se lanzó de manera productiva para un círculo limitado de personas, en un grupo de prueba de empleados de ICD que fueron de compras e hicieron compras de prueba. Se tomaron en cuenta todas las posibles deficiencias y deseos, y en el otoño de 2018, todos los clientes de ICD que ni siquiera tenían un banco móvil conectado antes de recibir ofertas personales de acciones de organizaciones asociadas. Es decir, cualquier cliente del Banco de Crédito de Moscú, si conecta el Banco Móvil por primera vez, ve que el IBC ya se ha ocupado de las ofertas individuales.
En la versión actual de la empresa, con la que se organiza la interacción a través de un agregador,
de las siguientes categorías:
- comida, supermercados;
- Gasolinera;
- cafeterías y restaurantes;
- farmacias;
- tiendas en línea;
- medicina
- entretenimiento
- ropa y zapatos
Entre los socios que están listos para cobrar el reembolso, hay grandes compañías como 5 Karmanov, METRO, Pharmacy 36.6, Leonardo, VICHY, Toy.ru, Gorzdrav, Hotel COSMOS, Kari, Utkonos, Rybolov Discount, SOHO, Line, Burger King, Detsky Mir, Kozlovitsa y muchos otros. Y si, por ejemplo, ya compra algo de nuestros socios, ¿por qué no obtener ingresos de esto, digamos, al 10% o incluso al 25%? Tentador, ¿no es así?
El tiempo no se detiene, y ahora el número de socios en las acciones de "Ofertas personales" está en constante crecimiento. Ahora, cada cliente de ICD puede ganar dinero en sus compras y elegir ofertas personales convenientes para ellos, lo principal es mantenerse actualizado y no olvidar usar la aplicación móvil del banco. Ahora pasa el tiempo en que las personas tenían miedo de usar constantemente tarjetas para sus compras y confiaban más en efectivo. Es obvio que un reembolso es beneficioso tanto para bancos como para tiendas, y, por supuesto, para clientes bancarios. El reembolso tiene muchas más ventajas que, por ejemplo, los mismos descuentos y cupones de bonificación que lo obligan a volver a la tienda hasta que se agoten los puntos acumulados, porque es psicológicamente más agradable para el usuario no solo comprar productos por menos, sino obtener devolución de dinero Y si muchos bancos ofrecen obtener un reembolso por una categoría específica de servicios o bienes que se pueden usar más en un mes y menos en otro, entonces las ofertas personales de ICD le permiten elegir la ventaja de precio para el servicio que se requiere en este momento , mientras que las categorías y ofertas son suficientes para hacer esta elección.