Skip to content

Commit b723d5e

Browse files
author
Fabian Mielke
committed
PUT Attachment (Video, Picture, PDF, URL)
Updates the meta data of one attachment.
1 parent 2d3b2b8 commit b723d5e

File tree

3 files changed

+71
-1
lines changed

3 files changed

+71
-1
lines changed

Immocaster/Immobilienscout/Rest.php

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1598,4 +1598,50 @@ private function _changeObjectAttachmentsorder($aArgs)
15981598
$req->unset_parameter('username');
15991599
return parent::getContent($req,$sSecret);
16001600
}
1601+
1602+
/**
1603+
* Attachment(Meta)daten ändern
1604+
* Nur Infos über Bild und nicht binären Daten
1605+
*
1606+
* @param array $aArgs
1607+
* @return mixed
1608+
*/
1609+
private function _changeObjectAttachment($aArgs)
1610+
{
1611+
$aRequired = array('username','estateid','attachmentid','type');
1612+
if(!isset($aArgs['username']))
1613+
{
1614+
$aArgs['username'] = $this->_sDefaultUsername;
1615+
}
1616+
// create body for different attachment types
1617+
$sBreak = "\r\n";
1618+
$sBody = '<common:attachment xsi:type="common:' .$aArgs['type']. '" xmlns:common="http://rest.immobilienscout24.de/schema/common/1.0" xmlns:ns3="http://rest.immobilienscout24.de/schema/platform/gis/1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">' . $sBreak;
1619+
$sBody .= '<title>' .$aArgs['title']. '</title>' . $sBreak;
1620+
$sBody .= '<externalId>' .$aArgs['externalId']. '</externalId>' . $sBreak;
1621+
if($aArgs['type'] == 'Picture' or $aArgs['type'] == 'PDFDocument') {
1622+
$sBody .= '<floorplan>' .$aArgs['floorplan']. '</floorplan>' . $sBreak;
1623+
}
1624+
if($aArgs['type'] == 'Picture') {
1625+
$sBody .= '<titlePicture>' .$aArgs['titlePicture']. '</titlePicture>' . $sBreak;
1626+
}
1627+
if($aArgs['type'] == 'Link') {
1628+
$sBody .= '<url>' .$aArgs['url']. '</url>' . $sBreak;
1629+
}
1630+
$sBody .= '</common:attachment>';
1631+
$aArgs['request_body'] = $sBody;
1632+
1633+
$oToken = null;
1634+
$sSecret = null;
1635+
list($oToken, $sSecret) = $this->getApplicationTokenAndSecret($aArgs['username']);
1636+
if($oToken === NULL || $sSecret === NULL)
1637+
{
1638+
return IMMOCASTER_SDK_LANG_APPLICATION_NOT_CERTIFIED;
1639+
}
1640+
$req = $this->doRequest('offer/v1.0/user/'.$aArgs['username'].'/realestate/'.$aArgs['estateid'].'/attachment/'.$aArgs['attachmentid'],$aArgs,$aRequired,__FUNCTION__,$oToken,'PUT');
1641+
$req->unset_parameter('estateid');
1642+
$req->unset_parameter('username');
1643+
$req->unset_parameter('attachmentid');
1644+
$req->unset_parameter('type');
1645+
return parent::getContent($req,$sSecret);
1646+
}
16011647
}

README.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Immocaster PHP SDK v1.1.73
1+
Immocaster PHP SDK v1.1.74
22
==========================
33
Author: Norman Braun (http://www.medienopfer98.de)
44
Copyright: Immobilien Scout GmbH
@@ -9,6 +9,9 @@ Das PHP SDK von ImmobilienScout24 steht unter der FreeBSD Lizenz zur Verfügung
99
History
1010
=======
1111

12+
SDK Version 1.1.74
13+
- PUT Attachment möglich. Hinweis: Aktualisiert die Metdadaten vom Attachment jeder Art (Video, Bild, PDF und URL), aber nicht die binären!
14+
1215
SDK Version 1.1.73
1316
- GET/PUT Attachmentsorder möglich. Bitte beachten, dass nur die attachmentids von Bildern und PDFs sortiert werden.
1417

index.php

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -593,6 +593,27 @@
593593
$res = $oImmocaster->changeObjectAttachmentsorder($aParameter);
594594
echo '<div class="codebox"><textarea>'.$res.'</textarea></div>';*/
595595

596+
/**
597+
* Aktualisierern eines Attachments (Bild, Video, PDF oder URL).
598+
* Bitte beachten, dass dabei nur die Metadaten verändert werden können, nicht das Bild an sich.
599+
* API Doku: http://api.immobilienscout24.de/our-apis/import-export/attachments/put-by-id.html
600+
*/
601+
echo '<h2>Aktualisieren eines Attachments</h2><br/>Diese Funktion wurde auskommentiert, da dafür eine Zertifizierung nötig ist.<br/><br/>';
602+
/*$aParameter =
603+
array(
604+
'username'=>'USERNAME',
605+
'estateid'=>'ESTATEID',
606+
'attachmentid'=>'ATTACHMENTID',
607+
'type'=>'ATTACHMENTTYPE', // "Picture", "PDFDocument", "StreamingVideo" oder "Link"
608+
'title'=>'TITLE',
609+
//'externalId'=>'EXTERNALID', // optional
610+
//'floorplan'=>'BOOLEAN', // Nur für Bilder und PDFs
611+
//'titlePicture'=>'BOOLEAN', // Nur für Bilder und PDFs
612+
//'url' =>'http://URL' // Nur für Links
613+
);
614+
$res = $oImmocaster->changeObjectAttachment($aParameter);
615+
echo '<div class="codebox"><textarea>'.$res.'</textarea></div>';*/
616+
596617
?>
597618
</body>
598619
</html>

0 commit comments

Comments
 (0)