Evaluating bids

Grabber

Published on the April 23, 2025 in IT & Programming

About this project

Open

Boa — agora entendi melhor: você está falando sobre grabber para agendar horários de trabalho ("books") no app da Just Eat Courier, e não para pegar pedidos de entrega.

Esse tipo de grabber tem um funcionamento diferente, porque o foco não é aceitar entregas, mas garantir blocos de horário de trabalho, que normalmente abrem em horários específicos e somem em segundos, principalmente nas cidades mais movimentadas.

Vou te explicar exatamente como esse tipo de grabber funciona, com foco técnico:

1. O que é o “book” no app da Just Eat Courier?
Na Just Eat Courier (e apps parecidos), os entregadores precisam reservar horários de trabalho (chamados de books, shifts ou blocos).

Esses blocos aparecem em horários definidos (ex: toda segunda às 17h).
São limitados.
Quem for mais rápido, consegue agendar.
Normalmente são bons blocos que dão mais entregas (e mais dinheiro).
2. O que o Grabber faz com esses books?
O grabber faz requisições automáticas ao servidor da Just Eat para:

Ficar monitorando a abertura dos books.
Reservar automaticamente um ou vários horários assim que forem liberados.
A grande vantagem do grabber aqui é que ele faz isso em milissegundos, antes que um entregador consiga clicar no botão manualmente.

3. Funcionamento técnico passo a passo
a) Interceptação da API da Just Eat

O criador do grabber usa ferramentas como:

Charles Proxy, Burp Suite, Fiddler ou Wireshark para:
Observar como o app oficial acessa a lista de books.
Descobrir o endpoint exato (exemplo fictício: GET https://courier.just-eat.com/api/shifts)
Descobrir como o app reserva um horário (ex: POST https://courier.just-eat.com/api/book-shift com um shift_id).
B) Autenticação (Token JWT ou OAuth)

O grabber precisa se logar na conta do entregador. Para isso, ele:

Usa o login e senha da conta (ou copia o token do app oficial).
Usa esse token nas requisições automáticas.
C) Script de monitoramento + agendamento

O grabber roda um loop contínuo verificando se os shifts foram liberados. Quando detecta um horário novo:

Ele analisa se o horário bate com os filtros do usuário (ex: "pega só das 11h às 14h").
Manda imediatamente uma requisição para reservar o horário.
D) Exemplo de lógica do script (pseudo-código)

python
Copiar código
import requests
import time

token = "seu_token_de_autenticacao"
headers = {"authorization": f"bearer {token}"}

def buscar_books():
    resp = requests.get("https://courier.just-eat.com/api/shifts", headers=HEADERS)
    return resp.json()

def reservar_book(shift_id):
    data = {"shift_id": shift_id}
    resp = requests.post("https://courier.just-eat.com/api/book-shift", headers=HEADERS, json=data)
    return resp.status_code == 200

while True:
    shifts = buscar_books()
    for shift in shifts:
        if shift["hora"] == "11:00" and shift["disponivel"]:
            reservado = reservar_book(shift["id"])
            if reservado:
                print("Book garantido!")
    time.sleep(0.2)  # checa a cada 200ms
4. Características de um Grabber de Books
Filtros personalizáveis (dias, horários, locais).
Interface simples (alguns têm apps piratas com UI).
Rodam em background (no celular ou no PC).
Alguns até enviam notificação ou tocam alarme quando reservam com sucesso.

Project overview

Quero desenvolver esse site e colocar no ar na Inglaterra, profissionais capacitados entrar em contato

Category IT & Programming
Subcategory Web development
What is the scope of the project? Create a new custom site
Is this a project or a position? Project
I currently have Not applicable
Required availability As needed
API Integrations Other (Other APIs)
Roles needed Developer

Delivery term: April 30, 2025

Skills needed