Skip to content

Commit fe2bafb

Browse files
author
Fabian Mielke
committed
GET/PUT Attachmentsorder
You can GET and PUT the order of attachments of a realestate. Pictures and PDFDocuments are sortable. Usable as input is xml or a list of attachmentids.
1 parent 2825fe0 commit fe2bafb

File tree

2 files changed

+89
-2
lines changed

2 files changed

+89
-2
lines changed

Immocaster/Immobilienscout/Rest.php

Lines changed: 46 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1021,7 +1021,7 @@ private function _postbylistOntopplacement($aArgs)
10211021
}
10221022

10231023
// create body for request
1024-
if(isset($aArgs['realestateids']))
1024+
else if(isset($aArgs['realestateids']))
10251025
{
10261026
// make array from realestateids string and count the array length
10271027
$aRealestateids = explode ( ',' , $aArgs['realestateids']);
@@ -1553,4 +1553,49 @@ private function _exportObjectVideoAttachment($aArgs)
15531553
$sSecret
15541554
);
15551555
}
1556+
1557+
/**
1558+
* Attachmentsreihenfolge ändern.
1559+
* Als Input kann ein Array von ESTATEIDs dienen oder ein XML.
1560+
*
1561+
* @param array $aArgs
1562+
* @return mixed
1563+
*/
1564+
private function _changeObjectAttachmentsorder($aArgs)
1565+
{
1566+
$aRequired = array('username','estateid');
1567+
if(!isset($aArgs['username']))
1568+
{
1569+
$aArgs['username'] = $this->_sDefaultUsername;
1570+
}
1571+
if(isset($aArgs['body']))
1572+
{
1573+
$aArgs['request_body'] = $aArgs['body'];
1574+
}
1575+
// create body for request
1576+
else if(isset($aArgs['attachmentids']))
1577+
{
1578+
// make array from attachmentids string and count the array length
1579+
$aAttachmentids = explode ( ',' , $aArgs['attachmentids']);
1580+
$iArraysize = count($aAttachmentids);
1581+
$sBreak = "\r\n";
1582+
$sBody = '<attachmentsorder:attachmentsorder xmlns:attachmentsorder="http://rest.immobilienscout24.de/schema/attachmentsorder/1.0">' . $sBreak;
1583+
for ($i = 0; $i < $iArraysize; $i++) {
1584+
$sBody .= '<attachmentId>'.$aAttachmentids[$i]. '</attachmentId>' . $sBreak;
1585+
}
1586+
$sBody .= '</attachmentsorder:attachmentsorder>';
1587+
$aArgs['request_body'] = $sBody;
1588+
}
1589+
$oToken = null;
1590+
$sSecret = null;
1591+
list($oToken, $sSecret) = $this->getApplicationTokenAndSecret($aArgs['username']);
1592+
if($oToken === NULL || $sSecret === NULL)
1593+
{
1594+
return IMMOCASTER_SDK_LANG_APPLICATION_NOT_CERTIFIED;
1595+
}
1596+
$req = $this->doRequest('offer/v1.0/user/'.$aArgs['username'].'/realestate/'.$aArgs['estateid'].'/attachment/attachmentsorder',$aArgs,$aRequired,__FUNCTION__,$oToken,'PUT');
1597+
$req->unset_parameter('estateid');
1598+
$req->unset_parameter('username');
1599+
return parent::getContent($req,$sSecret);
1600+
}
15561601
}

index.php

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -469,6 +469,7 @@
469469
'username'=>'USERNAME',
470470
'ontopplacementtype'=>'ONTOPPLACEMENTTYPE', //topplacement, premiumplacement oder showcaseplacement
471471
// Benutze "body" um den vollständigen Body mitzugeben or "realestateids" für eine komma separierte Liste
472+
// in der Rest.php wird aus der Liste ein Array, falls "realestateids" genutzt wird
472473
//'body'=>
473474
// '<ONTOPPLACEMENTTYPE:ONTOPPLACEMENTTYPEs xmlns:ONTOPPLACEMENTTYPE="http://rest.immobilienscout24.de/schema/offer/ONTOPPLACEMENTTYPE/1.0" xmlns:xlink="http://www.w3.org/1999/xlink">
474475
// <ONTOPPLACEMENTTYPE realestateid="ScoutID"/>
@@ -533,6 +534,14 @@
533534
//$res = $oImmocaster->deletebylistOntopplacement($aParameter);
534535
//echo '<div class="codebox"><textarea>'.$res.'</textarea></div>';
535536

537+
/**
538+
* Ein Video (Streaming) zu einem Objekt hochladen
539+
* 1. Video Upload Ticket von ImmobilienScout24 erhalten
540+
* 2. Video bei picesearch hochladen
541+
* 3. Video von picsearch zu Objekt von ImmobilienScout24 referenzieren
542+
* API Doku: http://api.immobilienscout24.de/our-apis/import-export/attachments/post.html
543+
*
544+
*/
536545
echo '<h2>Ein Video zu einem Objekt hochladen (3 Schritte).<br/><br/>';
537546
/*$aParameter = array ('username'=>'USERNAME', 'file' => 'LOCATION', 'estateid' => 'ESTATEID', 'title' => 'TITLE');
538547
$ticket = $oImmocaster->getVideoUploadTicket($aParameter);
@@ -550,7 +559,40 @@
550559
echo '<h5>3. Bei ImmobilienScout24 Video von picsearch verknüpfen (POST Attachment@IS24).<br/><br/>';
551560
echo '<div class="codebox"><textarea>'.$postAttachment.'</textarea></div>';*/
552561

553-
?>
562+
/**
563+
* Attachmentreihenfolge eines Objektes über die ObjektID auslesen.
564+
* Es werden nur Bilder und PDFs betrachtet.
565+
* API Doku: http://api.immobilienscout24.de/our-apis/import-export/attachments/attachmentsorder-get.html
566+
*
567+
*/
568+
echo '<h2>Attachmentsreihenfolge eines Objektes über die ID auslesen.</h2><br/>Diese Funktion wurde auskommentiert, da dafür eine aktuelle ObjektNr benötigt wird.<br/><br/>';
569+
//$aParameter = array('username'=>'USERNAME','estateid'=>'ESTATEID' /*ScoutID oder ext-ObjektNr*/);
570+
//$res = $oImmocaster->getObjectAttachmentsorder($aParameter);
571+
//echo '<div class="codebox"><textarea>'.$res.'</textarea></div>';
554572

573+
/**
574+
* Attachmentreihenfolge eines Objektes ändern.
575+
* Es werden nur Bilder und PDFs betrachtet.
576+
* Es ist im SDK möglich den XML Part direkt weiterzugeben oder sortierte Liste von ESTATEIDs.
577+
* API Doku: http://api.immobilienscout24.de/our-apis/import-export/attachments/attachmentsorder-put.html
578+
*/
579+
echo '<h2>Attachmentsreihenfolge eines Objektes über die ID ändern.</h2><br/>Diese Funktion wurde auskommentiert, da dafür eine Zertifizierung nötig ist.<br/><br/>';
580+
/*$aParameter =
581+
array(
582+
'username'=>'USERNAME',
583+
'estateid'=>'ESTATEID',
584+
//Benutze "body" um den vollständigen Body mitzugeben or "attachmentids" für eine komma separierte Liste
585+
// in der Rest.php wird aus der Liste ein Array, falls "attachmentids" genutzt wird
586+
//'body'=>
587+
// <attachmentsorder:attachmentsorder xmlns:attachmentsorder="http://rest.immobilienscout24.de/schema/attachmentsorder/1.0">
588+
// <attachmentId>664055530</attachmentId>
589+
// <attachmentId>664055529</attachmentId>
590+
// </attachmentsorder:attachmentsorder>'
591+
'attachmentids'=>'ATTACHMENTID1,ATTACHMENTID2,...' // ScoutIDs, _nicht_ externalID des Objektes
592+
);
593+
$res = $oImmocaster->changeObjectAttachmentsorder($aParameter);
594+
echo '<div class="codebox"><textarea>'.$res.'</textarea></div>';*/
595+
596+
?>
555597
</body>
556598
</html>

0 commit comments

Comments
 (0)