Current section
Files
Jump to
Current section
Files
lib/data_for_seo.ex
defmodule DataForSeo do
@moduledoc """
Provides access interfaces for the DataForSeo V3 API.
"""
alias DataForSeo.Behaviour
@behaviour Behaviour
# -------------- DataForSeo Settings -------------
@doc """
Provides DataForSeo configuration settings for accessing dataforseo server.
The specified configuration applies globally. Use `DataForSeo.configure/2`
for setting different configurations on each processes.
## Examples
DataForSeo.configure(
login: System.get_env("DATAFORSEO_LOGIN"),
password: System.get_env("DATAFORSEO_PASSWORD")
)
"""
@impl Behaviour
defdelegate configure(auth), to: DataForSeo.Config, as: :set
@doc """
Provides Auth configuration settings for accessing dataforseo server.
## Options
The `scope` can have one of the following values.
* `:global` - configuration is shared for all processes.
* `:process` - configuration is isolated for each process.
## Examples
DataForSeo.configure(
:process,
login: System.get_env("DATAFORSEO_LOGIN"),
password: System.get_env("DATAFORSEO_PASSWORD")
)
"""
@impl Behaviour
defdelegate configure(scope, auth), to: DataForSeo.Config, as: :set
@doc """
Returns current Auth configuration settings for accessing dataforseo server.
"""
@impl Behaviour
defdelegate configure, to: DataForSeo.Config, as: :get
@doc """
POST /v3/serp/google/organic/task_post
## Examples
DataForSeo.task_post("Schrauben")
DataForSeo.task_post(["Schrauben", "Blumen"])
DataForSeo.task_post(%{"Schrauben" => "123987", "Blumen" => "789231"})
DataForSeo.task_post(%{"Schrauben" => "123987", "Blumen" => "789231"}, language_code: "de-DE", location_name: "20537,Hamburg,Germany", se_domain: "google.de")
## Reference
https://docs.dataforseo.com/v3/serp/google/organic/task_post/
"""
@impl Behaviour
defdelegate task_post(keywords_data, params \\ []), to: DataForSeo.API.Serp
@doc """
GET /v3/serp/google/organic/tasks_ready
## Examples
DataForSeo.tasks_ready()
## Reference
https://docs.dataforseo.com/v3/serp/google/organic/tasks_ready/
"""
@impl Behaviour
defdelegate tasks_ready, to: DataForSeo.API.Serp
@doc """
GET /v3/serp/google/organic/task_get/regular/$id
## Examples
DataForSeo.task_get("03301617-9324-0066-0000-472866f98a6e")
DataForSeo.task_get("03301617-9324-0066-0000-472866f98a6e", parse: false)
## Reference
https://docs.dataforseo.com/v3/serp/google/organic/task_get/regular/
"""
@impl Behaviour
defdelegate task_get(task_id, opts \\ []), to: DataForSeo.API.Serp
end