Aktualizuj dokument (Platform MCP)
Użyj tego narzędzia, aby zmodyfikować istniejący dokument monday.com. Podaj co najmniej jedną operację w uporządkowanej tablicy. Operacje są wykonywane po kolei - narzędzie zatrzymuje się przy pierwszym błędzie. Dostępne operacje obejmują różne rodzaje edycji dokumentu: dodawanie treści w Markdownie, zmianę nazwy dokumentu, aktualizowanie lub tworzenie pojedynczych bloków w określonych miejscach, usuwanie bloków i dodawanie komentarzy.
Aby wskazać dokument, podaj doc_id (pole id zwrócone przez read_docs) albo object_id (numeryczny identyfikator widoczny w adresie URL dokumentu). Jeśli potrzebujesz identyfikatorów bloków do operacji update_block, delete_block lub replace_block, najpierw wywołaj read_docs z include_blocks: true.
Operacje są wykonywane po kolei i zatrzymują się przy pierwszym błędzie. Jeśli operacja odwołuje się do bloku utworzonego w tym samym wywołaniu (np. umieszcza treść w bloku notice_box), podziel ją na dwa osobne wywołania update_doc - pierwsze utworzy kontener, a drugie umieści w nim treść za pomocą parent_block_id.
Parametry
| Parametr | Typ | Wymagane | Opis |
|---|---|---|---|
| doc_id | string |
Tak (lub object_id) | Identyfikator dokumentu zwrócony przez read_docs (pole id). Ma pierwszeństwo przed object_id, jeśli podano oba. |
| object_id | string |
Tak (lub doc_id) | Identyfikator obiektu dokumentu widoczny w jego adresie URL. Wewnętrznie jest mapowany na doc_id. |
| operations | array |
Tak | Uporządkowana lista operacji do wykonania (1–25). Każda operacja wymaga pola operation_type oraz pól właściwych dla jej typu. Zobacz poniżej dostępne typy operacji. |
Typy operacji
| operation_type | Najważniejsze pola | Kiedy używać |
|---|---|---|
set_name |
name (string) |
Zmień nazwę dokumentu. |
add_markdown_content |
markdown (string), opcjonalnie after_block_id |
Dodaj treść w Markdownie jako bloki. Najlepiej sprawdza się w przypadku tekstu, nagłówków, list i prostych tabel. Nie wymaga identyfikatorów bloków. |
update_block |
block_id, content (z block_content_type) |
Edytuj zawartość istniejącego bloku text, code lub list_item bez zmiany jego miejsca. Nie można zmienić podtypu bloku - do tego użyj replace_block. |
create_block |
block (z block_type), opcjonalnie after_block_id, opcjonalnie parent_block_id |
Wstaw nowy blok w określonym miejscu. Obsługuje bloki text, list_item, code, divider, page_break, image, video, notice_box, table i layout. |
delete_block |
block_id |
Trwale usuń blok. To jedyna dostępna opcja dla bloków BOARD, WIDGET, DOC (osadzony dokument) i GIPHY. |
replace_block |
block_id, block (z block_type), opcjonalnie after_block_id |
Usuń blok i utwórz nowy w jego miejscu. Użyj tej operacji, gdy zmieniasz źródło obrazu lub filmu, strukturę tabeli albo motyw notice_box. |
add_comment |
body (ciąg HTML), opcjonalnie block_id, selection_from, selection_length, parent_update_id, mentions_list |
Dodaj komentarz do dokumentu, bloku lub zaznaczonego tekstu. Sformatuj body w HTML-u, a nie w Markdownie. |
Przykład
Dodaj nową sekcję do dokumentu 41622523:
{
"doc_id": "41622523",
"operations": [
{
"operation_type": "add_markdown_content",
"markdown": "## Section Added via update_doc\n\nThis section was appended using the `add_markdown_content` operation."
}
]
}
Narzędzie potwierdziło, że wykonano 1/1 operations completed, i zwróciło identyfikatory dwóch utworzonych bloków: f1fe721e-a5c9-4e99-8564-6ad39fc6a635 i e1693499-5daa-41ec-ba92-782d1960384a.
Odpowiednik programistyczny
Użyj API GraphQL, aby uzyskać ten sam rezultat:
mutation {
add_blocks_to_document(
doc_id: 41622523
content: "{\"delta\":[{\"insert\":\"Section Added via update_doc\"},{\"insert\":\"\\n\",\"attributes\":{\"header\":2}}]}"
after_block_id: null
) {
id
}
}
Pełną dokumentację znajdziesz w sekcji Dokumentacja.