Instalación

Módulo Registrador

v1.1.17 (19/11/2018)

Adaptado para las versiones 7.6.X, 6.3.X y 5.3.14 del WHMCS

Gestión de Dominios y Contactos con WHMCS – Área de clientes y administración

 

1. Subir módulo al WHMCS

– Subir la carpeta VIRTUALNAME contenida en el archivo zip al directorio: /whmcs/modules/registrars/

– DIRECTORIO: /whmcs/modules/registrars/

– IMPORTANTE: Comprobar permisos: 644 para archivos y 755 para directorios

 

2. Configurar

– Puede acceder a la configuración desde el panel de administración en:

– AJUSTES > Productos/Servicios > Registradores de dominios > Virtualname

– Haz click en

– Añade tu APIKEY (puede generar un APIKEY en PANEL.VIRTUALNAME.NET, en “Mi cuenta” > “Configuración” > “API”)

– Marca las opciones deseadas

– Haz click en

– Haz click en * en caso de error durante la instalación acceda aquí

 

3. Opciones

-Autorenovación: Establece la autorrenovación del dominio en el panel de virtualname al registrar o transferir

-Ocultar número IC: Ocultar en el área de cliente el campo documento identificativo del dominio

-Registro de dominios gratuitos: Los dominios marcados como gratuitos no se registrarán

-Renovación de dominios gratuitos: Los dominios con pago recurrente gratuito no se renovarán

-Versión de plantilla: Según el tipo de plantilla ajusta el maquetado *solo disponible para WHMCS 6 y 7

-Renovación de seguridad: Número de horas que deben pasar antes de que el dominio pueda ser renovado (validación exclusiva en el WHMCS)

-Nº vat por defecto: Establece el campo custom de WHMCS que se enviará durante la gestión de contacto en el caso de que se mande vacío el “Documento Identificativo”

-Desactivar bloqueo para TLDS: Establece que extensiones de dominios van a mostrar un error al intentar ejecutar el bloqueo de transferencias. Para añadir nuevas extensiones introducir la extensión y un espacio como separador entre extensiones.

-Aviso dominios salientes: Enviar aviso a los clientes cuando se cancela un dominio que ha sido transferido a otro registrador.

-Error DNS: Esta opción permite usar las DNS por defecto establecidas en caso de que el cliente intente registrar con unas DNS no válidas.

-Modo desarrollo: Entorno de desarrollo de Virtualname (requiere cuenta creada en dev.panel.virtualname.net)

-Modo debug: Muestra en pantalla las respuestas de VIRTUALNAME y los elementos contenidos durante las peticiones hechas por API.

-Advertencias: Errores o advertencias de instalación del módulo.

-Crons: Listado de crones para mantenimiento de los dominios.

-Log de errores: Haciendo click en descargar obtenemos todos los errores producidos al ejecutar peticiones al API. Con el otro botón podemos enviar estos LOGS de errores a VIRTUALNAME cuando los técnicos lo soliciten.

 

 

4. Establecer WHOISSERVERS

WHMCS 7

Instalación automática:

– Con la instalación automática, los WHOISSERVER se establecen con el módulo de virtualname.

– Solicitar a SOPORTE que validen la IP de tu WHMCS para las consultas WHOIS vía mail soporte@virtualname.es o ticket

Instalación manual:

– IMPORTANTE: en caso de error, habrá que hacerlo de forma manual, siguiendo los siguientes pasos:

– Acceder al directorio de WHMCS: /whmcs/resources/domains

– Abrir el archivo WHOIS.JSON. Si no existe, crearlo y copiarle el contenido de DIST.WHOIS.JSON.

– Incluir las siguientes líneas de nuestro WHOIS en WHOIS.JSON

	{
		"extensions": ".es,.com.es,.nom.es,.gob.es,.edu.es,.cat",
		"uri": "http://whois.virtualname.es/whois.php?domain=",
		"available": "LIBRE - DOMINIO DISPONIBLE"
	},

– Revisar el contenido del archivo WHOIS.JSON para los duplicados de extensión: En el WHMCS hay líneas por defecto para cada extensión de dominios y se ejecutaré el WHOIS del último que encuentre. Por ejemplo, puede existir un WHOIS para las extensiones .ES ajeno a VIRTUALNAME y que de disponibilidades incorrectas de dominio.

– Solicitar a SOPORTE que validen la IP de tu WHMCS para las consultas WHOIS vía mail soporte@virtualname.es o ticket

WHMCS 5 y 6

– Acceder al directorio de WHMCS: /whmcs/includes/

– Directorio: /whmcs/includes/

– Abrir whoiservers.txt (incluído en el módulo)

– Incluir el contenido del TXT en el archivo: whoisservers.php

– Revisar el contenido del archivo whoisservers.php para los duplicados de extensión: En el WHMCS hay líneas por defecto para cada extensión de dominios y se ejecutaré el WHOIS del primero que encuentre. Por ejemplo, puede existir un WHOIS para las extensiones .ES ajeno a VIRTUALNAME y que de disponibilidades incorrectas de dominio.

– Solicitar a SOPORTE que validen la IP de tu WHMCS para las consultas WHOIS vía mail soporte@virtualname.es o ticket

 

5. Instalación Manual

– La instalación del módulo de registrador, puede fallar al copiar archivos o incluir contenidos

– Todos los archivos a copiar están ubicados en el módulo de VIRTUALNAME, en el directorio “includes” del mismo

Lista de archivos a incluir:

– 1. Archivo: clientareadata.php – Ubicación WHMCS: Copiar en la carpeta RAIZ del WHMCS “/whmcs/”

– 2. Archivo: virtualname_hooks.php – Ubicación WHMCS: Copiar en la carpeta del WHMCS “/whmcs/includes/hooks/”

– 3. Archivo: clientsdatadomaincontacts.php – Ubicación WHMCS: Copiar en la carpeta de administración del WHMCS “/whmcs/admin/” * el nombre de la carpeta de administración puede variar si esta ha sido personalizada

Contenidos a incluir:

– 1. Incluir estas líneas:

######VIRTUALNAME REGISTRAR ADDITIONALS######
$path = str_replace('/resources/domains', '', dirname(__FILE__));
require_once($path."/modules/registrars/virtualname/includes/domainContacts.php");
$additionaldomainfields = setExtraAdditional($_SESSION["uid"]);
######VIRTUALNAME REGISTRAR ADDITIONALS######

WHMCS 7

– En el archivo “additionalfields.php” ubicado en la ruta “/whmcs/resources/domains/”

– Si el archivo no existe, crearlo e incluirle el contenido del archivo dist.additionalfields.php ubicado en el mismo directorio.

WHMCS 5 y 6

– En el archivo “additionaldomainfields.php” ubicado en la ruta “/whmcs/includes/”

– 2. Incluir estas líneas de traducción en el archivo “english.php” ubicado en la ruta “/whmcs/lang/”

######VIRTUALNAME REGISTRAR LANGS######
// * @virtualname-version 1.1.13
$_LANG['clientareanavgeneratecontact'] = 'Import Domain Contact';
$_LANG['clientareanavgeneratecontactexplanation'] = 'Import domain contact creates a new contact in your account. This contact is link to the domain and can be modified to update WHOIS data for all domains linked to this contact.';
$_LANG['clientarevalidationexplanation'] = 'Linked contacts can be used for contact data domains';
$_LANG['clientareanaverrorsavecontacts'] = 'Only can link contacts that are validated (Validation Tick)';
$_LANG['clientareanaverrordeletecontacts'] = 'Can\'t delete contact when this is linked with at domain';
$_LANG['domainbillingcontact'] = 'Billing Contact';
$_LANG['domaintechcontact'] = 'Technical Contact';
$_LANG['domainadmincontact'] = 'Admin Contact';
$_LANG['domainregcontact'] = 'Register Contact';
$_LANG['domaindefaultcontact'] = 'Use default contact';
$_LANG['domainaddcontact'] = 'Add new contact';
$_LANG['domaincontactrefresh'] = 'Refresh';
$_LANG['clientareavirtualnamevalidate'] = 'Contact exist inside registrar';
$_LANG['clientareavirtualnamenovalidate'] = 'Contact not exist inside registrar';
$_LANG['clientarealinkedcontact'] = 'Link Contact';
$_LANG['clientareaunlinkedcontact'] = 'Unlink Contact';
$_LANG['adminContactLinked'] = 'Contact Created - Linked';
$_LANG['adminContactNoLinked'] = 'Contact created but not linked with registrar';
$_LANG['adminContactUpdated'] = 'Contact updated';
$_LANG['adminContactNotUpdated'] = 'Error on update contact';
$_LANG['adminClientUpdated'] = 'Client updated';
$_LANG['adminClientNotUpdated'] = 'Error on update client';
$_LANG['adminContactCreated'] = 'Domain contact created';
$_LANG['adminContactNotCreated'] = 'Domain contact not created: Invalid contact';
$_LANG['adminUpdatedContactsError'] = 'Domain contacts not updated: Only can link contacts that are validated (Validation Tick)';
$_LANG['adminUpdatedContacts'] = 'Domain contacts updated';
$_LANG['adminDefaultContact'] = 'Use client data';
$_LANG['admingenerate'] = 'Import Domain Contact';
$_LANG['clientIdentificationNumber'] = 'Identification Number (CIF, DNI, NIE)';
$_LANG['legal_form']['natural_person_or_individual'] = 'Natural person or individual';
$_LANG['legal_form']['economic_interest_group'] = 'Economic interest grouping';
$_LANG['legal_form']['association'] = 'Association';
$_LANG['legal_form']['sports_association'] = 'Sports association';
$_LANG['legal_form']['trade_association'] = 'Trade association';
$_LANG['legal_form']['savings'] = 'Savings';
$_LANG['legal_form']['community_property'] = 'Community property';
$_LANG['legal_form']['community_of_owners'] = 'Community of owners';
$_LANG['legal_form']['congregation_or_religious_institution'] = 'Congregation or religious institution';
$_LANG['legal_form']['consulate'] = 'Consulate';
$_LANG['legal_form']['public_corporation'] = 'Public corporation';
$_LANG['legal_form']['embassy'] = 'Embassy';
$_LANG['legal_form']['local_organization'] = 'Local organization';
$_LANG['legal_form']['sports_federation'] = 'Sports federation';
$_LANG['legal_form']['foundation'] = 'Foundation';
$_LANG['legal_form']['mutual_insurance'] = 'Mutual insurance';
$_LANG['legal_form']['organ_of_the_regional_administration'] = 'Organ of the regional administration';
$_LANG['legal_form']['organ_of_the_state_administration'] = 'Organ of the state administration';
$_LANG['legal_form']['political_party'] = 'Political party';
$_LANG['legal_form']['union'] = 'Union';
$_LANG['legal_form']['agrarian_transformation'] = 'Agrarian transformation';
$_LANG['legal_form']['corporation'] = 'Corporation';
$_LANG['legal_form']['sports_corporation'] = 'Sports corporation';
$_LANG['legal_form']['civil_society'] = 'Civil society';
$_LANG['legal_form']['partnership'] = 'Partnership';
$_LANG['legal_form']['limited_partnership'] = 'Limited partnership';
$_LANG['legal_form']['cooperative_society'] = 'Cooperative society';
$_LANG['legal_form']['labour_society_limited'] = 'Labour society limited';
$_LANG['legal_form']['limited_society'] = 'Limited society';
$_LANG['legal_form']['branch_in_spain'] = 'Branch in spain';
$_LANG['legal_form']['consortium'] = 'Consortium';
$_LANG['legal_form']['education_corporation'] = 'Education corporation';
$_LANG['legal_form']['autonomous_public_organization'] = 'Autonomous public organization';
$_LANG['legal_form']['state_public_agency'] = 'State public agency';
$_LANG['legal_form']['local_public_agency'] = 'Local public agency';
$_LANG['legal_form']['other'] = 'Other';
$_LANG['legal_form']['designation_of_origin_control_board'] = 'Designation of origin control board';
$_LANG['legal_form']['natural_space_agency_manager'] = 'Natural space agency manager';
$_LANG['modify_glue_records'] = 'Can\'t modify nameserver';
$_LANG['delete_glue_records'] = 'Can\'t delete nameserver';
######VIRTUALNAME REGISTRAR LANGS######

– 3. Incluir estas líneas de traducción en el archivo “spanish.php” ubicado en la ruta “/whmcs/lang/”

######VIRTUALNAME REGISTRAR LANGS######
// * @virtualname-version 1.1.13
$_LANG['clientareanavgeneratecontact'] = 'Importar Contacto del dominio';
$_LANG['clientareanavgeneratecontactexplanation'] = 'Importar un contacto genera un contacto nuevo en su ficha. Este contacto está vinculado al dominio y podrá ser modificado para actualizar los datos de WHOIS de los dominios vinculados a ese contacto.';
$_LANG['clientarevalidationexplanation'] = 'Los contactos vinculados pueden ser utilizados para los datos de contactos de los dominios';
$_LANG['clientareanaverrorsavecontacts'] = 'Solo se pueden vincular contactos que estén validados (Tick de Validación)';
$_LANG['clientareanaverrordeletecontacts'] = 'No se puede eliminar el contacto, está vinculado a un dominio';
$_LANG['domainbillingcontact'] = 'Contacto Facturación';
$_LANG['domaintechcontact'] = 'Contacto Técnico';
$_LANG['domainadmincontact'] = 'Contacto Administrativo';
$_LANG['domainregcontact'] = 'Propietario';
$_LANG['domaindefaultcontact'] = 'Usar los datos de mi cuenta';
$_LANG['domainaddcontact'] = 'Añadir nuevo contacto';
$_LANG['domaincontactrefresh'] = 'Refrescar';
$_LANG['clientareavirtualnamevalidate'] = 'Contacto vinculado al registrador';
$_LANG['clientareavirtualnamenovalidate'] = 'Contacto no vinculado al registrador';
$_LANG['clientarealinkedcontact'] = 'Vincular Contacto';
$_LANG['clientareaunlinkedcontact'] = 'Desvincular Contacto';
$_LANG['adminContactLinked'] = 'Contacto Creado - Vinculado';
$_LANG['adminContactNoLinked'] = 'Contacto creado pero no vinculado al registrador';
$_LANG['adminContactUpdated'] = 'Contacto actualizado';
$_LANG['adminContactNotUpdated'] = 'Error al actualizar contacto';
$_LANG['adminClientUpdated'] = 'Cliente actualizado';
$_LANG['adminClientNotUpdated'] = 'Error al actualizar cliente';
$_LANG['adminContactCreated'] = 'Contacto de dominio creado';
$_LANG['adminContactNotCreated'] = 'Contacto de dominio no creado: Contacto no válido';
$_LANG['adminUpdatedContactsError'] = 'Contactos de dominio no actualizados: Solo se pueden vincular contactos que estén validados (Tick de Validación)';
$_LANG['adminUpdatedContacts'] = 'Contactos de dominio actualizados';
$_LANG['adminDefaultContact'] = 'Usar los datos del cliente';
$_LANG['admingenerate'] = 'Importar Contacto del dominio';
$_LANG['clientIdentificationNumber'] = 'Nº de Identificación (CIF, DNI, NIE)';
$_LANG['legal_form_contact'] = 'Forma jurídica';
$_LANG['legal_form']['natural_person_or_individual'] = 'Persona física o particular';
$_LANG['legal_form']['economic_interest_group'] = 'Agrupación de interés económico';
$_LANG['legal_form']['association'] = 'Asociación';
$_LANG['legal_form']['sports_association'] = 'Asociación deportiva';
$_LANG['legal_form']['trade_association'] = 'Asociación gremial';
$_LANG['legal_form']['savings'] = 'Caja de ahorros';
$_LANG['legal_form']['community_property'] = 'Comunidad de bienes';
$_LANG['legal_form']['community_of_owners'] = 'Comunidad de propietarios';
$_LANG['legal_form']['congregation_or_religious_institution'] = 'Congregación o institución religiosa';
$_LANG['legal_form']['consulate'] = 'Consulado';
$_LANG['legal_form']['public_corporation'] = 'Corporación de derecho público';
$_LANG['legal_form']['embassy'] = 'Embajada';
$_LANG['legal_form']['local_organization'] = 'Entidad local';
$_LANG['legal_form']['sports_federation'] = 'Federación deportiva';
$_LANG['legal_form']['foundation'] = 'Fundación';
$_LANG['legal_form']['mutual_insurance'] = 'Mutua de seguros';
$_LANG['legal_form']['organ_of_the_regional_administration'] = 'Órgano de la administración pública';
$_LANG['legal_form']['organ_of_the_state_administration'] = 'Órgano de la administración del estado';
$_LANG['legal_form']['political_party'] = 'Partido político';
$_LANG['legal_form']['union'] = 'Sindicato';
$_LANG['legal_form']['agrarian_transformation'] = 'Sociedad agraria de la transformación';
$_LANG['legal_form']['corporation'] = 'Sociedad anónima';
$_LANG['legal_form']['sports_corporation'] = 'Sociedad anónima deportiva';
$_LANG['legal_form']['civil_society'] = 'Sociedad civil';
$_LANG['legal_form']['partnership'] = 'Sociedad colectiva';
$_LANG['legal_form']['limited_partnership'] = 'Sociedad comanditaria';
$_LANG['legal_form']['cooperative_society'] = 'Sociedad cooperativa';
$_LANG['legal_form']['labour_society_limited'] = 'Sociedad laboral limitada';
$_LANG['legal_form']['limited_society'] = 'Sociedad limitada';
$_LANG['legal_form']['branch_in_spain'] = 'Sucursal en España';
$_LANG['legal_form']['consortium'] = 'Unión temporal de empresas';
$_LANG['legal_form']['education_corporation'] = 'Sociedad anónima laboral';
$_LANG['legal_form']['autonomous_public_organization'] = 'Organismo público autonómico';
$_LANG['legal_form']['state_public_agency'] = 'Organismo público estatal';
$_LANG['legal_form']['local_public_agency'] = 'Organismo público local';
$_LANG['legal_form']['other'] = 'Otras';
$_LANG['legal_form']['designation_of_origin_control_board'] = 'Consejo regulador de denominación de origen';
$_LANG['legal_form']['natural_space_agency_manager'] = 'Organismo gestor de espacio natural';
$_LANG['modify_glue_records'] = 'No se puede editar el nameserver';
$_LANG['delete_glue_records'] = 'No se puede eliminar el nameserver';
######VIRTUALNAME REGISTRAR LANGS######

Anexos:

– Añadir provincias de México:
Reemplazar el archivo ./assets/js/StatesDropdown.js por este archivo: StatesDropdown

 

 


Módulo Herramientas

>v1.1.6 (24/01/2018)

Adaptado para las versiones 7.1.X, 6.3.X y 5.3.14 del WHMCS

Herramientas para la gestión de Dominios y Contactos con WHMCS – Solo para administración

 

1. Subir módulo al WHMCS

– Subir la carpeta VIRTUALNAME_TOOLS contenida en el archivo zip al directorio: /whmcs/modules/addons/

– DIRECTORIO: WHMCS 5 y 6: /whmcs/modules/addons

– IMPORTANTE: Comprobar permisos: 644 para archivos y 755 para directorios

– Todos los archivos a copiar están ubicados en el módulo de VIRTUALNAME_TOOLS, en el directorio “includes” del mismo

Lista de archivos a incluir:

– 1. Archivo: hooks/virtualname_tools_hooks.php – Ubicación WHMCS: Copiar en la carpeta del WHMCS “/whmcs/includes/hooks/”

 

2. Configurar WHMCS

– Puede acceder a la configuración desde el panel de administración en:

– AJUSTES > Módulos Extra > Virtualname Tcpanel -Tools

– Haz click en

– Haz click en

– Marca los grupos de administración que gestionarán el módulos (control de acceso)

– Haz click en

 

3. Opciones de Configuración del Módulo

– Puede acceder a la configuración desde el panel de administración en:

– AJUSTES > Módulos Extra > Virtualname Tcpanel -Tools

– Datos reales de sincronización: Obtiene los datos de dominios de tu cuenta en tiempo real. No se recomienda deshabilitarlo (exceptuando para depurar o entornos de desarrollo)

– Actualizar Dominios: Al sincronizar actualiza los datos de dominios (estado, fecha de expiración) en el WHMCS

– Actualizar Contactos: Al sincronizar actualiza o importa los contactos vinculados a los dominios insertados en el WHMCS

– Haz click en

 

4. Sincronizar dominios

– Actualizar transferencias salientes: CronJob para automatizar las transferencias salientes. Los dominios perdidos se cancelarán en el WHMCS.

– Pending Cron: CronJob para actualizar el estado de los dominios pendientes a activos en el WHMCS.

– Lanzar Sincronización: Según esté configurado (apartado 3.Opciones) ajustará el estado y las fechas de los dominios activos en el WHMCS y que tengan asignado como registrador VIRTUALNAME

5. Sincronizar contactos

– Lanzar Sincronización: Según esté configurado (apartado 3.Opciones) actualizará o importará los contactos de los dominios activos en el WHMCS y que tengan asignado como registrador VIRTUALNAME

6. Sincronizar Tarifas

– Tarifas Tcpanel: Tarifas creadas para los subclientes en el panel de Virtualname

– Grupos WHMCS: Los grupos de clientes de WHMCS o la tarifa base

– Lanzar Actualización: Importa los precios de la tarifa seleccionada del panel de virtualname al grupo escogido de WHMCS

7. Gestión de Dominios

– Dominios y fechas de vencimientos: Listado de dominios cuya fecha de expiración no coincide con la fecha de vencimiento de factura.

– Limpiador de Dominios: Listado de dominios con errores sintácticos, subdominios o espacios adicionales.

8. Herramientas de importación

– Importar dominios: Listado de dominios que pueden ser importados del panel de Virtualname a clientes del WHMCS. Este listado incluye solo dominios que se encuentran en el panel de virtualname pero no en el WHMCS.

– Importar extensiones: Listado de extensiones que pueden ser importadas del panel de Virtualname al WHMCS. Este listado incluye solo extensiones que se encuentran en el panel de virtualname pero no en el WHMCS.

9. Gestión de facturación WHMCS

– Clientes con crédito: Listado de clientes con crédito en el WHMCS.

– Facturas a revisar: Listado de facturas de WHMCS con posibles datos erróneos, facturas sin transacción, con múltiples transacciones o aquellas cuyo importes totales no coinciden.