Update Opportunity
Update Opportunity
Section titled “Update Opportunity”Servicio para actualizar ciertos campos de una oportunidad existente dentro de un workspace.
Endpoint
Section titled “Endpoint”PUT /api/opportunity
Encabezados (Headers)
Section titled “Encabezados (Headers)”Content-Type: application/jsonx-workspace-id: <x-workspace-id>(string, requerido)
Query Parameters
Section titled “Query Parameters”id(string, requerido) — Identificador de la oportunidad a actualizar.workspaceId(string, requerido) — Identificador del workspace.
Body (application/json)
Section titled “Body (application/json)”paramToUpdate(string, requerido) — Nombre del campo a actualizar.- Además del campo
paramToUpdate, incluye en el mismo objeto JSON el campo objetivo con su nuevo valor.
Campos que típicamente se actualizan (ejemplos):
name(string)description(string)amount(number)stageId(string)assignedAgentId(string)expirationDate(string, fecha ISO)
Ejemplo para actualizar el name:
{ "paramToUpdate": "name", "name": "Nuevo nombre de oportunidad"}Ejemplo para actualizar el amount:
{ "paramToUpdate": "amount", "amount": 2500.75}Ejemplo: cURL
Section titled “Ejemplo: cURL”curl --request PUT \ --url 'https://api.wabotify.com/api/opportunity?id=OPPORTUNITY_ID&workspaceId=WORKSPACE_ID' \ --header 'Content-Type: application/json' \ --header 'x-workspace-id: YOUR_WORKSPACE_ID' \ --data '{ "paramToUpdate": "name", "name": "Nuevo nombre de oportunidad" }'Reemplaza
OPPORTUNITY_ID,WORKSPACE_IDyYOUR_WORKSPACE_IDpor los valores reales.
Ejemplo: Respuesta (200 OK)
Section titled “Ejemplo: Respuesta (200 OK)”{ "success": true, "code": 200, "errorCode": null, "message": "Opportunity successfully updated.", "data": { "id": "opportunity-id-123", "oportunity": { "id": "opportunity-id-123", "opportCode": "OPP-2025-0002", "opportStatus": 1, "winLossStatus": 0, "winLossDate": null, "finalAmount": 2500.75, "creationDate": "2025-04-08T03:52:53.377Z", "updatedDate": "2025-05-01T10:15:00.000Z", "statusId": 1, "files": [], "orderInCards": 1, "orderInCardsLastUpdated": "2025-05-01T10:15:00.000Z", "activities": [], "segmentationId": null, "workspaceId": "your_workspace_id", "name": "Nuevo nombre de oportunidad", "description": "Descripción previa", "amount": 2500.75, "userCreation": "user-creator-id", "contactId": "contact-456", "expirationDate": null, "assignedAgentId": "user-123", "stageId": "stage-1" } }}Códigos de respuesta comunes
Section titled “Códigos de respuesta comunes”200 OK— Oportunidad actualizada correctamente. Se devuelve el objetodata.oportunitycon los datos actualizados.400 Bad Request— Body inválido oparamToUpdateno corresponde a un campo actualizable.401 Unauthorized— Headerx-workspace-idfaltante o inválido.404 Not Found— Oportunidad o workspace no encontrado (ids inválidos).422 Unprocessable Entity— Valor de campo no válido (tipo incorrecto o validación de negocio).500 Internal Server Error— Error interno del servidor.
paramToUpdatedebe corresponder exactamente al nombre del campo en la entidad. Además del campoparamToUpdate, incluye en el mismo JSON el campo objetivo con el nuevo valor.- Asegúrate de incluir
idyworkspaceIden la query string. - Valida el tipo de dato del campo a actualizar (p. ej.
amountdebe ser un número). - Algunas actualizaciones pueden requerir permisos específicos o validaciones de negocio (p. ej. mover etapa a
stageIddeterminada). - Si necesitas actualizar múltiples campos en una sola operación, consulta si la API soporta enviar varios pares campo/valor (si no, realiza múltiples llamadas o usa un endpoint de actualización por cuerpo si existe).
- Siempre prueba en un entorno de staging antes de ejecutar cambios en producción.