Vytvoření kontaktu

POST
/api/v2/admin/contacts

Založí 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ázevTypPovinnýPopisPříklad
namestring anoJmé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.
typeenum neDruh 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
disposableboolean neJednorázový kontakt uložený jen k dokladu. Takový kontakt se nezobrazuje ve výpisech; výchozí false.
surnamestring nePříjmení (u fyzických osob). null
aliasstring neZkrácený název nebo přezdívka. null
codestring neVlastní kód kontaktu; výchozí prázdný řetězec. ODB1
streetstring neUlice a číslo. Ukázková 1
townstring neMěsto. Praha
zipstring nePSČ. 11000
phonestring neTelefon. +420 123 456 789
mobilestring neMobilní telefon. null
emailstring neE-mail. info@example.com
webstring neWebová adresa. www.example.com
personstring neKontaktní osoba. Jana Ukázková
functionstring neFunkce kontaktní osoby. null
icstring neIČ; delší hodnota se zkrátí na 15 znaků. 12345678
dicstring neDIČ; delší hodnota se zkrátí na 15 znaků. CZ12345678
birthstring neDatum narození jako text. null
bankstring neNázev banky. Ukázková banka
bankCodestring neKód banky. 0100
accountNumberstring neČíslo účtu. 123456789
ibanstring neIBAN. null
swiftstring neSWIFT/BIC. null
textstring nePoznámka. null
priceListIdinteger neID 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

Chybové stavy

HTTPKdyPodoba
401Chybí nebo je neplatný API token. status-message
403API token se použil z IP adresy, která není u přístupu povolená. status-message
400Tělo není platný JSON objekt. status-message
400Chybí název, neplatný typ kontaktu (jiný než BOTH, SUB, SUP, CUS), nebo ceník neexistuje. status-error

Související návody