6. Créer un propriétaire
Reconstruit — doc utilisateur « Création propriétaire » + schéma createOwner / OwnerInput.
Ce parcours n’apparaît pas dans graphql-calls.json. Les exemples ci-dessous sont dérivés du schéma officiel.
Modèle de données
Un Owner embarque un profile: ProfileInput! :
type: personal_profile→ personne physiquetype: moral_profile→ personne morale (SCI, société…)
Champs obligatoires notables : isInvoicingEntity, profile.bankAccount, et pour l’identité profile.identity.housingAddress.
Personne physique
- GraphQL
- Node.js
- curl
mutation createOwner($owner: OwnerInput!) {
createOwner(owner: $owner) {
id
customReference
isInvoicingEntity
profile {
type
officialContact {
firstName
lastName
email
}
}
}
}
{
"owner": {
"isInvoicingEntity": true,
"externalId": "OWNER-EXT-001",
"customReference": "P-001",
"profile": {
"type": "personal_profile",
"bankAccount": {
"accountHolderName": "Alice Martin",
"iban": "FR76XXXXXXXXXXXXXXXXXXXXXXX",
"bic": "BNPAFRPP",
"bankName": "Banque Exemple"
},
"officialContact": {
"civility": "female",
"firstName": "Alice",
"lastName": "Martin",
"email": "[email protected]",
"mobilePhone": "+33600000000"
},
"identity": {
"housingAddress": {
"number": "10",
"street": "Rue de Rivoli",
"zip": "75001",
"city": "Paris",
"country": "FR"
}
}
}
}
}
const { createOwner } = await ublo(
`mutation createOwner($owner: OwnerInput!) {
createOwner(owner: $owner) { id customReference }
}`,
{ owner: { /* variables ci-dessus */ } },
);
- Bearer
- Cookie session
curl -sS -X POST "$UBLO_GRAPHQL_URL" \
-H "Authorization: Bearer $UBLO_API_TOKEN" \
-H 'Content-Type: application/json' \
-d @create-owner.json
curl -sS -X POST "$UBLO_GRAPHQL_URL" \
-H 'Content-Type: application/json' \
-b cookies.txt \
-d @create-owner.json
Les valeurs de civility sont définies par l’enum CivilityType (female, male, undefined). Consultez les autres enums dans le schéma et validez-les par introspection sur votre tenant.
Personne morale
Même mutation, avec profile.type: "moral_profile" et profile.registration / contacts officiels selon ProfileInput. Côté métier (PDF), renseignez raison sociale, SIREN/SIRET, TVA, NAF, adresse de domiciliation et de facturation.
Lier le propriétaire au lot
Selon votre version de schéma, la propriété se pousse via updateUnit (unitOwnerships / domaine Unit ownership) ou mutations dédiées du sous-domaine Unit ownership. Vérifiez le schéma UnitInputV2 / createUnitOwnership sur votre environnement.