Skocz do zawartości

[PHP] api.edm (mydr) kod błędu


HERO

Rekomendowane odpowiedzi

Hej pisze bo zaraz mnie cos trafi a helpdesk nie odpisuje 

 

chodzi o tworzenie wizyt 

https://api.edm.mydr.pl/api-docs/#operation/Tworzenie%20Wizyty

 

wymagane jest : patient, doctor, office, date 

 

moj kod 

 

$dane = array(
        "patient" => $userID,
        "doctor" => 5896,
        "office" => 2895,
        "date" => "2023-01-20",
        "timeFrom" => "16:32:00",
        "timeTo" => "16:35:00",
        "state" => "Zaplanowana",
        "visit_type" => [
            0
        ],
        "interview" => "",
        "recommendation" => "",
        "examination" => "",
        "visit_kind" => "Prywatna",
        "note" => "y6m4uP1D",
        "recognition_description" => "",
        "confirmed" => true
      );


    $curl = curl_init();
    curl_setopt_array($curl, array(
        CURLOPT_URL => "https://api.edm.mydr.pl/secure/ext_api/visits/",
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_ENCODING => "",
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 0,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => "POST",
        CURLOPT_POST => true,
        CURLOPT_POSTFIELDS => $dane,
        CURLOPT_HTTPHEADER => array(
            "Authorization: Bearer $kod"
        ),
    ));

    $response = curl_exec($curl);
    curl_close($curl);

 

i mi zwraca:

Array (

 => incorrect_type [type] => validation_error [detail] => Błędny typ danych. Oczekiwano wartość klucza głównego, otrzymano unicode. [attr] => visit_type )


 

Id usera, doktora i gabinetu wzialem z wczesniej dodanych do testowego api przez innych uzytkownikow ale co bym nie podsatwil pod visit_type czy 0, czy konkretny id typu wizyt np.:  11933 to dalej zwraca blad

typy wizyt wyciagam tez z api , skroca wersja ponizej

 

Array ( [0] => Array ( [id] => 11934 [name] => Testowa [state] => 1 [services] => Array ( ) [private_services] => Array ( ) [visittype_icd9] => Array ( ) [require_declaration] => [require_referral] => [visit_type_duration] => [reception_mode_choice] => ) [1] => Array ( [id] => 11933 [name] => Jednorazowa [state] => [services] => Array ( ) [private_services] => Array ( ) [visittype_icd9] => Array ( ) [require_declaration] => [require_referral] => [visit_type_duration] => [reception_mode_choice] => ) [2] => Array ( [id] => 9313 [name] => Konsultacja internistyczna [state] => 1 [services] => Array ( ) [private_services] => Array ( [0] => 2564 ) [visittype_icd9] => Array ( [0] => Array ( [icd9] => 947 [quantity] => 1 [code] => 00.09 ) ) [require_declaration] => [require_referral] => [visit_type_duration] => [reception_mode_choice] => ) [3] => Array ( [id] => 9312 [name] => Konsultacja pediatryczna [state] => 1 [services] => Array ( ) [private_services] => Array ( ) [visittype_icd9] => Array ( ) [require_declaration] => [require_referral] => [visit_type_duration] => [reception_mode_choice] => ) [4] => Array ( [id] => 9314 [name] => Konsultacja chirurgiczna [state] => 1 [services] => Array ( ) [private_services] => A

 

moze ja robie jakis blad w samym kodzie? 

ale ten np dodaje mi nowego pacjenta bez bledow

 

 $curl = curl_init();
        curl_setopt_array($curl, array(
            CURLOPT_URL => "https://api.edm.mydr.pl/secure/ext_api/patients/",
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_ENCODING => "",
            CURLOPT_MAXREDIRS => 10,
            CURLOPT_TIMEOUT => 0,
            CURLOPT_FOLLOWLOCATION => true,
            CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
            CURLOPT_CUSTOMREQUEST => "POST",
            CURLOPT_POST => true,
            CURLOPT_POSTFIELDS => array(
                "name" => $name,
                "surname" => $surname,
                "pesel" => $pesel,
            ),
            CURLOPT_HTTPHEADER => array(
                "Authorization: Bearer $kod"
            ),
        ));

 

z gory dziekuje za wskazowki 

Opiekuj.pl - Testy dla opiekunek do dzieci | Dentysta Mokotów który daje powody do uśmiechu | Systemy szklane - Oferujemy szeroki wybór elementów szklanych dostępnych w różnych rozmiarach

 

Odnośnik do komentarza
Udostępnij na innych stronach

1 minutę temu, okazwłoka napisał:

Visit_type ma być tablica czy int?

 

visit_type
Array of integers

Lista id typów wizyt związanych z daną wizytą.

Opiekuj.pl - Testy dla opiekunek do dzieci | Dentysta Mokotów który daje powody do uśmiechu | Systemy szklane - Oferujemy szeroki wybór elementów szklanych dostępnych w różnych rozmiarach

 

Odnośnik do komentarza
Udostępnij na innych stronach

temat do zamknięcia, pomogl mi chatgdp i podał działający kod

 

$data = array(
        'patient' => $userID,
        'doctor' => 5896,
        'office' => 2895,
        'date' => '2023-01-19',
        'timeFrom' => '10:00:00',
        'timeTo' => '10:15:00'
    );

    $url = 'https://api.edm.mydr.pl/secure/ext_api/visits/';

    $curl = curl_init();

    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_HTTPHEADER, array(
        'Authorization: Bearer '.$kod.'',
        'Content-type: application/json'
    ));
    curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));

    $response = curl_exec($curl);

    curl_close($curl);

 

 

Opiekuj.pl - Testy dla opiekunek do dzieci | Dentysta Mokotów który daje powody do uśmiechu | Systemy szklane - Oferujemy szeroki wybór elementów szklanych dostępnych w różnych rozmiarach

 

Odnośnik do komentarza
Udostępnij na innych stronach

No dziwnie to wygląda.

A swoją drogą nie powinieneś wysyłać danych json (content type application/json) ? Ale to raczej nie związane z tym błędem. 

A już widzę uprzedziłeś mnie :) A jednak json :)

  • Thanks 1
Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności