API Offers – TecArt-CRM Developer-Wiki

API Offers

Aus TecArt-CRM Developer-Wiki

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Hinweis

API Klassen und deren Funktionen können nur mit CRM System mit Version >= 3.2 genutzt werden

Methods

addOffer

Syntax:

int addOffer( array $offer )


Beschreibung:

Gibt eine offer_id zurück.

Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.

Eigenschaften von offer array:

Type(Length)            Eigenschaft                  Beschreibung
---------------------------------------------------------------------------------------------
int                     $number                   RealNumber des Angebots 
string(255)             $shortdesc                Kurzbeschreibung des Angebots
string(255)             $cid                      Contact-Id, Format: Contact-Id:Person-Id
string(255)             $category                 Kategorie des Angebots
double                  $amount                   Höhe des Angebots in €
double                  $amount_interval          Intervallhöhe des Angebots in €
int                     $tax                      Steuer des Angebots in Prozent
int                     $date                     Unix-Timestamp der Angebotserstellung
int                     $maturity                 Unix-Timestamp des Fälligkeitsdatums
int                     $status                   Status des Angebots
                                                  0 = offen
                                                  1 = angenommen
                                                  2 = abgelehnt
                                                  3 = Losgelöst vom Angebot
                                                  4 = verworfen
int                     $pid                      Project-Id
string(65535)           $notes                    Notizen

string(255)             $user13                   Benutzerdefiniertes Feld Nr. 13
string(255)             $user14                   Benutzerdefiniertes Feld Nr. 14
   :                       :                                   :
string(255)             $user80                   Benutzerdefiniertes Feld Nr. 80

Beispiel:

<?php
 
// Add new offer
 
$offer = array();
$offer['shortdesc'] 		= 'Webservice Development';
$offer['amount'] 		= 899.50;
$offer['amount_interval'] 	= 89.95;
$offer['tax'] 			= 19;
$offer['date'] 			= 1203030000;
$offer['maturity'] 		= 1203807600;
$offer['notes']			= 'test';
$offer['status']		= 1;
$offer['user13']		= 'xxx';
$offer['user14']		= 'yyy';
$offer['pid']			= 360;
$offer['cid']			= '5485:5336';
 
try {
    $crmapi_offers = crmapi::offers();
 
    $offer_id = $crmapi_offers->addOffer($offer);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $offer_id;
 
?>

getOffer

Syntax:

array getOffer( int $offer_id )


Beschreibung:

Gibt ein offer array mit einem Element zurück.

Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.

Eigenschaften des zurückgegebenen offer array:

Type(Length)            Eigenschaft                  Beschreibung
---------------------------------------------------------------------------------------------
int                     $id                       Offer-Id 
int                     $number                   RealNumber des Angebots
string(255)             $shortdesc                Kurzbeschreibung des Angebots
string(255)             $cid                      Contact-Id, Format: Contact-Id:Person-Id
string(255)             $cname                    Kontakt-Name
string(255)             $category                 Kategorie des Angebots
double                  $amount                   Höhe des Angebots in €
double                  $amount_interval          Intervallhöhe des Angebots in €
int                     $tax                      Steuer des Angebots in Prozent
int                     $date                     Unix-Timestamp der Angebotserstellung
int                     $maturity                 Unix-Timestamp des Fälligkeitsdatums
int                     $status                   Status des Angebots
                                                  0 = offen
                                                  1 = angenommen
                                                  2 = abgelehnt
                                                  3 = Losgelöst vom Angebot
                                                  4 = verworfen
int                     $pid                      Project-Id
string(255)             $pname                    Projekt-Name
string(65535)           $notes                    Notizen

int                     $chguser                  Userid der letzten Änderung 
int                     $chgtime                  Unix-Timestamp der letzten Änderung
int                     $createuser               Userid der Angebotserstellung
int                     $createtime               Unix-Timestamp der Angebotserstellung

string(255)             $user13                   Benutzerdefiniertes Feld Nr. 13
string(255)             $user14                   Benutzerdefiniertes Feld Nr. 14
   :                       :                                   :
string(255)             $user80                   Benutzerdefiniertes Feld Nr. 80

Example:

<?php
 
// Get Offer with ID 299
try {
    $crmapi_offers = crmapi::offers();
 
    $offer = $crmapi_offers->getOffer(299);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($offer as $key => $val) 
{
    echo $key." => ".$val."<br/>\n";
    if (is_array($val)) echo serialize($val);
}
 
?>

getOffersFrom

Syntax:

array getOffersFrom(int $month, int $year )


Beschreibung:

Gibt ein offer array vom mit Angeboten seit dem gegebenem Datum zurück.

Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.

Wenn month gesetzt ist, werden nur Angebote aus diesem Monat zurückgegeben, auf 0 gesetzt werden alle Monate zurückgegeben.

Wenn year gesetzt ist, werden nur Angebote aus diesem Jahr zurückgegeben, auf 0 gesetzt werden alle Jahre zurückgegeben.


Eigenschaften des zurückgegebenen offers array:

sind die selben wie für #getOffer


Beispiel:

<?php
 
try {
    $crmapi_offers = crmapi::offers();
 
    // Get all offers 
    $result = $crmapi_offers->getOffersFrom(0, 0);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($result as $offer) 
{
    foreach($offer as $key => $val) 
    {
        echo $key." => ".$val."<br/>\n";
        if (is_array($val)) echo serialize($val);
    }
    echo "<hr/>";
}
 
?>

changeOffer

Syntax:

int changeOffer ( int $offer_id, array $offer )


Beschreibung:

Ändert Eigenschaften eines existierenden Angebots.

Gibt die offer_id zurück.

Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.

Eigenschaften von $offer array:

sind die selben wie für #addOffer


Beispiel:

<?php
 
try {
    $crmapi_offers = crmapi::offers();
 
    $offer = array();
    $offer['shortdesc'] = 'API-Offer changed';
 
    // Change short Beschreibung of offer with ID 299
    $offer_id = $crmapi_offers->changeOffer(299, $offer);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
echo $offer_id;
 
?>

getChangedOffers

Syntax:

array getChangedOffers( int $timestamp )


Beschreibung:

Gibt ein Array mit offer arrays zurück, die seit timestamp geändert wurden.

Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.

Eigenschaften des zurückgegebenen offer arrays:

sind die selben wie für #getOffer

Beispiel:

<?php
 
try {
    $crmapi_offers = crmapi::offers();
 
    // Get Offers modified in the last 30 days
    $result = $crmapi_offers->getChangedOffers( time() - 60 * 60 * 24 * 30 );
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($result as $offer) 
{
    foreach($offer as $key => $val) 
    {
        echo "$key => $val<br/>\n";
        if (is_array($val)) echo serialize($val);
    }
    echo "<hr/>";
}
 
?>

getChangedOffersLimit

Syntax:

array getChangedOffersLimit( int $timestamp, int $count, int $offset )


Beschreibung:

Gibt offer arrays zurück, die seit timestamp geändert wurden, limitiert von count und offset.

Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.


Eigenschaften des zurückgegebenen offer objects:

sind die selben wie für #getOffer


Beispiel:

<?php
 
try {
    $crmapi_offers = crmapi::offers();
 
    // Get last 10 offers modified in the last 30 days
    $result = $crmapi_offers->getChangedOffersLimit( time() - 60 * 60 * 24 * 30, 10, 0 );
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($result as $offer) 
{
    foreach($offer as $key => $val) 
    {
        echo "$key => $val<br/>\n";
        if (is_array($val)) echo serialize($val);
    }
    echo "<hr/>";
}
 
?>

getOfferIds

Syntax:

array getOfferIds( int $timestamp )


Beschreibung:

Gibt ein Array mit offer_ids von Angeboten zurückt, die seit timestamp geändert wurden(0 für alle).

Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.

Hinweis: Es werden nur Angebote zurückgegeben, für die der authentifizierte Nutzer Leseberechtigungen hat.


Eigenschaften:

Type(Length)      Eigenschaft          Beschreibung
-------------------------------------------------------------------
int               $id                  Offer-Id 

Beispiel:

<?php
 
try {
    $crmapi_offers = crmapi::offers();
 
    // Get all offer ids
    $result = $crmapi_offers->getOfferIds(0);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($result as $id) 
{
    echo $id."<br/>";
}
 
?>

deleteOffer

Syntax:

void deleteOffer( int $offer_id )


Beschreibung:

Löscht ein Angebot.

Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.


Beispiel:

<?php
 
try {
    $crmapi_offers = crmapi::offers();
 
    // Delete offer with ID 299
    $result = $crmapi_offers->deleteOffer(299);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
?>

searchOffers

(CRM >= 3.4.4704)

Syntax:

 array searchOffers( array $search_term, int $timestamp, int $count, int $offset ) 


Beschreibung:

Gibt ein Array mit Angeboteinformationen zurück.

$search_term ist ein assoziatives Array, bei dem der key das Feld zum Suchen und der value der Suchstring ist. Sie können ein %-Zeichen am Anfang und/oder Ende der Zeichenfolge als Platzhalter verwenden.

$timestamp ist die Unix-Zeit, wann das Angebot geändert wurde.

$count ist die maximale Anzahl, die zurückgegeben wird.

$offset ist die Offset Position der Ergebnisse, die zurückgegeben werden sollen.


Eigenschaften des zurückgegebenen Array: die gleichen wie für #getOffer


Beispiel:

<?php
 
try {
    $crmapi_offers = crmapi::offers();
 
    // Get the first 10 offers with subject like 'CRM' AND expiration date is 30.11.2011 AND have changed since 01.11.2011
    $search = array( 'shortdesc'  => '%CRM%', 'maturity' => '1322607600' );
 
    $offers  = $crmapi_offers->searchOffers($search, 1320102000, 10, 0);
 
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach( $offers as $key => $val) {
    echo "$key => $val<br/>\n";
}
?>

getOfferFields

(CRM >= 3.5)

Syntax:

 array getOfferFields() 


Beschreibung:

Gibt ein Array mit Information der Feldern für Angebot zurück. Die Info enthält die Felder in der Datenbank, die angezeigte Namen und die Typen der Felder.

Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.


Eignenschaften von zurückgegebenen array:

Typ(Länge)              Eigenschaft               Beschreibung
---------------------------------------------------------------------------------------------
string(255)             Key                       Name des Feldes in der Datenbank
array(255)              Value                     Array mit 
                                                  label: der angezeigte Name des Feldes
                                                  field: Name des Feldes in der Datenbank
                                                  type:  Typ des Feldes


Beispiel:

<?php
 
try {
    $crmapi_offers = crmapi::offers();
 
    $fields = $crmapi_offers->getOfferFields();
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach( $fields as $key => $val) {
    echo $key ." => ". $val['label'] ."<br/>";
}
 
?>