====== Kontaktmöglichkeiten ====== **B2Base · 1.0.0-draft.1 · Projektentwurf** E-Mail, Telefonnummern und Webkontakte ohne ein weltweit vorgeschriebenes Kontaktmittel. [[schemes:scheme|Bibliothek]] · [[schemes:person|Personen]] · [[schemes:principles|Internationale Grundregeln]] ===== Direkt verwenden ===== [[b2schema>1.0.0-draft.1/person/contactdetails.schema.json|Austauschschema (JSON)]] · [[b2schema>1.0.0-draft.1/person/contactdetails.editor.schema.json|Schema für den Designer]] · [[b2schema>1.0.0-draft.1/person/contactdetails.examples.json|Beispieldaten]] **Austauschschema:** vollständige Strukturprüfung mit JSON Schema 2020-12. **Designer-Fassung:** gleiche Datenfelder mit reduzierten Strukturregeln zur Feldübernahme. [[:guidelines#im_workflowdesigner_verwenden|Anleitung und Grenzen]] ===== Felder im Überblick ===== ^ Feld ^ Typ ^ Pflicht im Modul ^ Bedeutung ^ | ''emails'' | array | Nein | E-Mail-Adressen; Unicode ist zulässig. | | ''phoneNumbers'' | array | Nein | Internationale Telefonnummern. | | ''socialMedia'' | array | Nein | Weitere Plattformkontakte. | | ''websites'' | array | Nein | Webseiten. | | ''extensions'' | object | Nein | Vereinbarte Erweiterungen; Schlüssel als absolute URI des Herausgebers. Keine stillschweigende Änderung von Kernfeldern. | Pflichtangaben gelten für das jeweilige Objekt, wenn dieses Modul verwendet wird. Zusätzliche Alternativen und Statusregeln stehen im Austauschschema. Optionale Felder weglassen, wenn sie unbekannt oder nicht anwendbar sind; ein leeres Pflichtfeld ist kein gültiger Ersatz. ===== International richtig einsetzen ===== * E-Mail ist keine Pflicht. Auch reine Telefonkontakte oder Webseiten lassen sich austauschen. * Einige Nummernpläne besitzen keine eigenständige Ortsvorwahl. Normalisierung benötigt Landeskontext; führende nationale Präfixe nicht blind aneinanderhängen. * idn-email und iri benötigen passende Formatprüfer. Speicherung einer Unicode-Adresse belegt nicht, dass der vorhandene Mailserver sie versenden kann. ===== Gültige Beispiele ===== Alle Beispiele sind synthetisch. Sie werden mit dem mitgelieferten Schema geprüft; daraus folgt keine fachliche Echtheit oder externe Erreichbarkeit. ==== Beispiel 1 ==== { "phoneNumbers": [ { "type": "work", "number": "+442079460958", "extension": "42" } ] } ==== Beispiel 2 ==== { "emails": [ { "address": "δοκιμή@παράδειγμα.δοκιμή" } ], "websites": [ { "url": "https://例え.テスト/" } ] } ===== Umstellung aus dem bisherigen Wiki ===== Breaking Change: countryCode und areaCode werden nicht mehr als Telefonpflichtfelder geführt. number enthält jetzt die vollständige E.164-Nummer. Altdaten mit Landeskontext normalisieren und displayNumber zur Erhaltung der Originaldarstellung nutzen. [[schemes:migration|Änderungsübersicht und Migrationsregeln]] ===== Vollständiges Schema ===== Die Datei ist eigenständig: verwendete Bausteine sind unter ''$defs'' eingebettet, Referenzen bleiben lokal. ''$id'' ist die kanonische Kennung. Die Downloads oben verwenden den aktuellen Server; eine Veröffentlichung unter der kanonischen Domain ist damit nicht behauptet. { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://b2base.eu/schemas/1.0.0-draft.1/person/contactdetails.schema.json", "title": "Kontaktmöglichkeiten", "$comment": "B2Base 1.0.0-draft.1. Projektentwurf, kein durch ISO oder andere Normungsgremien verabschiedeter Standard.", "type": "object", "description": "Mindestens ein bekannter Kontaktkanal.", "properties": { "emails": { "type": "array", "description": "E-Mail-Adressen; Unicode ist zulässig.", "items": { "type": "object", "description": "Ein E-Mail-Kontakt.", "properties": { "type": { "type": "string", "minLength": 1, "description": "Verwendungszweck." }, "address": { "type": "string", "minLength": 1, "description": "Internationale E-Mail-Adresse; Zustellbarkeit und SMTPUTF8-Unterstützung separat prüfen.", "format": "idn-email" }, "language": { "$ref": "#/$defs/LanguageTag" } }, "required": [ "address" ], "additionalProperties": false }, "minItems": 1 }, "phoneNumbers": { "type": "array", "description": "Internationale Telefonnummern.", "items": { "type": "object", "description": "Eine vollständig normalisierte Rufnummer ohne Durchwahl.", "properties": { "type": { "type": "string", "minLength": 1, "description": "Verwendungszweck." }, "number": { "type": "string", "minLength": 1, "description": "Pluszeichen und höchstens 15 Ziffern nach E.164; keine Aussage über tatsächliche Vergabe.", "pattern": "^\\+[1-9][0-9]{1,14}$" }, "extension": { "type": "string", "minLength": 1, "description": "Durchwahl separat; kein Bestandteil der E.164-Rufnummer." }, "displayNumber": { "type": "string", "minLength": 1, "description": "Optionale ursprüngliche Schreibweise." } }, "required": [ "number" ], "additionalProperties": false }, "minItems": 1 }, "socialMedia": { "type": "array", "description": "Weitere Plattformkontakte.", "items": { "type": "object", "description": "Plattform und Kennung.", "properties": { "platform": { "type": "string", "minLength": 1, "description": "Plattform." }, "handle": { "type": "string", "minLength": 1, "description": "Unveränderter Benutzername." }, "url": { "type": "string", "minLength": 1, "description": "Optionaler Profil-Link.", "format": "uri" } }, "required": [ "platform", "handle" ], "additionalProperties": false }, "minItems": 1 }, "websites": { "type": "array", "description": "Webseiten.", "items": { "type": "object", "description": "Eine Webseite.", "properties": { "type": { "type": "string", "minLength": 1, "description": "Verwendungszweck." }, "url": { "type": "string", "minLength": 1, "description": "Internationale Webadresse; Abruf gesondert entscheiden.", "format": "iri", "pattern": "^https?://" } }, "required": [ "url" ], "additionalProperties": false }, "minItems": 1 }, "extensions": { "type": "object", "description": "Vereinbarte Erweiterungen; Schlüssel als absolute URI des Herausgebers. Keine stillschweigende Änderung von Kernfeldern.", "properties": {}, "additionalProperties": true, "propertyNames": { "format": "uri" } } }, "additionalProperties": false, "anyOf": [ { "required": [ "emails" ] }, { "required": [ "phoneNumbers" ] }, { "required": [ "socialMedia" ] }, { "required": [ "websites" ] } ], "$defs": { "LanguageTag": { "type": "string", "minLength": 1, "description": "BCP-47-Sprachtag, etwa de, zh-Hant-TW, sr-Latn oder x-internal. Das Muster prüft nur die Grundform, nicht Registrierung oder alle BCP-47-Regeln.", "pattern": "^[A-Za-z]{1,8}(-[A-Za-z0-9]{1,8})*$" } }, "examples": [ { "phoneNumbers": [ { "type": "work", "number": "+442079460958", "extension": "42" } ] }, { "emails": [ { "address": "δοκιμή@παράδειγμα.δοκιμή" } ], "websites": [ { "url": "https://例え.テスト/" } ] } ] } ===== Quellen und Abgrenzung ===== * [[https://www.itu.int/rec/T-REC-E.164|ITU-T E.164: Internationaler Rufnummernplan]] * [[https://www.rfc-editor.org/info/rfc6531/|IETF RFC 6531: Internationalisierte E-Mail / SMTPUTF8]] * [[https://json-schema.org/draft/2020-12/json-schema-validation|JSON Schema 2020-12: Validierung und Formate]] Quellen geprüft am 8. September 2026. Die B2Base-Felder und ihre Kombination sind ein eigener Entwurf. Code-Register, nationale Regeln, Echtheit, Zeitfolgen und Referenzziele benötigen die im jeweiligen Verfahren vereinbarten Zusatzprüfungen. [[schemes:scheme|Zur Bibliothek]] · [[:guidelines|Integration]] · [[:faq|Häufige Fragen]]