Vytvoření kontaktu
POST
/api/v2/admin/contactsZaloží nový kontakt v adresáři firmy. Jediné povinné pole je name; type má výchozí hodnotu BOTH, code prázdný řetězec a disposable false. Odpověď má HTTP 201 a obsahuje id a úplná data kontaktu ve tvaru jako detail kontaktu.
Pole type, name, code a ostatní textová pole jsou popsaná v tabulce parametrů. U textových polí platí: prázdný řetězec nebo hodnota jiného typu než řetězec pole vymaže (uloží null); pole, které v těle není, se u úpravy nemění. Výjimky: code se vymaže na prázdný řetězec a ic a dic přijmou i číslo.
Autentizace a oprávnění
Vyžaduje API token: Bearer v hlavičce nebo URL token.
Parametry
Tělo požadavku
| Název | Typ | Povinný | Popis | Příklad |
|---|---|---|---|---|
name | string | ano | Jméno nebo název firmy. Při vytvoření povinné; při úpravě nesmí být prázdný řetězec (vynechání ponechá původní hodnotu). | Ukázkový odběratel s.r.o. |
type | enum | ne | Druh kontaktu: BOTH (odběratel i dodavatel), SUB (odběratel), SUP (dodavatel), CUS (zákazník). Velikost písmen se nerozlišuje; výchozí je BOTH. | BOTH |
disposable | boolean | ne | Jednorázový kontakt uložený jen k dokladu. Takový kontakt se nezobrazuje ve výpisech; výchozí false. | |
surname | string | ne | Příjmení (u fyzických osob). | null |
alias | string | ne | Zkrácený název nebo přezdívka. | null |
code | string | ne | Vlastní kód kontaktu; výchozí prázdný řetězec. | ODB1 |
street | string | ne | Ulice a číslo. | Ukázková 1 |
town | string | ne | Město. | Praha |
zip | string | ne | PSČ. | 11000 |
phone | string | ne | Telefon. | +420 123 456 789 |
mobile | string | ne | Mobilní telefon. | null |
email | string | ne | E-mail. | info@example.com |
web | string | ne | Webová adresa. | www.example.com |
person | string | ne | Kontaktní osoba. | Jana Ukázková |
function | string | ne | Funkce kontaktní osoby. | null |
ic | string | ne | IČ; delší hodnota se zkrátí na 15 znaků. | 12345678 |
dic | string | ne | DIČ; delší hodnota se zkrátí na 15 znaků. | CZ12345678 |
birth | string | ne | Datum narození jako text. | null |
bank | string | ne | Název banky. | Ukázková banka |
bankCode | string | ne | Kód banky. | 0100 |
accountNumber | string | ne | Číslo účtu. | 123456789 |
iban | string | ne | IBAN. | null |
swift | string | ne | SWIFT/BIC. | null |
text | string | ne | Poznámka. | null |
priceListId | integer | ne | ID ceníku firmy, který se u kontaktu uplatní. Hodnota null, 0 nebo prázdný řetězec ceník odebere. Alternativní název pole je priceList. | 2 |
Příklad požadavku
curl
curl -X POST 'https://www.elpokladny.cz/api/v2/admin/contacts' \
-H 'Authorization: Bearer elp_live_example.example_secret' \
-H 'Content-Type: application/json' \
--data-raw '{
"type": "BOTH",
"name": "Ukázkový odběratel s.r.o.",
"code": "ODB1",
"street": "Ukázková 1",
"town": "Praha",
"zip": "11000",
"ic": "12345678",
"dic": "CZ12345678",
"email": "info@example.com",
"priceListId": 2
}'PHP
<?php
$ch = curl_init('https://www.elpokladny.cz/api/v2/admin/contacts');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => array (
0 => 'Authorization: Bearer elp_live_example.example_secret',
1 => 'Content-Type: application/json',
),
CURLOPT_POSTFIELDS => '{
"type": "BOTH",
"name": "Ukázkový odběratel s.r.o.",
"code": "ODB1",
"street": "Ukázková 1",
"town": "Praha",
"zip": "11000",
"ic": "12345678",
"dic": "CZ12345678",
"email": "info@example.com",
"priceListId": 2
}',
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;javascript
const response = await fetch("https://www.elpokladny.cz/api/v2/admin/contacts", {
"method": "POST",
"headers": {
"Authorization": "Bearer elp_live_example.example_secret",
"Content-Type": "application/json"
},
"body": "{\n \"type\": \"BOTH\",\n \"name\": \"Ukázkový odběratel s.r.o.\",\n \"code\": \"ODB1\",\n \"street\": \"Ukázková 1\",\n \"town\": \"Praha\",\n \"zip\": \"11000\",\n \"ic\": \"12345678\",\n \"dic\": \"CZ12345678\",\n \"email\": \"info@example.com\",\n \"priceListId\": 2\n}"
});
const data = await response.json();Ukázkové odpovědi
Kontakt vytvořen (HTTP 201)
application/json
{
"status": "success",
"id": 21,
"data": {
"id": 21,
"type": "BOTH",
"name": "Ukázkový odběratel s.r.o.",
"surname": null,
"street": "Ukázková 1",
"town": "Praha",
"zip": "11000",
"phone": "+420 123 456 789",
"ic": "12345678",
"disposable": false,
"alias": null,
"code": "ODB1",
"email": "info@example.com",
"mobile": null,
"web": "www.example.com",
"person": "Jana Ukázková",
"function": null,
"dic": "CZ12345678",
"birth": null,
"bank": "Ukázková banka",
"bankCode": "0100",
"accountNumber": "123456789",
"iban": null,
"swift": null,
"text": null,
"priceListId": 2,
"priceList": 2
}
}
Chybí platný API token (HTTP 401)
application/json
{
"status": "error",
"message": "Unauthorized"
}
Chybí název (HTTP 400)
application/json
{
"status": "error",
"error": "Jméno / název firmy je povinný."
}
Možné chyby
| HTTP | Kdy | Podoba |
|---|---|---|
| 401 | Chybí nebo je neplatný API token. | status-message |
| 403 | API token se použil z IP adresy, která není u přístupu povolená. | status-message |
| 400 | Tělo není platný JSON objekt. | status-message |
| 400 | Chybí název, neplatný typ kontaktu (jiný než BOTH, SUB, SUP, CUS), nebo ceník neexistuje. | status-error |