Używamy plików cookie, aby ulepszać nasze usługi. Przeczytaj więcej o tym, jak używamy plików cookie i jak możesz je odrzucić.

Rozpocznij bezpłatny okres próbny

Delivety API

W Delivety staramy się, aby wszystko było tak proste, jak to tylko możliwe. 

Tak więc API Delivety to.

                                       

W tym przewodniku znajdziesz wyczerpujące informacje na temat korzystania z interfejsu API Delivety, aby rozpocząć wysyłanie zamówień z istniejącej strony lub aplikacji do aplikacji internetowej Delivety.
 Chcielibyśmy pomóc Ci rozpocząć pracę z Delivety API tak szybko, jak to możliwe, więc jeśli masz jakiekolwiek pytania, jesteśmy tutaj, aby Ci pomóc

Wprowadzenie 

Interfejs API Delivety to usługa sieciowa RESTful dla programistów umożliwiająca wysyłanie danych zamówień z istniejącej strony lub aplikacji do adresu URL webhook Delivety.

Delivety webhook URL

Aby korzystać z interfejsu API Delivety, należy założyć konto Delivety. Po utworzeniu konta otwórz sekcję Domena w panelu administracyjnym Delivety, a następnie wybierz domenę, z którą chcesz zintegrować swoją stronę lub aplikację (lub utwórz nową domenę, jeśli jeszcze jej nie masz). Następnie wybierz opcję "Odbieraj zamówienia z istniejącej strony". Pojawi się dedykowany adres URL webhook. Teraz nadszedł czas, aby Twoja strona lub aplikacja wysyłała dane zamówień do tego adresu URL webhook.

Korzystanie z webhooków

Twoja strona lub aplikacja musi wysyłać wywołanie zwrotne HTTPS do adresu URL webhook Delivety za każdym razem, gdy klient składa zamówienie w Twojej stronie lub aplikacji. Jeśli zostanie ono pomyślnie odebrane, Delivety odpowie komunikatem 2xxHTTP, a zamówienie natychmiast pojawi się w panelu operatora. Należy pamiętać, że istnieją wymagania dotyczące pomyślnego przetworzenia wywołania zwrotnego HTTPS....

Zawsze używaj HTTPS

Wywołania wykonane za pośrednictwem zwykłego protokołu HTTP zakończą się niepowodzeniem. Żądania API, w których brakuje obowiązkowych parametrów, również zakończą się niepowodzeniem.

Dławienie

Nie można wykonać więcej niż 10 żądań na sekundę we wszystkich adresach URL webhooków firmy. Jeśli przekroczysz próg 10 żądań na sekundę, najpierw otrzymasz błąd 426. Niezastosowanie się do tego wymogu może skutkować tymczasowym zablokowaniem konta.

Bezpieczeństwo

Użytkownik jest odpowiedzialny za bezpieczne korzystanie z adresów URL webhooków, które mu udostępniamy. W przypadku naruszenia jednego z nich, możesz zregenerować nowy dla odpowiedniej domeny w sekcji Domeny Pulpitu Administracyjnego Delivety. Nie zapominaj, że od tego momentu będziesz musiał wysyłać żądanie POST do nowego adresu URL webhook, który utworzyłeś.

Typy i formaty danych

Z nielicznymi wyjątkami, liczby są liczbami, a nie ciągami znaków. API ściśle przestrzega najbardziej naturalnej reprezentacji danych bazowych, a wartość null jest zawsze zwracana dla opcjonalnych właściwości, którym nie przypisano jeszcze wartości.

Współrzędne geograficzne są sformatowane jako [ długość geograficzna, szerokość geograficzna ], zgodnie ze standardem GeoJSON.

Znaczniki czasu są pobierane i tworzone w formacie czasu epoki systemu Unix, z dokładnością do milisekund.

Numery telefonów będą zawsze zwracane w formacie E.164; mogą być jednak dostarczane w formacie E.164 lub zlokalizowanym formacie, który jest ważny w oparciu o konfigurację kraju firmy. Jeśli chcesz podać numery z krajów innych niż kraj Twojej firmy, musisz użyć tylko E.164. Zdecydowanie zalecamy korzystanie z bibliotek takich jak libphonenumber do zarządzania walidacją i formatowaniem numerów telefonów.

Jak wysyłać dane

Żądanie postu


Wyślij dane jako żądanie POST z treścią zawierającą następujące parametry:

ParameterOpis
phoneNumer telefonu klienta, akceptowane są tylko symbole numeryczne. Służy jako identyfikator klienta.
idIdentyfikator zamówienia zgodnie z systemem identyfikacji zamówienia na stronie internetowej lub w aplikacji.
first_nameImię klienta. Możesz również podać jego nazwisko (opcjonalnie).
emailAdres e-mail klienta (opcjonalnie).
addressAdres klienta (opcjonalnie).
commentNotatka lub komentarz klienta (opcjonalnie).
delivery_dateData, kiedy zamówienie ma zostać dostarczone. Jest to parametr opcjonalny. W przypadku braku tego parametru zamówienie otrzyma datę dostawy TODAY.
delivery_timeCzas, w którym zamówienie ma zostać dostarczone. Jest to parametr opcjonalny. W przypadku braku tego parametru zamówienie otrzyma czas dostawy ASAP.
productZamówione produkty (tablica, patrz poniżej)
paymentDane płatności (opcjonalna tablica, patrz poniżej). 

W przypadku braku tablicy zamówienie otrzyma status UNPAID.

promotionDane promocji (opcjonalna tablica, patrz poniżej)

Zestawienie produktów

Tablica produktów musi zawierać następujące parametry:

ParametrOpis
api_idIdentyfikator potrawy zgodnie z systemem identyfikacji potrawy w stronie lub aplikacji. Musisz ustawić te same identyfikatory API, co identyfikatory produktów dla każdego dania w Konstruktorze Menu Delivety
countIlość dań dla danego api_id
priceCena dania o określonym api_id

Tablica płatności

Tablica płatności musi zawierać następujące parametry:

ParametrOpis
type

Metoda płatności użyta dla tego zamówienia. Wartość musi zawierać:

"1", jeśli zamówienie zostało opłacone gotówką, lub

"2", jeśli zamówienie zostało opłacone kartą, lub

"3", jeśli zamówienie zostało opłacone kartą przy odbiorze

status

Status płatności kartą użytej do tego zamówienia. Wartość musi zawierać:

"-1", jeśli płatność została zwrócona

"0", jeśli płatność została anulowana

"1", jeśli płatność nie została jeszcze przetworzona.

"2", jeśli płatność została pomyślnie przetworzona.

sumSuma cen wszystkich pozycji w zamówieniu. W większości przypadków jest to całkowita kwota zamówienia przed odliczeniem wszelkich rabatów i/lub opłat za przetwarzanie płatności (reciver_commission).
amountCałkowita kwota zapłacona (lub do zapłaty) za zamówienie. W większości przypadków kwota jest równa sumie pomniejszonej o rabat i prowizję procesora płatności (reciver_commission).
public_keyOpcjonalny parametr dla płatności kartą służący do identyfikacji numeru konta, na które ma zostać przetworzona płatność. Ten parametr jest używany, jeśli masz więcej niż jedno konto bankowe i/lub korzystasz z wielu procesorów płatności i wolisz je rozróżniać w Delivety.
reciver_commissionEwentualna prowizja procesora płatności.

Macierz promocji

Tablica promocyjna musi zawierać następujące parametry:

ParametrOpis
discountOpcjonalny parametr zawierający całkowitą kwotę rabatu w zamówieniu.
discount_percentOpcjonalny parametr zawierający procent zniżki w zamówieniu.
discount_codeOpcjonalny parametr zawierający alfanumeryczny kod kuponu zastosowany do zamówienia.
involved_dishesOpcjonalna tablica zawierająca dania objęte promocją.
resulted_dishesOpcjonalna tablica zawierająca dania będące wynikiem promocji.

Wynikowa tablica naczyń

Tablica resulted_dishes musi zawierać następujące opcjonalne parametry:

ParameterOpis
api_idIdentyfikator dania, które jest wynikiem promocji. Nie wolno wysyłać tego dania w tablicy produktów
countIlość dań dla danego api_id
modificationModyfikacja ceny dania, która jest wynikiem promocji

Żądanie postu

Przykład kodu PHP udanego żądania POST pokazany poniżej ilustruje zamówienie, z dwoma zamówionymi daniami (api_id = 139, api_id = 385) z 10% rabatem i jednym otrzymanym za darmo, w wyniku obniżenia ceny:


$url = 'https://delivety.com/hooks/catch/sdf34asdv1';
$incoming_order = [
"access_token" => "ACCESS_TOKEN_HERE",
"phone" => '123680000000',
"id" => 123456,
"first_name" => 'John Dowe',
"email" => '[email protected]',
"address" => '123, Sunset blvd',
"comment" => 'no sesame please',
"delvery_date" => '2021-12-31',
"delvery_time" => '18:45:00',
"products" => [
[
"api_id" => 139,
"count" => 1,
"price" => 15
],
[
"api_id" => 385,
"count" => 1,
"price" => 18
],
],
"payment" => [
"type" => 2,
"status" => 2,
"sum" => 33,
"amount" => 28.95,
"receiver_commision" => 1.05
],
"promotion" => [
"discount_percent" => 10,
"involved _dishes" => [
[
"api_id" => 139,
"count" => 1
],
[
"api_id" => 385,
"count" => 1
]
],
"resulted _dishes" => [
[
"api_id" => 598,
"count" => 1,
"modification" => -12
]
]
]
];
$data = sendRequest($url, 'post', $incoming_order);







Dołącz do Delivety za darmo

Rozpocznij miesięczny bezpłatny okres próbny już dziś, aby uzyskać dostęp do zaawansowanych narzędzi do zarządzania firmą dostarczającą jedzenie.