Zum Inhalt springen

Eine Mitgliedschaft in diesem Verein beantragen

POST
/v1/me/membership
curl --request POST \
--url https://api.vimine.network/v1/me/membership \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "membership_type": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "accept_statuto": { "version": 1, "sha256": "example" }, "privacy_notice": { "version": 1, "sha256": "example", "locale": "example" }, "address": { "kind": "residence", "line": "example", "postal_code": "example", "city": "example", "province": "example", "country": "IT" }, "locale": "example" }'

Legt den Beitrittsantrag an. Was danach geschieht, hängt davon ab, wie der Verein aufnimmt (GET /v1/aps/{slug} → admission): Bei board bleibt der Antrag PENDING, bis der Vorstand des Vereins entscheidet (pending_reasons: approval, dann payment — der Mitgliedsbeitrag wird nach der Aufnahme gezahlt, siehe payment_open); bei provisional oder automatic wird die Mitgliedschaft bei einer kostenlosen Art sofort ACTIVE ausgestellt, bei einer kostenpflichtigen, sobald der Mitgliedsbeitrag erfasst ist. Eine aktive Mitgliedschaft kann trotzdem ein valid_from in der Zukunft tragen: Der Ausweis ist ab dann nutzbar. Ein Antrag, der nicht angenommen wird, endet als rejected. accept_statuto muss die geltende Version des Statuto nennen (und sha256, wenn veröffentlicht). Hat der Verein Datenschutzhinweise in Kraft, die die Person noch nicht zur Kenntnis genommen hat, muss privacy_notice sie auf dieselbe Weise nennen (422 validation_failed auf privacy_notice, wenn es fehlt, 422 privacy_notice_outdated, wenn es eine ältere Version nennt): Ihre Seite zeigt die Hinweise (GET /v1/aps/{slug}/privacy-notice), und die Kenntnisnahme wird als Nachweis-Eintrag für diese Mitgliedschaft gespeichert. Ein Verein, der von jedem Mitglied eine Adresse verlangt (member_address: required in seinem öffentlichen Profil), braucht address (422 validation_failed auf address). Die Person muss IDENTIFIZIERT sein — über eine Steuernummer oder über Geburtsdatum, Geburtsort und Geburtsland: sonst 422 identification_required, wobei errors[] jede fehlende Geburtsangabe nennt; vervollständigen Sie das Profil mit PATCH /v1/me und stellen Sie den Antrag erneut.

Medientypapplication/json
object
membership_type
string Format: uuid
accept_statuto
erforderlich
object
version
erforderlich
integer
sha256
string
privacy_notice

Die Datenschutzhinweise des Vereins, die die Person auf Ihrer Seite gelesen hat (aus GET /v1/aps/{slug}; fügen Sie locale hinzu, wenn Sie eine Übersetzung gezeigt haben). Pflicht, solange Datenschutzhinweise in Kraft sind, die die Person noch nicht zur Kenntnis genommen hat (GET /v1/me/acceptances listet, was aussteht); sonst ignoriert

object
version
erforderlich

Die gezeigte geltende Version der Datenschutzhinweise (GET /v1/aps/{slug} → privacy_notice)

integer
sha256
string
locale

Die Sprache der Datenschutzhinweise, die Sie gezeigt haben (privacy_notice.locale der Antwort, aus der Sie sie gelesen haben). Jede Sprache ist ein eigenes Dokument mit eigener Version: Nennen Sie sie, wenn Sie das Profil mit ?locale= lesen. Standard: das locale der Anfrage, dann die Sprache des Vereins

string
address

Wohnsitz oder, falls abweichend, Domizil — wird im eigenen Datensatz des Vereins zu diesem Mitglied geführt. Pflicht, wo der Verein member_address: required erklärt hat, gespeichert, wo er optional erklärt hat, ignoriert, wo er keine erfasst

object
kind
string
Standard: residence
Erlaubte Werte: residence domicile
line
erforderlich

Straße und Hausnummer

string
<= 150 Zeichen
postal_code
string
nullable <= 12 Zeichen
city
erforderlich
string
<= 150 Zeichen
province

Nur italienische Adressen (zwei Buchstaben); bei Adressen im Ausland verworfen

string
nullable <= 2 Zeichen
country

ISO 3166-1 alpha-2

string
Standard: IT >= 2 Zeichen <= 2 Zeichen
locale

Die Sprache der Seite, die die Person benutzt hat (it, en): welche Übersetzung der Hinweise sie gelesen hat

string
nullable

OK

Ungültige Anfrage

Medientypapplication/problem+json
object
type
erforderlich
string Format: uri
title
erforderlich
string
status
erforderlich
integer
detail
string
code
erforderlich
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Beispielerzeugt
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Fehlende oder ungültige Zugangsdaten

Medientypapplication/problem+json
object
type
erforderlich
string Format: uri
title
erforderlich
string
status
erforderlich
integer
detail
string
code
erforderlich
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Beispielerzeugt
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Nicht erlaubt

Medientypapplication/problem+json
object
type
erforderlich
string Format: uri
title
erforderlich
string
status
erforderlich
integer
detail
string
code
erforderlich
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Beispielerzeugt
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Nicht gefunden

Medientypapplication/problem+json
object
type
erforderlich
string Format: uri
title
erforderlich
string
status
erforderlich
integer
detail
string
code
erforderlich
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Beispielerzeugt
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Ratenlimit überschritten

Medientypapplication/problem+json
object
type
erforderlich
string Format: uri
title
erforderlich
string
status
erforderlich
integer
detail
string
code
erforderlich
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Beispielerzeugt
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Interner Fehler

Medientypapplication/problem+json
object
type
erforderlich
string Format: uri
title
erforderlich
string
status
erforderlich
integer
detail
string
code
erforderlich
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Beispielerzeugt
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}