salesdesk API dokumentation

Det meste af CRM'et er tilgængeligt gennem vores API. Nedenfor kan du se en liste med data du har adgang til via vores API.

  • Virksomheder
  • Kontakter
  • Ordre
  • Deals
  • Brugere

Salesdesk API er udviklet til at være intuitiv og virker med POST, GET, PUT and DELETE.

 

Endpoint

Du kan tilgå API'en på denne adresse:

  • https://api.salesdesk.net/v1

API'en er sikret med SSL.

 

Godkendelse

For at bruge API'en skal du først oprette en API-nøgle, som du opretter på i CRM'et.

URL'en kan exempelvis se sådan ud:

  • https://api.salesdesk.net/v1/get/companies?key=API_KEY

 

Hvordan kan jeg bruge API'en?

Grundlæggende kan du bruge API'en til at oprette, opdatere, hente og slette alt i CRM'et. Vi bruger i høj grad selv API'en til at bygge CRM'et med. På denne måde sikrer vi dig rige handlemulighed når du bruger salesdesk API.

 

Og nu til det spændende..

Lad os komme i gang med nogle eksempler

 

Eksempel#1: Hent liste fra CRM

  • https://api.salesdesk.net/v1/get/companies?key=API_KEY

For at hente andre lister skal du blot udskifte "get/companies" med en af følgende

  • /get/contacts
  • /get/deals
  • /get/invoices
  • /get/users

 

Eksempel #2: Hent data for et enkelt ID fra CRM'et

Enkelte ID'er kan tilgås ved at bruge "get/123456" i stedet for eksempel "get/company".

  • https://api.salesdesk.net/v1/get/{id}?key=API_KEY

 

Eksempel #3: Data format JSON OG XML

Som standard bliver data returneret i JSON-format. Hvis du ønsker XML-format kan du bruge eksemplet nedenfor.

  • https://api.salesdesk.net/v1/get/contacts/xml?key=API_KEY

 

PHP class eksempel

Nedenfor kan du se et eksempel på hvordan du laver en forespørgsel til API'en. Eksemplet viser outputtet fra API'en som en array.

// Class to make request to salesdesk API
class salesdeskClient {
	
	private $api_key;

	public function __construct($api_key) {
		$this->api_key = $api_key;
	}

	public function request($method, $url, $output = 'json', $body = null) {
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL, 'https://api.salesdesk.net/v1/'.$method.'/'.$url.'/'.$output.'?key='.$this->api_key);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
		if ($body) {
			curl_setopt($ch, CURLOPT_POSTFIELDS ,$body);
		}
			$result = curl_exec($ch);
			return $body = json_decode($result, true);
	}
}

 

Skruktur

GET: Liste output (Henter alle virksomheder fra CRM'et)

  • https://api.salesdesk.net/v1/get/companies?key=API_KEY
{
    "companies": [
        {
            "id": "123456",
            "sd_company_name": "All for the garden Corp.",
            ...
        },
        {
            "id": "123457",
            "sd_company_name": "Electronic store",
            ...

        },
        ...
}

Listen indeholder kun alle data for hver virksomhed og ikke relateret data, som fakturaer, deals og kontakter. For at få informationer om disse skal du lave en forespørgesel direkte på ID'et for virksomheden. Se nedenfor.

 

GET: Hent ID output

  • https://api.salesdesk.net/v1/get/123456?key=API_KEY
{
    "data": [
        {
            "id": "123456",
            "owners": [
                {
                    "id": "123457",
                    "email": "unreal@salesdesk.net",
                    "sd_user_name": "Mike B. Jason",
                    ...
                }
            ],
            "relations": [
                {
                    "contacts": [
                        {
                            "id": "123458"
                            ...
                        },
                        ...
                    ]
                },
                {
                    "deals": [
                        {
                            "id": "123459",
                            ...
                        },
                        ...
                    ]
                },
                {
                    "invoices": [
                        {
                            "id": "123460",
                            ...
                        },
                        ...
                    ]
                }
            ],
            "sd_company_name": "All for the garden Corp.",
            "sd_company_domain_name": "www.allforthegardencorp.com",
            ...
        }
    ]
}

Data for ID viser kun alle data for det enkelte ID og ikke relaterede ID'er (relations) og ejere (owners). For at få fuld dataoversigt for disse skal du lave en forespørgsel direkte på hver af deres ID. Deres direkte sti kan findes under "api_url".

 

POST: Opret nyt ID

$client = new salesdeskClient('API_KEY');

//Create a new record (we will create a company in this example)
$result = $client->request("POST", "companies", 'json', array(
	'sd_company_name' => 'New company',
	'sd_company_city' => 'New York City'
));

// Id of created company
$companyId = $result['id'];

Output (json)

{
    "id": [
        {
            "123456"
        }
}

 

PUT: Opdater eksisterende ID

$client = new salesdeskClient('API_KEY');

// Unique id from CRM
$recordId = '123456';

// Update record
$result = $client->request("PUT", $recordId, 'json', array(
	'sd_company_name' => 'New company name',
	'sd_company_city' => 'New city',
));

Output (json)

{
    "status": [
        {
            "Success"
        }
}

 

DELETE: Slet ID

$client = new salesdeskClient('API_KEY');

// Unique id from CRM
$recordId = '123456';

// Update record
$result = $client->request("DELETE", $recordId);

Output (json)

{
    "status": [
        {
            "Success"
        }
}

 

Fejlhåndterings-output

Hvis der er fejl i forespørgslen vil du få returneret en meddelelse om fejlen. Hvis der er fejl i forespørgslen kan forespørglen ikke blive udført før fejlen er rettet.

Output (json)

{
    "error": [
        {
            "Error message"
        }
}

 

Sideinddeling

Mænden af ID'er der kan hentes i én API forespørgsel er begrænset til 1000. Hvis listen indeholder mere end 1000 vil der automatisk blive tilføjet data for dette i outputtet, som du kan navigere mellem siderne.