Как именно нужно писать реферальную систему - нужно выяснить с заказчиком, Ваша задача как минимум проверить реализуемость идеи заказчика, а не придумывать полную концепцию за него. Можно просто посмотреть туториалы для начала,
примеры.
Если речь об этом
JSON API - это просто соглашение о структуре отсылаемых и получаемых данных, навскидку на packagist.org есть готовые пакеты для упрощения написания API (
пример).
Не нашла документацию для разработчиков вне аккаунта робочата, сложно посоветовать более детально.