Exchange valt buiten deze API/CLI-release. Eventuele historische Exchange-voorbeelden in deze gids zijn niet beschikbaar; dit zegt niets over bestaande portaalfuncties. Zie het actuele releasebereik.
Accountingcontacten expliciet koppelen
Deze workflow koppelt één bestaand WeFact-contact aan één bewust gekozen modern portalbedrijf. Zij gebruikt dezelfde service in de beheerpagina, API en CLI. Een overeenkomstige naam, e-mailadres, KvK- of btw-nummer verleent geen eigendom. De administratiecontext (--account) is niet het doelbedrijf.
Een actuele menselijke interne beheerder met recente passkeyverificatie is vereist. De API vraagt admin:read voor inventarisatie en review, en admin:write voor de koppeling. De bestaande API-, gevoelige-actie- en beheerflags blijven gelden. Service-integraties kunnen deze menselijke handelingen niet uitvoeren.
Browser
Open Beheer → WeFact. Zoek een begrensde pagina accountingcontacten en kies één exact contact-ID. Vul het moderne doelbedrijf-ID in. Controleer de bedrijfsnaam en de actuele accountingcontactgegevens in het reviewvenster en bevestig het doelbedrijf expliciet. De review vervalt na tien minuten; een gewijzigde identiteit, bronconfiguratie, bedrijfsversie of contact vereist opnieuw beoordelen.
De koppeling wijzigt uitsluitend de lokale accountingidentiteit. Zij past geen bankrekening, incassomachtiging, login-e-mail of leveranciersgegevens aan en verstuurt geen mail. Bestaande en gearchiveerde eigendomsbindings blijven beschermd. Een onopgeloste oorspronkelijke debiteuraanmaak vereist eerst onderzoek van dat oorspronkelijke record.
Import als nieuw bedrijf: portal, API en CLI
De bestaande importsectie kan maximaal 25 geselecteerde contacten als nieuwe bedrijven met nieuwe eigenaars importeren. Haal voor elke selectie een actuele importreview op. Controleer de voorgestelde bedrijfsnaam en het exacte proposed.owner_email; de browser mag dat adres niet zelf uit meerdere accountingadressen afleiden. Een ontbrekend of ongeldig enkelvoudig adres maakt de import onbeschikbaar. Welkomstmail is een afzonderlijk, standaard uitgeschakeld keuzeveld.
De server verifieert alle geselecteerde contactreviews vóór enige creatie. Alle nieuwe bedrijven, eigenaars en memberships worden in één lokale transactie opgeslagen. Een gewijzigde ontvanger of een late lokale fout kan daardoor geen halve nieuwe selectie achterlaten. Een reeds bestaand bedrijf of bestaande identiteit wordt nooit automatisch overgenomen via emailgelijkenis. Gebruik voor bestaande bedrijven de expliciete koppeling hierboven.
Optionele welkomstmail start pas na de lokale commit, via het bestaande afzonderlijke identity-mailjournaal. De response bindt elke remote_identifier aan de werkelijk gemaakte company_id en user_id. Bij onzekere mail blijft het bedrijf bestaan en moet de oorspronkelijke mailpoging onderzocht worden; opnieuw importeren verstuurt die mail niet nogmaals. Portal, API en CLI gebruiken dezelfde importservice. Het ontvangstbewijs met de oorspronkelijke company_id, user_id en remote_identifier wordt atomisch met alle nieuwe resources opgeslagen. Een import heeft één zelfgekozen UUID (import_intent_id); bewaar die referentie vóór verzending. Een herhaling met exact dezelfde body en UUID leest uitsluitend het oorspronkelijke bewijs, zelfs met een nieuwe HTTP-idempotentiesleutel of na het verlopen van de contactreview. Een gewijzigde selectie onder dezelfde UUID geeft 409. Alleen de oorspronkelijke winnende aanmaak mag de optionele welkomstmail starten; herstel leest uitsluitend de oorspronkelijke mailmetadata, ook als het proces tussen lokale commit en mail stopte.
API en agents
Alle paden beginnen met /api/v1/accounts/{administratiecontext}:
| Methode | Pad | Gedrag |
|---|---|---|
| GET | /admin/wefact/contacts?search=...&offset=0&limit=50 |
Eén pagina, maximaal 100 contacten; vervolg met data.next_offset |
| GET | /admin/wefact/contacts/{remote_identifier} |
Eén exact accountingcontact |
| POST | /admin/wefact/import-review |
Eén exact nieuw-bedrijf/ownerreview: {remote_identifier}; alleen lezen |
| POST | /admin/wefact/imports |
Eén atomaire selectie met duurzaam origineel ontvangstbewijs; oorspronkelijke idempotentiesleutel |
| GET | /admin/wefact/imports?limit=25 |
Recentste eigen imports binnen dezelfde administratiecontext; vervolg met meta.next_cursor als cursor |
| GET | /admin/wefact/imports/{import_intent_id} |
Originele IDs en mailmetadata terugvinden, zonder supplierreads of mail |
| POST | /admin/wefact/link-review |
Alleen lezen; body {company_id,remote_identifier} |
| GET | /admin/wefact/suggestions?limit=50 |
Ongeverifieerde lokale ID-paren; vervolg met meta.next_cursor |
| POST | /admin/wefact/suggestions/{suggestion}/actions/reject |
Lokale afwijzing met actuele suggestie-If-Match en idempotentiesleutel |
| POST | /admin/wefact/link |
Beoordeelde lokale koppeling; actuele If-Match en oorspronkelijke Idempotency-Key |
De reviewresponse bevat company.id, company.name, company.version, de veilige contact-projectie, reviewed_at, expires_at en review_token. De projectie bevat geen IBAN, machtigingswaarden, vrije leveranciersopmerkingen of API-sleutels. Verborgen facturatie-instellingen en de configuratie van de accountingbron tellen wel mee in de ondoorzichtige reviewversie.
Stuur voor de koppeling uitsluitend:
{
"company_id": 123,
"remote_identifier": 456,
"company_version": "<company.version uit de review>",
"reviewed_at": 1793250000,
"review_token": "<review_token uit dezelfde review>",
"confirm_company_id": 123
}
If-Match bevat dezelfde company.version. dry_run:true voert actuele validatie en bronlezingen uit zonder lokale koppeling, auditmutatie of operatie. De echte lokale koppeling, auditregel en API-operatie-uitkomst worden atomisch opgeslagen. Een herhaling met dezelfde sleutel en body leest die oorspronkelijke uitkomst en doet geen nieuwe leverancierslezing.
De importbody bevat uitsluitend import_intent_id, send_welcome (standaard false) en een lijst contacts van 1–25 unieke {remote_identifier,reviewed_at,review_token} uit de importreviews. Beoordeel alle voorgestelde nieuwe bedrijven en eigenaaradressen vóór commit. dry_run:true doet dezelfde actuele validatie zonder aanmaak, ontvangstbewijs, operatie of mail. Een import maakt uitsluitend lokale bedrijven, eigenaren en memberships; er zijn geen accountingmutaties, facturen of betalingen.
Na een verloren antwoord vraagt een agent GET imports/{oorspronkelijke UUID} op. Ook de browser toont die referentie vóór verzending en heeft een herstelscherm plus de 25 recentste eigen ontvangstbewijzen. Een 404 bewijst niet dat een gelijktijdige oorspronkelijke aanvraag nooit zal committen: controleer later dezelfde referentie en start geen nieuwe import. Herstel vraagt actuele menselijke beheerrechten, dezelfde actor en dezelfde administratiecontext; een andere actor of context kan de oorspronkelijke identiteit niet overnemen. Nieuwe contactreviews zijn alleen nodig voor een nieuwe, afzonderlijk goedgekeurde import. Bewaar reviewtokens en ontvangergegevens niet in browserstorage.
CLI
binadit admin wefact contacts --account 1 --limit 50
binadit admin wefact contact 456 --account 1
binadit admin wefact suggestions --account 1
binadit admin wefact reject-suggestion 789 --version "<suggestie-versie>" --confirm-suggestion 789 --account 1
umask 077
binadit admin wefact review-link 123 456 --account 1 --output json > reviewed-contact.json
binadit admin wefact link --from-file reviewed-contact.json --confirm-company 123 --account 1 --dry-run
binadit admin wefact link --from-file reviewed-contact.json --confirm-company 123 --account 1
# Ook meerdere contact-ID’s (maximaal 25) kunnen samen worden beoordeeld.
binadit admin wefact review-import 456 457 --account 1 --output json > reviewed-import.json
# Lees eerst de exacte bedrijfsnamen/eigenaaradressen en de import_intent_id in dit bestand.
binadit admin wefact import --from-file reviewed-import.json --confirm-import "<oorspronkelijke UUID>" --account 1 --dry-run
binadit admin wefact import --from-file reviewed-import.json --confirm-import "<oorspronkelijke UUID>" --account 1
binadit admin wefact import-receipt "<oorspronkelijke UUID>" --account 1
binadit admin wefact imports --account 1
Gebruik review-import --send-welcome uitsluitend na expliciete toestemming voor de afzonderlijke welkomstmailpogingen. Het reviewbestand is gebonden aan server en administratiecontext. De CLI bevestigt alleen exact dezelfde contactselectie en projecteert uitsluitend de werkelijk gemaakte IDs; onverwachte supplier- of SMTP-velden worden niet afgedrukt.
Gebruik voor een volgende contactpagina expliciet --offset uit de vorige response. --all is hiervoor niet beschikbaar. De beschermde reviewfile mag ook via stdin met --from-file - worden aangeleverd. Controleer de getoonde identiteiten voordat u de koppeling bevestigt; een agent mag het doelbedrijf niet uit een e-mailovereenkomst afleiden.
Bij 412 haalt u een nieuwe review op. Bij 409 onderzoekt u de bestaande eigendomsbinding of oorspronkelijke debiteurpoging. Na een onzekere API-response controleert u de oorspronkelijke operatie en hergebruikt u dezelfde intentie; na een onzekere browserresponse inspecteert u eerst het gekozen bedrijf. Maak geen vervangende debiteur of betaling om een onzekere lokale koppeling te verhelpen.
Deze API/CLI-usecase omvat inventarisatie, expliciete bestaande-contactkoppeling, actuele lokale suggestieafwijzing en beoordeelde nieuwe-bedrijf-import met origineel ontvangstbewijs. Debiteuraanmaak/push, incassobeheer en algemene betalingsadministratie hebben verdere workflows; deze gids verklaart die functies niet automatisch volledig beschikbaar.
Broncontracten: WeFact contactlijst en exact contactdetail. De bestaande canonical transportlaag behoudt haar limieten, TLS-/redirectbeleid en actuele autorisatiecontroles.