CRM

Actualizar una oportunidad

Actualiza una oportunidad (envía solo los campos que cambian).

Herramienta
filmo_crm_opportunities_update
Acceso: Escritura

Resultado

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "filmo_crm_opportunities_update",
    "arguments": {
      "opportunityId": "oppo_8f2a1c"
    }
  }
}

generado desde el esquema

version es OBLIGATORIA: cópiala de la lectura anterior. Si alguien la movió entre tu lectura y tu escritura, la petición se rechaza en lugar de sobrescribir su cambio. Para cambiar de etapa o cerrar, usa sus propios endpoints.

Argumentos

opportunityIdstringObligatorio

Identificador de la oportunidad.

Límites: longitud mín. 1

namestring

Nombre corto.

Límites: longitud mín. 1, longitud máx. 200

descriptionstring

Descripción en texto libre.

amountstring

Importe como cadena decimal, con un máximo de dos decimales. P. ej.: "12500.00".

Límites: patrón ^\d+(\.\d{1,2})?$

currencystring

Código ISO 4217 en mayúsculas. Ej.: "EUR".

Límites: patrón ^[A-Z]{3}$

probabilityOverrideinteger

Probabilidad propia, como porcentaje.

Límites: mín. 0, máx. 100

expectedCloseDatestring<date-time>

Fecha de cierre prevista, en ISO 8601 con desplazamiento.

contactIdstring

Contacto (persona).

companyIdstring

Contacto (empresa).

ownerStaffIdstring

Responsable comercial.

sourcestring

Canal de origen del lead: inbound_email, website_form, referral, cold_outreach, event, social, existing_customer, partner u other.

Opciones disponibles: inbound_email, website_form, referral, cold_outreach, event, social, existing_customer, partner, other

sourceDetailstring

Detalle en texto libre del canal.

Límites: longitud máx. 200

idempotencyKeystring

Clave de idempotencia elegida por el cliente (se recomienda un UUID). Repetir la misma clave con los mismos argumentos en 24 h devuelve la respuesta almacenada sin volver a ejecutar; con argumentos distintos responde 422. Es la forma segura de reintentar tras un fallo de red.

Límites: longitud mín. 1, longitud máx. 255

ifMatchstring

Bloqueo optimista: el meta.etag que obtuviste de la lectura de detalle de este recurso (o "*"). Si el recurso ha cambiado desde entonces, la llamada falla con 412 precondition_failed antes de escribir nada; léelo de nuevo y reintenta. Omítelo para escribir sin condiciones.

Límites: longitud mín. 1

Resultado

En un éxito el resultado lleva structuredContent con data y meta. Estos son los atributos de data.

Ver los atributos de data
opportunityIdstring

identifierstring

namestring

statusstring

Opciones disponibles: open, won, lost

amountstring

currencystring

pipelineIdstring

pipelineNamestring

stageIdstring

stageNamestring

stageTypestring

Opciones disponibles: open, won, lost

effectiveProbabilitynumber

weightedAmountstring

daysInStageinteger

expectedCloseDatestring<date-time>

contactNamestring

companyNamestring

ownerNamestring

sourcestring

Opciones disponibles: inbound_email, website_form, referral, cold_outreach, event, social, existing_customer, partner, other

createdAtstring<date-time>

updatedAtstring<date-time>

descriptionstring

versioninteger

Límites: mín. 1

collaboratorStaffIdsstring[]

quoteIdsstring[]

stageHistoryobject[]

Mostrar atributos hijos
stageHistory.fromStageIdstring

stageHistory.toStageIdstring

stageHistory.toStatusstring

stageHistory.daysInPrevStageinteger

stageHistory.movedAtstring<date-time>

stageHistory.notestring

Un error es un resultado con isError: true y el problema en content[0].text; no hay structuredContent. Consulta Errores.

La misma operación por REST

Esta herramienta ejecuta PATCH /api/v1/crm/opportunities/{opportunityId}.

  • CRM

    Actualizar una oportunidad

    Actualiza una oportunidad (envía solo los campos que cambian).

  • Guías

    Escrituras seguras

    Un asistente que puede escribir también puede escribir lo equivocado. Decide qué herramientas necesitan a una persona, reintenta sin duplicar y sabe qué pone en marcha una escritura.

  • Guías

    Errores

    Un error de herramienta es un resultado con isError: true y el problema en el primer bloque de texto. Ramifica por su code.