Skip to content

API REST (en partie?) #2

@Cyrille37

Description

@Cyrille37

Hello @yoandm

Suite à la relance de @kepon85 sur l'agora j'ai fouillé et il semble que l'API fonctionne sur le principe REST.

Après le login en http/html comme fait ici, il suffit de conserver le cookie beaker.session.id, pas besoin de CSRF token.

Avec le client GuzzleHttp

            $cookies = new \GuzzleHttp\Cookie\CookieJar;
            /**
             * enDI say "Navigateur non supporté" -> set the User-Agent
             * Auth works with cookie "beaker.session.id"
             */
            $client = new \GuzzleHttp\Client([
                'base_uri' => $_ENV['endi_url'],
                'cookies' => $cookies,
                'headers' => [
                    'User-Agent' => 'Mozilla/5.0 (X11; Linux x86_64; rv:130.0) Gecko/20100101 Firefox/130.0'
                ],
            ]);

Le login

            $response = $client->post(
                '/login',
                [
                    'form_params' => [
                        // Some params are mandatory !
                        'submit' => 'submit',
                        //'nextpage'=>'/',
                        //'_charset_'=>'UTF-8',
                        //'__formid__' => 'authentication',
                        'login' => $_ENV['endi_username'],
                        'password' => $_ENV['endi_password'],
                    ],
                ]
            );

La liste des clients

        $response = $client->get(
            '/api/v1/companies/'.$company_id.'/customers',
        );

Mise à jour du champs company_name pour un customer

        $response = $client->put(
            '/api/v1/customers/'.$customer_id,
            [
                'json' => [
                    'company_name' => 'My heroic customer'
                ]
            ]
        );

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions