CentralStationCRM MCP by usefulapi
Read CentralStationCRM people, companies, deals, tasks; create and update people, companies, deals.
我該用這個嗎
品質與安全性
發現項目(14)
- LOW在 centralstationcrm_get_current_user 中
- LOW在 centralstationcrm_search_people 中
- LOW在 centralstationcrm_list_companies 中
- LOW在 centralstationcrm_search_companies 中
- LOW在 centralstationcrm_get_deal_stats 中
- LOW在 centralstationcrm_list_deal_types 中
- LOW在 centralstationcrm_list_projects 中
- LOW在 centralstationcrm_search_projects 中
- LOW在 centralstationcrm_list_calendar_events 中
- LOW在 centralstationcrm_count_records 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"centralstationcrm": {
"url": "https://centralstationcrm.usefulapi.io/mcp"
}
}
}遠端端點
https://centralstationcrm.usefulapi.io/mcpstreamable-http它能做什麼
工具清單
工具(33)
🟢centralstationcrm_get_current_user
The CentralStationCRM user this API key belongs to: id, name, login email, the account (subdomain) it is signed in to, timezone. Use the user id to assign records or tasks. GET /user.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢centralstationcrm_list_users(active, page, perpage)
List the users of the CentralStationCRM account (id, name, email). Use the ids for responsible-user filters and for assigning records. GET /users.
輸入結構描述
{
"type": "object",
"properties": {
"active": {
"description": "Only currently active users.",
"type": "boolean"
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"perpage": {
"description": "Results per page, 1-250 (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢centralstationcrm_list_people(order, tag_name, includes, page, perpage)
List contact people. Optionally filter by tag and order by name, creation or last update. Use search_people to find a person by name, email or phone. GET /people.
輸入結構描述
{
"type": "object",
"properties": {
"order": {
"description": "Ordering (abc = by name, new = creation date, update = last change).",
"type": "string",
"enum": [
"abc-asc",
"abc-desc",
"new-asc",
"new-desc",
"update-asc",
"update-desc"
]
},
"tag_name": {
"description": "Only people with this tag.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"includes": {
"description": "Related records to embed (an extra call is not needed for them).",
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"enum": [
"positions",
"companies",
"deals",
"projects",
"tags",
"tasks",
"tels",
"emails",
"homepages",
"addrs"
]
}
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"perpage": {
"description": "Results per page, 1-250 (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢centralstationcrm_search_people(name, first_name, email, phone, includes, ...)
Find people by last name, first name, email address or phone number (email and phone cannot be combined). Give at least one criterion. GET /people/search.
輸入結構描述
{
"type": "object",
"properties": {
"name": {
"description": "Last name.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"first_name": {
"description": "First name (max 80).",
"type": "string",
"minLength": 1,
"maxLength": 80
},
"email": {
"description": "Email address (not combinable with phone).",
"type": "string",
"minLength": 1,
"maxLength": 320
},
"phone": {
"description": "Phone number (not combinable with email).",
"type": "string",
"minLength": 1,
"maxLength": 60
},
"includes": {
"description": "Related records to embed (an extra call is not needed for them).",
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"enum": [
"positions",
"companies",
"deals",
"projects",
"tags",
"tasks",
"tels",
"emails",
"homepages",
"addrs"
]
}
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"perpage": {
"description": "Results per page, 1-250 (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢centralstationcrm_get_person(person_id, includes)
One person by id, optionally with related records (companies, deals, tags, tasks, email addresses, phone numbers, addresses). GET /people/{id}.
輸入結構描述
{
"type": "object",
"properties": {
"person_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "CentralStationCRM person id."
},
"includes": {
"description": "Related records to embed (an extra call is not needed for them).",
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"enum": [
"positions",
"companies",
"deals",
"projects",
"tags",
"tasks",
"tels",
"emails",
"homepages",
"addrs"
]
}
}
},
"required": [
"person_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢centralstationcrm_list_companies(order, tag_name, includes, page, perpage)
List companies. Optionally filter by tag and order by name, creation or last update. Use search_companies to find one by name. GET /companies.
輸入結構描述
{
"type": "object",
"properties": {
"order": {
"description": "Ordering (abc = by name, new = creation date, update = last change).",
"type": "string",
"enum": [
"abc-asc",
"abc-desc",
"new-asc",
"new-desc",
"update-asc",
"update-desc"
]
},
"tag_name": {
"description": "Only companies with this tag.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"includes": {
"description": "Related records to embed (an extra call is not needed for them).",
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"enum": [
"positions",
"deals",
"projects",
"tags",
"tasks",
"tels",
"emails",
"homepages",
"addrs",
"connections"
]
}
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"perpage": {
"description": "Results per page, 1-250 (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢centralstationcrm_search_companies(name, includes, page, perpage)
Find companies by name. GET /companies/search.
輸入結構描述
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Company name (or part of it)."
},
"includes": {
"description": "Related records to embed (an extra call is not needed for them).",
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"enum": [
"positions",
"deals",
"projects",
"tags",
"tasks",
"tels",
"emails",
"homepages",
"addrs",
"connections"
]
}
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"perpage": {
"description": "Results per page, 1-250 (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"required": [
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢centralstationcrm_get_company(company_id, includes)
One company by id, optionally with related records (people, deals, tags, tasks, contact details, addresses). GET /companies/{id}.
輸入結構描述
{
"type": "object",
"properties": {
"company_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "CentralStationCRM company id."
},
"includes": {
"description": "Related records to embed (an extra call is not needed for them).",
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"enum": [
"positions",
"deals",
"projects",
"tags",
"tasks",
"tels",
"emails",
"homepages",
"addrs",
"connections"
]
}
}
},
"required": [
"company_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢centralstationcrm_list_deals(company_id, user_id, deal_type_id, current_state, tag_name, ...)
List deals (sales opportunities) with value, state (open_0/25/50/75, won, lost), pipeline and stage ids, target date. Filter by company, responsible user, pipeline or state; order by date, value, state or name. GET /deals.
輸入結構描述
{
"type": "object",
"properties": {
"company_id": {
"description": "Only deals of this company.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"user_id": {
"description": "Only deals of this responsible user.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"deal_type_id": {
"description": "Only deals in this pipeline (see list_deal_types).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"current_state": {
"description": "Only deals in this state.",
"type": "string",
"enum": [
"open_0",
"open_25",
"open_50",
"open_75",
"won",
"lost"
]
},
"tag_name": {
"description": "Only deals with this tag.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"order": {
"description": "Ordering.",
"type": "string",
"enum": [
"date-asc",
"date-desc",
"new-asc",
"new-desc",
"update-asc",
"update-desc",
"value-asc",
"value-desc",
"state-asc",
"state-desc",
"abc-asc",
"abc-desc"
]
},
"includes": {
"description": "Related records to embed (an extra call is not needed for them).",
"maxItems": 6,
"type": "array",
"items": {
"type": "string",
"enum": [
"tags",
"people",
"company",
"tasks",
"pending_tasks",
"cal_events"
]
}
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"perpage": {
"description": "Results per page, 1-250 (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢centralstationcrm_search_deals(name, includes, page, perpage)
Find deals by name. GET /deals/search.
輸入結構描述
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Deal name (or part of it)."
},
"includes": {
"description": "Related records to embed (an extra call is not needed for them).",
"maxItems": 6,
"type": "array",
"items": {
"type": "string",
"enum": [
"tags",
"people",
"company",
"tasks",
"pending_tasks",
"cal_events"
]
}
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"perpage": {
"description": "Results per page, 1-250 (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"required": [
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢centralstationcrm_get_deal(deal_id, includes)
One deal by id, optionally with its tags, people, company, tasks and calendar events. GET /deals/{id}.
輸入結構描述
{
"type": "object",
"properties": {
"deal_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "CentralStationCRM deal id."
},
"includes": {
"description": "Related records to embed (an extra call is not needed for them).",
"maxItems": 6,
"type": "array",
"items": {
"type": "string",
"enum": [
"tags",
"people",
"company",
"tasks",
"pending_tasks",
"cal_events"
]
}
}
},
"required": [
"deal_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢centralstationcrm_get_deal_stats(tag_name)
Number and total value of all deals (optionally only those with a tag), with the account currency. GET /deals/stats.
輸入結構描述
{
"type": "object",
"properties": {
"tag_name": {
"description": "Only deals with this tag.",
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢centralstationcrm_list_deal_types
List the deal types (pipelines) with their stages. Use the ids (and stage ids) to create deals and to move them between stages. GET /deal_types.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢centralstationcrm_list_projects(tag_name, order, includes, page, perpage)
List projects with state, target date and company. Filter by tag; order by date, state or name. GET /projects.
輸入結構描述
{
"type": "object",
"properties": {
"tag_name": {
"description": "Only projects with this tag.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"order": {
"description": "Ordering.",
"type": "string",
"enum": [
"date-asc",
"date-desc",
"new-asc",
"new-desc",
"update-asc",
"update-desc",
"state-asc",
"state-desc",
"abc-asc",
"abc-desc"
]
},
"includes": {
"description": "Related records to embed (an extra call is not needed for them).",
"maxItems": 6,
"type": "array",
"items": {
"type": "string",
"enum": [
"tags",
"people",
"company",
"tasks",
"pending_tasks",
"cal_events"
]
}
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"perpage": {
"description": "Results per page, 1-250 (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢centralstationcrm_search_projects(name, includes, page, perpage)
Find projects by name. GET /projects/search.
輸入結構描述
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Project name (or part of it)."
},
"includes": {
"description": "Related records to embed (an extra call is not needed for them).",
"maxItems": 6,
"type": "array",
"items": {
"type": "string",
"enum": [
"tags",
"people",
"company",
"tasks",
"pending_tasks",
"cal_events"
]
}
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"perpage": {
"description": "Results per page, 1-250 (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"required": [
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢centralstationcrm_get_project(project_id, includes)
One project by id, optionally with its tags, people, company, tasks and calendar events. GET /projects/{id}.
輸入結構描述
{
"type": "object",
"properties": {
"project_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "CentralStationCRM project id."
},
"includes": {
"description": "Related records to embed (an extra call is not needed for them).",
"maxItems": 6,
"type": "array",
"items": {
"type": "string",
"enum": [
"tags",
"people",
"company",
"tasks",
"pending_tasks",
"cal_events"
]
}
}
},
"required": [
"project_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢centralstationcrm_list_tasks(state, after, before, user_id, order, ...)
List tasks (to-dos, calls, emails, visits) of the account. Filter by open/closed state, due-date range and responsible user. GET /tasks.
輸入結構描述
{
"type": "object",
"properties": {
"state": {
"description": "Only open or only closed tasks.",
"type": "string",
"enum": [
"open",
"closed"
]
},
"after": {
"description": "Only tasks after this date.",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"before": {
"description": "Only tasks before this date.",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"user_id": {
"description": "Only tasks of this user.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"order": {
"description": "Ordering by id.",
"type": "string",
"enum": [
"id-asc",
"id-desc"
]
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"perpage": {
"description": "Results per page, 1-250 (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢centralstationcrm_get_task(task_id)
One task by id. GET /tasks/{id}.
輸入結構描述
{
"type": "object",
"properties": {
"task_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "CentralStationCRM task id."
}
},
"required": [
"task_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢centralstationcrm_list_notes(person_id, company_id, deal_id, project_id, order, ...)
List protocols: notes, logged emails and other history entries. Filter by the person, company, deal or project they belong to. GET /protocols.
輸入結構描述
{
"type": "object",
"properties": {
"person_id": {
"description": "Only entries of this person.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"company_id": {
"description": "Only entries of this company.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"deal_id": {
"description": "Only entries of this deal.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"project_id": {
"description": "Only entries of this project.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"order": {
"description": "Ordering by id (id-desc = newest first).",
"type": "string",
"enum": [
"id-asc",
"id-desc"
]
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"perpage": {
"description": "Results per page, 1-250 (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢centralstationcrm_get_note(note_id)
One note / history entry by id. GET /protocols/{id}.
輸入結構描述
{
"type": "object",
"properties": {
"note_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "CentralStationCRM protocol (note) id."
}
},
"required": [
"note_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢centralstationcrm_list_calendar_events(state, after, before, order, page, ...)
List calendar events (appointments, meetings) of the account. Filter by upcoming/old and date range. GET /cal_events.
輸入結構描述
{
"type": "object",
"properties": {
"state": {
"description": "Only upcoming or only past events.",
"type": "string",
"enum": [
"upcoming",
"old"
]
},
"after": {
"description": "Only events after this date.",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"before": {
"description": "Only events before this date.",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"order": {
"description": "Ordering by id.",
"type": "string",
"enum": [
"id-asc",
"id-desc"
]
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"perpage": {
"description": "Results per page, 1-250 (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢centralstationcrm_search_all(term)
Full-text search across people, companies, deals and projects for a term. GET /search.
輸入結構描述
{
"type": "object",
"properties": {
"term": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Search term."
}
},
"required": [
"term"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢centralstationcrm_list_tags(page, perpage)
List all tag names used in the account. GET /tags/list.
輸入結構描述
{
"type": "object",
"properties": {
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"perpage": {
"description": "Results per page, 1-250 (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢centralstationcrm_count_records(resource, tag_name)
Total number of people, companies, deals or projects (optionally only those with a tag). GET /<resource>/count.
輸入結構描述
{
"type": "object",
"properties": {
"resource": {
"type": "string",
"enum": [
"people",
"companies",
"deals",
"projects"
],
"description": "Which records to count."
},
"tag_name": {
"description": "Only records with this tag.",
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"resource"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡centralstationcrm_create_person(name, first_name, salutation, title, country_code, ...)
WRITE: create a contact person (last name required), optionally with email addresses and phone numbers. Nothing is sent to the contact. POST /people.
輸入結構描述
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "Last name (max 80)."
},
"first_name": {
"description": "First name (max 80).",
"type": "string",
"minLength": 1,
"maxLength": 80
},
"salutation": {
"description": "Free-text salutation (max 80).",
"type": "string",
"minLength": 1,
"maxLength": 80
},
"title": {
"description": "Title, e.g. Dr. (max 80).",
"type": "string",
"minLength": 1,
"maxLength": 80
},
"country_code": {
"description": "Language of the person as a 2-letter ISO 639-1 code, e.g. de or en (the vendor field is called country_code).",
"type": "string",
"pattern": "^[A-Za-z]{2}$"
},
"background": {
"description": "Background notes about the person.",
"type": "string",
"minLength": 1,
"maxLength": 20000
},
"user_id": {
"description": "Responsible user id (default: the API user).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"emails": {
"maxItems": 10,
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"office",
"private",
"other"
],
"description": "Kind of address."
},
"value": {
"type": "string",
"minLength": 1,
"maxLength": 250,
"description": "Email address."
}
},
"required": [
"type",
"value"
]
}
},
"phones": {
"maxItems": 10,
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"office",
"office_hq",
"mobile",
"fax",
"private",
"other"
],
"description": "Kind of number."
},
"value": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"description": "Phone number."
}
},
"required": [
"type",
"value"
]
}
}
},
"required": [
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴centralstationcrm_update_person(person_id, name, first_name, salutation, title, ...)
WRITE: change fields of a person. Only the fields you give are sent; the rest stays. PUT /people/{id}.
輸入結構描述
{
"type": "object",
"properties": {
"person_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "CentralStationCRM person id."
},
"name": {
"description": "New last name (max 80).",
"type": "string",
"minLength": 1,
"maxLength": 80
},
"first_name": {
"description": "New first name (max 80).",
"type": "string",
"minLength": 1,
"maxLength": 80
},
"salutation": {
"description": "New salutation (max 80).",
"type": "string",
"minLength": 1,
"maxLength": 80
},
"title": {
"description": "New title (max 80).",
"type": "string",
"minLength": 1,
"maxLength": 80
},
"country_code": {
"description": "New language of the person as a 2-letter ISO 639-1 code, e.g. de or en (the vendor field is called country_code).",
"type": "string",
"pattern": "^[A-Za-z]{2}$"
},
"background": {
"description": "New background notes (replaces the old text).",
"type": "string",
"minLength": 1,
"maxLength": 20000
},
"user_id": {
"description": "New responsible user id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"person_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡centralstationcrm_create_company(name, background, user_id)
WRITE: create a company. Nothing is sent to the contact. POST /companies.
輸入結構描述
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Company name (max 120)."
},
"background": {
"description": "Background notes about the company.",
"type": "string",
"minLength": 1,
"maxLength": 20000
},
"user_id": {
"description": "Responsible user id (default: the API user).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴centralstationcrm_update_company(company_id, name, background, user_id)
WRITE: change fields of a company. Only the fields you give are sent. PUT /companies/{id}.
輸入結構描述
{
"type": "object",
"properties": {
"company_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "CentralStationCRM company id."
},
"name": {
"description": "New company name (max 120).",
"type": "string",
"minLength": 1,
"maxLength": 120
},
"background": {
"description": "New background notes (replaces the old text).",
"type": "string",
"minLength": 1,
"maxLength": 20000
},
"user_id": {
"description": "New responsible user id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"company_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡centralstationcrm_create_deal(name, value, value_type, currency, deal_type_id, ...)
WRITE: create a deal (sales opportunity). Use list_deal_types for pipeline and stage ids. Pipelines with a monetary value or target date need value and target_date (value_type defaults to total); the vendor says what is missing. Nothing is sent to the contact. POST /deals.
輸入結構描述
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Deal name (max 120)."
},
"value": {
"description": "Monetary value (with value_type total: the full amount).",
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"value_type": {
"description": "How the value is billed (default total).",
"type": "string",
"enum": [
"total",
"monthly",
"hourly",
"daily"
]
},
"currency": {
"description": "Currency (account default if omitted).",
"type": "string",
"enum": [
"EUR",
"CHF",
"USD"
]
},
"deal_type_id": {
"description": "Pipeline id (see list_deal_types).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"deal_type_stage_id": {
"description": "Stage id within the pipeline.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"probability": {
"description": "Probability of winning, percent.",
"type": "integer",
"minimum": 0,
"maximum": 100
},
"target_date": {
"description": "Date the deal shall be won.",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"background": {
"description": "Details about the deal.",
"type": "string",
"minLength": 1,
"maxLength": 20000
},
"user_id": {
"description": "Responsible user id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"company_id": {
"description": "Company the deal belongs to.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴centralstationcrm_update_deal(deal_id, name, current_state, value, value_type, ...)
WRITE: change fields of a deal, for example move it to another stage or set its state to won or lost. Only the fields you give are sent. PUT /deals/{id}.
輸入結構描述
{
"type": "object",
"properties": {
"deal_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "CentralStationCRM deal id."
},
"name": {
"description": "New deal name (max 120).",
"type": "string",
"minLength": 1,
"maxLength": 120
},
"current_state": {
"description": "New state: open_0/25/50/75, won or lost.",
"type": "string",
"enum": [
"open_0",
"open_25",
"open_50",
"open_75",
"won",
"lost"
]
},
"value": {
"description": "Monetary value (with value_type total: the full amount).",
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"value_type": {
"description": "How the value is billed (default total).",
"type": "string",
"enum": [
"total",
"monthly",
"hourly",
"daily"
]
},
"currency": {
"description": "Currency (account default if omitted).",
"type": "string",
"enum": [
"EUR",
"CHF",
"USD"
]
},
"deal_type_id": {
"description": "Pipeline id (see list_deal_types).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"deal_type_stage_id": {
"description": "Stage id within the pipeline.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"probability": {
"description": "Probability of winning, percent.",
"type": "integer",
"minimum": 0,
"maximum": 100
},
"target_date": {
"description": "Date the deal shall be won.",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"background": {
"description": "Details about the deal.",
"type": "string",
"minLength": 1,
"maxLength": 20000
},
"user_id": {
"description": "Responsible user id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"company_id": {
"description": "Company the deal belongs to.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"deal_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡centralstationcrm_create_task(name, badge, precise_time, fuzzy, user_id, ...)
WRITE: create a task (to-do, call, email, visit...) optionally attached to a person, company or deal and assigned to a user. Nothing is sent to the contact. POST /tasks.
輸入結構描述
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 500,
"description": "What has to be done."
},
"badge": {
"description": "Kind of task (default task).",
"type": "string",
"enum": [
"task",
"call",
"email",
"visit",
"preparation",
"important"
]
},
"precise_time": {
"description": "When it is due.",
"type": "string"
},
"fuzzy": {
"description": "true = only the day of precise_time matters, not the hour.",
"type": "boolean"
},
"user_id": {
"description": "User the task is assigned to (default: the user behind the API key).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"attachable_type": {
"description": "Kind of record the task belongs to (omit for a general task).",
"type": "string",
"enum": [
"Person",
"Company",
"Deal"
]
},
"attachable_id": {
"description": "Id of that record (required with attachable_type).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴centralstationcrm_update_task(task_id, name, finished, badge, precise_time, ...)
WRITE: change a task, for example mark it done (finished = true), rename it or reschedule it. Only the fields you give are sent. PUT /tasks/{id}.
輸入結構描述
{
"type": "object",
"properties": {
"task_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "CentralStationCRM task id."
},
"name": {
"description": "New task text.",
"type": "string",
"minLength": 1,
"maxLength": 500
},
"finished": {
"description": "true = mark done, false = reopen.",
"type": "boolean"
},
"badge": {
"description": "New kind of task.",
"type": "string",
"enum": [
"task",
"call",
"email",
"visit",
"preparation",
"important"
]
},
"precise_time": {
"description": "New due date-time.",
"type": "string"
},
"fuzzy": {
"description": "true = only the day of precise_time matters.",
"type": "boolean"
},
"user_id": {
"description": "New assignee.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"task_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡centralstationcrm_create_note(name, content, person_ids, company_ids, deal_ids, ...)
WRITE: add a note to the history of one or more people, companies, deals or projects. Nothing is sent to the contact. POST /protocols.
輸入結構描述
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Note title (max 100 characters)."
},
"content": {
"type": "string",
"minLength": 1,
"maxLength": 20000,
"description": "Note text (markdown)."
},
"person_ids": {
"description": "People the note belongs to.",
"maxItems": 20,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"company_ids": {
"description": "Companies the note belongs to.",
"maxItems": 20,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"deal_ids": {
"description": "Deals the note belongs to.",
"maxItems": 20,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"project_ids": {
"description": "Projects the note belongs to.",
"maxItems": 20,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"confidential": {
"description": "true = visible only to users with at least power-user rights (not only to you).",
"type": "boolean"
}
},
"required": [
"name",
"content"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}社群
證據