La conținut
Type — API pentru site
Secțiuni

Introducere

API-ul pentru site-ul de închiriere este modul în care un site cu apartamente în regim hotelier ia date din Type CRM și trimite acolo cererile. Site-ul se adresează CRM-ului de pe serverul său: citește obiectele, ocuparea și prețurile, calculează costul șederii și creează cererea de rezervare. La rândul său, CRM-ul anunță site-ul printr-un webhook că datele s-au schimbat și cache-ul trebuie golit.

Ce poate API-ul

  • Catalog: obiectele cu texte în limba dorită, fotografii, facilități și prețul nopții; raioanele (grupurile) pentru filtru.
  • Ocupare: intervalele ocupate ale obiectelor — pentru calendarul de pe pagina obiectului.
  • Calcul: prețul fiecărei nopți, reducerile și totalul pentru datele alese — același calcul ca în CRM.
  • Prețuri pe date: costul și disponibilitatea tuturor obiectelor deodată — pentru filtrul catalogului.
  • Cerere de rezervare: formularul site-ului creează în CRM o tranzacție la etapa „Cerere”.
  • Adrese vechi: tabelul de redirecționări de la paginile vechi (WooCommerce, adresele anterioare ale obiectelor).
  • Webhook: CRM-ul anunță site-ul că s-au schimbat obiectele, prețurile sau ocuparea.

Toate rutele sunt în referință, iar clientul gata făcut pentru Node.js este pachetul @type/site-client.

Cum funcționează accesul

Site-ul se adresează CRM-ului cu o cheie API în antet:

http
Authorization: Bearer tk_<key_id>_<secret>
  • Cheia se trimite doar de pe serverul site-ului și doar prin HTTPS. CRM-ul nu răspunde browserului (fără CORS), iar cheia din adresă, cookie sau corpul cererii o respinge cu eroarea 400 api_key_misplaced.
  • Cheia are nevoie de dreptul „Chirii: site” (rental:site). Alte drepturi site-ului nu-i trebuie.
  • Dreptul funcționează cât timp compania are modulul de închiriere activat. Dacă modulul este dezactivat, răspunsul este 403 scope_unavailable.

Detalii — în secțiunea „Securitate”.

Cheia „Chirii: site”

Cheia o creează proprietarul sau administratorul companiei în CRM: Setări → Integrări → API.

  1. Apăsați „Creați o cheie” și dați-i o denumire (de exemplu, „Site”).
  2. Bifați un singur drept — „Chirii: site”.
  3. Setați valabilitatea (recomandăm un an) și, dacă serverul site-ului are un IP fix, lista IP-urilor permise.
  4. Copiați cheia: CRM-ul o arată o singură dată. Păstrați-o în variabilele de mediu ale serverului site-ului.

În lista cheilor se vede când a fost folosită cheia ultima dată.

Reemitere și revocare

  • „Reemiteți” dă un secret nou aceleiași chei, drepturile și setările rămân. Secretul vechi mai funcționează 24 de ore, ca să apucați să actualizați site-ul, sau nu mai funcționează imediat — se alege la reemitere.
  • „Revocați” dezactivează cheia imediat (în câteva secunde). Site-ul va primi 401 api_key_invalid.
  • O cheie revocată sau expirată poate fi „Ștearsă” din listă.

Webhook

Adresa webhook-ului și secretul lui se setează în Setări → Chirii → Site. Tot acolo este butonul „Verificați” — trimite un apel de test. Formatul și verificarea semnăturii — în secțiunea „Webhook-uri”.

Ce urmează

  1. Instalați pachetul și faceți prima cerere.
  2. Vedeți cum se calculează prețurile și reducerile.
  3. Configurați redirecționările de la adresele vechi și webhook-ul.