calcasa/api

Calcasa公共API的API客户端。

1.3.1 2024-06-07 08:18 UTC

This package is auto-updated.

Last update: 2024-09-07 08:51:09 UTC


README

Calcasa API用于连接Calcasa提供的服务。这是服务的第一个生产版本。

客户端包

Nuget - Packagist - PyPI

客户端实现说明

客户端应始终对以下内容保持容忍

  • 响应中的额外字段
  • 响应中的空或隐藏字段
  • 枚举中的额外值
  • 形式为问题详情的意外错误响应

OpenAPI规范

此API使用OpenAPI格式版本3进行文档化,您可以使用像OpenAPI Generator这样的工具生成API客户端,例如我们未提供预构建客户端的语言。有关详细信息,请参阅此处

变更日志

2024-05-14 (v1.3.1)

  • 添加 DeelWaarderingWebhookPayload 模型。
  • 使用字符串作为CBS代码。
    • buurtCode 字段添加到 CbsIndeling 模型。
    • 允许为端点 buurt 输入字符串。
  • 将格式为CalcasaPublicAPI/<version>的UserAgent头添加到回调请求。

2023-11-14 (v1.3.0)

  • geldverstrekker 字段添加到 CallbackInschrijving 模型。
  • 在回调服务上添加对mTLS的支持。
    • 默认情况下,当目标服务器请求时,将提供公共CA签名的TLS证书作为客户端证书,其中域作为通用名称。
    • 公共TLS证书每几个月轮换一次。
  • 将仅包含日期的几个 date-time 字段更改为纯 date 字段。这可能导致生成的客户端中类型不同,并且服务端验证将更加严格。值中包含的时间将不再被静默丢弃,而是生成错误。
    • 将OpenAPI规范中 Modeldata 模型的 waardebepalingsdatum 字段更改为类型 date
    • 将OpenAPI规范中 Bestemmingsdata 模型的 datumBestemmingplan 字段更改为类型 date
    • 将OpenAPI规范中 Bodemdata 模型的 datumLaatsteOnderzoek 字段更改为类型 date
    • 将OpenAPI规范中 Referentieobject 模型的 verkoopdatum 字段更改为类型 date
    • 将OpenAPI规范中 VorigeVerkoop 模型的 verkoopdatum 字段更改为类型 date
    • 将OpenAPI规范中 waarderingInputParameters 模型的 peildatum 字段更改为类型 date。这是一个输入字段,现在将需要一个不带时间的日期。
  • desktopTaxatieHerwaardering 产品添加到枚举 ProductType
  • 服务不再返回CORS头。
  • 操作现在正确报告了HTTP 422 Unprocessable Entity响应的文档中的'application/problem+json'内容类型。
  • energielabelData 字段添加到 Objectdata 模型,以包含有关能源标签的额外信息。
  • OpenAPI规范生成略有变化,因此生成的和发布的客户端可能受到影响。编译时可能会有一些细微的破坏性变化,但功能保持不变。
    • 例如,对于C#和PHP,AdresInfoAdres现在仅由Adres覆盖。
    • 同样,现在所有的Omgevingsdata*模型都由Gebiedsdata覆盖。
    • 对于许多Waardering*模型,它们现在正在使用正确的模型名称,例如WaarderingModel -> Modeldata

2023-04-17 (v1.2.1)

  • CallbackInschrijvingWaarderingWebhookPayload模型添加externeReferentie字段。

2022-08-04 (v1.2.0)

  • 添加了对管理CallbackSubscription的支持,这允许您订阅使用您的API客户端未创建的估值回调。
    • GET /v1/callbacks/inschrijvingen
    • POST /v1/callbacks/inschrijvingen
    • GET /v1/callbacks/inschrijvingen/{bagNummeraanduidingId}
    • DELETE /v1/callbacks/inschrijvingen/{bagNummeraanduidingId}
  • Taxatiedata模型添加taxateurnaam字段。
  • 回调URI现在应以/结尾,而不仅仅是包含它,以帮助防止常见的错误(在使用查询字符串时,以=结尾也是允许的)。
  • 现在在POST /v1/configuratie/callbacks端点更新配置会清除配置对象中存储的已退役版本。
  • WaarderingInputParametersWaardering模型添加klantkenmerk

2022-07-12 (v1.1.7)

  • 添加了对OAuth 2.0授权代码流的支持,用于使用用户账户使用API。
  • bouweenheid添加到FunderingSoortBron枚举。

2022-05-19 (v1.1.6)

  • BusinessRulesCode枚举添加了ltvTeHoogOverbrugging值。

2022-04-13 (v1.1.5)

  • 修复了Operation value字段的模式,以利于PHP和Python代码生成器,这些生成器现在将正确支持任何值类型。

2022-04-12 (v1.1.4)

  • GET /v1/rapporten/{id}GET /v1/facturen/{id}端点添加了正确的文件名的适当Content-Disposition头。
  • 修复了POST /v1/configuratie/callbacks端点的Mime类型,使其仅接受application/json
  • 修复了C#客户端在需要时正确使用application/json-patch+json内容类型的请求。
  • 修复了C#客户端的FileParameter类型对响应头(如Content-DispositionContent-Type)的正确处理。
  • 删除了C#客户端的无用实现IValidatableObject
  • 修复了Python客户端内部命名空间名称非法calcasa-api -> calcasa.api

2022-03-22 (v1.1.3)

  • PATCH /v1/waarderingen/{id}添加了402(需要付款)和422(不可处理的实体)作为可能的响应。

2022-03-17 (v1.1.2)

  • 修复了GET /v1/geldverstrekkers/{productType}端点的响应类型。

2022-03-08 (v1.1.1)

  • 添加了GET /v1/geldverstrekkers/{productType}端点。
  • 恢复了所有ProblemDetails模型。

2022-03-07 (v1.1.0)

  • WaarderingInputParameters添加了isErfpacht
  • 清理了null值的序列化,它们不应再出现在输出中。

2021-02-04

  • 向有关WaarderingInputParameters的文档添加了额外的说明,说明了针对不同输入参数组合所需的字段。

2022-01-11 (v1.0.2)

  • 修复了GET /api/v1/bodem/{id}端点路径参数的描述,查询参数从未打算在那里。

2021-12-23

  • 对有关WaarderingInputParameters的文档进行了澄清,说明了针对不同产品类型所需的字段。

2021-12-22 (v1.0.1)

  • 现在日期以ISO日期格式yyyy-MM-dd进行序列化,以停止任何关于时区的混淆,并且都假定是在UTC。
    • peildatumWaarderingsInputParameters
    • datum_bestemmingplanBestemmingsdata
    • datum_laatste_onderzoekBodemdata
    • verkoopdatumReferentieobject
    • verkoopdatumVorigeVerkoop
    • waardebepalingsdatumModeldata
  • 重新引入了被省略的WaarderingWebhookPayload模型。

2021-12-21

  • 现在修复 Waardering 对象的状态将立即反映在响应对象中的新状态。

2021-12-13 (v1.0.0)

  • 基于 v0.0.6 发布 v1 的初始版本。

跨源资源共享

该API实现了符合 W3C 规范 的跨源资源共享(CORS)。这允许浏览器进行跨域通信。所有响应都有通配符同源,这使得它们对每个人都是公开和可访问的,包括任何网站上的任何代码。

身份验证

身份验证通过 OAuth2客户端凭证 授权类型完成。

先前版本的变更日志

2022-02-02

  • API版本 v0 已从服务中移除。

2021-12-23

  • v0 正式标记为已弃用。将不再发布任何版本。所有实现应迁移到 v1

2021-12-10 (v0.0.6)

  • WaarderingInputParameters 模型中添加了额外的字段 peildatum

2021-11-25 (v0.0.5)

  • 更新了所有报告的OAuth2作用域,并减少了每个端点的多余作用域信息。

2021-11-23 (v0.0.4)

  • WaarderingOntwikkeling 对象添加了每平方米的开发内容(带有 PerVierkantemeter 后缀的字段)。

2021-11-15 (v0.0.3)

  • 添加了回调更新和读取端点和模型。
  • 更新了文档。

2021-11-11

  • 将 /fundering 端点重命名为 /funderingen 以与其他端点更一致。
  • HerstelType 重命名为 FunderingHerstelType
  • 添加了 FunderingType 值。

2021-11-10

  • 调整了OpenAPI Spec生成以修复某些生成器的一些问题。这也意味着某些字段的可空性现在被正确表示。请参阅生成文章以获取更多信息,同时配置文件也已更新。

2021-11-09

  • Taxatiedata 模型添加了 StatusTaxatiedatum

2021-11-08

  • AdresInfo 模型中的 id 字段重命名为 bagNummeraanduidingId
  • 添加了带有对应模型的 GET /v0/fundering/{id} 端点。
  • POST /v0/waarderingBusinessRulesProblemDetails 错误返回类型的HTTP响应代码从 422 Unprocessable Entity 更改为 406 Not Acceptable 以修复重复。

2021-10-13

  • Waardering 模型添加了 taxatie 字段。
  • 添加了包含 taxatieorganisatie 字段的 Taxatiedata 模型,用于桌面评估。

2021-09-29

  • Waardering 模型添加了 aangemaakt 时间戳字段。
  • POST /v0/waarderingen/zoeken 端点添加了 WaarderingZoekParameters 模型以替换 WaarderingInputParameters
  • Omgevingsdata 模型拆分为一组单独的 Gebiedsdata 模型,这些模型还包含额外的统计数据。
  • VorigeVerkoop 模型添加了 bijzonderheden 字段。
  • ReferentieBijzonderheden 模型重命名为 VerkoopBijzonderheden

2021-09-22

  • 发布 v0 的初始版本。

有关更多信息,请访问 https://www.calcasa.nl/contact

安装和用法

要求

PHP 7.4 及更高版本。也应在PHP 8.0上工作。

Composer

要使用 Composer 安装绑定,请将以下内容添加到 composer.json

{
  "repositories": [
    {
      "type": "vcs",
      "url": "https://github.com/GIT_USER_ID/GIT_REPO_ID.git"
    }
  ],
  "require": {
    "GIT_USER_ID/GIT_REPO_ID": "*@dev"
  }
}

然后运行 composer install

手动安装

下载文件并包含 autoload.php

<?php
require_once('/path/to/calcasa/api/vendor/autoload.php');

入门

请遵循 安装程序,然后运行以下操作

<?php
require_once(__DIR__ . '/vendor/autoload.php');



// Configure OAuth2 access token for authorization: oauth
$config = Calcasa\Api\Configuration::getDefaultConfiguration()->setAccessToken('YOUR_ACCESS_TOKEN');

// Configure OAuth2 access token for authorization: oauth
$config = Calcasa\Api\Configuration::getDefaultConfiguration()->setAccessToken('YOUR_ACCESS_TOKEN');


$apiInstance = new Calcasa\Api\Api\AdressenApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client(),
    $config
);
$bagNummeraanduidingId = 56; // int | Een BAG Nummeraanduiding ID om een adres te specificeren.

try {
    $result = $apiInstance->getAdres($bagNummeraanduidingId);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling AdressenApi->getAdres: ', $e->getMessage(), PHP_EOL;
}

API 端点

所有URI都是相对于 https://api.calcasa.nl

模型

授权

oauth

  • 类型: OAuth
  • 流程: application
  • 授权URL: ``
  • 作用域:
    • all: 所有区域的完整权限。
    • api:all: 公共API所有区域的完整权限。
    • api:bestemmingsplannen:all: 公共API中bestemmingsplannen区域的完整权限。
    • api:bodem:all: 公共API中bodem区域的完整权限。
    • api:buurt:all: 公共API中buurt区域的完整权限。
    • api:configuratie:all: 公共API中configuratie区域的完整权限。
    • api:callback:all: 公共API中callback区域的完整权限。
    • api:facturen:all: 公共API中facturen区域的完整权限。
    • api:fotos:all: 公共API中fotos区域的完整权限。
    • api:funderingen:all: 公共API中funderingen区域的完整权限。
    • api:rapporten:all: 公共API中rapporten区域的完整权限。
    • api:waarderingen:all: 公共API中waarderingen区域的完整权限。
    • api:adressen:read: 公共API中adressen区域的读取权限。
    • api:bestemmingsplannen:read: 公共API中bestemmingsplannen区域的读取权限。
    • api:bodem:read: 公共API中bodem区域的读取权限。
    • api:buurt:read: 公共API中buurt区域的读取权限。
    • api:configuratie:read: 公共API中configuratie区域的读取权限。
    • api:configuratie:write: 公共API中configuratie区域的写入权限。
    • api:callback:read: 公共API中callback区域的读取权限。
    • api:callback:write: 公共API中callback区域的写入权限。
    • api:facturen:read: 公共API中facturen区域的读取权限。
    • api:fotos:read: 公共API中fotos区域的读取权限。
    • api:funderingen:read: 公共API中funderingen区域的读取权限。
    • api:geldverstrekkers:read: 公共API中geldverstrekkers区域的读取权限。
    • api:rapporten:read: 公共API中rapporten区域的读取权限。
    • api:waarderingen:create: 公共API中waarderingen区域的创建权限。
    • api:waarderingen:patch: 公共API中waarderingen区域的补丁权限。
    • api:waarderingen:read: 公共API中waarderingen区域的读取权限。
    • api:waarderingen:ontwikkeling: 公共API中waarderingen区域ontwikkelingen端点的读取权限。

oauth

  • 类型: OAuth
  • 流程: accessCode
  • 授权URL: https://authentication.01.staging.calcasa.nl/oauth2/v2.0/authorize
  • 作用域:
    • all: 所有区域的完整权限。
    • api:all: 公共API所有区域的完整权限。
    • api:bestemmingsplannen:all: 公共API中bestemmingsplannen区域的完整权限。
    • api:bodem:all: 公共API中bodem区域的完整权限。
    • api:buurt:all: 公共API中buurt区域的完整权限。
    • api:configuratie:all: 公共API中configuratie区域的完整权限。
    • api:callback:all: 公共API中callback区域的完整权限。
    • api:facturen:all: 公共API中facturen区域的完整权限。
    • api:fotos:all: 公共API中fotos区域的完整权限。
    • api:funderingen:all: 公共API中funderingen区域的完整权限。
    • api:rapporten:all: 公共API中rapporten区域的完整权限。
    • api:waarderingen:all: 公共API中waarderingen区域的完整权限。
    • api:adressen:read: 公共API中adressen区域的读取权限。
    • api:bestemmingsplannen:read: 公共API中bestemmingsplannen区域的读取权限。
    • api:bodem:read: 公共API中bodem区域的读取权限。
    • api:buurt:read: 公共API中buurt区域的读取权限。
    • api:configuratie:read: 公共API中configuratie区域的读取权限。
    • api:configuratie:write: 公共API中configuratie区域的写入权限。
    • api:callback:read: 公共API中callback区域的读取权限。
    • api:callback:write: 公共API中callback区域的写入权限。
    • api:facturen:read: 公共API中facturen区域的读取权限。
    • api:fotos:read: 公共API中fotos区域的读取权限。
    • api:funderingen:read: 公共API中funderingen区域的读取权限。
    • api:geldverstrekkers:read: 公共API中geldverstrekkers区域的读取权限。
    • api:rapporten:read: 公共API中rapporten区域的读取权限。
    • api:waarderingen:create: 公共API中waarderingen区域的创建权限。
    • api:waarderingen:patch: 公共API中waarderingen区域的补丁权限。
    • api:waarderingen:read: 公共API中waarderingen区域的读取权限。
    • api:waarderingen:ontwikkeling: 公共API中waarderingen区域ontwikkelingen端点的读取权限。

测试

运行测试,使用

composer install
vendor/bin/phpunit

作者

info@calcasa.nl

关于此包

此PHP包由OpenAPI Generator项目自动生成

  • API版本:1.3.1
  • 构建包:org.openapitools.codegen.languages.PhpClientCodegen