Henter poster fra blokkeringslisten — numre som har meldt seg av mottak av meldinger, eller som er lagt til på blokkeringslisten ved import eller via API-et.

## API-URL

URL for sending av HTTP-forespørsler:

```url
https://portal.bulkgate.com/api/1.0/black-list/load
```

> [!NOTE]
> Hvis forespørselen ikke kommer frem, kan du gjenta den på [reserveserveren](https://www.bulkgate.com/no/dokumentasjon/api-administrasjon/api-reserveserver/) `backup1.bulkgate.com`.

## Støttede HTTP-metoder

- `POST` - `application/json`

```http
POST /api/1.0/black-list/load HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json
```

> [!NOTE]
> API-et har en kvote på `20` forespørsler per dag.

## Parametertabell

| PARAMETERNAVN     | VERDI                                                                                                                                                             | OBLIGATORISK            | STANDARDVERDI  |
|:------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------|:---------------|
| application_id    | [Applikasjons-ID](https://www.bulkgate.com/no/dokumentasjon/api-administrasjon/administrasjon-av-api/)                                                                                                                    | **Ja**                  | -              | 
| application_token | [Autentiseringstoken for applikasjonen](https://www.bulkgate.com/no/dokumentasjon/api-administrasjon/api-token/)	                                                                                                     | **Ja**                  | -              |
| from              | Velger poster **fra** en bestemt dato. Godtar formatet [unix timestamp](https://en.wikipedia.org/wiki/Unix_time) eller [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). | **Ja**                  | -              |
| to                | Velger poster **til** en bestemt dato. Godtar formatet [unix timestamp](https://en.wikipedia.org/wiki/Unix_time) eller [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601).	  | Nei                     | `now`          |
| campaign_id       | Velger bare poster for en bestemt kampanje                                                                                                                        | Nei                     | -              |
| wallet            | Velger bare poster for en bestemt lommebok                                                                                                                        | Nei                     | Standard lommebok |

> [!NOTE]
> Maksimalt tidsrom mellom `from` og `to` er 30 dager.

## Eksempel på forespørsel

```http-json
POST /api/1.0/black-list/load HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json

{
  "application_id": 451,
  "application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
  "campaign_id": "id-bulkgate-000001",
  "wallet": "bg1905014138000023",
  "from": "2018-05-14T18:30:00-01:00",
  "to": "2018-05-15T18:30:00-01:00"
}
```

## Svar

**Ved suksess:**

```json
{
    "data": [
        {
            "key": "198668",
            "id": "198668",
            "wallet": "bg1905014138000023",
            "phone_number": "420777777777",
            "country": "cz",
            "type": "black-list",
            "created": "2018-11-21T15:30:31+01:00",
            "modified": null,
            "source": "web",
            "source_key": null,
            "reason": "Jeg vil ikke motta reklamemeldinger.",
            "campaign_id": "id-bulkgate-000001",
            "application_id": 451,
            "channel": null,
            "tag": null,
            "contact": null
        },
        {
            "key": "198667",
            "id": "198667",
            "wallet": "bg1905014138000023",
            "phone_number": "420777777778",
            "country": "cz",
            "type": "black-list",
            "created": "2018-11-21T15:30:35+01:00",
            "modified": null,
            "source": "import",
            "source_key": "import.csv",
            "reason": null,
            "campaign_id": null,
            "application_id": 451,
            "channel": null,
            "tag": null,
            "contact": null
        }
    ]
}
```

Der:

- **key** og **id** er postens identifikator (samme verdi)
- **phone_number** er nummeret i internasjonalt format
- **type** er enten `black-list` eller `opt-out`
- **created** og **modified** er tidspunktene da posten ble opprettet og sist endret, i [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
- **source** angir hvordan nummeret havnet på blokkeringslisten — `web`, `import`, `api`, `manual` eller `auto`
- **source_key** er identifikatoren for gruppen nummeret ble lagt til med. For poster med `source` = `import` inneholder den navnet på den importerte filen.
- **reason** er årsaken som ble oppgitt da nummeret ble lagt på blokkeringslisten

**Ved feil:**

```json
{
    "type": "invalid_wallet",
    "code": 400,
    "error": "Invalid wallet",
    "detail": null
}
```

```json
{
    "type": "invalid_input_parameters",
    "code": 400,
    "error": "Invalid input parameters",
    "detail": null
}
```

```json
{
    "type": "maximal_date_range_is_30_days",
    "code": 400,
    "error": "Maximal date range is 30 days",
    "detail": null
}
```

```json
{
    "type": "the_daily_quota_has_been_exceeded",
    "code": 400,
    "error": "The daily quota has been exceeded",
    "detail": null
}
```

Der:

- **type** og **error** (beskrivelse av feilen) finner du i [tabellen over feiltyper](https://www.bulkgate.com/no/dokumentasjon/api-administrasjon/api-feiltyper/)
- **code** er HTTP-feilkoden
- **detail** er tilleggsinformasjon om feilen

### Feiltyper i Blacklist API

I tillegg til de [generelle typene](https://www.bulkgate.com/no/dokumentasjon/api-administrasjon/api-feiltyper/) returnerer Blacklist API sine egne:

| TYPE                              | NÅR DEN OPPSTÅR                                                  |
|:----------------------------------|:-----------------------------------------------------------------|
| `invalid_wallet`                  | Den angitte lommeboken finnes ikke, eller du har ikke tilgang til den. |
| `invalid_input_parameters`        | `from` mangler, har ugyldig format eller er ikke eldre enn `to`. |
| `maximal_date_range_is_30_days`   | Tidsrommet mellom `from` og `to` er lengre enn 30 dager.         |
| `the_daily_quota_has_been_exceeded`| Kvoten for forespørsler er brukt opp.                           |
