Werk aangepaste veldwaarden bij op records met type-specifieke parameters voor elk veldtype


Stel aangepaste veldwaarden in

Aangepaste velden breiden de standaard recordstructuur van Blue uit met bedrijfsspecifieke gegevens. Deze endpoint stelt je in staat om waarden in te stellen of bij te werken voor elk aangepast veld op een record. Elk veldtype vereist specifieke parameters om de gegevensintegriteit en juiste validatie te waarborgen.

Basisvoorbeeld

mutation SetTextFieldValue {
  setTodoCustomField(input: {
    todoId: "todo_abc123"
    customFieldId: "field_xyz789"
    text: "Project specification document"
  })
}

Geavanceerd voorbeeld

mutation SetMultipleFieldTypes {
  # Set a date range field
  dateField: setTodoCustomField(input: {
    todoId: "todo_abc123"
    customFieldId: "field_date_001"
    startDate: "2024-01-15T09:00:00Z"
    endDate: "2024-01-31T17:00:00Z"
    timezone: "America/New_York"
  })
  
  # Set a multi-select field
  selectField: setTodoCustomField(input: {
    todoId: "todo_abc123"
    customFieldId: "field_select_002"
    customFieldOptionIds: ["option_high", "option_urgent", "option_client"]
  })
  
  # Set a location field
  locationField: setTodoCustomField(input: {
    todoId: "todo_abc123"
    customFieldId: "field_location_003"
    latitude: 40.7128
    longitude: -74.0060
  })
}

Invoervelden

SetTodoCustomFieldInput

Parameter Type Vereist Beschrijving
todoId String! ✅ Ja De ID van het record dat moet worden bijgewerkt
customFieldId String! ✅ Ja De ID van het aangepaste veld
text String Nee Voor TEXT_SINGLE, TEXT_MULTI, TELEFOON, E-MAIL, URL
number Float Nee Voor NUMMER, PERCENTAGE, BEOORDELING
currency String Nee Valutacode voor CURRENCY-type (bijv. "USD")
checked Boolean Nee Voor CHECKBOX-velden
startDate DateTime Nee Startdatum voor DATUM-velden
endDate DateTime Nee Einddatum voor DATUM bereikvelden
timezone String Nee Tijdzone voor DATUM-velden (bijv. "America/New_York")
latitude Float Nee Breedtegraad voor LOCATIE-velden
longitude Float Nee Lengtegraad voor LOCATIE-velden
regionCode String Nee Regiocode voor TELEFOON-velden
countryCodes [String!] Nee ISO-landcodes voor LAND-velden
customFieldOptionId String Nee Optie-ID voor SELECT_SINGLE-velden
customFieldOptionIds [String!] Nee Optie-ID's voor SELECT_MULTI-velden
customFieldReferenceTodoIds [String!] Nee Record-ID's voor REFERENTIE-velden

Voorbeelden van veldtypes

Tekstvelden

mutation {
  setTodoCustomField(input: {
    todoId: "todo_123"
    customFieldId: "field_description"
    text: "Detailed project requirements and specifications"
  })
}

Nummervelden

mutation {
  setTodoCustomField(input: {
    todoId: "todo_123"
    customFieldId: "field_budget"
    number: 15000.50
  })
}

Selectvelden

# Single Select
mutation {
  setTodoCustomField(input: {
    todoId: "todo_123"
    customFieldId: "field_priority"
    customFieldOptionId: "option_high"
  })
}

# Multi Select
mutation {
  setTodoCustomField(input: {
    todoId: "todo_123"
    customFieldId: "field_tags"
    customFieldOptionIds: ["option_frontend", "option_urgent", "option_v2"]
  })
}

Datumvelden

# Single Date
mutation {
  setTodoCustomField(input: {
    todoId: "todo_123"
    customFieldId: "field_deadline"
    startDate: "2024-12-31T23:59:59Z"
  })
}

# Date Range
mutation {
  setTodoCustomField(input: {
    todoId: "todo_123"
    customFieldId: "field_project_timeline"
    startDate: "2024-01-01T00:00:00Z"
    endDate: "2024-03-31T23:59:59Z"
    timezone: "UTC"
  })
}

Locatievelden

mutation {
  setTodoCustomField(input: {
    todoId: "todo_123"
    customFieldId: "field_office_location"
    latitude: 37.7749
    longitude: -122.4194
  })
}

Valuta-velden

mutation {
  setTodoCustomField(input: {
    todoId: "todo_123"
    customFieldId: "field_invoice_amount"
    number: 5000
    currency: "USD"
  })
}

Bestandsvelden

Bestandsvelden gebruiken aparte mutaties:

# Add a file
mutation {
  createTodoCustomFieldFile(input: {
    todoId: "todo_123"
    customFieldId: "field_attachments"
    fileUid: "file_upload_789"
  })
}

# Remove a file
mutation {
  deleteTodoCustomFieldFile(input: {
    todoId: "todo_123"
    customFieldId: "field_attachments"
    fileUid: "file_upload_789"
  })
}

Waarden instellen tijdens het maken van een record

Je kunt aangepaste veldwaarden instellen bij het maken van een nieuw record:

mutation {
  createTodo(input: {
    todoListId: "list_project_123"
    title: "New Feature Development"
    customFields: [
      {
        customFieldId: "field_priority"
        value: "high"
      },
      {
        customFieldId: "field_estimate"
        value: "8"
      }
    ]
  }) {
    id
    customFields {
      customField {
        name
      }
      value
    }
  }
}

Responsvelden

De mutatie retourneert een boolean die aangeeft of de bewerking is geslaagd:

Veld Type Beschrijving
setTodoCustomField Boolean! Waar als de bewerking is geslaagd

Vereiste machtigingen

Gebruikers moeten toestemming hebben om zowel het record als het specifieke aangepaste veld te bewerken:

Rol Kan veldwaarden instellen
OWNER ✅ Ja
ADMIN ✅ Ja
MEMBER ✅ Ja (tenzij beperkt door aangepaste rol)
CLIENT ✅ Ja (tenzij beperkt door aangepaste rol)

Voor gebruikers met aangepaste projectrollen voert het systeem een controle in twee lagen uit:

  1. Eerst wordt gecontroleerd of de gebruiker toegang heeft op projectniveau
  2. Vervolgens wordt gecontroleerd of het specifieke veld is gemarkeerd als editable in hun configuratie voor aangepaste rollen

Dit betekent dat een gebruiker mogelijk algemene projecttoegang heeft, maar nog steeds beperkt kan zijn in het bewerken van bepaalde velden op basis van hun aangepaste rol.

Foutreacties

Aangepast veld niet gevonden

{
  "errors": [{
    "message": "Custom field was not found.",
    "extensions": {
      "code": "CUSTOM_FIELD_NOT_FOUND"
    }
  }]
}

Ongeautoriseerde toegang

{
  "errors": [{
    "message": "You are not authorized.",
    "extensions": {
      "code": "FORBIDDEN"
    }
  }]
}

Ongeldige veldwaarde

{
  "errors": [{
    "message": "Invalid value for field type NUMBER",
    "extensions": {
      "code": "VALIDATION_ERROR"
    }
  }]
}

Belangrijke notities

  • Upsert-gedrag: De mutatie maakt een nieuwe veldwaarde aan als deze nog niet bestaat, of werkt de bestaande waarde bij
  • Typeveiligheid: Geef alleen parameters op die overeenkomen met het veldtype (bijv. stuur geen text voor een NUMMER-veld)
  • Bijwerkingen: Het instellen van waarden activeert:
    • Herberekeningen van formulevelden
    • Automatiseringsregels
    • Webhookmeldingen
    • Activiteitenlogboekvermeldingen
    • Grafiekupdates
  • Speciale gedragingen:
    • CURRENCY-velden verwerken automatisch conversieberekeningen
    • REFERENCE-velden werken bi-directionele relaties bij
    • FORMULA-velden zijn alleen-lezen en kunnen niet direct worden ingesteld (ze worden automatisch berekend)
    • LOOKUP-velden zijn alleen-lezen en kunnen niet direct worden ingesteld (ze halen gegevens uit verwezen records)
    • BUTTON-velden activeren automatiseringsevents wanneer ze "worden aangeklikt"
  • Validatie: De API valideert dat:
    • Het record bestaat in het project
    • Het aangepaste veld bestaat in hetzelfde project
    • De gebruiker heeft bewerkingsrechten
    • De waarde voldoet aan de vereisten van het veldtype

Waardeformaatreferentie

Veldtype Parameter Formaat Voorbeeld
TEXT_SINGLE text String "Project Alpha"
TEXT_MULTI text String with newlines "Line 1\nLine 2"
NUMBER number Float 42.5
CURRENCY number + currency Float + ISO code 1000.00 + "USD"
PERCENT number Float (0-100) 75
RATING number Float (within min/max) 4.5
CHECKBOX checked Boolean true
DATE startDate ISO 8601 DateTime "2024-01-15T00:00:00Z"
DATE (range) startDate + endDate ISO 8601 DateTimes See example above
SELECT_SINGLE customFieldOptionId Option ID "option_123"
SELECT_MULTI customFieldOptionIds Array of Option IDs ["opt_1", "opt_2"]
PHONE text String "+1-555-123-4567"
EMAIL text String "user@example.com"
URL text String "https://example.com"
LOCATION latitude + longitude Floats 40.7128, -74.0060
COUNTRY countryCodes ISO 3166 codes ["US", "CA"]
REFERENCE customFieldReferenceTodoIds Array of record IDs ["todo_1", "todo_2"]
FORMULA N/A Read-only - calculated automatically N/A
LOOKUP N/A Read-only - pulls from references N/A

Gerelateerde eindpunten

AI Assistent

Antwoorden worden gegenereerd met behulp van AI en kunnen fouten bevatten.

Hoe kan ik u helpen?

Vraag me alles over Blue of deze documentatie.

Voer in om te verzenden • Shift+Enter voor nieuwe regel • ⌘I om te openen