1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/*
* Hanzo Cloud API
*
* The Hanzo Cloud API as a customer calls it: every operation under /v1/ except the operator's admin product, relay routes, legacy spellings and capabilities still reached by flag. Tagged by product: the first path segment after /v1/.
*
* The version of the OpenAPI document: v1
*
* Generated by: https://openapi-generator.tech
*/
use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct SeoMetric {
/// Competition is how contested the advertising is, from 0 to 1. The upstream reports it as an index out of a hundred on one endpoint and as this fraction on another; it is the fraction here in both cases.
#[serde(rename = "competition", skip_serializing_if = "Option::is_none")]
pub competition: Option<f64>,
/// CPC is the average cost of one advertising click, in USD. It is a reported statistic about somebody else's auction, not an amount this API moves.
#[serde(rename = "cpc", skip_serializing_if = "Option::is_none")]
pub cpc: Option<f64>,
/// Difficulty is how hard the first page is to reach organically, 0 to 100. Present on seoIdea, which measures it; absent on seoKeyword, which does not.
#[serde(rename = "difficulty", skip_serializing_if = "Option::is_none")]
pub difficulty: Option<i32>,
/// Keyword is the phrase.
#[serde(rename = "keyword", skip_serializing_if = "Option::is_none")]
pub keyword: Option<String>,
/// Level is the same fact as a word: low, medium or high.
#[serde(rename = "level", skip_serializing_if = "Option::is_none")]
pub level: Option<String>,
/// Volume is the average monthly searches.
#[serde(rename = "volume", skip_serializing_if = "Option::is_none")]
pub volume: Option<i32>,
}
impl SeoMetric {
pub fn new() -> SeoMetric {
SeoMetric {
competition: None,
cpc: None,
difficulty: None,
keyword: None,
level: None,
volume: None,
}
}
}