Componentes de integración
El cartridge int_dqe es la implementación principal para integrar la funcionalidad de DQE en SFCC. Este artículo ofrece una descripción general de sus componentes.
Servicios de DQE
Estos servicios interactúan con las API de DQE y proporcionan funciones de validación y sugerencias para correo electrónico, teléfono y direcciones.
Servicios implementados
dqe.http.email.validatedqe.http.phone.validatedqe.http.address.suggestions.searchdqe.http.address.suggestions.completedqe.http.address.validate
API de DQE utilizadas
Scripts y helpers de DQE
Todos los scripts, archivos helper y lógica relacionada de DQE se encuentran en cartridges/int_dqe/cartridge/scripts/dqe. Esta carpeta contiene la funcionalidad base de SFCC DQE para sugerencias y validación de direcciones, validación de correo electrónico y teléfono, gestión de la configuración de DQE y llamadas a los servicios de DQE.
-
cartridges/int_dqe/cartridge/scripts/dqe/dqeAddress.js: contiene los métodos de dirección de DQE utilizados para obtener sugerencias de direcciones y validar direcciones. -
cartridges/int_dqe/cartridge/scripts/dqe/dqeAPI.js: proporciona métodos para trabajar con la API de DQE. Actúa como middleware entre los scripts de DQE y los servicios de DQE. -
cartridges/int_dqe/cartridge/scripts/dqe/dqeCache.js: proporciona métodos para trabajar con la caché personalizada de DQE. La caché almacena los resultados de validación de los códigos de respuesta de DQE y ayuda a evitar consultas excesivas a los objetos personalizados en la base de datos. -
cartridges/int_dqe/cartridge/scripts/dqe/dqeConstants.js: contiene las constantes de DQE utilizadas en otros archivos de integración y extensión. -
cartridges/int_dqe/cartridge/scripts/dqe/dqeEmailValidator.js: proporciona métodos para validar valores de correo electrónico. -
cartridges/int_dqe/cartridge/scripts/dqe/dqeHelpers.js: contiene métodos helper genéricos de DQE y métodos para obtener las preferencias de DQE. -
cartridges/int_dqe/cartridge/scripts/dqe/dqePhoneValidator.js: proporciona métodos para validar valores de teléfono.
Modelos de DQE
Estos modelos asignan las respuestas de la API de DQE a objetos JavaScript para su uso en SFCC.
-
addressSuggestions.js: asigna las respuestas de sugerencias de direcciones de DQE. -
completeAddressDetails.js: asigna las respuestas de finalización de direcciones de DQE.
Plantillas de DQE
Las plantillas se utilizan para representar las sugerencias de direcciones y los resultados de validación:
-
Address Suggestions:
addressSuggestions.isml -
Address Validation Results:
addressValidationSuggestions.isml
Validación de correo electrónico
El punto de entrada para la validación de correo electrónico es el método validate del archivo scripts/dqe/dqeEmailValidator.js. Recibe un valor de cadena de correo electrónico y lo valida con la API de DQE, utilizando las preferencias de DQE actuales y las asignaciones de códigos de respuesta de DQE.
El resultado de la validación de correo electrónico se representa como un objeto con las siguientes propiedades:
-
status(string): estado de la validación. Los valores posibles sonvalid,invalidywarn. -
message(string): mensaje de validación. -
suggestions(array de strings): valores sugeridos, si los hay. -
error(boolean): indica si se produjo un error durante la validación.
Validación de teléfono
El punto de entrada para la validación de teléfono es el método validate del archivo scripts/dqe/dqePhoneValidator.js. Recibe los valores de cadena de teléfono y código de país y los valida con la API de DQE, utilizando las preferencias de DQE actuales y las asignaciones de códigos de respuesta de DQE.
El resultado de la validación de teléfono se representa como un objeto con las siguientes propiedades:
-
status(string): estado de la validación. Los valores posibles sonvalid,invalidywarn. -
message(string): mensaje de validación. -
error(boolean): indica si se produjo un error durante la validación.
Validación de direcciones
Todos los métodos relacionados con direcciones se encuentran en el archivo scripts/dqe/dqeAddress.js. Este archivo proporciona métodos para obtener y completar sugerencias de direcciones y validar los detalles de las direcciones.
Para validar una dirección utilizando el método validateAddress, los siguientes campos son obligatorios: address1, postalCode, city y countryCode. Los campos address2 y placeName son opcionales.
Estos campos se asignan a la cadena Adresse de Address API — Check and verify an address de la siguiente manera:
| SFCC field | DQE RNVP API request string |
|---|---|
address1 |
address |
postalCode |
zip code |
city |
city |
address2 |
additional address |
placeName |
dependent |
También es posible validar una dirección proporcionando la cadena Adresse completa mediante el método validateAddressString en scripts/dqe/dqeAddress.js.
La validación de direcciones utiliza la API de DQE y tiene en cuenta las preferencias de DQE actuales y las asignaciones de códigos de respuesta de DQE.
El resultado de la validación de direcciones se representa como un objeto con las siguientes propiedades:
-
status(string): estado de la validación. Los valores posibles sonvalid,invalidywarn. -
message(string): mensaje de validación. -
suggestions(array de strings): valores sugeridos, si los hay. -
error(boolean): indica si se produjo un error durante la validación.
Asignación de códigos de DQE
Toda la lógica de validación de DQE depende de las preferencias de DQE actuales y de las asignaciones de códigos de respuesta de DQE.
Técnicamente, las asignaciones de códigos de DQE se almacenan en SFCC como objetos personalizados. Las siguientes definiciones de tipo de objeto personalizado forman parte del cartridge:
dqeEmailValidationConfigsdqePhoneValidationConfigsdqeAddressValidationConfigs
Cada entidad de objeto personalizado tiene los siguientes atributos:
-
dqeCode: atributo clave asignado al código de respuesta de DQE. -
status: estado de la validación. Los valores posibles sonvalid,warningyblocking. -
displayMessage: mensaje localizable que se muestra al usuario como resultado de la validación.
Para mejorar el rendimiento y evitar consultas constantes a las bases de datos de objetos personalizados, se ha implementado un mecanismo de caché personalizada de DQE. Este almacena en caché los códigos de DQE, los estados de validación y los valores de los mensajes.
Se ha implementado un módulo correspondiente de DQE en Business Manager para permitir que determinados comerciantes configuren las asignaciones de códigos de DQE.
Extensiones de Business Manager
Todas las personalizaciones de DQE en Business Manager forman parte del cartridge bm_dqe. Incluye los módulos siguientes.
DQE Links
La sección de enlaces de DQE en BM contiene enlaces útiles relacionados con DQE a los que se puede acceder desde Business Manager.
DQE Codes Mappings
Se ha implementado un módulo correspondiente de DQE en Business Manager para permitir que determinados comerciantes configuren las asignaciones de códigos de DQE. Internamente, todas las asignaciones se almacenan en el sistema como objetos personalizados.
DQE Site Preferences
El módulo DQE Site Preferences se puede utilizar como una forma alternativa de configurar las preferencias del sitio relacionadas con DQE. Puede utilizarse cuando un rol de usuario de BM no tiene acceso a todos los módulos de preferencias del sitio, pero aun así necesita gestionar los ajustes relacionados con DQE.
Relacionada con