Sample code for 30+ languages & platforms
Zig

SII GET boleta.electronica.semilla

See more SII Chile Examples

Obtención de la semilla

Chilkat Zig Downloads

Zig
const std = @import("std");
const chilkat = @import("chilkat");

pub fn main(init: std.process.Init) !void {
    const alloc = init.arena.allocator();

    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    const http = try chilkat.Http.init();
    defer http.deinit();

    // Implements the following CURL command:

    // curl -X GET "https://apicert.sii.cl/recursos/v1/boleta.electronica.semilla" -H  "accept: application/xml"

    // Use the following online tool to generate HTTP code from a CURL command
    // Convert a cURL Command to HTTP Source Code

    http.setRequestHeader("accept", "application/xml");

    // Use one of the following domains, depending on the environment:
    // apicert.sii.cl  - Certification Environment
    // api.sii.cl      - Production Environment
    const sb_response_body = try chilkat.StringBuilder.init();
    defer sb_response_body.deinit();
    http.quickGetSb("https://apicert.sii.cl/recursos/v1/boleta.electronica.semilla", sb_response_body) catch {
        std.debug.print("{s}\n", .{try http.getLastErrorText(alloc)});
        return;
    };

    const xml_response = try chilkat.Xml.init();
    defer xml_response.deinit();
    xml_response.loadSb(sb_response_body, true) catch {};
    std.debug.print("{s}\n", .{try xml_response.getXml(alloc)});

    // Sample XML response:
    // (Sample code for parsing the XML response is shown below)

    // <?xml version="1.0" encoding="UTF-8"?>
    // <SII:RESPUESTA xmlns:SII="http://www.sii.cl/XMLSchema">
    //     <SII:RESP_BODY>
    //         <SEMILLA>030530912644</SEMILLA>
    //     </SII:RESP_BODY>
    //     <SII:RESP_HDR>
    //         <ESTADO>0</ESTADO>
    //     </SII:RESP_HDR>
    // </SII:RESPUESTA>

    // Sample code for parsing the XML response...
    // Use the following online tool to generate parsing code from sample XML:
    // Generate Parsing Code from XML

    _ = try xml_response.getAttrValue(alloc, "xmlns:SII");
    _ = try xml_response.getChildContent(alloc, "SII:RESP_BODY|SEMILLA");
    _ = xml_response.getChildIntValue("SII:RESP_HDR|ESTADO");
}