Put Opportunity
Description
Updates an existing opportunity with new information. Requires specifying the opportunity type (Pre or Post).
HTTP Method
put
URL
/api/v2/opportunities/{Id}
Query Parameters
Parameter |
Type |
Location |
Required |
Description |
---|---|---|---|---|
OpportunityId | integer | Route | Yes | The unique identifier of the opportunity defined by Nexus. This is not the CRM Opportunity ID(minimum value: 1) |
opportunityType | string | Query | Yes | Type of opportunity: "Pre" or "Post" |
LanguageId | integer | Query | No | Language ID for localized content (default: 1) |
Request Body Structure
{ "OpportunityName": "string", "OpportunityID": "string", "CategoryName": "string", "StageName": "string", "AcctPotential": 0.00, "SalesRevenue": 0.00, "PendingCloseDate": "2024-12-31" }
Request Body Fields
Field |
Type |
Required |
Description |
---|---|---|---|
OpportunityName | string | No | Name/title of the opportunity |
OpportunityID | string | No | External CRM opportunity identifier |
CategoryName | string | No | Category name (must match existing category) |
StageName | string | No | Stage name (must match existing stage) |
AcctPotential | decimal | No | Account potential value |
SalesRevenue | decimal | No | Expected sales revenue |
PendingCloseDate | string | No | Expected close date (format: yyyy-MM-dd, MM/dd/yyyy, or dd/MM/yyyy) |
Request Examples
# Update pre-visit opportunity PUT /api/v2/opportunities/123?opportunityType=Pre Authorization: Bearer {your-token} Content-Type: application/json { "OpportunityName": "Updated Product Launch", "CategoryName": "New Business", "StageName": "Qualified", "AcctPotential": 200000.00, "SalesRevenue": 100000.00, "PendingCloseDate": "2024-12-31" }
# Update post-visit opportunity PUT /api/v2/opportunities/456?opportunityType=Post&LanguageId=1 Authorization: Bearer {your-token} Content-Type: application/json { "StageName": "Closed Won", "SalesRevenue": 150000.00 }
Response Structure
Success Response (200 OK)
{ "Type": "Pre", "ID": 123, "VisitID": 456, "CustomerID": 789, "OpportunityName": "Updated Product Launch", "OpportunityID": "OPP-2024-001", "OpportunityCategoryID": 1, "OpportunityStageID": 3, "OpportunityCompetitorID": null, "AcctPotential": 200000.00, "SalesRevenue": 100000.00, "PendingCloseDate": "2024-12-31", "VisitCustomerOpportunityID": null, "FollowUpSentDate": null }
Validation Error Response (400 Bad Request)
{ "ValidationMessage": "Category 'Invalid Category' not found. Please select from available categories.", "AvailableCategories": [ { "CategoryID": 1, "CategoryName": "New Business" }, { "CategoryID": 2, "CategoryName": "Existing Business" } ], "AvailableStages": [ { "StageID": 1, "StageName": "Prospect" }, { "StageID": 2, "StageName": "Qualified" }, { "StageID": 3, "StageName": "Proposal" } ] }
Response Codes
Code |
Description |
Response Type |
---|---|---|
200 | Success | V2OpportunityPrePostFlat |
400 | Bad Request / Validation Error | V2OpportunityInvalidResponse |
401 | Not Authorized | string |
404 | Not Found | ObjectNotFoundResponse |
500 | Internal Server Error | InternalServerErrorResponse |