4.0 KiB
RAYNET konektor – vytvoření firmy
Stateless proxy nad RAYNET CRM API v2.
Autentizace RAYNET
RAYNET API používá:
- HTTP Basic Auth: username = email uživatele, password = API klíč
- hlavičku
X-Instance-Name= název instance - base URL:
https://app.raynet.cz/api/v2
V této službě se API klíč (secret) předává hlavičkou X-Api-Key. Email a název
instance jsou běžné identifikátory a předávají se v těle požadavku.
Secret se nikdy neloguje, necommituje ani nevrací z endpointů (viz AGENTS.md).
Endpoint
POST /company
Veřejně přes AppFactory reverse proxy:
POST https://services.csbot.cz/apps/<app-id>/company
Hlavičky
| Hlavička | Povinná | Popis |
|---|---|---|
X-Api-Key |
ano | RAYNET API klíč (secret) |
Tělo požadavku
{
"email": "user@firma.cz",
"instance_name": "moje-instance",
"company": {
"name": "ACME s.r.o.",
"rating": "A",
"state": "A_POTENTIAL",
"role": "A_SUBSCRIBER",
"regNumber": "12345678",
"taxNumber": "CZ12345678",
"taxPayer": "YES",
"addresses": [
{
"address": {
"name": "Sídlo klienta",
"street": "Francouzská 6167/5",
"city": "Ostrava",
"province": "Morava",
"zipCode": "708 00",
"country": "CZ"
},
"contactInfo": {
"email": "info@acme.cz",
"tel1": "+420 553 401 520",
"tel1Type": "recepce",
"www": "www.acme.cz"
}
}
],
"tags": ["import", "konektor"]
}
}
Povinná pole firmy
| Pole | Typ | Hodnoty |
|---|---|---|
name |
string | název firmy |
rating |
enum | A, B, C |
state |
enum | A_POTENTIAL, B_ACTUAL, C_DEFERRED, D_UNATTRACTIVE |
role |
enum | A_SUBSCRIBER, B_PARTNER, C_SUPPLIER, D_RIVAL |
Volitelná pole: regNumber (IČO), taxNumber (DIČ), taxPayer (YES/NO),
bankAccount, notice, owner, category, legalForm, paymentTerm,
turnover, territory, addresses, tags, customFields a další dle
RAYNET CompanyInsertDto. Neuvedená/null pole se do RAYNET neposílají.
Odpověď (200)
{
"id": 123456,
"success": true,
"raw": { "...": "surová odpověď RAYNET" }
}
Chybové stavy
| HTTP | Kdy |
|---|---|
| 400 | RAYNET odmítl data (nevalidní vstup) |
| 401 | chybný API klíč / email / instance (autentizace selhala) |
| 422 | nevalidní tělo požadavku (FastAPI validace) |
| 502 | RAYNET nedostupný / chyba serveru / timeout |
Použití konektoru přímo v Pythonu
from app.raynet_client import RaynetClient, RaynetError
client = RaynetClient(api_key="...", email="user@firma.cz", instance_name="moje-instance")
try:
company = client.create_company({
"name": "ACME s.r.o.",
"rating": "A",
"state": "A_POTENTIAL",
"role": "A_SUBSCRIBER",
})
print(company["id"])
except RaynetError as exc:
print("Chyba:", exc.message, exc.status_code)
RaynetClient drží requests.Session (Basic Auth + X-Instance-Name),
automaticky opakuje přechodné chyby (síť, 429, 5xx) a vyhazuje typované
výjimky RaynetAuthError / RaynetValidationError / RaynetError.
Ověření po nasazení
GET https://services.csbot.cz/apps/<app-id>/health
GET https://services.csbot.cz/apps/<app-id>/docs
POST https://services.csbot.cz/apps/<app-id>/company (Swagger „Try it out")