• API 功能

    • 基于八字命理以及盲派八字理论解析个人运势;
    • 提供详细的大运分析,覆盖学业、婚姻、财运、健康等领域;
    • 分析个人运势,包括学业、婚姻、财运、健康等方面的解读;
    • 智能解读人生关键节点,帮助用户更好地规划未来;
    • 高效计算,实时返回分析结果,使用自有训练的高精度大模型计算与推理;
    • 数据仅供娱乐和参考;
    • 全接口支持 HTTPS(TLS v1.0 / v1.1 / v1.2 / v1.3);
    • 全面兼容 Apple ATS;
    • 全国多节点 CDN 部署;
    • 接口极速响应,多台服务器构建 API 接口负载均衡。
    • 接口调用状态与状态监控
  • API 文档

    接口地址: https://api.gugudata.com/ai/bazi-fortune-teller?appkey={{appkey}}&streaming={{streaming}}

    返回格式: application/json; charset=utf-8

    请求方式: POST

    请求协议: HTTPS

    请求示例: https://api.gugudata.com/ai/bazi-fortune-teller?appkey={{appkey}}&streaming={{streaming}}

    数据预览: https://www.gugudata.com/preview/bazi-fortune-teller

    接口测试:  https://api.gugudata.com/ai/bazi-fortune-teller/demo

    OpenAPI: https://www.gugudata.com/openapi/gugudata.openapi.3.1.json

    请求参数(POST 请求参数以 application/x-www-form-urlencoded 格式、文件流以 formdata 格式传递,具体可参见下方示例代码)

    参数名 参数类型 是否必须 默认值 备注
    userinfo string N/A 语义化输入的个人信息,包括性别、公历或者农历出生日期及出生时间。如:我是男性,我的公历出生日期是1990年12月01日,出生时间是上午七点。
    streaming boolean false 是否流式响应,如果为 true,那么接口会流式输出纯文本,在最后一个消息输出完整结果的 JSON。

    返回参数

    参数名 参数类型 备注
    DataStatus.RequestParameter string 请求的参数
    DataStatus.StatusCode integer 接口返回状态码
    DataStatus.StatusDescription string 接口返回状态说明
    DataStatus.ResponseDateTime string 接口数据返回时间
    Data.八字 string 八字排盘结果
    Data.五行 string 五行属性分析
    Data.命宫 string 命宫信息
    Data.身宫 string 身宫信息
    Data.大运 array 每个阶段的大运信息,包括起始年份、终止年份和运势名称
    Data.运势分析 object 学业、婚姻、财运、健康、体貌特征及关键事件分析
    Data.综合评价 string 总体运势评价
  • 接口 HTTP 响应标准状态码

    状态码 状态码解释 备注
    200 接口正常响应 请求成功,业务状态请结合响应体中的自定义业务码判断。
    400 请求参数错误 请求参数缺失、格式错误或参数组合不合法。
    401 鉴权失败 缺少 appkey 或 appkey 无效。
    403 无权限访问 订单到期、权限不足或接口额度不可用。
    404 资源不存在 请求路径不存在。
    405 请求方法不允许 当前路径不支持该 HTTP 方法。
    415 请求内容类型不支持 上传或请求体的内容类型不符合接口要求。
    429 请求频率受限 请求频率超过服务限制,请适当降低调用速率。
    500 服务内部错误 服务端处理异常,请稍后重试。
    502 上游依赖错误 上游依赖服务不可用或返回异常。
  • 接口自定义状态码

    自定义状态码 自定义状态码解释 备注
    100 正常返回
    101 参数错误 请求参数不完整或无效
    102 请求频率受限 每秒请求不能超过 100 次
    104 APPKEY 错误 APPKEY 无效或未授权
  • 请求示例代码
    curl --location --request POST 'https://api.gugudata.com/ai/bazi-fortune-teller?appkey={{appkey}}&streaming={{streaming}}' \
    --header 'Content-Type: application/x-www-form-urlencoded' \
    --data-urlencode 'userinfo=N/A'
    #include <curl/curl.h>
    
    int main(void) {
      CURL *curl = curl_easy_init();
      if (curl) {
        curl_easy_setopt(curl, CURLOPT_URL, "https://api.gugudata.com/ai/bazi-fortune-teller?appkey={{appkey}}&streaming={{streaming}}");
        curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "POST");
        curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
        struct curl_slist *headers = NULL;
        headers = curl_slist_append(headers, "Content-Type: application/x-www-form-urlencoded");
        curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
        curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "userinfo=N%2fA");
        CURLcode res = curl_easy_perform(curl);
        (void)res;
        curl_slist_free_all(headers);
        curl_easy_cleanup(curl);
      }
      return 0;
    }
    
    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Net.Http;
    
    var client = new HttpClient();
    var request = new HttpRequestMessage(HttpMethod.Post, "https://api.gugudata.com/ai/bazi-fortune-teller?appkey={{appkey}}&streaming={{streaming}}");
    request.Content = new FormUrlEncodedContent(new Dictionary<string, string>
    {
        { "userinfo", "N/A" }
    });
    var response = client.SendAsync(request).Result;
    Console.WriteLine(response.Content.ReadAsStringAsync().Result);
    
    package main
    
    import (
      "strings"
      "fmt"
      "io"
      "net/http"
    )
    
    func main() {
      url := "https://api.gugudata.com/ai/bazi-fortune-teller?appkey={{appkey}}&streaming={{streaming}}"
      payload := strings.NewReader("userinfo=N%2fA")
      req, err := http.NewRequest("POST", url, payload)
      if err != nil {
        fmt.Println(err)
        return
      }
      req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
      res, err := http.DefaultClient.Do(req)
      if err != nil {
        fmt.Println(err)
        return
      }
      defer res.Body.Close()
      body, err := io.ReadAll(res.Body)
      if err != nil {
        fmt.Println(err)
        return
      }
      fmt.Println(string(body))
    }
    
    OkHttpClient client = new OkHttpClient().newBuilder().build();
    MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
    RequestBody body = RequestBody.create(mediaType, "userinfo=N%2fA");
    Request request = new Request.Builder()
      .url("https://api.gugudata.com/ai/bazi-fortune-teller?appkey={{appkey}}&streaming={{streaming}}")
      .method("POST", body)
      .build();
    Response response = client.newCall(request).execute();
    System.out.println(response.body().string());
    
    $.ajax({
      url: "https://api.gugudata.com/ai/bazi-fortune-teller?appkey={{appkey}}&streaming={{streaming}}",
      method: "POST",
      data: { "userinfo": "N/A" },
    }).done(function (response) {
      console.log(response);
    });
    
    const response = await fetch("https://api.gugudata.com/ai/bazi-fortune-teller?appkey={{appkey}}&streaming={{streaming}}", {
      method: "POST",
      headers: { "Content-Type": "application/x-www-form-urlencoded" },
      body: new URLSearchParams({ "userinfo": "N/A" })
    });
    console.log(await response.text());
    
    const response = await fetch("https://api.gugudata.com/ai/bazi-fortune-teller?appkey={{appkey}}&streaming={{streaming}}", {
      method: "POST",
      headers: { "Content-Type": "application/x-www-form-urlencoded" },
      body: new URLSearchParams({ "userinfo": "N/A" })
    });
    console.log(await response.text());
    
    #import <Foundation/Foundation.h>
    
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.gugudata.com/ai/bazi-fortune-teller?appkey={{appkey}}&streaming={{streaming}}"]];
    [request setHTTPMethod:@"POST"];
    NSString *body = @"userinfo=N%2fA";
    [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
    [request setHTTPBody:[body dataUsingEncoding:NSUTF8StringEncoding]];
    NSURLSessionDataTask *task = [[NSURLSession sharedSession] dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
      if (error) {
        NSLog(@"%@", error);
        return;
      }
      NSLog(@"%@", [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);
    }];
    [task resume];
    
    <?php
    $curl = curl_init();
    curl_setopt_array($curl, array(
      CURLOPT_URL => "https://api.gugudata.com/ai/bazi-fortune-teller?appkey={{appkey}}&streaming={{streaming}}",
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_FOLLOWLOCATION => true,
      CURLOPT_CUSTOMREQUEST => "POST",
      CURLOPT_POSTFIELDS => "userinfo=N%2fA",
      CURLOPT_HTTPHEADER => array("Content-Type: application/x-www-form-urlencoded"),
    ));
    $response = curl_exec($curl);
    curl_close($curl);
    echo $response;
    
    import requests
    
    url = "https://api.gugudata.com/ai/bazi-fortune-teller?appkey={{appkey}}&streaming={{streaming}}"
    payload = { "userinfo": "N/A" }
    response = requests.post(url, data=payload)
    print(response.text)
    
    require "uri"
    require "net/http"
    
    url = URI("https://api.gugudata.com/ai/bazi-fortune-teller?appkey={{appkey}}&streaming={{streaming}}")
    https = Net::HTTP.new(url.host, url.port)
    https.use_ssl = true
    request = Net::HTTP::Post.new(url)
    request["Content-Type"] = "application/x-www-form-urlencoded"
    request.body = "userinfo=N%2fA"
    response = https.request(request)
    puts response.read_body
    
    import Foundation
    
    let semaphore = DispatchSemaphore(value: 0)
    var request = URLRequest(url: URL(string: "https://api.gugudata.com/ai/bazi-fortune-teller?appkey={{appkey}}&streaming={{streaming}}")!, timeoutInterval: .infinity)
    request.httpMethod = "POST"
    request.addValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
    request.httpBody = "userinfo=N%2fA".data(using: .utf8)
    let task = URLSession.shared.dataTask(with: request) { data, response, error in
      defer { semaphore.signal() }
      guard let data = data else {
        print(String(describing: error))
        return
      }
      print(String(data: data, encoding: .utf8)!)
    }
    task.resume()
    semaphore.wait()
    
  • 常见问题 Q&A

    • Q: 数据请求有缓存吗?

      A: 我们为所有数据请求提供实时响应。对于定期更新的数据,我们在其更新周期内实施缓存策略,以优化性能。

    • Q: 如何保证请求时 key 的安全性?

      A: 我们建议将对 API 的请求操作放置在您的应用程序后端。这样,前端请求只与您的后端服务交互,确保了更高的安全性和易于维护的架构。

    • Q: 接口可以用于哪些开发语言?

      A: 我们的接口支持所有能进行网络请求的开发语言,便于在各类项目中快速整合数据。

    • Q: 接口的性能可以保证吗?

      A: 我们的接口后台使用与商业级项目相同的架构,保证了稳定且高效的性能。您可以通过访问测试接口了解更多性能信息。

  • 服务协议以及服务免责声明

    用户应当充分阅读 服务协议 以及 服务免责声明 ,用户购买与使用咕咕数据 API 服务亦视为接受本协议。

  • 技术支持

    • 技术支持邮箱: support@gugudata.com
    • 微信客服: 客服链接

业务相关接口推荐

文章抽取信息化 JSON
  • 任意网页 URL 或 HTML 提取文章 JSON
  • 内容提取 / 网页解析
  • 1999元/年限时折扣 999元/年
查看详情 被调用于 9 秒前
50% 折扣
八字喜用神起名大师
  • 基于八字命理和五行相生相克理论
  • 十年模型积累 / 三才五格数理
  • 1999元/年限时折扣 999元/年
查看详情 被调用于 6 秒前
50% 折扣
儿童故事创作大师
  • 基于 AI 模型智能创作儿童故事
  • 故事创作 / 儿童故事
  • 999元/年限时折扣 299元/年
查看详情 被调用于 5 秒前
30% 折扣
诗歌创作 AI 大师
  • 基于 AI 模型的诗歌创作大师
  • 诗歌创作 / 文学生成
  • 999元/年限时折扣 299元/年
查看详情 被调用于 6 秒前
30% 折扣