hr.applicant: campos, relaciones y API
El modelo hr.applicant («Candidato») es un modelo persistente declarado por el módulo Reclutamiento y ampliado por 4 módulos más. Expone 109 campos, 69 de ellos declarados directamente en el modelo; 11 campos de otros modelos apuntan a él. A continuación encontrará cada campo con su nombre técnico, tipo, etiqueta en español y relaciones, y un ejemplo de llamada a la API JSON-2 de Odoo 19.
Ficha de identidad
- Nombre técnico
hr.applicant- Etiqueta
- Candidato
- Tipo
- Persistente (models.Model)
- Tabla SQL
hr_applicant- Módulo de origen
- Reclutamiento (
hr_recruitment) - Ampliado por
- hr_recruitment_skills, hr_recruitment_sms, hr_recruitment_survey, website_hr_recruitment
- Orden por defecto (_order)
priority desc, sequence, id desc- Campo mostrado (_rec_name)
partner_name
Campos del modelo
69 campos propios, 35 heredados de mixins y 5 campos automáticos del ORM. Haga clic en un nombre para obtener el enlace directo al campo.
109 de 109 campos mostrados
| Nombre técnico | Etiqueta | Tipo | Detalles |
|---|---|---|---|
| active | Activo Si el campo activo es False, le permitirá ocultar el caso sin eliminarlo. | boolean | |
| applicant_notes | Notas del solicitante | html | |
| applicant_properties | Propiedades | properties | |
| applicant_skill_ids | Habilidades | one2many | inverso: añadido por Reclutamiento - Gestión de habilidades ( |
| application_count | Número de solicitudes Solicitudes con el mismo correo electrónico o número de teléfono | integer | calculado |
| application_status | Estado de la solicitud | selection | calculado Valores: |
| attachment_ids | Archivos adjuntos | one2many | inverso: |
| attachment_number | Número de archivos adjuntos | integer | calculado |
| availability | Disponibilidad La fecha en que el candidato estará disponible para empezar a trabajar | date | |
| campaign_id | Campaña | many2one | |
| categ_ids | Etiquetas | many2many | |
| color | Índice de Colores | integer | |
| company_id | Compañía | many2one | calculado, almacenado |
| create_date | Aplicado el | datetime | solo lectura |
| current_applicant_skill_ids | Habilidades actuales del solicitante | one2many | calculado inverso: añadido por Reclutamiento - Gestión de habilidades ( |
| date_closed | Fecha de contratación | datetime | calculado, almacenado |
| date_last_stage_update | Última actualización de la etapa | datetime | |
| date_open | Asignado | datetime | solo lectura |
| day_close | Días para cerrar | float | calculado |
| day_open | Días para abrir | float | calculado |
| delay_close | Tiempo para el cierre Número de días para cerrar | float | solo lecturacalculado, almacenado |
| department_id | Departamento | many2one | calculado, almacenado |
| email_from | Correo electrónico | char | calculado, almacenado |
| email_normalized | Email Normalized | char | |
| emp_is_active | Empleado activo | boolean | related: |
| employee_id | Empleado Empleado vinculado con el candidato. | many2one | |
| employee_name | Nombre del empleado | char | related: |
| interviewer_ids | Entrevistadores | many2many | |
| is_applicant_in_pool | ¿El candidato está en la reserva de talentos? | boolean | calculado |
| is_pool_applicant | ¿Es un candidato de la reserva de talentos? | boolean | calculado |
| job_id | Puesto de trabajo | many2one→ hr.job | |
| kanban_state | Estado de kanban | selection | obligatorio Valores: |
| last_stage_id | Última etapa Etapa del candidato antes de estar en la etapa actual. Usado para el análisis de los casos perdidos. | many2one | |
| legend_blocked | Kanban bloqueado | char | related: |
| legend_done | Kanban válido | char | related: |
| legend_normal | Kanban en curso | char | related: |
| legend_waiting | Kanban en espera | char | related: |
| linkedin_profile | Perfil de LinkedIn | char | |
| matching_score | Porcentaje de coincidencia | integer | calculado añadido por Reclutamiento - Gestión de habilidades ( |
| matching_skill_ids | Habilidades coincidentes | many2many→ hr.skill | calculado añadido por Reclutamiento - Gestión de habilidades ( |
| medium_id | Medio Muestra cómo se comunicó el solicitante, por ejemplo, por correo electrónico, LinkedIn, sitio web, etc. | many2one | |
| meeting_display_date | Mostrar fecha de la reunión | date | calculado |
| meeting_display_text | Texto de reunión mostrado | char | calculado |
| meeting_ids | Reuniones | one2many | inverso: |
| missing_skill_ids | Habilidades faltantes | many2many→ hr.skill | calculado añadido por Reclutamiento - Gestión de habilidades ( |
| partner_id | Contacto | many2one | |
| partner_name | Nombre del candidato | char | |
| partner_phone | Teléfono | char | calculado, almacenado |
| partner_phone_sanitized | Número de teléfono depurado | char | calculado, almacenado |
| pool_applicant_id | Candidato de la reserva de talentos | many2one | |
| priority | Evaluación | selection | Valores: |
| probability | Probabilidad | float | |
| refuse_date | Fecha de rechazo | datetime | |
| refuse_reason_id | Razón del rechazo | many2one | |
| response_ids | Respuestas | one2many | inverso: añadido por Formulario de entrevista de reclutamiento de recursos humanos ( |
| salary_expected | Previsto Salario esperado por el candidato | float | |
| salary_expected_extra | Salario adicional esperado Salario esperado por el candidato, con ventajas adicionales | char | |
| salary_proposed | Propuesto Salario propuesto por la organización | float | |
| salary_proposed_extra | Salario adicional propuesto Salario propuesto por la organización, con ventajas adicionales | char | |
| sequence | Secuencia | integer | |
| skill_ids | Habilidad | many2many→ hr.skill | calculado, almacenado añadido por Reclutamiento - Gestión de habilidades ( |
| source_id | Origen | many2one | |
| stage_id | Etapa | many2one | calculado, almacenado |
| survey_id | Encuesta | many2one | solo lectura related: añadido por Formulario de entrevista de reclutamiento de recursos humanos ( |
| talent_pool_count | Número de reservas de talentos | integer | calculado |
| talent_pool_ids | Reservas de talentos | many2many | |
| type_id | Título | many2one | |
| user_email | Correo electrónico del usuario | char | solo lectura related: |
| user_id | Reclutador | many2one | calculado, almacenado |
| activity_calendar_event_id | Siguiente evento en el calendario de actividades. | many2one | calculado heredado de mail.activity.mixin |
| activity_date_deadline | Fecha límite de la siguiente actividad | date | solo lecturacalculado heredado de mail.activity.mixin |
| activity_exception_decoration | Decoración de Actividad de Excepción Tipo de actividad de excepción en el registro. | selection | calculado Valores: heredado de mail.activity.mixin |
| activity_exception_icon | Icono Icono para indicar una actividad de excepción. | char | calculado heredado de mail.activity.mixin |
| activity_ids | Actividades | one2many | inverso: heredado de mail.activity.mixin |
| activity_state | Estado de la actividad Status based on activities Overdue: Due date is already passed Today: Activity date is today Planned: Future activities. | selection | calculado Valores: heredado de mail.activity.mixin |
| activity_summary | Resumen de la siguiente actividad | char | related: heredado de mail.activity.mixin |
| activity_type_icon | Icono de tipo de actividad | char | related: heredado de mail.activity.mixin |
| activity_type_id | Tipo de la siguiente actividad | many2one | related: heredado de mail.activity.mixin |
| activity_user_id | Usuario responsable | many2one | solo lecturacalculado heredado de mail.activity.mixin |
| duration_tracking | Tiempo del estado JSON que mapea IDs de un campo many2one a segundos utilizados | json | calculado heredado de mail.tracking.duration.mixin |
| email_cc | CC del correo electrónico | char | heredado de mail.thread.cc |
| has_message | Tiene un mensaje | boolean | calculado heredado de mail.thread |
| is_blacklisted | Lista negra Si la dirección de correo electrónico está en la lista negra, el contacto ya no recibirá más envíos masivos desde ninguna lista | boolean | calculado heredado de mail.thread.blacklist |
| is_rotting | En espera/estancado | boolean | calculado heredado de mail.tracking.duration.mixin |
| message_attachment_count | Número de archivos adjuntos | integer | calculado heredado de mail.thread |
| message_bounce | Rebotado Contador del número de correos electrónicos rebotados de este contacto | integer | heredado de mail.thread.blacklist |
| message_follower_ids | Seguidores | one2many | inverso: heredado de mail.thread |
| message_has_error | Error de envío de mensaje Si está marcada, algunos mensajes tienen error de envío. | boolean | calculado heredado de mail.thread |
| message_has_error_counter | Número de errores Número de mensajes con error de envío | integer | calculado heredado de mail.thread |
| message_has_sms_error | Error de envío del SMS Si está marcada, algunos mensajes tienen error de envío. | boolean | calculado heredado de mail.thread |
| message_ids | Mensajes | one2many | inverso: heredado de mail.thread |
| message_is_follower | Es un seguidor | boolean | calculado heredado de mail.thread |
| message_main_attachment_id | Archivo adjunto principal | many2one | heredado de mail.thread.main.attachment |
| message_needaction | Acción requerida Si está marcada, hay nuevos mensajes que requieren su atención. | boolean | calculado heredado de mail.thread |
| message_needaction_counter | Número de acciones Número de mensajes que requieren una acción | integer | calculado heredado de mail.thread |
| message_partner_ids | Seguidores (Contactos) | many2many | calculado heredado de mail.thread |
| my_activity_date_deadline | Fecha límite de mi actividad | date | solo lecturacalculado heredado de mail.activity.mixin |
| phone_blacklisted | El teléfono en la lista negra es un teléfono Indicates if a blacklisted sanitized phone number is a phone number. Helps distinguish which number is blacklisted when there is both a mobile and phone field in a model. | boolean | calculado heredado de mail.thread.phone |
| phone_mobile_search | Número de teléfono | char | heredado de mail.thread.phone |
| phone_sanitized | Número depurado Campo utilizado para almacenar el número de teléfono depurado. Ayuda a acelerar las búsquedas y las comparaciones. | char | calculado, almacenado heredado de mail.thread.phone |
| phone_sanitized_blacklisted | Teléfono en la lista negra Si el teléfono está en la lista negra, el contacto ya no recibirá correo masivo de sms de ninguna lista. | boolean | calculado heredado de mail.thread.phone |
| rating_ids | Calificaciones | one2many | inverso: heredado de mail.thread |
| rotting_days | Días en espera Número de días desde la última actualización de este recurso | integer | calculado heredado de mail.tracking.duration.mixin |
| website_message_ids | Mensajes del sitio web Historial de comunicación del sitio web | one2many | inverso: heredado de mail.thread |
| create_uid | Creado por | many2one | solo lecturaautomático |
| display_name | Nombre mostrado | char | solo lecturacalculadoautomático |
| id | ID | integer | solo lecturaautomático |
| write_date | Última actualización el | datetime | solo lecturaautomático |
| write_uid | Última actualización por | many2one | solo lecturaautomático |
Relaciones
Modelos enlazados desde este modelo
- calendar.event: meeting_ids
- hr.applicant: pool_applicant_id
- hr.applicant.category: categ_ids
- hr.applicant.refuse.reason: refuse_reason_id
- hr.applicant.skill: applicant_skill_ids, current_applicant_skill_ids
- hr.department: department_id
- hr.employee: employee_id
- hr.job: job_id
- hr.recruitment.degree: type_id
- hr.recruitment.stage: last_stage_id, stage_id
- hr.skill: matching_skill_ids, missing_skill_ids, skill_ids
- hr.talent.pool: talent_pool_ids
- ir.attachment: attachment_ids
- res.company: company_id
- res.partner: partner_id
- res.users: interviewer_ids, user_id
- survey.survey: survey_id
- survey.user_input: response_ids
- utm.campaign: campaign_id
- utm.medium: medium_id
- utm.source: source_id
Campos de otros modelos que apuntan aquí
- applicant.get.refuse.reason: applicant_ids, duplicate_applicant_ids
- applicant.send.mail: applicant_ids
- calendar.event: applicant_id
- hr.applicant: pool_applicant_id
- hr.applicant.skill: applicant_id
- hr.talent.pool: talent_ids
- job.add.applicants: applicant_ids
- survey.invite: applicant_id
- survey.user_input: applicant_id
- talent.pool.add.applicants: applicant_ids
Leer este modelo por la API
Ejemplo de llamada a la API JSON-2 de Odoo 19: lectura de los cinco primeros registros con campos reales del modelo. Sustituya la instancia, la base y la clave API por las suyas.
curl -X POST "https://su-instancia.odoo.com/json/2/hr.applicant/search_read" \
-H "Authorization: bearer $ODOO_API_KEY" \
-H "X-Odoo-Database: su-base" \
-H "Content-Type: application/json" \
-d '{"domain":[],"fields":["partner_name","kanban_state","campaign_id","company_id","department_id"],"limit":5}'import requests
BASE_URL = "https://su-instancia.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "su-base"}
res = requests.post(
f"{BASE_URL}/hr.applicant/search_read",
headers=headers,
json={"domain": [], "fields": ["partner_name","kanban_state","campaign_id","company_id","department_id"], "limit": 5},
)
res.raise_for_status()
print(res.json())- El acceso a la API externa está reservado al plan Custom de Odoo.
- XML-RPC y JSON-RPC se retirarán en Odoo 22 (otoño de 2028): use JSON-2.
- Se aplican los permisos de acceso y las reglas de registro del usuario de la clave.
Citar esta herramienta
¿Escribe un tutorial, una documentación interna o una respuesta en un foro? Copie este enlace para dirigir a sus lectores a la ficha actualizada.
<a href="https://aidoo.ai/es/outils/explorateur-modeles-odoo/hr-applicant">hr.applicant (Odoo 19.0)</a>Fuentes
- Código fuente del modelo en GitHub
- Documentación de Odoo 19: ORM API
- Documentación de Odoo 19: API externa JSON-2
Datos verificados el 23 de septiembre de 2026 · Odoo 19.0 Community
¿Tiene un proyecto Odoo o quiere aprovechar su ERP con la IA? Hablemos
Implantación, desarrollo de módulos, conexión de Claude o ChatGPT a sus datos: cuéntenos su contexto y le responderemos en 24 horas laborables.