spojenet / realpad-takeout
Realpad Takeout API 客户端
Requires
- phpoffice/phpspreadsheet: dev-master
- vitexsoftware/ease-core: dev-main
Requires (Dev)
- phpunit/phpunit: 10.5.x-dev
README
为房地产开发商IT / 报告部门,集成商和其他第三方
本文档描述了如何使用Realpad Takeout API备份系统中存储的数据。无论是结构化数据(如客户列表、交易等)还是上传到CRM的文件(单位计划、合同扫描等),都可以通过这种方式自动检索。鼓励您实现一个自动备份系统,在您喜欢的频率下从我们的服务器下载数据,并将数据用作报告解决方案或其他用途的数据来源。
请求
首先,请通过support@realpadsoftware.com联系以获取使用Takeout API端点的凭证。您将通过HTTPS执行POST请求,然后存储生成的数据。大多数Takeout端点只需要两个参数,两者都是必需的:login
和password
。
请首先定义以下环境变量来配置API客户端
REALPAD_USERNAME=realpad REALPAD_PASSWORD=realpad
(配置机制也可以使用PHP常量)
cURL中的示例调用
<?php // You can also specifi the credentials in constructor call: $client = new \SpojeNet\Realpad\ApiClient('login','password); $responseCode = $client->doCurlRequest($client->baseEndpoint . 'ws/v10/list-resources', 'POST'); $dataObtained = $client->lastCurlResponse;
响应
带有XML有效负载的端点
list-resources
<?php $client = new \SpojeNet\Realpad\ApiClient(); $resources = $client->listResources();
响应示例
Array ( [b19ddfdd-70f1-44cc-8457-190977152325] => Array ( [uid] => b19ddfdd-70f1-44cc-8457-190121223233 [content-type] => application/pdf [file-name] => SomeFile.pdf [size] => 1679680 [checksum] => a78bbad8279871223313232b40d1d32e92060be06ea16bf4eeece8c503b6369b [position] => 0 ) [5e09db8c-b97e-45a3-8872-abe623232d56] => Array ( [uid] => 5e09db8c-b97e-45a3-8872-abe60a232123 [content-type] => application/xml [file-name] => Bankovni_doklady.xml [size] => 566580 [checksum] => 333553a21c200020a20eb3213232132132132114903eb9aa8e4a1ca7030373e8 [position] => 1 ) ...
● uid是此资源的唯一标识符,可以通过get-projects使用它检索。
● content-type是文件的MIME类型,在上传到系统时解决(这是最佳猜测)。
● file-name是上传到系统时的原始文件名。
● size是字节数的文件大小。
● crc是文件的CRC32校验和。
此端点将始终返回所有资源。确定哪些资源尚未下载是您系统的责任。您可以使用UID作为唯一标识符来区分文件。
您可以通过以下URL获取资源:使用HTTP GET
$client = new \SpojeNet\Realpad\ApiClient(); $resources = $client->getResource(RESOURCE_UID);
端点
所有这些端点返回一个扩展名为.xls的单个Excel文件,其中包含我们系统中存储的所有相关数据。这些端点的行为类似于get-resource,即HTTP头包含一个合理的文件名(例如,从网络浏览器运行时)。如果发送一个包含非空值的额外参数xlsx,则Takeout API将提供新的Excel .xlsx格式的数据。
list-excel-customers最后一列包含Realpad数据库中的唯一客户ID。
Array ( [2] => Array ( [Projekt] => Nove Město 3 - C [Datum přidání] => 6/20/2017 [Stav] => Postaveno [E-mail] => zakaznik@server.eu [Jméno] => Ukazkovy Zakaznik [Tagy] => [Zákazník ID] => 4268453 [Prodejce ID] => 914756 [Stav ID] => 1 [Zdroj ID] => 12 ) ...
list-excel-products最后一列包含唯一的单元ID、单元类型的数字ID、单元可用性的数字ID、唯一的工程ID和Realpad数据库中的交易ID。请参阅附录以了解单元类型和可用性的枚举。
list-excel-business-cases最后一列包含Realpad数据库中的唯一交易ID。
list-excel-projects最后一列包含Realpad数据库中的唯一工程ID。
list-excel-deal-documents最后三列包含Realpad数据库中的唯一文档ID、客户ID和销售代理ID。第一列是相关的交易ID。
list-excel-payments-prescribed最后一列包含Realpad数据库中的唯一支付ID。第二列是相关的交易ID。
list-excel-payments-incoming 第一列包含来自Realpad数据库的唯一 incoming payment ID。第二列是相关的 Deal ID。
list-excel-additional-products 最后几列包含附加产品ID,其类型ID以及来自Realpad数据库的相关预定支付ID。第一列是相关的deal ID。
list-excel-inspections 在列中,有代表Realpad数据库中的deal ID和inspection ID的列。
list-excel-defects 接受一个额外的可选参数mode。默认情况下,返回所有deal保修索赔缺陷。某些开发人员默认情况下也会看到 communal areas缺陷。如果指定了mode,可以返回其他缺陷。可用的模式有:DEAL_DEFECTS,DEAL_DEFECTS_COMMUNAL_AREA,DEAL_DEFECTS_COMBINED,INSPECTION_DEFECTS,INSPECTION_DEFECTS_COMMUNAL_AREA,INSPECTION_DEFECTS_COMBINED。最后一列包含来自Realpad数据库的唯一缺陷ID。第二列是相关的deal ID。
$client = new \SpojeNet\Realpad\ApiClient(); $defects = $client->listDefects('DEAL_DEFECTS'); print_r($defects);
Array ( [2] => Array ( [Projekt] => Nove Sidliste [Obchodní případ] => 12323234 [Typ kontroly] => Technická přejímka [Typ položky technické přejímky] => Podlahy [Jednotka] => TEST TECHNICKÁ PŘEJÍMKA [Zákazník] => REALPAD TEST [Telefon] => [E-mail] => realpad@test.eu [Číslo vady] => 25456542 [Problémová vada] => Ne [Číslo vady dle zákazníka] => [Popis] => prasklá dlažba [Lokace (např. místnost)] => [Poslední vyjádření developera] => [Odesláno zákazníkovi] => [Poslední vyjádření dodavatele] => [Přijato dne] => 7/7/2023 [Termín pro odstranění vady] => 8/6/2023 [Plánovaný termín opravy] => [Odstraněna dne] => [Poznámka] => [Odpovědná osoba] => [Speciální záruční lhůta] => Ne [Stav] => Přijato do evidence [Část bytu které sa vada týká] => [Běžný problém] => [Místnost, které se vada týká] => Koupelna/WC [Dodavatel] => [Generální dodavatel] => [Reklamace ID] => 25654654 )
list-excel-tasks 最后几列包含来自Realpad数据库的任务ID,客户ID和销售代理ID。
list-excel-events 最后几列包含来自Realpad数据库的事件ID,客户ID,单元和项目ID。
list-excel-sales-status 最后列包含来自Realpad数据库的单元ID。
list-excel-unit-history 接受一个额外的必需参数unitid,该参数必须是来自其他端点的有效单元Realpad数据库ID。第一列包含给定行给定单元开始包含数据的日期时间戳。第二列包含导致数据被记录的用户名称。
list-excel-invoices 接受多个额外的可选参数
● filter_status
- 如果留空,发送所有状态的发票。1 - 新发票。2 - Review #1中的发票。3 - Review #2中的发票。4 - 审批中的发票。5 - 完全批准的发票。6 - 完全拒绝的发票。
● filter_groupcompany
- 如果留空,发送来自所有集团公司的发票。如果提供了集团公司的Realpad数据库ID(以逗号分隔的列表),则只发送这些公司的发票。
● `filter_issued_from`` - 指定日期为2019-12-31格式,仅发送在那之后发行的发票。
● filter_issued_to
- 指定日期为2019-12-31格式,仅发送在那之前发行的发票。最初的一组列描述了发票本身,最后一组列包含其行数据。