siigo_update_customer
Update customer information in Siigo accounting software by providing the customer ID and new data to modify existing records.
Instructions
Update an existing customer
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Customer ID | |
| customer | Yes | Customer data to update |
Implementation Reference
- src/siigo-client.ts:95-97 (handler)Core handler implementation that performs the PUT API request to update a customer in Siigo.async updateCustomer(id: string, customer: Partial<SiigoCustomer>): Promise<SiigoApiResponse<SiigoCustomer>> { return this.makeRequest<SiigoCustomer>('PUT', `/v1/customers/${id}`, customer); }
- src/index.ts:878-888 (handler)MCP server handler that invokes SiigoClient.updateCustomer and returns the result as formatted JSON text.private async handleUpdateCustomer(args: any) { const result = await this.siigoClient.updateCustomer(args.id, args.customer); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2), }, ], }; }
- src/index.ts:336-348 (registration)Tool registration entry in getTools() method, defining name, description, and input schema.{ name: 'siigo_update_customer', description: 'Update an existing customer', inputSchema: { type: 'object', properties: { id: { type: 'string', description: 'Customer ID' }, customer: { type: 'object', description: 'Customer data to update' }, }, required: ['id', 'customer'], }, },
- src/types.ts:15-57 (schema)TypeScript interface defining the structure of a SiigoCustomer object used for update operations.export interface SiigoCustomer { id?: string; type?: 'Customer' | 'Supplier' | 'Other'; person_type: 'Person' | 'Company'; id_type: string; identification: string; check_digit?: string; name: string[]; commercial_name?: string; branch_office?: number; active?: boolean; vat_responsible?: boolean; fiscal_responsibilities?: Array<{ code: string }>; address: { address: string; city: { country_code: string; state_code: string; city_code: string; }; postal_code?: string; }; phones: Array<{ indicative?: string; number: string; extension?: string; }>; contacts: Array<{ first_name: string; last_name: string; email: string; phone?: { indicative?: string; number?: string; extension?: string; }; }>; comments?: string; related_users?: { seller_id?: number; collector_id?: number; }; }