# Códigos de error: Oportunidades (kanban)

> Estados del kanban, mover y fusionar oportunidades, cotizaciones hermanas.

**Cómo se detecta (toda la familia):** La respuesta (`code`, `errors[]`).

**Qué hacer (toda la familia):** Son reglas del kanban: el mensaje dice cuál. Los estados automáticos solo los mueve el sistema.

Lo que un código no dice lo hereda de la familia.

## `opportunity_contact_not_available`

- **Tipo:** detalle, HTTP · **HTTP:** 400 · **Estado:** vigente
- **Qué significa:** El contacto elegido no es de este lead.

## `opportunity_default_state_cannot_be_disabled`

- **Tipo:** HTTP · **HTTP:** 409 · **Estado:** vigente
- **Qué significa:** Los estados por defecto del kanban no se pueden desactivar.

## `opportunity_family_mismatch`

- **Tipo:** detalle, HTTP · **HTTP:** 400 · **Estado:** vigente
- **Qué significa:** La oportunidad elegida no es compatible con esta familia de cotizaciones hermanas.

## `opportunity_lead_mismatch`

- **Tipo:** detalle, HTTP · **HTTP:** 400 · **Estado:** vigente
- **Qué significa:** La oportunidad elegida no es de este lead.

## `opportunity_manual_move_into_automatic_state_not_allowed`

- **Tipo:** detalle, HTTP · **HTTP:** 409 · **Estado:** vigente
- **Qué significa:** A los estados automáticos (Asignado, Contactado, Cotizado, Órdenes) solo mueve el sistema.

## `opportunity_merge_not_allowed_for_sister`

- **Tipo:** HTTP · **HTTP:** 409 · **Estado:** vigente
- **Qué significa:** Las oportunidades hermanas no se fusionan.

## `opportunity_merge_not_allowed_for_state`

- **Tipo:** HTTP · **HTTP:** 409 · **Estado:** vigente
- **Qué significa:** No se fusiona en los estados Asignado o Contactado.

## `opportunity_merge_rules_mismatch`

- **Tipo:** HTTP · **HTTP:** 409 · **Estado:** vigente
- **Qué significa:** Solo se fusionan oportunidades con el mismo lead, vendedor, estado y tipo.

## `opportunity_not_available`

- **Tipo:** detalle, HTTP · **HTTP:** 400 · **Estado:** vigente
- **Qué significa:** La oportunidad elegida no está disponible.

## `opportunity_order_lead_mismatch`

- **Tipo:** detalle, HTTP · **HTTP:** 409 · **Estado:** vigente
- **Qué significa:** El cliente de la orden no es el lead de la oportunidad destino.

## `opportunity_order_seller_mismatch`

- **Tipo:** detalle, HTTP · **HTTP:** 409 · **Estado:** vigente
- **Qué significa:** El vendedor de la orden no es el de la oportunidad destino.

## `opportunity_orders_state_is_terminal`

- **Tipo:** detalle, HTTP · **HTTP:** 409 · **Estado:** vigente
- **Qué significa:** Las oportunidades en «Órdenes» no se mueven a mano.

## `opportunity_quote_family_mismatch`

- **Tipo:** detalle, HTTP · **HTTP:** 409 · **Estado:** vigente
- **Qué significa:** Una oportunidad hermana solo acepta cotizaciones hermanas de la misma familia.

## `opportunity_quote_lead_mismatch`

- **Tipo:** detalle, HTTP · **HTTP:** 409 · **Estado:** vigente
- **Qué significa:** El lead de la cotización no es el de la oportunidad destino.

## `opportunity_quote_seller_mismatch`

- **Tipo:** detalle, HTTP · **HTTP:** 409 · **Estado:** vigente
- **Qué significa:** El vendedor de la cotización no es el de la oportunidad destino.

## `opportunity_seller_mismatch`

- **Tipo:** detalle, HTTP · **HTTP:** 400 · **Estado:** vigente
- **Qué significa:** La oportunidad elegida no es de este vendedor.

## `opportunity_seller_not_available`

- **Tipo:** detalle, HTTP · **HTTP:** 400 · **Estado:** vigente
- **Qué significa:** El vendedor elegido no está disponible.

## `opportunity_state_not_available`

- **Tipo:** detalle, HTTP · **HTTP:** 400 · **Estado:** vigente
- **Qué significa:** El estado elegido no está disponible.

## `opportunity_state_position_after_orders_not_allowed`

- **Tipo:** detalle, HTTP · **HTTP:** 400 · **Estado:** vigente
- **Qué significa:** No se crean estados personalizados después de «Órdenes».

## `sister_quote_already_approved`

- **Tipo:** detalle, HTTP · **HTTP:** 409 · **Estado:** vigente
- **Qué significa:** Solo se aprueba una cotización hermana por familia, y ya hay una aprobada.
