用于在PHP中消费NMBRS API的SDK

1.3.1 2023-08-23 11:27 UTC

README

初始化客户端

注意:用户应有权访问nmbrs中所有资源。您可以通过用户模板来管理此操作。

use Mijnkantoor\NMBRS\NmbrsClient;
include(__DIR__ . "/vendor/autoload.php");
$client = new \Mijnkantoor\NMBRS\NmbrsClient("your-email-here", "your-token-here", "your-domai-here");

创建公司

注意:每个公司都属于一个债务人,因此我们首先创建该对象。

首先创建一个债务人

$highestDebNumber = $highestDebNumber = $client->getHighestDebtorNumber();
$debtor = $client->createDebtor('Some debtor', $highestDebNumber + 1));

为债务人创建公司

$highestDebNumber = $client->getHighestDebtorNumber();
$client->createDebtor('Some client', $highestDebNumber + 1);

$highestCompanyNumber = $client->getHighestCompanyNumber();
$company = $client->createCompanyForDeptor($debtor->Id, [
    'Number' => $highestCompanyNumber,
    'CompanyName' => 'Some Company',
    'PeriodType' => NmbrsClient::DeclarationPeriodMonth,
    'DefaultCompanyId' => -1,
    'LabourAgreementSettingsGroupGuid' => '00000000-0000-0000-0000-000000000000',
    'PayInAdvance' => false
]);

为公司创建地址

$address = $client->createAddressForCompany($company->Id, [
    'Default' => true,
    'Street' => 'Some Street',
    'HouseNumber' => '123',
    'HouseNumberAddition' => 'A',
    'PostalCode' => '1234 AB',
    'City' => 'Some City',
    'StateProvince' => 'Some Province',
    'CountryISOCode' => 'nl',
]);

创建银行账户

$bankAccount = $client->createBankAccountForCompany($company->id, [
    'Description' => 'Test rekening',
    'IBAN' => 'GB33BUKB20201555555555',
    'BIC' => 'ABNANL2A',
    'City' => 'TestDorp',
    'Name' => 'Henk',
    'Type' => 'Standaard',
]);

更新公司信息

首先更新债务人信息

$client->updateDebtor($debtor->id, ['Name' => 'Other Debtor']);

更新公司信息

// oops, doesn't exist at nmbrs API

更新公司地址

注意:更新实际上是一个删除和插入操作,因此每次更新都有一个新的addressId。

$currentAddress = $client->getCurrentAddressByCompanyId($company->id));

$client->updateAddressForCompany($company->id, $currentAddress->id, [
    'Default' => true,
    'Street' => 'Other Street',
    'HouseNumber' => '123',
    'HouseNumberAddition' => 'A',
    'PostalCode' => '1234 AB',
    'City' => 'Other City',
    'StateProvince' => 'Other Province',
    'CountryISOCode' => 'nl',
]);

更新公司的默认银行账户

$currentBankAccount = $client->getDefaultBankAccountForCompany($company->id);

$client->updateBankAccountForCompany($company->id, $currentBankAccount->id, [
    'Description' => 'Test rekeninger',
    'IBAN' => 'NL70RABO4636681924',
    'Type' => 'Standaard',
]);