Skapa telefonfält för att lagra och validera telefonnummer med internationell formatering
Telefonanpassade fält gör att du kan lagra telefonnummer i poster med inbyggd validering och internationell formatering. De är idealiska för att spåra kontaktinformation, nödkontakter eller annan telefonrelaterad data i dina projekt.
Grundläggande exempel
Skapa ett enkelt telefonfält:
mutation CreatePhoneField {
createCustomField(input: {
name: "Contact Phone"
type: PHONE
}) {
id
name
type
}
}
Avancerat exempel
Skapa ett telefonfält med beskrivning:
mutation CreateDetailedPhoneField {
createCustomField(input: {
name: "Emergency Contact"
type: PHONE
description: "Emergency contact number with country code"
}) {
id
name
type
description
}
}
Inmatningsparametrar
CreateCustomFieldInput
Parameter | Typ | Obligatorisk | Beskrivning |
---|---|---|---|
name |
String! | ✅ Ja | Visningsnamn för telefonfältet |
type |
CustomFieldType! | ✅ Ja | Måste vara PHONE |
description |
String | Nej | Hjälptext som visas för användare |
Notera: Anpassade fält är automatiskt kopplade till projektet baserat på användarens aktuella projektkontext. Ingen projectId
parameter krävs.
Ställa in telefonvärden
För att ställa in eller uppdatera ett telefonvärde på en post:
mutation SetPhoneValue {
setTodoCustomField(input: {
todoId: "todo_123"
customFieldId: "field_456"
text: "+1 234 567 8900"
})
}
SetTodoCustomFieldInput parametrar
Parameter | Typ | Obligatorisk | Beskrivning |
---|---|---|---|
todoId |
String! | ✅ Ja | ID för posten som ska uppdateras |
customFieldId |
String! | ✅ Ja | ID för det telefonanpassade fältet |
text |
String | Nej | Telefonnummer med landskod |
regionCode |
String | Nej | Landskod (automatiskt upptäckt) |
Notera: Medan text
är valfri i schemat, krävs ett telefonnummer för att fältet ska vara meningsfullt. När setTodoCustomField
används, utförs ingen validering - du kan lagra vilket textvärde som helst och regionkod. Den automatiska upptäckten sker endast under postskapande.
Skapa poster med telefonvärden
När du skapar en ny post med telefonvärden:
mutation CreateRecordWithPhone {
createTodo(input: {
title: "Call client"
todoListId: "list_123"
customFields: [{
customFieldId: "phone_field_id"
value: "+1-555-123-4567"
}]
}) {
id
title
customFields {
id
customField {
name
type
}
text
regionCode
}
}
}
Svarsfält
TodoCustomField Svar
Fält | Typ | Beskrivning |
---|---|---|
id |
String! | Unik identifierare för fältvärdet |
customField |
CustomField! | Den anpassade fältdefinitionen |
text |
String | Det formaterade telefonnumret (internationellt format) |
regionCode |
String | Landskoden (t.ex. "US", "GB", "CA") |
todo |
Todo! | Den post som detta värde tillhör |
createdAt |
DateTime! | När värdet skapades |
updatedAt |
DateTime! | När värdet senast ändrades |
Validering av telefonnummer
Viktigt: Validering och formatering av telefonnummer sker endast när nya poster skapas via createTodo
. När befintliga telefonvärden uppdateras med setTodoCustomField
, utförs ingen validering och värdena lagras som angivna.
Godkända format (under postskapande)
Telefonnummer måste inkludera en landskod i ett av dessa format:
- E.164-format (föredraget):
+12345678900
- Internationellt format:
+1 234 567 8900
- Internationellt med interpunktion:
+1 (234) 567-8900
- Landskod med bindestreck:
+1-234-567-8900
Notera: Nationella format utan landskod (som (234) 567-8900
) kommer att avvisas under postskapande.
Valideringsregler (under postskapande)
- Använder libphonenumber-js för analys och validering
- Accepterar olika internationella telefonnummerformat
- Upptäcker automatiskt landet från numret
- Formaterar nummer i internationellt visningsformat (t.ex.
+1 234 567 8900
) - Extraherar och lagrar landskod separat (t.ex.
US
)
Giltiga telefonexempel
+12345678900 # E.164 format
+1 234 567 8900 # International format
+1 (234) 567-8900 # With parentheses
+1-234-567-8900 # With dashes
+44 20 7946 0958 # UK number
+33 1 42 86 83 26 # French number
Ogiltiga telefonexempel
(234) 567-8900 # Missing country code
234-567-8900 # Missing country code
123 # Too short
invalid-phone # Not a number
+1 234 # Incomplete number
Lagringsformat
När du skapar poster med telefonnummer:
- text: Lagrade i internationellt format (t.ex.
+1 234 567 8900
) efter validering - regionCode: Lagrade som ISO landskod (t.ex.
US
,GB
,CA
) automatiskt upptäckta
När du uppdaterar via setTodoCustomField
:
- text: Lagrade exakt som angivet (ingen formatering)
- regionCode: Lagrade exakt som angivet (ingen validering)
Obligatoriska behörigheter
Åtgärd | Obligatorisk behörighet |
---|---|
Create phone field | OWNER or ADMIN role at project level |
Update phone field | OWNER or ADMIN role at project level |
Set phone value | Standard record edit permissions |
View phone value | Standard record view permissions |
Felrespons
Ogiltigt telefonformat
{
"errors": [{
"message": "Invalid phone number format.",
"extensions": {
"code": "CUSTOM_FIELD_VALUE_PARSE_ERROR"
}
}]
}
Fält hittades inte
{
"errors": [{
"message": "Custom field not found",
"extensions": {
"code": "CUSTOM_FIELD_NOT_FOUND"
}
}]
}
Saknad landskod
{
"errors": [{
"message": "Invalid phone number format.",
"extensions": {
"code": "CUSTOM_FIELD_VALUE_PARSE_ERROR"
}
}]
}
Bästa praxis
Datainmatning
- Inkludera alltid landskod i telefonnummer
- Använd E.164-format för konsekvens
- Validera nummer innan lagring för viktiga operationer
- Tänk på regionala preferenser för visningsformatering
Datakvalitet
- Lagra nummer i internationellt format för global kompatibilitet
- Använd regionCode för landspecifika funktioner
- Validera telefonnummer innan kritiska operationer (SMS, samtal)
- Tänk på tidszonsimplikationer för kontaktens timing
Internationella överväganden
- Landskod upptäckts automatiskt och lagras
- Nummer formateras i internationell standard
- Regionala visningspreferenser kan använda regionCode
- Tänk på lokala ringsystem när du visar
Vanliga användningsfall
-
Kontaktledning
- Klienttelefonnummer
- Leverantörskontaktinformation
- Teammedlemmars telefonnummer
- Supportkontaktuppgifter
-
Nödkontakter
- Nödkontaktnummer
- Kontaktinformation för jour
- Kontakter för krisrespons
- Eskaleringstelefonnummer
-
Kundsupport
- Kundtelefonnummer
- Supportåteruppringningsnummer
- Verifieringstelefonnummer
- Uppföljningskontakt nummer
-
Försäljning och marknadsföring
- Leadtelefonnummer
- Kampanjkontaktlistor
- Partnerkontaktinformation
- Remisskällor telefoner
Integrationsfunktioner
Med automatiseringar
- Utlös åtgärder när telefonfält uppdateras
- Skicka SMS-notifikationer till lagrade telefonnummer
- Skapa uppföljningsuppgifter baserat på telefonändringar
- Rutta samtal baserat på telefonnumrets data
Med uppslag
- Referera telefondata från andra poster
- Sammanställ telefonlistor från flera källor
- Hitta poster efter telefonnummer
- Korskontrollera kontaktinformation
Med formulär
- Automatisk telefonvalidering
- Kontroll av internationellt format
- Upptäck landskod
- Realtidsformatåterkoppling
Begränsningar
- Kräver landskod för alla nummer
- Inga inbyggda SMS- eller samtalsfunktioner
- Ingen telefonnummerverifiering utöver formatkontroll
- Ingen lagring av telefonmetadata (operatör, typ, etc.)
- Nationella formatnummer utan landskod avvisas
- Ingen automatisk telefonnummerformatering i UI utöver internationell standard
Relaterade resurser
- Textfält - För icke-telefontextdata
- E-postfält - För e-postadresser
- URL-fält - För webbplatsadresser
- Översikt över anpassade fält - Allmänna koncept